aboutsummaryrefslogtreecommitdiffstats
path: root/perllib/FixMyStreet/App
diff options
context:
space:
mode:
Diffstat (limited to 'perllib/FixMyStreet/App')
-rw-r--r--perllib/FixMyStreet/App/Controller/Moderate.pm5
-rw-r--r--perllib/FixMyStreet/App/Controller/Report.pm16
-rw-r--r--perllib/FixMyStreet/App/Controller/Reports.pm3
3 files changed, 12 insertions, 12 deletions
diff --git a/perllib/FixMyStreet/App/Controller/Moderate.pm b/perllib/FixMyStreet/App/Controller/Moderate.pm
index 42dc759e5..4d3a97fa8 100644
--- a/perllib/FixMyStreet/App/Controller/Moderate.pm
+++ b/perllib/FixMyStreet/App/Controller/Moderate.pm
@@ -21,10 +21,7 @@ data to change.
(Authentication requires:
- user to be from_body
- - user to have a "moderate" record in user_body_permissions (there is
- currently no admin interface for this. Should be added, but
- while we're trialing this, it's a simple case of adding a DB record
- manually)
+ - user to have a "moderate" record in user_body_permissions
The original data of the report is stored in moderation_original_data, so
that it can be reverted/consulted if required. All moderation events are
diff --git a/perllib/FixMyStreet/App/Controller/Report.pm b/perllib/FixMyStreet/App/Controller/Report.pm
index c72c75d3a..138098d5f 100644
--- a/perllib/FixMyStreet/App/Controller/Report.pm
+++ b/perllib/FixMyStreet/App/Controller/Report.pm
@@ -377,15 +377,15 @@ sub inspect : Private {
if ( $problem->state eq 'hidden' ) {
$problem->get_photoset->delete_cached;
}
- if ( $problem->state eq 'duplicate' && $old_state ne 'duplicate' ) {
- # If the report is being closed as duplicate, make sure the
- # update records this.
- $update_params{problem_state} = "duplicate";
- }
- if ( $problem->state ne 'duplicate' ) {
+ if ( $problem->state eq 'duplicate') {
+ if (my $duplicate_of = $c->get_param('duplicate_of')) {
+ $problem->set_duplicate_of($duplicate_of);
+ } elsif (not $c->get_param('public_update')) {
+ $valid = 0;
+ push @{ $c->stash->{errors} }, _('Please provide a duplicate ID or public update for this report.');
+ }
+ } else {
$problem->unset_extra_metadata('duplicate_of');
- } elsif (my $duplicate_of = $c->get_param('duplicate_of')) {
- $problem->set_duplicate_of($duplicate_of);
}
if ( $problem->state ne $old_state ) {
diff --git a/perllib/FixMyStreet/App/Controller/Reports.pm b/perllib/FixMyStreet/App/Controller/Reports.pm
index b0015acc5..b6281f0ca 100644
--- a/perllib/FixMyStreet/App/Controller/Reports.pm
+++ b/perllib/FixMyStreet/App/Controller/Reports.pm
@@ -575,16 +575,19 @@ sub stash_report_filter_status : Private {
my $s = FixMyStreet::DB::Result::Problem->open_states();
%filter_problem_states = (%filter_problem_states, %$s);
$filter_status{open} = 1;
+ $filter_status{$_} = 1 for keys %$s;
}
if ($status{closed}) {
my $s = FixMyStreet::DB::Result::Problem->closed_states();
%filter_problem_states = (%filter_problem_states, %$s);
$filter_status{closed} = 1;
+ $filter_status{$_} = 1 for keys %$s;
}
if ($status{fixed}) {
my $s = FixMyStreet::DB::Result::Problem->fixed_states();
%filter_problem_states = (%filter_problem_states, %$s);
$filter_status{fixed} = 1;
+ $filter_status{$_} = 1 for keys %$s;
}
if ($status{all}) {