diff options
Diffstat (limited to 'web')
-rw-r--r-- | web/cobrands/bristol/js.js | 24 | ||||
-rw-r--r-- | web/cobrands/fixmystreet-uk-councils/roadworks.js | 49 | ||||
-rw-r--r-- | web/cobrands/fixmystreet/assets.js | 80 | ||||
-rw-r--r-- | web/cobrands/hounslow/assets.js | 70 | ||||
-rw-r--r-- | web/cobrands/westminster/assets.js | 3 |
5 files changed, 134 insertions, 92 deletions
diff --git a/web/cobrands/bristol/js.js b/web/cobrands/bristol/js.js new file mode 100644 index 000000000..c2431607f --- /dev/null +++ b/web/cobrands/bristol/js.js @@ -0,0 +1,24 @@ +(function(){ + +if (!fixmystreet.maps) { + return; +} + +var org_id = '1015'; +var body = "Bristol City Council"; +fixmystreet.assets.add(fixmystreet.roadworks.layer_future, { + http_options: { params: { organisation_id: org_id } }, + body: body +}); +fixmystreet.assets.add(fixmystreet.roadworks.layer_planned, { + http_options: { params: { organisation_id: org_id } }, + body: body +}); + +fixmystreet.roadworks.config = { + summary_heading_text: 'Location', + extra_dates_text: '<small>Please note that dates are updated by the contractor carrying out the works and the finish date may be incorrect in cases of unauthorised or overrunning works</small>', + skip_delays: true +}; + +})(); diff --git a/web/cobrands/fixmystreet-uk-councils/roadworks.js b/web/cobrands/fixmystreet-uk-councils/roadworks.js index 083f669c8..f4da4c310 100644 --- a/web/cobrands/fixmystreet-uk-councils/roadworks.js +++ b/web/cobrands/fixmystreet-uk-councils/roadworks.js @@ -186,33 +186,38 @@ fixmystreet.roadworks.display_message = function(feature) { desc = attr.works_desc.replace(/\\n/g, '\n'); var config = this.config, + summary_heading_text = config.summary_heading_text || 'Summary', tag_top = config.tag_top || 'p', colon = config.colon ? ':' : ''; - var $msg = $('<div class="js-roadworks-message js-roadworks-message-' + feature.layer.id + ' box-warning"><' + tag_top + '>Roadworks are scheduled near this location, so you may not need to report your issue.</' + tag_top + '></div>'); - var $dl = $("<dl></dl>").appendTo($msg); - $dl.append("<dt>Dates" + colon + "</dt>"); - $dl.append($("<dd></dd>").text(start + " until " + end)); - $dl.append("<dt>Summary" + colon + "</dt>"); - var $summary = $("<dd></dd>").appendTo($dl); - tooltip.split("\n").forEach(function(para) { - if (para.match(/^(\d{2}\s+\w{3}\s+(\d{2}:\d{2}\s+)?\d{4}( - )?){2}/)) { - // skip showing the date again - return; - } - if (config.skip_delays && para.match(/^delays/)) { - // skip showing traffic delay information - return; - } - $summary.append(para).append("<br />"); - }); - if (desc) { - $dl.append("<dt>Description" + colon + "</dt>"); - $dl.append($("<dd></dd>").text(desc)); + var $msg = $('<div class="js-roadworks-message js-roadworks-message-' + feature.layer.id + ' box-warning"><' + tag_top + '>Roadworks are scheduled near this location, so you may not need to report your issue.</' + tag_top + '></div>'); + var $dl = $("<dl></dl>").appendTo($msg); + $dl.append("<dt>Dates" + colon + "</dt>"); + var $dates = $("<dd></dd>").appendTo($dl); + $dates.text(start + " until " + end); + if (config.extra_dates_text) { + $dates.append('<br>' + config.extra_dates_text); + } + $dl.append("<dt>" + summary_heading_text + colon + "</dt>"); + var $summary = $("<dd></dd>").appendTo($dl); + tooltip.split("\n").forEach(function(para) { + if (para.match(/^(\d{2}\s+\w{3}\s+(\d{2}:\d{2}\s+)?\d{4}( - )?){2}/)) { + // skip showing the date again + return; } - if (config.text_after) { - $dl.append(config.text_after); + if (config.skip_delays && para.match(/^delays/)) { + // skip showing traffic delay information + return; } + $summary.append(para).append("<br />"); + }); + if (desc) { + $dl.append("<dt>Description" + colon + "</dt>"); + $dl.append($("<dd></dd>").text(desc)); + } + if (config.text_after) { + $dl.append(config.text_after); + } $msg.prependTo('#js-post-category-messages'); }; diff --git a/web/cobrands/fixmystreet/assets.js b/web/cobrands/fixmystreet/assets.js index b2b1cd602..c30fa2b5e 100644 --- a/web/cobrands/fixmystreet/assets.js +++ b/web/cobrands/fixmystreet/assets.js @@ -275,8 +275,9 @@ function init_asset_layer(layer, pins_layer) { layer.fixmystreet.fault_layer.setZIndex(layer.getZIndex()-1); } - if (fixmystreet.page == 'new' && (layer.fixmystreet.usrn || layer.fixmystreet.road)) { - // If the user visits /report/new directly and doesn't change the pin + if (layer.fixmystreet.usrn || layer.fixmystreet.road) { + // If an asset layer only loads once a category is selected, or if the + // user visits /report/new directly and doesn't change the pin // location, then the assets:selected/maps:update_pin events are never // fired and USRN's checkFeature is never called. This results in a // report whose location was never looked up against the USRN layer, @@ -1101,18 +1102,34 @@ fixmystreet.message_controller = (function() { return false; } - // make sure we fire the code to check if an asset is selected if - // we change options in the Highways England message - $(fixmystreet).on('report_new:highways_change', function() { - if (fixmystreet.body_overrides.get_only_send() === 'Highways England') { - $('#' + stopperId).remove(); // Get rid of any stopper message - responsibility_off(); // Will also reenable form + function is_matching_stopper(stopper, i) { + var only_send = fixmystreet.body_overrides.get_only_send(); + var body = $('#form_category').data('body'); + + if (OpenLayers.Util.indexOf(ignored_bodies, body) > -1) { + return false; + } + + var category = $('#form_category').val(); + if (category != stopper.category) { + return false; + } + if (only_send == 'TfL') { + return false; + } + + if (stopper.answers) { + var answer = $('#form_' + stopper.code).val(); + if (OpenLayers.Util.indexOf(stopper.answers, answer) > -1) { + return true; + } + return false; } else { - $(fixmystreet).trigger('report_new:category_change'); + return true; } - }); + } - $(fixmystreet).on('report_new:category_change', function() { + function check_for_stopper() { var only_send = fixmystreet.body_overrides.get_only_send(); if (only_send == 'Highways England') { // If we're sending to Highways England, this message doesn't matter @@ -1120,31 +1137,7 @@ fixmystreet.message_controller = (function() { } var $id = $('#' + stopperId); - var body = $('#form_category').data('body'); - var matching = $.grep(stoppers, function(stopper, i) { - if (OpenLayers.Util.indexOf(ignored_bodies, body) > -1) { - return false; - } - - var category = $('#form_category').val(); - if (category != stopper.category) { - return false; - } - if (only_send == 'TfL') { - return false; - } - - if (stopper.answers) { - var answer = $('#form_' + stopper.code).val(); - if (OpenLayers.Util.indexOf(stopper.answers, answer) > -1) { - return true; - } - return false; - } else { - return true; - } - }); - + var matching = $.grep(stoppers, is_matching_stopper); if (!matching.length) { $id.remove(); if ( !$('#js-roads-responsibility').is(':visible') && !$('#js-duplicate-reports').is(':visible') ) { @@ -1170,8 +1163,21 @@ fixmystreet.message_controller = (function() { $msg.insertBefore('#js-post-category-messages'); } disable_report_form(stopper.keep_category_extras); + } + + // make sure we fire the code to check if an asset is selected if + // we change options in the Highways England message + $(fixmystreet).on('report_new:highways_change', function() { + if (fixmystreet.body_overrides.get_only_send() === 'Highways England') { + $('#' + stopperId).remove(); // Get rid of any stopper message + responsibility_off(); // Will also reenable form + } else { + $(fixmystreet).trigger('report_new:category_change'); + } }); + $(fixmystreet).on('report_new:category_change', check_for_stopper); + return { asset_found: function() { responsibility_off(); @@ -1225,6 +1231,8 @@ fixmystreet.message_controller = (function() { stoppers = []; }, + check_for_stopper: check_for_stopper, + add_ignored_body: function(body) { ignored_bodies.push(body); } diff --git a/web/cobrands/hounslow/assets.js b/web/cobrands/hounslow/assets.js index 6bd603b8c..abe3d20da 100644 --- a/web/cobrands/hounslow/assets.js +++ b/web/cobrands/hounslow/assets.js @@ -42,40 +42,42 @@ fixmystreet.assets.add($.extend(true, {}, defaults, { asset_item: 'bin' })); -fixmystreet.assets.add($.extend(true, {}, defaults, { - http_options: { - params: { - TYPENAME: "trees" - } - }, - asset_id_field: 'central_asset_id', - attributes: { - central_asset_id: 'central_asset_id', - asset_details: 'asset_number' - }, - asset_category: [ - "Tree Danger/Obstruction", - "Branches overhanging", - "Damage By Tree", - "Dead/Dying/Diseased", - "Dying or dangerous tree", - "Empty tree Pit", - "Fallen or leaning tree", - "General Maintenance and pruning", - "Illuminated Traffic signal obstructed by vegetation", - "Traffic signal obstructed by vegetation", - "Pest: Tree/Shrub", - "Pests in trees and shrubs", - "Tree Branches Overhanging", - "Tree Maintenance", - "Tree causing damage to property", - "Tree obstructing street light", - "Trees or shrubs blocking visibility", - "Trees or shrubs causing obstruction of highway", - "Trees" - ], - asset_item: 'tree' -})); +// Disabled for now as the data is quite out of date and causing problems +// sending reports. +// fixmystreet.assets.add($.extend(true, {}, defaults, { +// http_options: { +// params: { +// TYPENAME: "trees" +// } +// }, +// asset_id_field: 'central_asset_id', +// attributes: { +// central_asset_id: 'central_asset_id', +// asset_details: 'asset_number' +// }, +// asset_category: [ +// "Tree Danger/Obstruction", +// "Branches overhanging", +// "Damage By Tree", +// "Dead/Dying/Diseased", +// "Dying or dangerous tree", +// "Empty tree Pit", +// "Fallen or leaning tree", +// "General Maintenance and pruning", +// "Illuminated Traffic signal obstructed by vegetation", +// "Traffic signal obstructed by vegetation", +// "Pest: Tree/Shrub", +// "Pests in trees and shrubs", +// "Tree Branches Overhanging", +// "Tree Maintenance", +// "Tree causing damage to property", +// "Tree obstructing street light", +// "Trees or shrubs blocking visibility", +// "Trees or shrubs causing obstruction of highway", +// "Trees" +// ], +// asset_item: 'tree' +// })); fixmystreet.assets.add($.extend(true, {}, defaults, { http_options: { diff --git a/web/cobrands/westminster/assets.js b/web/cobrands/westminster/assets.js index e015f35a1..1c0358301 100644 --- a/web/cobrands/westminster/assets.js +++ b/web/cobrands/westminster/assets.js @@ -101,12 +101,15 @@ fixmystreet.assets.add(defaults, { found: function(layer, feature) { if (!fixmystreet.assets.selectedFeature()) { fixmystreet.body_overrides.only_send('TfL'); + $('#category_meta').empty(); } else { fixmystreet.body_overrides.remove_only_send(); } + fixmystreet.message_controller.check_for_stopper(); }, not_found: function(layer) { fixmystreet.body_overrides.remove_only_send(); + fixmystreet.message_controller.check_for_stopper(); } } }); |