aboutsummaryrefslogtreecommitdiffstats
path: root/perllib/FixMyStreet
diff options
context:
space:
mode:
Diffstat (limited to 'perllib/FixMyStreet')
-rw-r--r--perllib/FixMyStreet/App/Controller/Admin.pm11
-rw-r--r--perllib/FixMyStreet/App/Controller/Reports.pm12
-rwxr-xr-xperllib/FixMyStreet/App/Controller/Rss.pm4
3 files changed, 22 insertions, 5 deletions
diff --git a/perllib/FixMyStreet/App/Controller/Admin.pm b/perllib/FixMyStreet/App/Controller/Admin.pm
index 3282ae831..8e4f4b5de 100644
--- a/perllib/FixMyStreet/App/Controller/Admin.pm
+++ b/perllib/FixMyStreet/App/Controller/Admin.pm
@@ -171,11 +171,16 @@ sub questionnaire : Path('questionnaire') : Args(0) {
$c->forward('check_page_allowed');
my $questionnaires = $c->model('DB::Questionnaire')->search(
- { whenanswered => \'is not null' }, { group_by => [ 'ever_reported' ], select => [ 'ever_reported', { count => 'me.id' } ], as => [qw/reported questionnaire_count/] }
+ { whenanswered => { '!=', undef } },
+ { group_by => [ 'ever_reported' ],
+ select => [ 'ever_reported', { count => 'me.id' } ],
+ as => [ qw/reported questionnaire_count/ ] }
);
-
- my %questionnaire_counts = map { ( $_->get_column( 'reported' ) || -1 ) => $_->get_column( 'questionnaire_count' ) } $questionnaires->all;
+ my %questionnaire_counts = map {
+ ( defined $_->get_column( 'reported' ) ? $_->get_column( 'reported' ) : -1 )
+ => $_->get_column( 'questionnaire_count' )
+ } $questionnaires->all;
$questionnaire_counts{1} ||= 0;
$questionnaire_counts{0} ||= 0;
$questionnaire_counts{total} = $questionnaire_counts{0} + $questionnaire_counts{1};
diff --git a/perllib/FixMyStreet/App/Controller/Reports.pm b/perllib/FixMyStreet/App/Controller/Reports.pm
index f7fb5dec5..93af3393c 100644
--- a/perllib/FixMyStreet/App/Controller/Reports.pm
+++ b/perllib/FixMyStreet/App/Controller/Reports.pm
@@ -319,8 +319,20 @@ sub load_and_group_problems : Private {
};
if ($c->stash->{ward}) {
$where->{areas} = { 'like', '%,' . $c->stash->{ward}->{id} . ',%' };
+ $where->{council} = [
+ undef,
+ $c->stash->{council}->{id},
+ { 'like', $c->stash->{council}->{id} . ',%' },
+ { 'like', '%,' . $c->stash->{council}->{id} },
+ ];
} elsif ($c->stash->{council}) {
$where->{areas} = { 'like', '%,' . $c->stash->{council}->{id} . ',%' };
+ $where->{council} = [
+ undef,
+ $c->stash->{council}->{id},
+ { 'like', $c->stash->{council}->{id} . ',%' },
+ { 'like', '%,' . $c->stash->{council}->{id} },
+ ];
}
my $problems = $c->cobrand->problems->search(
$where,
diff --git a/perllib/FixMyStreet/App/Controller/Rss.pm b/perllib/FixMyStreet/App/Controller/Rss.pm
index 767d38c21..23345df65 100755
--- a/perllib/FixMyStreet/App/Controller/Rss.pm
+++ b/perllib/FixMyStreet/App/Controller/Rss.pm
@@ -194,7 +194,7 @@ sub generate : Private {
my $out = $c->stash->{rss}->as_string;
my $uri = $c->uri_for( '/' . $c->req->path );
- $out =~ s{<link>(.*?)</link>}{"<link>" . $c->uri_for( $1 ) . "</link><uri>$uri</uri>"}e;
+ $out =~ s{(<link>.*?</link>)}{$1<uri>$uri</uri>};
$c->response->header('Content-Type' => 'application/xml; charset=utf-8');
$c->response->body( $out );
@@ -306,7 +306,7 @@ sub add_parameters : Private {
$c->stash->{rss}->channel(
title => ent($title),
- link => $link . ($c->stash->{qs} || ''),
+ link => $c->uri_for($link) . ($c->stash->{qs} || ''),
description => ent($desc),
language => 'en-gb',
);