aboutsummaryrefslogtreecommitdiffstats
path: root/perllib/FixMyStreet/App
diff options
context:
space:
mode:
Diffstat (limited to 'perllib/FixMyStreet/App')
-rw-r--r--perllib/FixMyStreet/App/Controller/Reports.pm13
-rw-r--r--perllib/FixMyStreet/App/Model/DB.pm11
2 files changed, 21 insertions, 3 deletions
diff --git a/perllib/FixMyStreet/App/Controller/Reports.pm b/perllib/FixMyStreet/App/Controller/Reports.pm
index 20ec8f0a2..b597cb7a8 100644
--- a/perllib/FixMyStreet/App/Controller/Reports.pm
+++ b/perllib/FixMyStreet/App/Controller/Reports.pm
@@ -414,8 +414,17 @@ sub load_and_group_problems : Private {
order_by => $c->stash->{sort_order},
rows => $c->cobrand->reports_per_page,
};
- if ($c->user_exists && $c->stash->{body} && $c->user->has_permission_to('planned_reports', $c->stash->{body}->id)) {
- $filter->{prefetch} = 'user_planned_reports';
+ if ($c->user_exists && $c->stash->{body}) {
+ my $bid = $c->stash->{body}->id;
+ my $prefetch = [];
+ if ($c->user->has_permission_to('planned_reports', $bid)) {
+ push @$prefetch, 'user_planned_reports';
+ }
+ if ($c->user->has_permission_to('report_edit_priority', $bid) || $c->user->has_permission_to('report_inspect', $bid)) {
+ push @$prefetch, 'response_priority';
+ }
+ $prefetch = $prefetch->[0] if @$prefetch == 1;
+ $filter->{prefetch} = $prefetch;
}
if (defined $c->stash->{filter_status}{shortlisted}) {
diff --git a/perllib/FixMyStreet/App/Model/DB.pm b/perllib/FixMyStreet/App/Model/DB.pm
index 9d09186b8..ffd867485 100644
--- a/perllib/FixMyStreet/App/Model/DB.pm
+++ b/perllib/FixMyStreet/App/Model/DB.pm
@@ -5,19 +5,28 @@ use strict;
use warnings;
use FixMyStreet;
+use Moose;
+
+with 'Catalyst::Component::InstancePerContext';
__PACKAGE__->config(
schema_class => 'FixMyStreet::DB::Schema',
connect_info => sub { FixMyStreet::DB->schema->storage->dbh },
);
+sub build_per_context_instance {
+ my ( $self, $c ) = @_;
+ $self->schema->cache({});
+ return $self;
+}
+
=head1 NAME
FixMyStreet::App::Model::DB - Catalyst DBIC Schema Model
=head1 DESCRIPTION
-L<Catalyst::Model::DBIC::Schema> Model using schema L<FixMyStreet::DB>
+L<Catalyst::Model::DBIC::Schema> Model using schema L<FixMyStreet::DB::Schema>
=cut