aboutsummaryrefslogtreecommitdiffstats
path: root/perllib
diff options
context:
space:
mode:
Diffstat (limited to 'perllib')
-rw-r--r--perllib/FixMyStreet/App/Controller/Report.pm23
-rw-r--r--perllib/FixMyStreet/DB/ResultSet/ResponsePriority.pm24
2 files changed, 14 insertions, 33 deletions
diff --git a/perllib/FixMyStreet/App/Controller/Report.pm b/perllib/FixMyStreet/App/Controller/Report.pm
index eefb4fc99..223cea9b4 100644
--- a/perllib/FixMyStreet/App/Controller/Report.pm
+++ b/perllib/FixMyStreet/App/Controller/Report.pm
@@ -312,27 +312,10 @@ sub inspect : Private {
$c->forward('/admin/categories_for_point');
$c->stash->{report_meta} = { map { $_->{name} => $_ } @{ $c->stash->{problem}->get_extra_fields() } };
- my %category_body = map { $_->category => $_->body_id } map { $_->contacts->all } values %{$problem->bodies};
-
- my @priorities = $c->model('DB::ResponsePriority')->for_bodies($problem->bodies_str_ids)->all;
- my $priorities_by_category = {};
- foreach my $pri (@priorities) {
- my $any = 0;
- foreach ($pri->contacts->all) {
- $any = 1;
- push @{$priorities_by_category->{$_->category}}, $pri->id . '=' . URI::Escape::uri_escape_utf8($pri->name);
- }
- if (!$any) {
- foreach (grep { $category_body{$_} == $pri->body_id } @{$c->stash->{categories}}) {
- push @{$priorities_by_category->{$_}}, $pri->id . '=' . URI::Escape::uri_escape_utf8($pri->name);
- }
- }
+ 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}});
+ $c->stash->{priorities_by_category} = $priorities_by_category;
}
- foreach (keys %{$priorities_by_category}) {
- $priorities_by_category->{$_} = join('&', @{$priorities_by_category->{$_}});
- }
-
- $c->stash->{priorities_by_category} = $priorities_by_category;
if ( $c->get_param('save') ) {
$c->forward('/auth/check_csrf_token');
diff --git a/perllib/FixMyStreet/DB/ResultSet/ResponsePriority.pm b/perllib/FixMyStreet/DB/ResultSet/ResponsePriority.pm
index aa9c426f4..89bb4dfd7 100644
--- a/perllib/FixMyStreet/DB/ResultSet/ResponsePriority.pm
+++ b/perllib/FixMyStreet/DB/ResultSet/ResponsePriority.pm
@@ -3,20 +3,18 @@ use base 'DBIx::Class::ResultSet';
use strict;
use warnings;
+use Moo;
+use HTML::Entities;
-sub for_bodies {
- my ($rs, $bodies, $category) = @_;
- my $attrs = {
- 'me.body_id' => $bodies,
- };
- if ($category) {
- $attrs->{'contact.category'} = [ $category, undef ];
- }
- $rs->search($attrs, {
- order_by => 'name',
- join => { 'contact_response_priorities' => 'contact' },
- distinct => 1,
- });
+with('FixMyStreet::Roles::ContactExtra');
+
+sub join_table {
+ return 'contact_response_priorities';
+}
+
+sub map_extras {
+ my ($rs, @ts) = @_;
+ return map { { id => $_->id, name => encode_entities($_->name) } } @ts;
}
1;