diff options
author | Matthew Somerville <matthew-github@dracos.co.uk> | 2019-01-17 15:54:56 +0000 |
---|---|---|
committer | Matthew Somerville <matthew-github@dracos.co.uk> | 2019-01-23 10:10:30 +0000 |
commit | 2f02c377f44bd2b7cc16f3fdbefb85ed5fa25fdb (patch) | |
tree | f42e906998ed0d1789b023f98cc3ec138501ea9e /web | |
parent | f44ad2f067346cb3b03d3711fd658a5516e9fd0c (diff) |
[Buckinghamshire] Question for on-road flytipping.
This adds a question to check whether a flytipping report concerns
flytipping on a road or not. Client-side, it is asked when a road is
selected and destination adjusted according to the answer; server side
it uses the answer to direct any both-tier submissions (from e.g.
non-JavaScript or phone app).
Diffstat (limited to 'web')
-rw-r--r-- | web/cobrands/buckinghamshire/assets.js | 28 |
1 files changed, 27 insertions, 1 deletions
diff --git a/web/cobrands/buckinghamshire/assets.js b/web/cobrands/buckinghamshire/assets.js index 32c551d1a..2f69ba6f6 100644 --- a/web/cobrands/buckinghamshire/assets.js +++ b/web/cobrands/buckinghamshire/assets.js @@ -377,6 +377,11 @@ fixmystreet.assets.add($.extend(true, {}, defaults, { found: function(layer, feature) { fixmystreet.body_overrides.allow_send(layer.fixmystreet.body); fixmystreet.body_overrides.remove_only_send(); + + // Make sure Flytipping related things reset + $('#category_meta').show(); + $('#form_road-placement').attr('required', ''); + if (fixmystreet.assets.selectedFeature()) { hide_responsibility_errors(); enable_report_form(); @@ -414,10 +419,19 @@ fixmystreet.assets.add($.extend(true, {}, defaults, { fixmystreet.body_overrides.allow_send(layer.fixmystreet.body); hide_responsibility_errors(); enable_report_form(); - } else if (is_only_body(layer.fixmystreet.body)){ + } else if (is_only_body(layer.fixmystreet.body)) { show_responsibility_error("#js-not-a-road"); disable_report_form(); } + + // If flytipping is picked, we don't want to ask the extra question + var cat = $('select#form_category').val(); + if (cat === 'Flytipping') { + $('#category_meta').hide(); + $('#form_road-placement').removeAttr('required'); + } else { + $('#category_meta').show(); + } } }, usrn: { @@ -428,6 +442,18 @@ fixmystreet.assets.add($.extend(true, {}, defaults, { filter_value: types_to_show, })); +// As with the road found/not_found above, we want to change the destination +// depending upon the answer to the extra question shown when on a road +$("#problem_form").on("change", "#form_road-placement", function() { + if (this.value == 'road') { + fixmystreet.body_overrides.allow_send(defaults.body); + fixmystreet.body_overrides.only_send(defaults.body); + } else if (this.value == 'off-road') { + fixmystreet.body_overrides.do_not_send(defaults.body); + fixmystreet.body_overrides.remove_only_send(); + } +}); + fixmystreet.assets.add($.extend(true, {}, defaults, { http_options: { params: { |