diff options
Diffstat (limited to 'perllib/FixMyStreet')
-rw-r--r-- | perllib/FixMyStreet/App/Controller/Report.pm | 12 | ||||
-rw-r--r-- | perllib/FixMyStreet/Roles/ContactExtra.pm | 11 |
2 files changed, 18 insertions, 5 deletions
diff --git a/perllib/FixMyStreet/App/Controller/Report.pm b/perllib/FixMyStreet/App/Controller/Report.pm index 190687d41..fde28dcbe 100644 --- a/perllib/FixMyStreet/App/Controller/Report.pm +++ b/perllib/FixMyStreet/App/Controller/Report.pm @@ -375,10 +375,16 @@ sub inspect : Private { $c->forward('/admin/reports/categories_for_point'); $c->stash->{report_meta} = { map { 'x' . $_->{name} => $_ } @{ $c->stash->{problem}->get_extra_fields() } }; - if ($c->cobrand->can('council_area_id')) { - my $priorities_by_category = FixMyStreet::App->model('DB::ResponsePriority')->by_categories($c->cobrand->council_area_id, @{$c->stash->{contacts}}); + if ($c->cobrand->can('body')) { + my $priorities_by_category = FixMyStreet::App->model('DB::ResponsePriority')->by_categories( + $c->stash->{contacts}, + body_id => $c->cobrand->body->id + ); $c->stash->{priorities_by_category} = $priorities_by_category; - my $templates_by_category = FixMyStreet::App->model('DB::ResponseTemplate')->by_categories($c->cobrand->council_area_id, @{$c->stash->{contacts}}); + my $templates_by_category = FixMyStreet::App->model('DB::ResponseTemplate')->by_categories( + $c->stash->{contacts}, + body_id => $c->cobrand->body->id + ); $c->stash->{templates_by_category} = $templates_by_category; } diff --git a/perllib/FixMyStreet/Roles/ContactExtra.pm b/perllib/FixMyStreet/Roles/ContactExtra.pm index 55c055d99..e78d9b53f 100644 --- a/perllib/FixMyStreet/Roles/ContactExtra.pm +++ b/perllib/FixMyStreet/Roles/ContactExtra.pm @@ -25,8 +25,15 @@ sub for_bodies { } sub by_categories { - my ($rs, $area_id, @contacts) = @_; - my %body_ids = map { $_->body_id => 1 } FixMyStreet::DB->resultset('BodyArea')->search({ area_id => $area_id }); + my ($rs, $contacts, %params) = @_; + + my %body_ids = (); + if ( $params{body_id} ) { + %body_ids = ( $params{body_id} => 1 ); + } else { + %body_ids = map { $_->body_id => 1 } FixMyStreet::DB->resultset('BodyArea')->search({ area_id => $params{area_id} }); + } + my @contacts = @$contacts; my @body_ids = keys %body_ids; my %extras = (); my @results = $rs->for_bodies(\@body_ids, undef); |