diff options
Diffstat (limited to 'templates')
30 files changed, 123 insertions, 893 deletions
diff --git a/templates/web/angus/maps/fms.html b/templates/web/angus/maps/fms.html deleted file mode 100644 index 61c56f121..000000000 --- a/templates/web/angus/maps/fms.html +++ /dev/null @@ -1,11 +0,0 @@ -[% -map_js = [ - version('/vendor/OpenLayers/OpenLayers.angus.js'), - version('/js/map-OpenLayers.js'), - version('/js/map-bing-ol.js'), - version('/js/map-fms.js'), - version('/cobrands/fixmystreet/assets.js'), - version('/cobrands/angus/js.js'), -]; -map_html = INCLUDE maps/openlayers.html include_key = 1 -%] diff --git a/templates/web/base/admin/report_edit.html b/templates/web/base/admin/report_edit.html index c58b2d605..ff99bb907 100644 --- a/templates/web/base/admin/report_edit.html +++ b/templates/web/base/admin/report_edit.html @@ -1,8 +1,8 @@ [% PROCESS "maps/${map.type}.html" admin = 1; + SET bodyclass = 'mappage with-notes'; INCLUDE 'admin/header.html' - title = tprintf(loc('Editing problem %d'), problem.id ), - bodyclass = 'mappage with-notes'; + title = tprintf(loc('Editing problem %d'), problem.id ); PROCESS 'admin/report_blocks.html' -%] diff --git a/templates/web/base/alert/index.html b/templates/web/base/alert/index.html index 38ed6f6f5..1442e6bdc 100644 --- a/templates/web/base/alert/index.html +++ b/templates/web/base/alert/index.html @@ -1,4 +1,5 @@ -[% INCLUDE 'header.html', title = loc('Local RSS feeds and email alerts'), bodyclass = 'fullwidthpage' %] +[% SET bodyclass = 'alertpage fullwidthpage' %] +[% INCLUDE 'header.html', title = loc('Local RSS feeds and email alerts') %] <h1>[% loc('Local RSS feeds and email alerts') %]</h1> diff --git a/templates/web/base/around/index.html b/templates/web/base/around/index.html index f2be5575c..8f6af6225 100644 --- a/templates/web/base/around/index.html +++ b/templates/web/base/around/index.html @@ -1,5 +1,6 @@ [% pre_container_extra = INCLUDE 'around/postcode_form.html' %] -[% INCLUDE 'header.html', title = loc('Reporting a problem'), bodyclass = 'frontpage fullwidthpage' %] +[% SET bodyclass = 'frontpage fullwidthpage' ~%] +[% INCLUDE 'header.html', title = loc('Reporting a problem') %] [% # NOTE ON PARTIAL REPORTS: diff --git a/templates/web/base/around/lookup_by_ref.html b/templates/web/base/around/lookup_by_ref.html index 5c08a7ceb..747354c1e 100644 --- a/templates/web/base/around/lookup_by_ref.html +++ b/templates/web/base/around/lookup_by_ref.html @@ -1,5 +1,6 @@ [% pre_container_extra = INCLUDE 'around/postcode_form.html', pc = ref %] -[% INCLUDE 'header.html', title = loc('Reporting a problem'), bodyclass = 'frontpage fullwidthpage' %] +[% SET bodyclass = 'frontpage fullwidthpage' ~%] +[% INCLUDE 'header.html', title = loc('Reporting a problem') %] [% IF matching_reports %] <p>[% loc('We found more than one match for that problem reference:') %]</p> diff --git a/templates/web/base/common_header_tags.html b/templates/web/base/common_header_tags.html index 321e45649..f65f1e336 100644 --- a/templates/web/base/common_header_tags.html +++ b/templates/web/base/common_header_tags.html @@ -33,3 +33,21 @@ [% "$title :: " | html IF title %] [% site_name -%] </title> + +[% IF bodyclass.match('frontpage') %] + <link rel="prefetch" href="[% version('/js/validation_rules.js') %]"> + [%~ IF NOT c.user_exists OR NOT (c.user.from_body OR c.user.is_superuser) %] + <link rel="prefetch" href="[% version('/jslib/jquery-1.7.2.min.js') %]"> + [%~ END %] + <link rel="prefetch" href="[% version('/js/jquery.multi-select.js') %]"> + <link rel="prefetch" href="[% version('/vendor/jquery.validate.min.js') %]"> + <link rel="prefetch" href="[% version('/cobrands/fixmystreet/fixmystreet.js') %]"> +[% END %] +[% IF NOT bodyclass.match('mappage') %] + [% FOR script IN map_js %] + <link rel="prefetch" href="[% IF script.match('^/'); version(script); ELSE; script; END %]"> + [% END %] + <link rel="prefetch" href="[% version('/cobrands/fixmystreet/map.js') %]"> + <link rel="prefetch" href="[% version('/vendor/dropzone.min.js') %]"> + <link rel="prefetch" href="[% version('/vendor/fancybox/jquery.fancybox-1.3.4.pack.js') %]"> +[% END %] diff --git a/templates/web/base/common_scripts.html b/templates/web/base/common_scripts.html index 057ecfd67..c6225e8fa 100644 --- a/templates/web/base/common_scripts.html +++ b/templates/web/base/common_scripts.html @@ -7,28 +7,75 @@ scripts = []; scripts.push( start _ "/js/translation_strings." _ lang_code _ ".js?" _ Math.int( date.now / 3600 ), - version('/jslib/jquery-1.7.2.min.js'), - version('/js/validation_rules.js'), - version('/vendor/jquery.validate.min.js'), - version('/vendor/dropzone.min.js'), - version('/js/jquery.multi-select.js'), - version('/cobrands/fixmystreet/fixmystreet.js'), ); -IF c.user_exists AND (c.user.from_body OR c.user.is_superuser); +SET jquery_loaded = 0; +SET geolocation_loaded = 0; +IF bodyclass.match('frontpage'); + SET geolocation_loaded = 1; scripts.push( - version('/cobrands/fixmystreet/staff.js') + version('/js/front.js'), + version('/js/geolocation.js'), + ); +ELSIF bodyclass.match('alertpage'); + SET geolocation_loaded = 1; + scripts.push( + version('/js/geolocation.js'), + ); +ELSE; + SET jquery_loaded = 1; + scripts.push( + version('/js/validation_rules.js'), + version('/jslib/jquery-1.7.2.min.js'), + version('/js/jquery.multi-select.js'), + version('/vendor/jquery.validate.min.js'), + version('/cobrands/fixmystreet/fixmystreet.js'), ); END; -FOR script IN map_js; +FOR script IN extra_js; scripts.push(script); END; -scripts.push( - version('/cobrands/fixmystreet/map.js'), - version('/cobrands/fixmystreet/offline.js'), -); +IF c.user_exists AND (c.user.from_body OR c.user.is_superuser); + IF NOT geolocation_loaded; + scripts.push( + version('/js/geolocation.js'), + ); + END; + IF NOT jquery_loaded; + scripts.push( + version('/jslib/jquery-1.7.2.min.js'), + ); + END; + scripts.push( + version('/cobrands/fixmystreet/staff.js') + ); + IF c.user.has_body_permission_to('planned_reports'); + scripts.push( + version('/cobrands/fixmystreet/offline.js'), + ); + END; +END; + +IF bodyclass.match('mappage'); + FOR script IN map_js; + IF script.match('^/'); + scripts.push(version(script)); + ELSE; + scripts.push(script); + END; + END; + scripts.push( + version('/cobrands/fixmystreet/map.js'), + version('/vendor/dropzone.min.js'), + version('/vendor/fancybox/jquery.fancybox-1.3.4.pack.js'), + ); +ELSE; + scripts.push( + version('/cobrands/fixmystreet/prefetch-polyfill.js'), + ); +END; IF admin; scripts.push( @@ -37,10 +84,6 @@ IF admin; ); END; -FOR script IN extra_js; - scripts.push(script); -END; - TRY; PROCESS 'footer_extra_js.html'; CATCH file; diff --git a/templates/web/base/front/javascript.html b/templates/web/base/front/javascript.html deleted file mode 100644 index 69eb626f7..000000000 --- a/templates/web/base/front/javascript.html +++ /dev/null @@ -1,12 +0,0 @@ -[% -# Assume using OpenStreetMap maps -map_js = [ - version('/vendor/yepnope.js'), - [ version('/cobrands/fixmystreet/front.js'), { - id = 'script_front', - 'data-scripts' = version('/vendor/OpenLayers/OpenLayers.fixmystreet.js') _ ',' _ - version('/js/map-OpenLayers.js') _ ',' _ - version('/js/map-OpenStreetMap.js') - } ], -] -%] diff --git a/templates/web/base/header.html b/templates/web/base/header.html index 37c81f454..faba02519 100644 --- a/templates/web/base/header.html +++ b/templates/web/base/header.html @@ -21,11 +21,6 @@ [% INCLUDE 'header_opengraph.html' %] [% INCLUDE 'header/css.html' %] [% INCLUDE 'common_header_tags.html' %] - - [% IF c.req.uri.host == 'osm.fixmystreet.com' %] - <link rel="canonical" href="https://www.fixmystreet.com[% c.req.uri.path_query %]"> - [% END %] - [% TRY %][% PROCESS 'header_extra.html' %][% CATCH file %][% END %] </head> diff --git a/templates/web/base/index.html b/templates/web/base/index.html index 92c6b1eed..620c1a2be 100644 --- a/templates/web/base/index.html +++ b/templates/web/base/index.html @@ -1,7 +1,6 @@ -[% PROCESS 'front/javascript.html' %] - [% pre_container_extra = PROCESS 'around/postcode_form.html' %] -[% INCLUDE 'header.html', title = '', bodyclass = 'frontpage fullwidthpage' inline_css = 1 %] +[% SET bodyclass = 'frontpage fullwidthpage' %] +[% INCLUDE 'header.html', title = '', inline_css = 1 %] [% IF error %] <p class="form-error">[% error %]</p> diff --git a/templates/web/base/maps/bing.html b/templates/web/base/maps/bing.html deleted file mode 100644 index df45eced5..000000000 --- a/templates/web/base/maps/bing.html +++ /dev/null @@ -1,8 +0,0 @@ -[% -map_js = [ - version('/vendor/OpenLayers/OpenLayers.fixmystreet.js'), - version('/js/map-OpenLayers.js'), - version('/js/map-bing-ol.js'), -]; -map_html = INCLUDE maps/openlayers.html -%] diff --git a/templates/web/base/maps/fms.html b/templates/web/base/maps/fms.html index ff5b4eab6..286ecc8ff 100644 --- a/templates/web/base/maps/fms.html +++ b/templates/web/base/maps/fms.html @@ -1,9 +1,3 @@ [% -map_js = [ - version('/vendor/OpenLayers/OpenLayers.fixmystreet.js'), - version('/js/map-OpenLayers.js'), - version('/js/map-bing-ol.js'), - version('/js/map-fms.js'), -]; map_html = INCLUDE maps/openlayers.html include_key = 1 %] diff --git a/templates/web/base/maps/google-ol.html b/templates/web/base/maps/google-ol.html index d88043403..3cd21fab3 100644 --- a/templates/web/base/maps/google-ol.html +++ b/templates/web/base/maps/google-ol.html @@ -1,17 +1,3 @@ -[% -google_maps_url = "https://maps.googleapis.com/maps/api/js?v=3"; -IF c.config.GOOGLE_MAPS_API_KEY; - google_maps_url = google_maps_url _ "&key=" _ c.config.GOOGLE_MAPS_API_KEY; -END; - -map_js = [ - google_maps_url, - version('/vendor/OpenLayers/OpenLayers.google.js'), - version('/js/map-OpenLayers.js'), - version('/js/map-google-ol.js'), -] -%] - [% map_sub_links = BLOCK %] <a class="hidden-nojs" id="map_layer_toggle" href="">[% loc('Satellite') %]</a> [% END %] diff --git a/templates/web/base/maps/google.html b/templates/web/base/maps/google.html index ec9885a04..e8c07b113 100644 --- a/templates/web/base/maps/google.html +++ b/templates/web/base/maps/google.html @@ -6,12 +6,6 @@ color: #000; } </style> -[% -map_js = [ - "http://maps.googleapis.com/maps/api/js?sensor=false", - version('/js/map-google.js'), -] -%] [% map_html = BLOCK %] <script nonce="[% csp_nonce %]"> diff --git a/templates/web/base/maps/mapquest-attribution.html b/templates/web/base/maps/mapquest-attribution.html deleted file mode 100644 index 43d6106a5..000000000 --- a/templates/web/base/maps/mapquest-attribution.html +++ /dev/null @@ -1,8 +0,0 @@ -[% -map_js = [ - version('/vendor/OpenLayers/OpenLayers.fixmystreet.js'), - version('/js/map-OpenLayers.js'), - version('/js/map-OpenStreetMap.js'), -]; -map_html = INCLUDE maps/openlayers.html -%] diff --git a/templates/web/base/maps/osm-streetview.html b/templates/web/base/maps/osm-streetview.html deleted file mode 100644 index f68f53039..000000000 --- a/templates/web/base/maps/osm-streetview.html +++ /dev/null @@ -1,8 +0,0 @@ -[% -map_js = [ - version('/vendor/OpenLayers/OpenLayers.fixmystreet.js'), - version('/js/map-OpenLayers.js'), - version('/js/map-streetview.js'), -]; -map_html = INCLUDE maps/openlayers.html -%] diff --git a/templates/web/base/maps/osm-toner-lite.html b/templates/web/base/maps/osm-toner-lite.html deleted file mode 100644 index 22b6636c5..000000000 --- a/templates/web/base/maps/osm-toner-lite.html +++ /dev/null @@ -1,9 +0,0 @@ -[% -map_js = [ - version('/vendor/OpenLayers/OpenLayers.fixmystreet.js'), - "https://stamen-maps.a.ssl.fastly.net/js/tile.stamen.js?v1.3.0", - version('/js/map-OpenLayers.js'), - version('/js/map-toner-lite.js'), -]; -map_html = INCLUDE maps/openlayers.html -%] diff --git a/templates/web/base/maps/osm.html b/templates/web/base/maps/osm.html index 43d6106a5..51c3ad388 100644 --- a/templates/web/base/maps/osm.html +++ b/templates/web/base/maps/osm.html @@ -1,8 +1,3 @@ [% -map_js = [ - version('/vendor/OpenLayers/OpenLayers.fixmystreet.js'), - version('/js/map-OpenLayers.js'), - version('/js/map-OpenStreetMap.js'), -]; map_html = INCLUDE maps/openlayers.html %] diff --git a/templates/web/base/report/_inspect.html b/templates/web/base/report/_inspect.html index e4e3ac9e6..5088332ce 100644 --- a/templates/web/base/report/_inspect.html +++ b/templates/web/base/report/_inspect.html @@ -44,7 +44,7 @@ <a target="_blank" href="https://www.google.com/maps/dir/Current+Location/[% problem.latitude %],[% problem.longitude %]" class="btn btn--block btn--navigate">[% loc('Navigate to this problem') %]</a> </p> <p> - <a href="#" class="btn btn--block btn--geolocate" id="geolocate_link">[% loc('Set to my current location') %]</a> + <a href="#" class="btn btn--block btn--geolocate">[% loc('Set to my current location') %]</a> </p> </div> diff --git a/templates/web/base/report/photo-js.html b/templates/web/base/report/photo-js.html index 8c8c91669..6f3dd55d1 100644 --- a/templates/web/base/report/photo-js.html +++ b/templates/web/base/report/photo-js.html @@ -1,6 +1,3 @@ [% extra_css = BLOCK %] <link rel="stylesheet" href="[% version('/vendor/fancybox/jquery.fancybox-1.3.4.css') %]"> [% END %] -[% extra_js = [ - version('/vendor/fancybox/jquery.fancybox-1.3.4.pack.js') -] %] diff --git a/templates/web/bristol/maps/bristol.html b/templates/web/bristol/maps/bristol.html index f13ea4d32..1dcc82635 100644 --- a/templates/web/bristol/maps/bristol.html +++ b/templates/web/bristol/maps/bristol.html @@ -1,12 +1,3 @@ -[% -map_js = [ - version('/vendor/OpenLayers/OpenLayers.bristol.js'), - version('/js/map-OpenLayers.js'), - version('/js/map-wmts-base.js'), - version('/js/map-wmts-bristol.js'), -] -%] - [% map_html = BLOCK %] [% INCLUDE maps/openlayers.html %] [% INCLUDE maps/wmts_config.html %] diff --git a/templates/web/bromley/maps/bromley.html b/templates/web/bromley/maps/bromley.html deleted file mode 100644 index 71a150f5a..000000000 --- a/templates/web/bromley/maps/bromley.html +++ /dev/null @@ -1,10 +0,0 @@ -[% -map_js = [ - version('/vendor/OpenLayers/OpenLayers.fixmystreet.js'), - version('/js/map-OpenLayers.js'), - version('/js/map-bing-ol.js'), - version('/js/map-fms.js'), - version('/cobrands/bromley/map.js'), -]; -map_html = INCLUDE maps/openlayers.html include_key = 1 -%] diff --git a/templates/web/fixmystreet.com/about/professional.html b/templates/web/fixmystreet.com/about/professional.html deleted file mode 100644 index 0978d19bc..000000000 --- a/templates/web/fixmystreet.com/about/professional.html +++ /dev/null @@ -1,720 +0,0 @@ -[% extra_css = BLOCK %] - <link rel="stylesheet" href="[% version('/cobrands/fixmystreet.com/fmsforcouncils.css') %]"> - <link href="https://fonts.googleapis.com/css?family=Rubik:400,500" rel="stylesheet"> -[% END %] - -[% INCLUDE header.html - title = 'FixMyStreet Professional', bodyclass = 'fms-for-councils fullwidthpage' -%] - -<div class="fixed-container"> - <div class="council-header"> - <h1 class="councils-logo">FixMyStreet Professional</h1> - </div> - <div class="councils-hero"> - <div class="councils-hero__presentation"> - <div class="councils-content-wrapper"> - <h2 class="councils-hero__title">FixMyStreet Professional: street reporting service for councils</h2> - <img class="councils-hero__product" src="[% version('/cobrands/fixmystreet.com/images/fms-for-councils/device-mockup.png') %]" alt=""> - </div> - </div> - <div class="councils-hero__subtitle"> - <p class="councils-hero__subtitle__primary">Integrate FixMyStreet with any council system for smooth end-to-end report fulfilment</p> - <p class="councils-hero__subtitle__secondary">Residents, staff and contractors love FixMyStreet for its easy-use interfaces. - If you’re the budget-holder, you’ll love its sensible pricing, too.</p> - </div> - <div class="councils-hero__demo-access"> - <h2>Try FixMyStreet Professional right now, on our demo site</h2> - <form action="/contact/submit" method="post" class="councils-hero__demo-access__form js-fms-pro-demo-form"> - <div class="form-group"> - <label for="demo-name">Name</label> - <span class="required">required</span> - <input type="text" name="name" id="demo-name" required> - </div> - <div class="form-group"> - <label for="demo-email">Contact email</label> - <span class="required">required</span> - <input type="email" name="em" id="demo-email" required> - <p class="form-note">Ending in .gov.uk</p> - </div> - <div class="form-group"> - <label for="demo-phone">Contact phone number</label> - <input type="text" name="extra.phone" id="demo-phone"> - </div> - <div class="form-group"> - <label for="demo-job">Job title</label> - <input type="text" name="extra.job_title" id="demo-job"> - </div> - <div class="form-group submit-group"> - <input type="hidden" name="extra.referer" value="[% c.req.headers.referer | html %]"> - <input type="hidden" name="subject" value="Demo site request"> - <input type="hidden" name="message" value="This visitor was sent a link to demo.fixmystreet.com"> - <input type="hidden" name="recipient" value="bettercities"> - <input type="hidden" name="dest" value="from_council"> - <input type="hidden" name="success_url" value="https://demo.fixmystreet.com"> - <input type="submit" value="Let me in" class="btn"> - </div> - </form> - </div> - </div> - <div class="councils-sales councils-sales--benefits"> - <div class="councils-content-wrapper"> - <h2>Benefits</h2> - <div class="councils-sales__grid"> - <div class="councils-features__feature"> - <h3>Increase efficiency</h3> - <p>Route problems to the correct person, team, authority or contractor based on location, category and priority.</p> - </div> - <div class="councils-features__feature"> - <h3>Minimise duplication</h3> - <p>An open and transparent approach to local issue reporting that reduces incidents of repeat and duplicate reports.</p> - </div> - <div class="councils-features__feature"> - <h3>Streamline your process</h3> - <p>The first case-management service designed with councils, for councils. Streamline your process from customer service, through inspection to instruction and resolution.</p> - </div> - <div class="councils-features__feature"> - <h3>Stay flexible</h3> - <p>Open standards compliant for complete customer flexibility: support the landscape of service providers to further increase your reach.</p> - </div> - <div class="councils-features__feature"> - <h3>Work with your existing services</h3> - <p>Support for your existing mapping, asset, customer and case management services ensures that your solution works for your current processes and systems.</p> - </div> - <div class="councils-features__feature"> - <h3>Expand your reach</h3> - <p>Reports made within your boundaries are published to FixMyStreet.com’s one million visitors a year.</p> - </div> - </div> - </div> - </div> - - <div class="councils-pricing"> - <div class="councils-content-wrapper"> - <h2>Plans</h2> - <div class="councils-pricing__grid"> - - <table class="pricing-table"> - <caption class="visuallyhidden">Pricing and feature information for all FixMyStreet Pro tiers</caption> - <thead> - <tr> - <th scope="col" class="blank"> - <span class="visuallyhidden">Features</span> - </th> - <th scope="col"> - <span class="pricing-table__tier-name">Driveway</span> - </th> - <th scope="col"> - <span class="pricing-table__tier-name">Crescent</span> - </th> - <th scope="col"> - <span class="pricing-table__tier-name">Boulevard</span> - </th> - <th scope="col"> - <span class="pricing-table__tier-name">Avenue</span> - </th> - </tr> - </thead> - - <tbody> - <tr> - <th scope="row"> - <span class="pricing-table__feature-name"> - Define problem categories and email contacts - </span> - </th> - <td> - <span class="pricing-table__feature-value"> - <i class="boolean-icon boolean-icon--yes">Yes</i> - </span> - </td> - <td> - <span class="pricing-table__feature-value"> - <i class="boolean-icon boolean-icon--yes">Yes</i> - </span> - </td> - <td> - <span class="pricing-table__feature-value"> - <i class="boolean-icon boolean-icon--yes">Yes</i> - </span> - </td> - <td> - <span class="pricing-table__feature-value"> - <i class="boolean-icon boolean-icon--yes">Yes</i> - </span> - </td> - </tr> - <tr> - <th scope="row"> - <span class="pricing-table__feature-name"> - Dashboards - </span> - </th> - <td> - <span class="pricing-table__feature-value"> - <i class="boolean-icon boolean-icon--no">None</i> - </span> - </td> - <td> - <span class="pricing-table__feature-value"> - 1 customisable dashboard - </span> - </td> - <td> - <span class="pricing-table__feature-value"> - Customisable dashboards for up to 3 teams - </span> - </td> - <td> - <span class="pricing-table__feature-value"> - Customisable dashboards for up to 3 teams - </span> - </td> - </tr> - <tr> - <th scope="row"> - <span class="pricing-table__feature-name"> - FixMyStreet at your domain, with your branding - </span> - </th> - <td> - <span class="pricing-table__feature-value"> - <i class="boolean-icon boolean-icon--no">No</i> - </span> - </td> - <td> - <span class="pricing-table__feature-value"> - <i class="boolean-icon boolean-icon--yes">Yes</i> - </span> - </td> - <td> - <span class="pricing-table__feature-value"> - <i class="boolean-icon boolean-icon--yes">Yes</i> - </span> - </td> - <td> - <span class="pricing-table__feature-value"> - <i class="boolean-icon boolean-icon--yes">Yes</i> - </span> - </td> - </tr> - <tr> - <th scope="row"> - <span class="pricing-table__feature-name"> - System integrations (eg: CONFIRM, Salesforce, Mayrise) - </span> - </th> - <td> - <span class="pricing-table__feature-value"> - <i class="boolean-icon boolean-icon--no">None</i> - </span> - </td> - <td> - <span class="pricing-table__feature-value"> - <i class="boolean-icon boolean-icon--no">None</i> - </span> - </td> - <td> - <span class="pricing-table__feature-value"> - Up to 2 integrations - </span> - </td> - <td> - <span class="pricing-table__feature-value"> - Up to 4 integrations - </span> - </td> - </tr> - <tr> - <th scope="row"> - <span class="pricing-table__feature-name"> - Inspector specific views - </span> - </th> - <td> - <span class="pricing-table__feature-value"> - <i class="boolean-icon boolean-icon--no">None</i> - </span> - </td> - <td> - <span class="pricing-table__feature-value"> - <i class="boolean-icon boolean-icon--no">None</i> - </span> - </td> - <td> - <span class="pricing-table__feature-value"> - <i class="boolean-icon boolean-icon--no">None</i> - </span> - </td> - <td> - <span class="pricing-table__feature-value"> - <i class="boolean-icon boolean-icon--yes">Yes</i> - </span> - </td> - </tr> - <tr> - <th scope="row"> - <span class="pricing-table__feature-name"> - Moderate reports - </span> - </th> - <td> - <span class="pricing-table__feature-value"> - <i class="boolean-icon boolean-icon--no">No</i> - </span> - </td> - <td> - <span class="pricing-table__feature-value"> - <i class="boolean-icon boolean-icon--yes">Yes</i> - </span> - </td> - <td> - <span class="pricing-table__feature-value"> - <i class="boolean-icon boolean-icon--yes">Yes</i> - </span> - </td> - <td> - <span class="pricing-table__feature-value"> - <i class="boolean-icon boolean-icon--yes">Yes</i> - </span> - </td> - </tr> - <tr> - <th scope="row"> - <span class="pricing-table__feature-name"> - De-duplicate reports - </span> - </th> - <td> - <span class="pricing-table__feature-value"> - <i class="boolean-icon boolean-icon--no">No</i> - </span> - </td> - <td> - <span class="pricing-table__feature-value"> - <i class="boolean-icon boolean-icon--no">No</i> - </span> - </td> - <td> - <span class="pricing-table__feature-value"> - <i class="boolean-icon boolean-icon--yes">Yes</i> - </span> - </td> - <td> - <span class="pricing-table__feature-value"> - <i class="boolean-icon boolean-icon--yes">Yes</i> - </span> - </td> - </tr> - <tr> - <th scope="row"> - <span class="pricing-table__feature-name"> - Customer services agents can report on customer’s behalf - </span> - </th> - <td> - <span class="pricing-table__feature-value"> - <i class="boolean-icon boolean-icon--no">No</i> - </span> - </td> - <td> - <span class="pricing-table__feature-value"> - <i class="boolean-icon boolean-icon--no">No</i> - </span> - </td> - <td> - <span class="pricing-table__feature-value"> - <i class="boolean-icon boolean-icon--yes">Yes</i> - </span> - </td> - <td> - <span class="pricing-table__feature-value"> - <i class="boolean-icon boolean-icon--yes">Yes</i> - </span> - </td> - </tr> - <tr> - <th scope="row"> - <span class="pricing-table__feature-name"> - Training - </span> - </th> - <td> - <span class="pricing-table__feature-value"> - <i class="boolean-icon boolean-icon--no">No</i> - </span> - </td> - <td> - <span class="pricing-table__feature-value"> - <i class="boolean-icon boolean-icon--no">No</i> - </span> - </td> - <td> - <span class="pricing-table__feature-value"> - Training workshop for up to 12 staff - </span> - </td> - <td> - <span class="pricing-table__feature-value"> - Training workshop for up to 40 staff - </span> - </td> - </tr> - <tr> - <th scope="row"> - <span class="pricing-table__feature-name"> - AddressBase integration - </span> - </th> - <td> - <span class="pricing-table__feature-value"> - <i class="boolean-icon boolean-icon--no">No</i> - </span> - </td> - <td> - <span class="pricing-table__feature-value"> - <i class="boolean-icon boolean-icon--no">No</i> - </span> - </td> - <td> - <span class="pricing-table__feature-value"> - <i class="boolean-icon boolean-icon--no">No</i> - </span> - </td> - <td> - <span class="pricing-table__feature-value"> - <i class="boolean-icon boolean-icon--yes">Yes</i> - </span> - </td> - </tr> - <tr> - <th scope="row"> - <span class="pricing-table__feature-name"> - Roadworks.org planned works integration - </span> - </th> - <td> - <span class="pricing-table__feature-value"> - <i class="boolean-icon boolean-icon--no">No</i> - </span> - </td> - <td> - <span class="pricing-table__feature-value"> - <i class="boolean-icon boolean-icon--no">No</i> - </span> - </td> - <td> - <span class="pricing-table__feature-value"> - <i class="boolean-icon boolean-icon--no">No</i> - </span> - </td> - <td> - <span class="pricing-table__feature-value"> - <i class="boolean-icon boolean-icon--yes">Yes</i> - </span> - </td> - </tr> - <tr> - <th scope="row"> - <span class="pricing-table__feature-name"> - Add asset locations - </span> - </th> - <td> - <span class="pricing-table__feature-value"> - <i class="boolean-icon boolean-icon--no">No</i> - </span> - </td> - <td> - <span class="pricing-table__feature-value"> - <i class="boolean-icon boolean-icon--no">No</i> - </span> - </td> - <td> - <span class="pricing-table__feature-value"> - <i class="boolean-icon boolean-icon--no">No</i> - </span> - </td> - <td> - <span class="pricing-table__feature-value"> - <i class="boolean-icon boolean-icon--yes">Yes</i> - </span> - </td> - </tr> - <tr> - <th scope="row"> - <span class="pricing-table__feature-name"> - Offline functionality - </span> - </th> - <td> - <span class="pricing-table__feature-value"> - <i class="boolean-icon boolean-icon--no">No</i> - </span> - </td> - <td> - <span class="pricing-table__feature-value"> - <i class="boolean-icon boolean-icon--no">No</i> - </span> - </td> - <td> - <span class="pricing-table__feature-value"> - <i class="boolean-icon boolean-icon--no">No</i> - </span> - </td> - <td> - <span class="pricing-table__feature-value"> - <i class="boolean-icon boolean-icon--yes">Yes</i> - </span> - </td> - </tr> - <tr> - <th scope="row"> - <span class="pricing-table__feature-name"> - Custom map tiles - </span> - </th> - <td> - <span class="pricing-table__feature-value"> - <i class="boolean-icon boolean-icon--no">No</i> - </span> - </td> - <td> - <span class="pricing-table__feature-value"> - <i class="boolean-icon boolean-icon--no">No</i> - </span> - </td> - <td> - <span class="pricing-table__feature-value"> - <i class="boolean-icon boolean-icon--no">No</i> - </span> - </td> - <td> - <span class="pricing-table__feature-value"> - <i class="boolean-icon boolean-icon--yes">Yes</i> - </span> - </td> - </tr> - <tr> - <th scope="row"> - <span class="pricing-table__feature-name"> - Custom geocoder - </span> - </th> - <td> - <span class="pricing-table__feature-value"> - <i class="boolean-icon boolean-icon--no">No</i> - </span> - </td> - <td> - <span class="pricing-table__feature-value"> - <i class="boolean-icon boolean-icon--no">No</i> - </span> - </td> - <td> - <span class="pricing-table__feature-value"> - <i class="boolean-icon boolean-icon--no">No</i> - </span> - </td> - <td> - <span class="pricing-table__feature-value"> - <i class="boolean-icon boolean-icon--yes">Yes</i> - </span> - </td> - </tr> - <tr> - <th scope="row"> - <span class="pricing-table__feature-name"> - Add adopted roads - </span> - </th> - <td> - <span class="pricing-table__feature-value"> - <i class="boolean-icon boolean-icon--no">No</i> - </span> - </td> - <td> - <span class="pricing-table__feature-value"> - <i class="boolean-icon boolean-icon--no">No</i> - </span> - </td> - <td> - <span class="pricing-table__feature-value"> - <i class="boolean-icon boolean-icon--no">No</i> - </span> - </td> - <td> - <span class="pricing-table__feature-value"> - <i class="boolean-icon boolean-icon--yes">Yes</i> - </span> - </td> - </tr> - <tr class="pricing-table__prices"> - <td> - <span class="pricing-table__price">Price</span> - </td> - <td> - <span class="pricing-table__price">Free</span> - </td> - <td> - <span class="pricing-table__price">£7500</span> - </td> - <td> - <span class="pricing-table__price">£20000</span> - </td> - <td> - <span class="pricing-table__price">£35000</span> - </td> - </tr> - </tbody> - - </table> - - </div> - </div> - </div> - - <div class="councils-clients"> - <h2>Clients</h2> - <div class="councils-clients__grid"> - <div class="councils-clients__client"> - <a href="https://fixmystreet.bristol.gov.uk/"> - <img src="[% version('/cobrands/fixmystreet.com/images/fms-for-councils/bristol-logo.png') %]" alt="Bristol City Council"> - </a> - </div> - <div class="councils-clients__client"> - <a href="https://fix.angus.gov.uk/"> - <img src="[% version('/cobrands/fixmystreet.com/images/fms-for-councils/angus-logo.png') %]" alt="Angus Council"> - </a> - </div> - <div class="councils-clients__client"> - <a href="https://fixmystreet.oxfordshire.gov.uk/"> - <img src="[% version('/cobrands/fixmystreet.com/images/fms-for-councils/oxfordshire-logo.png') %]" alt="Oxfordshire County Council"> - </a> - </div> - <div class="councils-clients__client"> - <a href="https://hart.fixmystreet.com/"> - <img src="[% version('/cobrands/fixmystreet.com/images/fms-for-councils/hart-logo.png') %]" alt="Hart District Council"> - </a> - </div> - <div class="councils-clients__client"> - <a href="https://fix.bromley.gov.uk/"> - <img src="[% version('/cobrands/fixmystreet.com/images/fms-for-councils/bromley-logo.png') %]" alt="Bromley Council"> - </a> - </div> - <div class="councils-clients__client"> - <a href="https://www.zueriwieneu.ch/"> - <img src="[% version('/cobrands/fixmystreet.com/images/fms-for-councils/zurich-logo.png') %]" alt="Stadt Zürich"> - </a> - </div> - <div class="councils-clients__client"> - <a href="https://greenwich.fixmystreet.com/"> - <img src="[% version('/cobrands/fixmystreet.com/images/fms-for-councils/greenwich-logo.png') %]" alt="Royal Borough of Greenwich"> - </a> - </div> - </div> - </div> - - <div class="screenshot-of-themes"> - <div class="councils-content-wrapper"> - <img src="[% version('/cobrands/fixmystreet.com/images/fms-for-councils/screenshot-of-themes.jpg') %]" alt=""> - </div> - </div> - - <div class="councils-sales councils-sales--features"> - <div class="councils-content-wrapper"> - <h2>Features</h2> - <div class="councils-sales__grid"> - <div class="councils-features__feature"> - <div class="councils-features__screenshot"></div> - <h3>Map-centric problem reporting</h3> - <p>Handle any type of location-specific report within the nominated - county, borough or city; including geolocation and images. </p> - </div> - <div class="councils-features__feature"> - <div class="councils-features__screenshot"></div> - <h3>Mobile ready</h3> - <p>Companion mobile application for Android and iOS, so your customers - can report issues on the go and FixMyStreet is designed for optimal - display on desktop, tablet and mobile browsers.</p> - </div> - <div class="councils-features__feature"> - <div class="councils-features__screenshot"></div> - <h3>Our experience, your brand</h3> - <p>White-labelled product, branded to complement your existing services. - Extend your reach to over a million visitors on the nation’s most - popular local issues service, FixMyStreet.com.</p> - </div> - <div class="councils-features__feature"> - <div class="councils-features__screenshot"></div> - <h3>End-to-end case management</h3> - <p>A complete case management solution for customer services, - inspection and maintenance teams. Support for industry standard - mapping, asset, works and applications including Salesforce, Mayrise - and Confirm®.</p> - </div> - <div class="councils-features__feature"> - <div class="councils-features__screenshot"></div> - <h3>Inspection service</h3> - <p>Mobile optimised, offline capable planning, markup and instructing - service for your inspection teams.</p> - </div> - <div class="councils-features__feature"> - <div class="councils-features__screenshot"></div> - <h3>Customised reporting</h3> - <p>Supports category-specific report content and data, to help you - collect the details you need. Track service levels, highlight - bottlenecks and monitor contracts with area dashboards.</p> - </div> - </div> - </div> - </div> -<div class="council-order" id="order"> - <div class="councils-content-wrapper"> - <h2>Contact</h2> - <form action="/contact/submit" method="post"> - <div class="council-order__form"> - <div class="form-group"> - <p>Use any address ending in .gov.uk to verify that you are making contact from a council within the UK.</p> - <p>We’ll get right back to you to find out more about your needs.</p> - <p>If you are contacting FixMyStreet for any other reason, please see our <a href="/contact">main contact page</a>.</p> - </div> - <div class="form-group"> - <label for="name">Name</label> - <span class="required">required</span> - <input type="text" name="name" id="name" required> - </div> - <div class="form-group"> - <label for="email">Contact email</label> - <span class="required">required</span> - <input type="email" name="em" id="email" required> - <p class="form-note">Ending in .gov.uk</p> - </div> - <div class="form-group"> - <label for="extra.phone">Contact phone number</label> - <span class="required required--optional">optional</span> - <input type="text" name="extra.phone" id="extra.phone"> - </div> - <div class="form-group"> - <label for="email-newsletter" class="checkbox-label"> <input type="checkbox" name="extra.newsletter" value="Sign me up to the Better Cities newsletter" id="email-newsletter" class="checkbox-input"> Sign up for the Better Cities newsletter for news and insights on smarter technology for councils.</label> - </div> - <div class="form-group submit-group"> - <input type="hidden" name="extra.referer" value="[% c.req.headers.referer | html %]"> - <input type="hidden" name="subject" value="Councils submission"> - <input type="hidden" name="recipient" value="enquiries"> - <input type="hidden" name="dest" value="from_council"> - <input type="submit" value="Send"> - </div> - </div> - </form> - </div> - <div class="council-order__screenshot"> - </div> -</div> - - - - </div> - - -[% INCLUDE footer.html %] diff --git a/templates/web/fixmystreet.com/footer_extra_js.html b/templates/web/fixmystreet.com/footer_extra_js.html index d5ed1543d..cb1b78743 100644 --- a/templates/web/fixmystreet.com/footer_extra_js.html +++ b/templates/web/fixmystreet.com/footer_extra_js.html @@ -1,5 +1,16 @@ -[% scripts.push( - version('/vendor/OpenLayers.Projection.OrdnanceSurvey.js'), - version('/cobrands/fixmystreet.com/vendor/jquery.cookie.min.js'), - version('/cobrands/fixmystreet.com/js.js'), -) %] +[% +IF bodyclass.match('mappage'); + scripts.push( + version('/vendor/OpenLayers.Projection.OrdnanceSurvey.js'), + ); +END; +IF bodyclass.match('frontpage'); + scripts.push( + version('/cobrands/fixmystreet.com/front.js'), + ); +ELSIF NOT bodyclass.match('alertpage'); + scripts.push( + version('/cobrands/fixmystreet.com/js.js'), + ); +END; +%] diff --git a/templates/web/fixmystreet.com/front/javascript.html b/templates/web/fixmystreet.com/front/javascript.html deleted file mode 100644 index 4bf586b70..000000000 --- a/templates/web/fixmystreet.com/front/javascript.html +++ /dev/null @@ -1,12 +0,0 @@ -[% -map_js = [ - version('/vendor/yepnope.js'), - [ version('/cobrands/fixmystreet/front.js'), { - id = "script_front", - 'data-scripts' = version('/vendor/OpenLayers/OpenLayers.fixmystreet.js') _ ',' _ - version('/js/map-OpenLayers.js') _ ',' _ - version('/js/map-bing-ol.js') _ ',' _ - version('/js/map-fms.js') - } ], -] -%] diff --git a/templates/web/fixmystreet.com/header_extra.html b/templates/web/fixmystreet.com/header_extra.html index dc0f86693..74280a6f9 100644 --- a/templates/web/fixmystreet.com/header_extra.html +++ b/templates/web/fixmystreet.com/header_extra.html @@ -1,3 +1,15 @@ +[% IF NOT bodyclass.match('mappage') %] +<link rel="prefetch" href="[% version('/vendor/OpenLayers.Projection.OrdnanceSurvey.js') %]"> +[% END %] + +[% IF bodyclass.match('frontpage') %] +<link rel="prefetch" href="[% version('/cobrands/fixmystreet.com/js.js') %]"> +[% END %] + +[% IF c.req.uri.host == 'osm.fixmystreet.com' %] + <link rel="canonical" href="https://www.fixmystreet.com[% c.req.uri.path_query %]"> +[% END %] + <meta name='theme-color' content='#ffd000'> <link rel="Shortcut Icon" type="image/x-icon" href="/cobrands/fixmystreet.com/favicon.ico"> diff --git a/templates/web/zurich/admin/report_edit-sdm.html b/templates/web/zurich/admin/report_edit-sdm.html index 9f5433d8b..07fc9ad36 100644 --- a/templates/web/zurich/admin/report_edit-sdm.html +++ b/templates/web/zurich/admin/report_edit-sdm.html @@ -1,9 +1,9 @@ [% PROCESS "report/photo-js.html"; PROCESS "maps/zurich.html"; + SET bodyclass = 'mappage'; PROCESS 'admin/header.html' - title = tprintf(loc('Editing problem %d'), problem.id ), - bodyclass = 'mappage'; + title = tprintf(loc('Editing problem %d'), problem.id ); PROCESS 'admin/report_blocks.html' -%] diff --git a/templates/web/zurich/admin/report_edit.html b/templates/web/zurich/admin/report_edit.html index aa5029eb7..7e88fab30 100644 --- a/templates/web/zurich/admin/report_edit.html +++ b/templates/web/zurich/admin/report_edit.html @@ -1,9 +1,9 @@ [% PROCESS "report/photo-js.html"; PROCESS "maps/zurich.html"; + SET bodyclass = 'mappage'; INCLUDE 'admin/header.html' - title = tprintf(loc('Editing problem %d'), problem.id ), - bodyclass = 'mappage'; + title = tprintf(loc('Editing problem %d'), problem.id ); PROCESS 'admin/report_blocks.html' -%] diff --git a/templates/web/zurich/maps/zurich.html b/templates/web/zurich/maps/zurich.html index a9499f657..4000e1e52 100644 --- a/templates/web/zurich/maps/zurich.html +++ b/templates/web/zurich/maps/zurich.html @@ -1,13 +1,3 @@ -[% -map_js = [ - version('/vendor/OpenLayers/OpenLayers.zurich.js'), - version('/js/OpenLayers.Projection.CH1903Plus.js'), - version('/js/map-OpenLayers.js'), - version('/js/map-wmts-base.js'), - version('/js/map-wmts-zurich.js'), -] -%] - [% map_sub_links = BLOCK %] <a class="hidden-nojs" id="map_layer_toggle" href="">Stadtplan</a> [% END %] diff --git a/templates/web/zurich/reports/index.html b/templates/web/zurich/reports/index.html index 8bec64c86..1389c666c 100755 --- a/templates/web/zurich/reports/index.html +++ b/templates/web/zurich/reports/index.html @@ -1,8 +1,8 @@ [% PROCESS "maps/${map.type}.html"; + SET bodyclass = 'mappage'; INCLUDE 'header.html', - title = loc('Summary reports'), - bodyclass = 'mappage'; + title = loc('Summary reports'); %] [% map_html %] </div> |