aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorStruan Donald <struan@exo.org.uk>2020-08-21 12:22:50 +0100
committerStruan Donald <struan@exo.org.uk>2020-08-21 15:50:42 +0100
commit5430338004cc7169cec02ec83bf2e82683c8d907 (patch)
treeb58ecf175c3ba24410484e389c1f9157b55af9ee
parentba318964a69f20e583220bc81c70289d85cc7b6f (diff)
[UK] hide change asset button if category drop downs hidden
The change asset button code relies on the category drop downs being visible which requires either the change report category or inspect report permissions. Hide the button if these are not present and only fire the update button code if it's present. Fixes mysociety/fixmystreet-commercial#1961
-rw-r--r--t/app/controller/report_inspect.t4
-rw-r--r--templates/web/base/report/inspect/information.html2
-rw-r--r--web/cobrands/fixmystreet/staff.js4
3 files changed, 9 insertions, 1 deletions
diff --git a/t/app/controller/report_inspect.t b/t/app/controller/report_inspect.t
index 48dceaf04..96325760c 100644
--- a/t/app/controller/report_inspect.t
+++ b/t/app/controller/report_inspect.t
@@ -56,12 +56,14 @@ FixMyStreet::override_config {
$mech->content_lacks('Private');
$mech->content_lacks('Priority');
$mech->content_lacks('Traffic management');
+ $mech->content_lacks('Change asset');
$mech->content_lacks('/admin/report_edit/'.$report_id.'">admin</a>)');
$user->user_body_permissions->create({ body => $oxon, permission_type => 'report_mark_private' });
$mech->get_ok("/report/$report_id");
$mech->content_contains('Private');
$mech->content_contains('Save changes');
+ $mech->content_lacks('Change asset');
$mech->content_lacks('Priority');
$mech->content_lacks('Traffic management');
$mech->content_lacks('/admin/report_edit/'.$report_id.'">admin</a>)');
@@ -71,6 +73,7 @@ FixMyStreet::override_config {
$mech->content_contains('Private');
$mech->content_contains('Save changes');
$mech->content_contains('Priority');
+ $mech->content_lacks('Change asset');
$mech->content_lacks('Traffic management');
$mech->content_lacks('/admin/report_edit/'.$report_id.'">admin</a>)');
@@ -80,6 +83,7 @@ FixMyStreet::override_config {
$mech->content_contains('Private');
$mech->content_contains('Priority');
$mech->content_contains('Traffic management');
+ $mech->content_contains('Change asset');
$mech->content_lacks('/admin/report_edit/'.$report_id.'">admin</a>)');
};
diff --git a/templates/web/base/report/inspect/information.html b/templates/web/base/report/inspect/information.html
index bca2a4b60..edebc4a0c 100644
--- a/templates/web/base/report/inspect/information.html
+++ b/templates/web/base/report/inspect/information.html
@@ -54,10 +54,12 @@
[% END %]
[% END %]
+ [% IF permissions.report_edit_category OR permissions.report_inspect %]
<!-- These fields are for the asset display code to use -->
<input type="hidden" name="inspect_category_group" id="inspect_category_group" value="">
<input type="hidden" name="inspect_form_category" id="inspect_form_category" value="">
<p>
<a href="#" class="btn btn--block btn--change-asset">[% loc('Change asset') %]</a>
</p>
+ [% END %]
</div>
diff --git a/web/cobrands/fixmystreet/staff.js b/web/cobrands/fixmystreet/staff.js
index 2422d5476..4bbc0b11d 100644
--- a/web/cobrands/fixmystreet/staff.js
+++ b/web/cobrands/fixmystreet/staff.js
@@ -277,7 +277,9 @@ fixmystreet.staff_set_up = {
$('.btn--change-asset').hide();
}
}
- update_change_asset_button();
+ if ( $('.btn--change-asset').length ) {
+ update_change_asset_button();
+ }
$('.btn--change-asset').on('click', function(e) {
e.preventDefault();