aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--perllib/FixMyStreet/Cobrand/Default.pm2
-rw-r--r--perllib/FixMyStreet/DB/ResultSet/Problem.pm14
-rw-r--r--perllib/Problems.pm17
3 files changed, 15 insertions, 18 deletions
diff --git a/perllib/FixMyStreet/Cobrand/Default.pm b/perllib/FixMyStreet/Cobrand/Default.pm
index 72c279076..fd03f235f 100644
--- a/perllib/FixMyStreet/Cobrand/Default.pm
+++ b/perllib/FixMyStreet/Cobrand/Default.pm
@@ -258,7 +258,7 @@ sub front_stats_data {
my $shorter_recency = '3 days';
my $fixed = $self->problems->recent_fixed();
- my $updates = Problems::number_comments();
+ my $updates = $self->problems->number_comments();
my $new = $self->problems->recent_new( $recency );
if ( $new > $fixed && $self->shorten_recency_if_new_greater_than_fixed ) {
diff --git a/perllib/FixMyStreet/DB/ResultSet/Problem.pm b/perllib/FixMyStreet/DB/ResultSet/Problem.pm
index 0ca8d1127..1f06acf5a 100644
--- a/perllib/FixMyStreet/DB/ResultSet/Problem.pm
+++ b/perllib/FixMyStreet/DB/ResultSet/Problem.pm
@@ -29,6 +29,20 @@ sub recent_fixed {
return $result;
}
+sub number_comments {
+ my $rs = shift;
+ my $key = "number_comments:$site_key";
+ my $result = Memcached::get($key);
+ unless ($result) {
+ $result = $rs->search(
+ { 'comments.state' => 'confirmed' },
+ { join => 'comments' }
+ )->count;
+ Memcached::set($key, $result, 3600);
+ }
+ return $result;
+}
+
sub recent_new {
my ( $rs, $interval ) = @_;
(my $key = $interval) =~ s/\s+//g;
diff --git a/perllib/Problems.pm b/perllib/Problems.pm
index 1f3eaf7b9..987820d0c 100644
--- a/perllib/Problems.pm
+++ b/perllib/Problems.pm
@@ -22,23 +22,6 @@ use mySociety::MaPit;
my $site_restriction = '';
my $site_key = 0;
-sub number_comments {
- my $key = "number_comments:$site_key";
- my $result = Memcached::get($key);
- unless ($result) {
- if ($site_restriction) {
- $result = dbh()->selectrow_array("select count(*) from comment, problem
- where comment.problem_id=problem.id and comment.state='confirmed'
- $site_restriction");
- } else {
- $result = dbh()->selectrow_array("select count(*) from comment
- where state='confirmed'");
- }
- Memcached::set($key, $result, 3600);
- }
- return $result;
-}
-
# Admin view functions
=item problem_search SEARCH