aboutsummaryrefslogtreecommitdiffstats
path: root/perllib/FixMyStreet/DB/ResultSet/Comment.pm
diff options
context:
space:
mode:
authorMatthew Somerville <matthew@mysociety.org>2015-12-02 17:33:48 +0000
committerMatthew Somerville <matthew@mysociety.org>2015-12-15 17:02:11 +0000
commit92dfeac83378cd49fbb59591685e5bf849d317e6 (patch)
treef87175f6539728e319dc5bd027b1b94fd7eaa26b /perllib/FixMyStreet/DB/ResultSet/Comment.pm
parent64d24b8627879fc68f9f883d6e24a9c7cb72449f (diff)
Fix cobrand restriction of My/Nearby.
5c79337 simplified a bit too far, as after then a particular cobrand could in Nearby and My only filter reports to a particular body, not any other criteria. To fix this, introduce more generic functions in the default cobrand to allow more flexibility. Make sure a few tests delete their bodies fully so that new tests pass when run as part of the suite. Fixes #1289.
Diffstat (limited to 'perllib/FixMyStreet/DB/ResultSet/Comment.pm')
-rw-r--r--perllib/FixMyStreet/DB/ResultSet/Comment.pm14
1 files changed, 5 insertions, 9 deletions
diff --git a/perllib/FixMyStreet/DB/ResultSet/Comment.pm b/perllib/FixMyStreet/DB/ResultSet/Comment.pm
index 3059baab1..9f254a018 100644
--- a/perllib/FixMyStreet/DB/ResultSet/Comment.pm
+++ b/perllib/FixMyStreet/DB/ResultSet/Comment.pm
@@ -5,20 +5,20 @@ use strict;
use warnings;
sub to_body {
- my ($rs, $body_restriction) = @_;
- return FixMyStreet::DB::ResultSet::Problem::to_body($rs, $body_restriction);
+ my ($rs, $bodies) = @_;
+ return FixMyStreet::DB::ResultSet::Problem::to_body($rs, $bodies, 1);
}
sub timeline {
- my ( $rs, $body_restriction ) = @_;
+ my ( $rs ) = @_;
my $prefetch =
$rs->result_source->storage->sql_maker->quote_char ?
[ qw/user/ ] :
[];
- return $rs->to_body($body_restriction)->search(
+ return $rs->search(
{
state => 'confirmed',
created => { '>=', \"current_timestamp-'7 days'::interval" },
@@ -30,17 +30,13 @@ sub timeline {
}
sub summary_count {
- my ( $rs, $body_restriction ) = @_;
+ my ( $rs ) = @_;
my $params = {
group_by => ['me.state'],
select => [ 'me.state', { count => 'me.id' } ],
as => [qw/state state_count/],
};
- if ($body_restriction) {
- $rs = $rs->to_body($body_restriction);
- $params->{join} = 'problem';
- }
return $rs->search(undef, $params);
}