diff options
-rw-r--r-- | perllib/FixMyStreet/App/Controller/Contact.pm | 4 | ||||
-rw-r--r-- | perllib/FixMyStreet/Cobrand/BathNES.pm | 10 | ||||
-rw-r--r-- | templates/web/base/report/_inspect.html | 5 | ||||
-rw-r--r-- | templates/web/bathnes/contact/index.html | 145 | ||||
-rw-r--r-- | templates/web/bathnes/contact/rejecting-text.html | 3 |
5 files changed, 167 insertions, 0 deletions
diff --git a/perllib/FixMyStreet/App/Controller/Contact.pm b/perllib/FixMyStreet/App/Controller/Contact.pm index f2c3be47c..b124ba1c0 100644 --- a/perllib/FixMyStreet/App/Controller/Contact.pm +++ b/perllib/FixMyStreet/App/Controller/Contact.pm @@ -93,6 +93,10 @@ sub determine_contact_type : Private { $c->stash->{update} = $update; } + + if ( $c->get_param("reject") && $c->user->has_permission_to(report_reject => $c->stash->{problem}->bodies_str_ids) ) { + $c->stash->{rejecting_report} = 1; + } } return 1; diff --git a/perllib/FixMyStreet/Cobrand/BathNES.pm b/perllib/FixMyStreet/Cobrand/BathNES.pm index 544dafabd..0d749c057 100644 --- a/perllib/FixMyStreet/Cobrand/BathNES.pm +++ b/perllib/FixMyStreet/Cobrand/BathNES.pm @@ -86,6 +86,16 @@ sub open311_config { $row->set_extra_fields(@$extra); } +sub available_permissions { + my $self = shift; + + my $permissions = $self->SUPER::available_permissions(); + + $permissions->{Problems}->{report_reject} = "Reject reports"; + + return $permissions; +} + 1; diff --git a/templates/web/base/report/_inspect.html b/templates/web/base/report/_inspect.html index 6923dbb1a..4c285e330 100644 --- a/templates/web/base/report/_inspect.html +++ b/templates/web/base/report/_inspect.html @@ -49,6 +49,11 @@ <p> <a href="#" class="btn btn--block btn--geolocate">[% loc('Set to my current location') %]</a> </p> + [% IF permissions.report_reject %] + <p> + <a href="[% c.uri_for( '/contact', { id => problem.id, reject => 1 } ) %]" class="btn btn--block">[% loc('Reject report') %]</a> + </p> + [% END %] </div> [% IF permissions.report_edit_category OR permissions.report_inspect %] diff --git a/templates/web/bathnes/contact/index.html b/templates/web/bathnes/contact/index.html new file mode 100644 index 000000000..904a51268 --- /dev/null +++ b/templates/web/bathnes/contact/index.html @@ -0,0 +1,145 @@ +[% INCLUDE 'header.html', + title = loc('Contact Us') + robots = 'noindex,nofollow' + bodyclass = 'twothirdswidthpage' +%] + +[% INCLUDE 'about/_sidebar.html' %] + +[% IF c.cobrand.moniker == 'fixmystreet' %] +<h1>FixMyStreet technical support</h1> +[% ELSIF rejecting_report %] +<h1>[% loc('Reject report') %]</h1> +[% ELSE %] +<h1>[% loc('Contact the team') %]</h1> +[% END %] + +<form method="post" action="/contact/submit" class="validate"> + <fieldset> + [% INCLUDE 'errors.html' %] + + [% IF update %] + + <p> + [% loc('You are reporting the following update for being abusive, containing personal information, or similar:') %] + </p> + + <blockquote> + <p> + [% IF update.anonymous %] + [% tprintf( loc('Update below added anonymously at %s'), prettify_dt( update.confirmed ) ) %] + [% ELSE %] + [% tprintf( loc('Update below added by %s at %s'), update.name, prettify_dt( update.confirmed ) ) | html %] + [% END %] + </p> + + <p> + [% update.text | html %] + </p> + + </blockquote> + <input type="hidden" name="update_id" value="[% update.id %]"> + <input type="hidden" name="id" value="[% update.problem_id %]"> + + [% ELSIF problem %] + [% IF moderation_complaint %] + <input type="hidden" name="m" value="[% moderation_complaint %]"> + <p>[% loc('You are complaining that this problem report was unnecessarily moderated:') %]</p> + [% ELSIF rejecting_report %] + [% INCLUDE 'contact/rejecting-text.html' %] + [% ELSE %] + [% INCLUDE 'contact/unsuitable-text.html' %] + [% END %] + + <blockquote> + <h2>[% problem.title_safe | html %]</h2> + + <p> + [% IF problem.anonymous %] + [% tprintf( loc('Reported anonymously at %s'), prettify_dt( problem.confirmed ) ) %] + [% ELSE %] + [% tprintf( loc('Reported by %s at %s'), problem.user.name, prettify_dt( problem.confirmed ) ) | html %] + [% END %] + </p> + + <p> + [% problem.detail | html %] + </p> + + </blockquote> + <input type="hidden" name="id" value="[% problem.id %]"> + + [% ELSE %] + + [% INCLUDE 'contact/blurb.html' %] + + [% END %] + + [% IF NOT rejecting_report %] + <label for="form_name">[% loc('Your name') %]</label> + [% IF field_errors.name %] + <div class="form-error">[% field_errors.name %]</div> + [% END %] + <input type="text" class="form-control required" name="name" id="form_name" value="[% form_name | html %]" size="30"> + + <label for="form_email">[% loc('Your email') %]</label> + [% IF field_errors.em %] + <div class="form-error">[% field_errors.em %]</div> + [% END %] + <input type="text" class="form-control required email" name="em" id="form_email" value="[% em | html %]" size="30"> + + <div class="form-group"> + <label for="form_phone">[% loc('Your phone number') %]</label> + <span class="required-text required-text--optional">optional</span> + <input type="text" class="form-control extra.phone" name="extra.phone" id="form_phone" value="" size="30"> + </div> + + <label for="form_subject">[% loc('Subject') %]</label> + [% IF field_errors.subject %] + <div class="form-error">[% field_errors.subject %]</div> + [% END %] + <input type="text" class="form-control required" name="subject" id="form_subject" value="[% subject | html %]" size="30"> + [% ELSE %] + <input type="hidden" name="name" value="[% c.user.name | html %]" /> + <input type="hidden" name="em" value="[% c.user.email | html %]" /> + <input type="hidden" name="subject" value="[% loc("Report rejected") %]" /> + <input type="hidden" name="reject" value="1" /> + [% END %] + + + [% INCLUDE 'contact/who.html' %] + + [% IF rejecting_report %] + <label for="form_message">[% loc('Rejection reason') %]</label> + [% ELSE %] + <label for="form_message">[% loc('Message') %]</label> + [% END %] + [% IF field_errors.message %] + <div class="form-error">[% field_errors.message %]</div> + [% END %] + <textarea class="form-control required" name="message" id="form_message" rows="7" cols="50">[% message | html %]</textarea> + + + [% IF rejecting_report %] + <div class="form-group"> + <label for="form_service_area">[% loc('Service area for re-allocation') %]</label> + <input type="text" class="form-control extra.service_area" name="extra.service_area" id="form_service_area" value="" size="30"> + </div> + [% END %] + + + + <input class="final-submit green-btn" type="submit" value="[% loc('Send') %]"> + + </fieldset> +</form> + +<h4>[% loc("Don't like forms?") %]</h4> + +<p> +[% tprintf( loc("You can contact technical support on <a href='mailto:%s'>%s</a>"), contact_email, contact_email) %] +</p> + +[% TRY %][% INCLUDE 'contact/address.html' %][% CATCH file %][% END %] + +[% INCLUDE 'footer.html' pagefooter = 'yes' %] diff --git a/templates/web/bathnes/contact/rejecting-text.html b/templates/web/bathnes/contact/rejecting-text.html new file mode 100644 index 000000000..a6c62fdad --- /dev/null +++ b/templates/web/bathnes/contact/rejecting-text.html @@ -0,0 +1,3 @@ +<p> + [% loc('You are rejecting the following problem report for being outside the council’s responsibility, or similar:') %] +</p> |