aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorStruan Donald <struan@exo.org.uk>2019-04-04 13:03:41 +0100
committerStruan Donald <struan@exo.org.uk>2019-04-05 16:31:41 +0100
commitd87155a54988c3f3f17f9c15dcd7defdd696cd53 (patch)
tree56a3a3c4ad201951db7d10a14770469eae55ef87
parente3d40d97118cf8f5d4502c4433f26c646e4efc52 (diff)
[Northamptonshire] make no asset and emergency code cooperate
The code to stop submission of an emergency category and the code to stop submission of reports with no assets were conflicting. This makes the emergency code take precedence over the asset code as there is no point in telling the user they have not selected an asset and then telling them to phone the council.
-rw-r--r--web/cobrands/northamptonshire/assets.js46
1 files changed, 37 insertions, 9 deletions
diff --git a/web/cobrands/northamptonshire/assets.js b/web/cobrands/northamptonshire/assets.js
index 5694c4def..9749784ab 100644
--- a/web/cobrands/northamptonshire/assets.js
+++ b/web/cobrands/northamptonshire/assets.js
@@ -376,6 +376,10 @@ var northants_defaults = $.extend(true, {}, fixmystreet.assets.alloy_defaults, {
select_action: true,
actions: {
asset_found: function(asset) {
+ var emergency_state = ncc_is_emergency_category();
+ if (emergency_state.relevant && !emergency_state.body) {
+ return;
+ }
hide_responsibility_errors();
enable_report_form();
var lonlat = asset.geometry.getBounds().getCenterLonLat();
@@ -408,8 +412,14 @@ var northants_defaults = $.extend(true, {}, fixmystreet.assets.alloy_defaults, {
},
asset_not_found: function() {
$("#overlapping_features_msg").addClass('hidden');
+ var emergency_state = ncc_is_emergency_category();
+
disable_report_form();
- show_responsibility_error('#js-not-an-asset', this.fixmystreet.asset_item, this.fixmystreet.asset_type);
+ if (!emergency_state.relevant || emergency_state.body) {
+ show_responsibility_error('#js-not-an-asset', this.fixmystreet.asset_item, this.fixmystreet.asset_type);
+ } else {
+ hide_responsibility_errors();
+ }
}
}
});
@@ -446,17 +456,27 @@ var northants_road_defaults = $.extend(true, {}, fixmystreet.assets.alloy_defaul
},
actions: {
found: function(layer, feature) {
- enable_report_form();
+ var emergency_state = ncc_is_emergency_category();
+ if (!emergency_state.relevant || emergency_state.body) {
+ enable_report_form();
+ }
hide_responsibility_errors();
},
not_found: function(layer) {
// don't show the message if clicking on a highways england road
+ var emergency_state = ncc_is_emergency_category();
if (fixmystreet.body_overrides.get_only_send() == 'Highways England' || !layer.visibility) {
- enable_report_form();
+ if (!emergency_state.relevant || emergency_state.body) {
+ enable_report_form();
+ }
hide_responsibility_errors();
} else {
disable_report_form();
- show_responsibility_error(layer.fixmystreet.no_asset_msg_id);
+ if (!emergency_state.relevant || emergency_state.body) {
+ show_responsibility_error(layer.fixmystreet.no_asset_msg_id);
+ } else {
+ hide_responsibility_errors();
+ }
}
},
}
@@ -564,22 +584,30 @@ fixmystreet.assets.add($.extend(true, {}, northants_road_defaults, {
]
}));
-// Hide form when emergency category used
-function check_emergency() {
+function ncc_is_emergency_category() {
var relevant_body = OpenLayers.Util.indexOf(fixmystreet.bodies, northants_defaults.body) > -1;
var relevant_cat = !!$('label[for=form_emergency]').length;
var relevant = relevant_body && relevant_cat;
var currently_shown = !!$('#northants-emergency-message').length;
var body = $('#form_category').data('body');
- if (relevant === currently_shown || body || fixmystreet.body_overrides.get_only_send() == 'Highways England') {
+ return {relevant: relevant, currently_shown: currently_shown, body: body};
+}
+
+// Hide form when emergency category used
+function check_emergency() {
+ var state = ncc_is_emergency_category();
+
+ if (state.relevant === state.currently_shown || state.body || fixmystreet.body_overrides.get_only_send() == 'Highways England') {
// Either should be shown and already is, or shouldn't be shown and isn't
return;
}
- if (!relevant) {
+ if (!state.relevant) {
$('#northants-emergency-message').remove();
- $('.js-hide-if-invalid-category').show();
+ if ( !$('#js-roads-responsibility').is(':visible') ) {
+ $('.js-hide-if-invalid-category').show();
+ }
return;
}