aboutsummaryrefslogtreecommitdiffstats
path: root/templates
diff options
context:
space:
mode:
authorMarius Halden <marius.h@lden.org>2017-05-28 21:31:42 +0200
committerMarius Halden <marius.h@lden.org>2017-05-28 21:31:42 +0200
commit987124b09a32248414faf4d0d6615d43b29ac6f6 (patch)
treea549db8af723c981d3b346e855f25d6fd5ff8aa7 /templates
parentdbf56159e44c1560a413022451bf1a1c4cb22a52 (diff)
parenta085b63ce09f87e83b75cda9b9cd08aadfe75d61 (diff)
Merge tag 'v2.0.4' into fiksgatami-dev
Diffstat (limited to 'templates')
-rw-r--r--templates/email/default/submit-example.txt2
-rw-r--r--templates/email/fixmystreet.com/_submit_footer.html2
-rw-r--r--templates/email/fixmystreet.com/submit.txt2
-rw-r--r--templates/email/oxfordshire/archive.html58
-rw-r--r--templates/email/oxfordshire/archive.txt28
-rw-r--r--templates/web/angus/footer.html4
-rw-r--r--templates/web/angus/main_menu.html24
-rw-r--r--templates/web/angus/maps/fms.html22
-rw-r--r--templates/web/angus/post_header_extra.html2
-rw-r--r--templates/web/base/admin/bodies.html4
-rw-r--r--templates/web/base/admin/body.html4
-rw-r--r--templates/web/base/admin/category-multiselect.html10
-rw-r--r--templates/web/base/admin/config_page.html6
-rw-r--r--templates/web/base/admin/defecttypes/edit.html37
-rw-r--r--templates/web/base/admin/defecttypes/index.html13
-rw-r--r--templates/web/base/admin/defecttypes/list.html35
-rw-r--r--templates/web/base/admin/exordefects/index.html36
-rw-r--r--templates/web/base/admin/index.html6
-rw-r--r--templates/web/base/admin/report-category.html14
-rw-r--r--templates/web/base/admin/report_blocks.html4
-rw-r--r--templates/web/base/admin/report_edit.html30
-rw-r--r--templates/web/base/admin/response_templates_select.html4
-rw-r--r--templates/web/base/admin/responsepriorities/edit.html10
-rw-r--r--templates/web/base/admin/state_groups_select.html3
-rw-r--r--templates/web/base/admin/template_edit.html10
-rw-r--r--templates/web/base/admin/user-form.html13
-rw-r--r--templates/web/base/admin/users.html4
-rw-r--r--templates/web/base/auth/general.html4
-rw-r--r--templates/web/base/common_footer_tags.html31
-rw-r--r--templates/web/base/common_header_tags.html2
-rw-r--r--templates/web/base/common_scripts.html50
-rw-r--r--templates/web/base/dashboard/index.html61
-rw-r--r--templates/web/base/defect_type/format.html9
-rwxr-xr-xtemplates/web/base/errors/generic.html4
-rw-r--r--templates/web/base/footer.html30
-rw-r--r--templates/web/base/front/javascript.html19
-rw-r--r--templates/web/base/header.html19
-rw-r--r--templates/web/base/index.html2
-rw-r--r--templates/web/base/js/translation_strings.html23
-rw-r--r--templates/web/base/main_nav.html35
-rw-r--r--templates/web/base/main_nav_items.html48
-rw-r--r--templates/web/base/maps/bing.html16
-rw-r--r--templates/web/base/maps/fms.html18
-rw-r--r--templates/web/base/maps/google-ol.html19
-rw-r--r--templates/web/base/maps/google.html10
-rw-r--r--templates/web/base/maps/mapquest-attribution.html17
-rw-r--r--templates/web/base/maps/openlayers.html4
-rw-r--r--templates/web/base/maps/osm-streetview.html17
-rw-r--r--templates/web/base/maps/osm-toner-lite.html19
-rw-r--r--templates/web/base/maps/osm.html17
-rw-r--r--templates/web/base/my/planned.html6
-rw-r--r--templates/web/base/offline/appcache.html13
-rw-r--r--templates/web/base/offline/manifest.html16
-rw-r--r--templates/web/base/open311/index.html2
-rw-r--r--templates/web/base/report/_inspect.html57
-rw-r--r--templates/web/base/report/_item.html116
-rw-r--r--templates/web/base/report/_main.html32
-rw-r--r--templates/web/base/report/_state_select_field.html12
-rw-r--r--templates/web/base/report/banner.html3
-rw-r--r--templates/web/base/report/inspect/state_groups_select.html24
-rw-r--r--templates/web/base/report/new/form_report.html2
-rw-r--r--templates/web/base/report/new/form_user.html2
-rw-r--r--templates/web/base/report/new/form_user_loggedout.html4
-rw-r--r--templates/web/base/report/photo-js.html6
-rw-r--r--templates/web/base/report/update.html20
-rw-r--r--templates/web/base/report/update/form_update.html12
-rw-r--r--templates/web/base/report/update/form_user_loggedout.html4
-rw-r--r--templates/web/base/report/updates.html50
-rw-r--r--templates/web/base/reports/_list-filters.html16
-rwxr-xr-xtemplates/web/base/reports/index.html6
-rw-r--r--templates/web/bristol/footer.html23
-rw-r--r--templates/web/bristol/footer_extra_js.html10
-rw-r--r--templates/web/bristol/maps/bristol.html14
-rw-r--r--templates/web/bromley/footer.html15
-rw-r--r--templates/web/bromley/footer_extra_js.html4
-rw-r--r--templates/web/bromley/front/footer-marketing.html4
-rw-r--r--templates/web/bromley/maps/bromley.html19
-rw-r--r--templates/web/bromley/report/update-form.html2
-rw-r--r--templates/web/eastherts/footer.html27
-rw-r--r--templates/web/fixmystreet-uk-councils/footer_extra_js.html6
-rw-r--r--templates/web/fixmystreet-uk-councils/report/new/after_photo.html8
-rw-r--r--templates/web/fixmystreet.com/about/council.html47
-rwxr-xr-xtemplates/web/fixmystreet.com/about/faq-en-gb.html4
-rw-r--r--templates/web/fixmystreet.com/about/posters.html6
-rwxr-xr-xtemplates/web/fixmystreet.com/around/_report_banner.html10
-rw-r--r--templates/web/fixmystreet.com/around/intro.html9
-rw-r--r--templates/web/fixmystreet.com/contact/who.html2
-rw-r--r--templates/web/fixmystreet.com/footer_extra.html2
-rw-r--r--templates/web/fixmystreet.com/footer_extra_js.html8
-rw-r--r--templates/web/fixmystreet.com/front/footer-marketing.html2
-rw-r--r--templates/web/fixmystreet.com/front/javascript.html19
-rw-r--r--templates/web/fixmystreet.com/header_extra.html18
-rw-r--r--templates/web/fixmystreet.com/questionnaire/completed-open.html2
-rw-r--r--templates/web/fixmystreet.com/report/banner.html3
-rw-r--r--templates/web/fixmystreet.com/report/new/extra_name.html42
-rwxr-xr-xtemplates/web/fixmystreet.com/reports/_extras.html3
-rw-r--r--templates/web/fixmystreet.com/static/unresponsive.html2
-rw-r--r--templates/web/greenwich/footer.html17
-rw-r--r--templates/web/greenwich/front/footer-marketing.html2
-rw-r--r--templates/web/greenwich/header_logo.html13
-rwxr-xr-xtemplates/web/harrogate/about/faq-en-gb.html134
-rwxr-xr-xtemplates/web/harrogate/about/privacy.html56
-rw-r--r--templates/web/harrogate/around/intro.html4
-rw-r--r--templates/web/harrogate/footer.html42
-rw-r--r--templates/web/harrogate/front/footer-marketing.html19
-rw-r--r--templates/web/harrogate/header_extra.html7
-rw-r--r--templates/web/harrogate/header_site.html62
-rw-r--r--templates/web/harrogate/main_menu.html20
-rw-r--r--templates/web/harrogate/report/new/after_category.html17
-rw-r--r--templates/web/harrogate/report/new/councils_extra_text.html1
-rw-r--r--templates/web/hart/footer.html15
-rw-r--r--templates/web/oxfordshire/admin/defecttypes/extra_fields.html8
-rw-r--r--templates/web/oxfordshire/admin/user-form-extra-fields.html21
-rw-r--r--templates/web/oxfordshire/defect_type/format.html4
-rw-r--r--templates/web/oxfordshire/footer.html18
-rw-r--r--templates/web/oxfordshire/header.html33
-rw-r--r--templates/web/oxfordshire/report/inspect/state_groups_select.html21
-rw-r--r--templates/web/seesomething/admin/footer.html7
-rw-r--r--templates/web/seesomething/admin/header.html2
-rw-r--r--templates/web/seesomething/admin/stats.html63
-rw-r--r--templates/web/seesomething/around/display_location.html52
-rw-r--r--templates/web/seesomething/around/index.html24
-rw-r--r--templates/web/seesomething/around/postcode_form.html17
-rw-r--r--templates/web/seesomething/auth/general.html46
-rw-r--r--templates/web/seesomething/auth/sign_out.html7
-rw-r--r--templates/web/seesomething/footer.html23
-rw-r--r--templates/web/seesomething/front/stats.html0
-rw-r--r--templates/web/seesomething/front/tips.html5
-rw-r--r--templates/web/seesomething/header_extra.html1
-rw-r--r--templates/web/seesomething/index.html42
-rw-r--r--templates/web/seesomething/js/translation_strings.html15
-rw-r--r--templates/web/seesomething/report/display.html9
-rw-r--r--templates/web/seesomething/report/new/category.html15
-rw-r--r--templates/web/seesomething/report/new/fill_in_details_form.html106
-rw-r--r--templates/web/seesomething/set_body_class.html1
-rw-r--r--templates/web/seesomething/site-name.html1
-rw-r--r--templates/web/seesomething/tokens/confirm_problem.html33
-rw-r--r--templates/web/stevenage/footer.html17
-rw-r--r--templates/web/warwickshire/header.html20
-rw-r--r--templates/web/zurich/maps/zurich.html16
140 files changed, 1046 insertions, 1565 deletions
diff --git a/templates/email/default/submit-example.txt b/templates/email/default/submit-example.txt
index 7fa0a23da..c4ae6704f 100644
--- a/templates/email/default/submit-example.txt
+++ b/templates/email/default/submit-example.txt
@@ -55,5 +55,5 @@ feedback you may have.
FixMyStreet is now available for full integration into council
websites, making life easier for both you and your residents.
-Read more here: https://www.fixmystreet.com/council
+Read more here: https://www.fixmystreet.com/about/council
diff --git a/templates/email/fixmystreet.com/_submit_footer.html b/templates/email/fixmystreet.com/_submit_footer.html
index b76f128a5..40118bc9a 100644
--- a/templates/email/fixmystreet.com/_submit_footer.html
+++ b/templates/email/fixmystreet.com/_submit_footer.html
@@ -6,4 +6,4 @@ welcome any other feedback you may have.
<br><br>
FixMyStreet is now available for full integration into council websites, making
life easier for both you and your residents.
-<a href="https://www.fixmystreet.com/council">Read more</a>
+<a href="https://www.fixmystreet.com/about/council">Read more</a>
diff --git a/templates/email/fixmystreet.com/submit.txt b/templates/email/fixmystreet.com/submit.txt
index c30244db9..8d658e4f2 100644
--- a/templates/email/fixmystreet.com/submit.txt
+++ b/templates/email/fixmystreet.com/submit.txt
@@ -47,5 +47,5 @@ also welcome any other feedback you may have.
FixMyStreet is now available for full integration into council
websites, making life easier for both you and your residents.
-Read more here: https://www.fixmystreet.com/council
+Read more here: https://www.fixmystreet.com/about/council
diff --git a/templates/email/oxfordshire/archive.html b/templates/email/oxfordshire/archive.html
new file mode 100644
index 000000000..ed48456a2
--- /dev/null
+++ b/templates/email/oxfordshire/archive.html
@@ -0,0 +1,58 @@
+[%
+
+email_summary = "Your reports on " _ site_name;
+
+PROCESS '_email_settings.html';
+
+INCLUDE '_email_top.html';
+
+%]
+
+<th style="[% td_style %][% only_column_style %]">
+ <h1 style="[% h1_style %]">Your [% site_name %] reports on FixMyStreet</h1>
+ <p style="[% p_style %]">
+ Hello [% user.name %],
+ </p>
+ <p style="[% p_style %]">
+ FixMyStreet is being updated in Oxfordshire to
+ improve how problems get fixed.
+ </p>
+ <p style="[% p_style %]">
+ As part of these updates, we are closing old reports that appear to be
+ resolved but remain open in the system.
+ </p>
+ <p style="[% p_style %]">
+ We noticed that you have [% report_count %] old [% nget('report', 'reports', report_count) %] on the system,
+ which we've listed below.
+ </p>
+ <p style="[% p_style %]">
+ If your report is no longer an issue, you don't need to do anything.
+ </p>
+ <p style="[% p_style %]">
+ If you believe that your report is still a problem, you can reopen it by
+ clicking the 'reopen' button by a report.
+ </p>
+
+ [% FOR report IN reports %]
+ <div style="[% list_item_style %]">
+ [% IF report.photo %]
+ <a href="[% cobrand.base_url_for_report( report ) %]/report/[% report.id %]">
+ <img style="[% list_item_photo_style %]" src="[% inline_image(report.get_first_image_fp) %]" alt="">
+ </a>
+ [% END %]
+ <h2 style="[% list_item_h2_style %]">
+ [%~ report.title | html ~%]
+ </h2>
+ <p style="[% list_item_p_style %]">[% report.detail | html %]</p>
+ <p style="[% list_item_date_style %]">
+ Reported [% report.time_ago %] ago.
+ </p>
+ <p>
+ <a style="[% button_style %]" href="[% cobrand.base_url_for_report( report ) %][% report.tokenised_url( user, { reopen => 'true' } ) %]#update_form">Reopen report</a>
+ </p>
+ </div>
+ [% END %]
+
+</th>
+
+[% INCLUDE '_email_bottom.html' %]
diff --git a/templates/email/oxfordshire/archive.txt b/templates/email/oxfordshire/archive.txt
new file mode 100644
index 000000000..6ecf5b02f
--- /dev/null
+++ b/templates/email/oxfordshire/archive.txt
@@ -0,0 +1,28 @@
+Subject: Your reports on [% site_name %]
+
+Hello [% user.name %],
+
+FixMyStreet is being updated in Oxfordshire to improve how problems get fixed.
+
+As part of these updates, we are closing old reports that appear to be resolved but remain open in the system.
+
+We noticed that you have [% report_count %] old [% nget('report', 'reports', report_count) %] on the system, which we've listed below.
+
+If your report is no longer an issue, you don't need to do anything.
+
+If you believe that your report is still a problem, you can reopen it by clicking or copying and pasting
+the link marked 'Reopen?' by a report.
+
+[% FOR report IN reports %]
+
+[% report.title %]
+
+Reported [% report.time_ago %] ago.
+
+Reopen? [% cobrand.base_url_for_report( report ) %][% report.tokenised_url( user, { reopen => 'true' } ) %]#update_form
+
+----
+
+[% END %]
+
+The mySociety team and Oxfordshire County Council
diff --git a/templates/web/angus/footer.html b/templates/web/angus/footer.html
index 9a7e1dd6d..ec91aaa71 100644
--- a/templates/web/angus/footer.html
+++ b/templates/web/angus/footer.html
@@ -4,9 +4,7 @@
<div class="nav-wrapper">
<div class="nav-wrapper-2">
- <div id="main-nav" role="navigation">
- [% INCLUDE 'main_menu.html' extra_class = 'nav-menu--main' %]
- </div>
+ [% INCLUDE "main_nav.html" body_name=c.cobrand.council_area hide_mysoc_link=1 %]
</div>
</div>
</div> <!-- .wrapper -->
diff --git a/templates/web/angus/main_menu.html b/templates/web/angus/main_menu.html
deleted file mode 100644
index 3a07c61cd..000000000
--- a/templates/web/angus/main_menu.html
+++ /dev/null
@@ -1,24 +0,0 @@
-[%
- SET base = "";
- SET base = c.cobrand.base_url IF admin;
-%]
-<ul class="nav-menu [% extra_class %]">
- <li><[% IF c.req.uri.path == '/'
- %]span[% ELSE %]a href="[% base %]/"[% END %] class="report-a-problem-btn"
- >[% loc("Report a problem") %]</[% c.req.uri.path == '/' ? 'span' : 'a' %]></li>[%
- %]<li><[% IF c.req.uri.path == '/my'
- %]span[% ELSE %]a href="[% base %]/my"[% END
- %]>[% loc("Your reports") %]</[% c.req.uri.path == '/my' ? 'span' : 'a' %]></li>[%
- %]<li><[% IF c.req.uri.path == '/reports/Angus'
- %]span[% ELSE %]a href="[% base %]/reports/Angus"[% END
- %]>[% loc("All reports") %]</[% c.req.uri.path == '/reports/Angus' ? 'span' : 'a' %]></li>[%
- %]<li><[% IF c.req.uri.path == '/alert'
- %]span[% ELSE %]a href="[% base %]/alert[% pc ? '/list?pc=' : '' %][% pc | uri %]"[% END
- %]>[% loc("Local alerts") %]</[% c.req.uri.path == '/alert' ? 'span' : 'a' %]></li>[%
- %]<li><[% IF c.req.uri.path == '/faq'
- %]span[% ELSE %]a href="[% base %]/faq"[% END
- %]>[% loc("Help") %]</[% c.req.uri.path == '/faq' ? 'span' : 'a' %]></li>[%
- %]<li class="nav-menu__item--privacy"><[% IF c.req.uri.path == '/privacy'
- %]span[% ELSE %]a href="[% base %]/privacy"[% END
- %]>[% loc("Privacy") %]</[% c.req.uri.path == '/privacy' ? 'span' : 'a' %]></li>
-</ul>
diff --git a/templates/web/angus/maps/fms.html b/templates/web/angus/maps/fms.html
index aed4d1764..1516ae05e 100644
--- a/templates/web/angus/maps/fms.html
+++ b/templates/web/angus/maps/fms.html
@@ -1,11 +1,11 @@
-[% map_js = BLOCK %]
-<!-- <script type="text/javascript" src="http://ecn.dev.virtualearth.net/mapcontrol/mapcontrol.ashx?v=7.0&mkt=en-GB"></script> -->
-<script type="text/javascript" src="[% version('/js/OpenLayers/OpenLayers.angus.js') %]"></script>
-<script type="text/javascript" src="[% version('/js/map-OpenLayers.js') %]"></script>
-<script type="text/javascript" src="[% version('/js/map-bing-ol.js') %]"></script>
-<script type="text/javascript" src="[% version('/js/map-fms.js') %]"></script>
-<script src="[% version('/cobrands/fixmystreet/assets.js') %]"></script>
-<script src="[% version('/cobrands/angus/js.js') %]"></script>
-[% END %]
-
-[% map_html = INCLUDE maps/openlayers.html include_key = 1 %]
+[%
+map_js = [
+ version('/js/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/angus/post_header_extra.html b/templates/web/angus/post_header_extra.html
index 16a82de3e..43ba8af92 100644
--- a/templates/web/angus/post_header_extra.html
+++ b/templates/web/angus/post_header_extra.html
@@ -9,6 +9,6 @@
<div class="wrapper wrapper__main_menu">
<div class="container">
- [% INCLUDE 'main_menu.html' extra_class = 'nav-menu--breadcrumb' %]
+ [% INCLUDE "main_nav.html" body_name=c.cobrand.council_area hide_mysoc_link=1 ul_class="nav-menu nav-menu--breadcrumb" omit_wrapper=1 %]
</div>
</div>
diff --git a/templates/web/base/admin/bodies.html b/templates/web/base/admin/bodies.html
index e98e2d350..9bd85940b 100644
--- a/templates/web/base/admin/bodies.html
+++ b/templates/web/base/admin/bodies.html
@@ -14,9 +14,9 @@
</p>
[% ELSE %]
- [% IF c.config.STAGING_SITE and !c.config.SEND_REPORTS_ON_STAGING %]
+ [% IF c.config.STAGING_SITE and !c.config.STAGING_FLAGS.send_reports %]
<p class="fms-admin-warning">
- [% tprintf(loc("As this is a staging site and %s is false, reports made on this site will be sent to the problem reporter, not the contact given for the report’s category."), "<a class='admin-offsite-link' href='http://fixmystreet.org/customising/config/#send_reports_on_staging'><code>SEND_REPORTS_ON_STAGING</code></a>") %]
+ [% tprintf(loc("As this is a staging site and %s is false, reports made on this site will be sent to the problem reporter, not the contact given for the report’s category."), "<a class='admin-offsite-link' href='http://fixmystreet.org/customising/config/#send_reports_on_staging'><code>STAGING_FLAGS send_reports</code></a>") %]
</p>
[% END %]
diff --git a/templates/web/base/admin/body.html b/templates/web/base/admin/body.html
index 5c9f4f9b9..5e8c6a164 100644
--- a/templates/web/base/admin/body.html
+++ b/templates/web/base/admin/body.html
@@ -59,9 +59,9 @@
<br>
[% loc("Add a contact using the form below.") %]
</p>
-[% ELSIF c.config.STAGING_SITE and !c.config.SEND_REPORTS_ON_STAGING %]
+[% ELSIF c.config.STAGING_SITE and !c.config.STAGING_FLAGS.send_reports %]
<p class="fms-admin-warning">
- [% tprintf(loc("As this is a staging site and %s is false, reports made on this site will be sent to the problem reporter, not the contact given for the report’s category."), "<a class='admin-offsite-link' href='http://fixmystreet.org/customising/config/#send_reports_on_staging'><code>SEND_REPORTS_ON_STAGING</code></a>") %]
+ [% tprintf(loc("As this is a staging site and %s is false, reports made on this site will be sent to the problem reporter, not the contact given for the report’s category."), "<a class='admin-offsite-link' href='http://fixmystreet.org/customising/config/#send_reports_on_staging'><code>STAGING_FLAGS send_reports</code></a>") %]
</p>
[% END %]
diff --git a/templates/web/base/admin/category-multiselect.html b/templates/web/base/admin/category-multiselect.html
new file mode 100644
index 000000000..98416204f
--- /dev/null
+++ b/templates/web/base/admin/category-multiselect.html
@@ -0,0 +1,10 @@
+<p>
+ <strong>[% loc('Categories:') %]</strong>
+</p>
+<p>
+ <select class="form-control js-multiple" name="categories" id="categories" multiple data-all="[% loc('All categories') %]">
+ [% FOR contact IN contacts %]
+ <option value="[% contact.id %]" [% 'selected' IF contact.active %]>[% contact.category | html %]</option>
+ [% END %]
+ </select>
+</p>
diff --git a/templates/web/base/admin/config_page.html b/templates/web/base/admin/config_page.html
index 67661c597..f35cd6adb 100644
--- a/templates/web/base/admin/config_page.html
+++ b/templates/web/base/admin/config_page.html
@@ -118,7 +118,11 @@ running version <strong>[% git_version || 'unknown' %]</strong>.
[% INCLUDE subsection heading="Development" %]
[% INCLUDE just_value value="STAGING_SITE" %]
-[% INCLUDE just_value value="SEND_REPORTS_ON_STAGING" %]
+[% staging_conf = FOR k IN c.config.STAGING_FLAGS %]
+ [% k.key %]:[% k.value %]
+ [%- ',' IF NOT loop.last %]
+[% END %]
+[% INCLUDE just_value value="STAGING_FLAGS" conf = staging_conf %]
[% INCLUDE just_value value="UPLOAD_DIR" %]
[% INCLUDE just_value value="GEO_CACHE" %]
[% INCLUDE just_value value="TESTING_COUNCILS" %]
diff --git a/templates/web/base/admin/defecttypes/edit.html b/templates/web/base/admin/defecttypes/edit.html
new file mode 100644
index 000000000..a3b324d11
--- /dev/null
+++ b/templates/web/base/admin/defecttypes/edit.html
@@ -0,0 +1,37 @@
+[% INCLUDE 'admin/header.html' title=tprintf(('Defect Type for %s'), body.name) -%]
+[% dt = defect_type %]
+
+[% UNLESS dt.id %]<h3>[% ('New defect type') %]</h3>[% END %]
+
+<form method="post"
+ action="[% c.uri_for('', body.id, dt.id || 'new' ) %]"
+ enctype="application/x-www-form-urlencoded"
+ accept-charset="utf-8"
+ class="validate">
+
+ <p>
+ <strong>[% ('Name:') %] </strong>
+ <input type="text" name="name" class="required form-control" size="30" value="[% dt.name | html %]">
+ </p>
+ <p>
+ <strong>[% ('Description:') %] </strong>
+ <input type="text" name="description" class="form-control" size="30" value="[% dt.description | html %]">
+ </p>
+
+ <div class="admin-hint">
+ <p>
+ [% ('If you only want this defect type to be an option for specific categories, pick them here. By default they will show for all categories.') %]
+ </p>
+ </div>
+
+ [% INCLUDE 'admin/category-multiselect.html' %]
+
+ [% TRY %][% INCLUDE 'admin/defecttypes/extra_fields.html' %][% CATCH file %][% END %]
+
+ <p>
+ <input type="hidden" name="token" value="[% csrf_token %]" >
+ <input type="submit" class="btn" name="save" value="[% dt.id ? ('Save changes') : ('Create defect type') %]" >
+ </p>
+</form>
+
+[% INCLUDE 'admin/footer.html' %]
diff --git a/templates/web/base/admin/defecttypes/index.html b/templates/web/base/admin/defecttypes/index.html
new file mode 100644
index 000000000..c45a09e6e
--- /dev/null
+++ b/templates/web/base/admin/defecttypes/index.html
@@ -0,0 +1,13 @@
+[% INCLUDE 'admin/header.html' title=('Defect Types') -%]
+
+<ul>
+ [% FOR body IN bodies %]
+ <li>
+ <a href="[% c.uri_for('', body.id) %]">[% body.name %]</a>
+ [% defect_types_count = body.defect_types.count %]
+ [% IF defect_types_count %]([% defect_types_count %])[% END %]
+ </li>
+ [% END %]
+</ul>
+
+[% INCLUDE 'admin/footer.html' %]
diff --git a/templates/web/base/admin/defecttypes/list.html b/templates/web/base/admin/defecttypes/list.html
new file mode 100644
index 000000000..783bd085c
--- /dev/null
+++ b/templates/web/base/admin/defecttypes/list.html
@@ -0,0 +1,35 @@
+[% INCLUDE 'admin/header.html' title=tprintf(('Defect Types for %s'), body.name) -%]
+
+<table>
+ <thead>
+ <tr>
+ <th> [% ('Name') %] </th>
+ <th> [% ('Description') %] </th>
+ <th> [% ('Categories') %] </th>
+ <th> &nbsp; </th>
+ </tr>
+ </thead>
+ <tbody>
+ [% PROCESS 'defect_type/format.html' %]
+ [% FOR d IN defect_types %]
+ <tr>
+ <td> [% defect_type_format(defect_type=d) %] </td>
+ <td> [% d.description | html %] </td>
+ <td>
+ [% UNLESS d.contacts.size %]
+ <em>[% ('All categories') %]</em>
+ [% ELSE %]
+ [% FOR contact IN d.contacts %]
+ [% contact.category %][% ',' UNLESS loop.last %]
+ [% END %]
+ [% END %]
+ </td>
+ <td> <a href="[% c.uri_for('', body.id, d.id) %]" class="btn">[% ('Edit') %]</a> </td>
+ </tr>
+ [% END %]
+ </tbody>
+</table>
+
+<a href="[% c.uri_for('', body.id, 'new') %]" class="btn">[% ('New defect type') %]</a>
+
+[% INCLUDE 'admin/footer.html' %]
diff --git a/templates/web/base/admin/exordefects/index.html b/templates/web/base/admin/exordefects/index.html
new file mode 100644
index 000000000..dba58198d
--- /dev/null
+++ b/templates/web/base/admin/exordefects/index.html
@@ -0,0 +1,36 @@
+[% INCLUDE 'admin/header.html' title=('Download Exor RDI') -%]
+
+[% IF error_message %]
+ <h2>Error</h2>
+ <p>[% error_message %]</p>
+[% END %]
+
+<form method="get" action="[% c.uri_for('download') %]" enctype="application/x-www-form-urlencoded" accept-charset="utf-8">
+ <p>
+ <label for="start_date">[% ('Start Date:') %]</label><input type="text" class="form-control"
+ placeholder="[% ('Click here or enter as dd/mm/yyyy') %]" name="start_date" id="start_date"
+ value="[% start_date ? start_date.strftime( '%d/%m/%Y') : '' | html %]" />
+ </p>
+
+ <p>
+ <label for="end_date">[% ('End Date:') %]</label><input type="text" class="form-control"
+ placeholder="[% ('Click here or enter as dd/mm/yyyy') %]" name="end_date" id="end_date" size="5"
+ value="[% end_date ? end_date.strftime( '%d/%m/%Y') : '' | html %]" />
+ </p>
+
+ <p>
+ [% ('Inspector:') %] <select class="form-control" id='user_id' name='user_id'>
+ <option value=''>[% ('All inspectors') %]</option>
+ [% FOR inspector IN inspectors %]
+ <option value="[% inspector.id %]" [% 'selected' IF user_id == inspector.id %]>[% inspector.name %] ([% inspector.get_extra_metadata('initials') %])</option>
+ [% END %]
+ </select>
+ </p>
+
+ <p>
+ <input type="submit" class="btn" size="30" value="Download RDI file" />
+ </p>
+</form>
+
+
+[% INCLUDE 'admin/footer.html' %]
diff --git a/templates/web/base/admin/index.html b/templates/web/base/admin/index.html
index f573f0e7a..8498055b1 100644
--- a/templates/web/base/admin/index.html
+++ b/templates/web/base/admin/index.html
@@ -20,14 +20,18 @@ and to receive notices of updates.
</p>
[% END %]
+<div class="admin-index-search form-txt-submit-box clearfix">
+
<form method="get" action="[% c.uri_for('reports') %]" accept-charset="utf-8">
<p><label for="search_reports">[% loc('Search Reports') %]</label>
<input type="text" class="form-control" name="search" size="30" id="search_reports" value="[% searched | html %]">
+ <input type="submit" class="btn" value="[% loc('Go') %]">
</form>
<form method="get" action="[% c.uri_for('users') %]" accept-charset="utf-8">
<p><label for="search_users">[% loc('Search Users') %]</label>
<input type="text" class="form-control" name="search" size="30" id="search_users" value="[% searched | html %]">
+ <input type="submit" class="btn" value="[% loc('Go') %]">
</form>
[% IF c.user.is_superuser %]
@@ -46,6 +50,8 @@ and to receive notices of updates.
</form>
[% END %]
+</div>
+
[% IF unsent_reports.size %]
<h2>[% loc('Reports waiting to be sent') %]</h2>
diff --git a/templates/web/base/admin/report-category.html b/templates/web/base/admin/report-category.html
new file mode 100644
index 000000000..1e39236d7
--- /dev/null
+++ b/templates/web/base/admin/report-category.html
@@ -0,0 +1,14 @@
+<select class="form-control" name="category" id="category">
+ [% IF NOT problem.category OR NOT categories_hash.${problem.category} %]
+ <optgroup label="[% loc('Existing category') %]">
+ <option selected value="[% problem.category | html %]">[% (problem.category OR '-') | html %]</option>
+ </optgroup>
+ [% END %]
+ [% IF categories.size %]
+ <optgroup label="[% loc('Available categories') %]">
+ [% FOREACH cat IN categories %]
+ <option[% ' selected' IF problem.category == cat %]>[% cat | html %]</option>
+ [% END %]
+ </optgroup>
+ [% END %]
+</select>
diff --git a/templates/web/base/admin/report_blocks.html b/templates/web/base/admin/report_blocks.html
index 3561d865d..9231dd1c2 100644
--- a/templates/web/base/admin/report_blocks.html
+++ b/templates/web/base/admin/report_blocks.html
@@ -1,5 +1,7 @@
[%
+SET report_blocks_included = 1;
+
SET state_pretty = {
'confirmed' = loc('Open')
'investigating' = loc('Investigating')
@@ -9,7 +11,7 @@ SET state_pretty = {
'fixed' = loc('Fixed')
'fixed - user' = loc('Fixed - User')
'fixed - council' = loc('Fixed - Council')
- 'unable to fix' = loc('Unable to fix')
+ 'unable to fix' = loc('No further action')
'not responsible' = loc('Not Responsible')
'duplicate' = loc('Duplicate')
'closed' = loc('Closed')
diff --git a/templates/web/base/admin/report_edit.html b/templates/web/base/admin/report_edit.html
index 02e75563c..3c8134b80 100644
--- a/templates/web/base/admin/report_edit.html
+++ b/templates/web/base/admin/report_edit.html
@@ -112,31 +112,13 @@ class="admin-offsite-link">[% problem.latitude %], [% problem.longitude %]</a>
<li><label for='detail'>[% loc('Details:') %]</label>
<textarea class="form-control" name='detail' id='detail' cols=60 rows=10>[% problem.detail | html %]</textarea></li>
-<li><label class="inline-text" for="state">[% loc('State:') %]</label>
-<select class="form-control" name="state" id="state">
-[% FOREACH group IN state_groups %]
- <optgroup label="[% group.0 %]">
- [% FOREACH state IN group.1 %]
- <option [% 'selected ' IF state == problem.state %] value="[% state %]">[% state_pretty.$state %]</option>
- [% END %]
- </optgroup>
-[% END %]
-</select></li>
+<li>
+ <label class="inline-text" for="state">[% loc('State:') %]</label>
+ [% INCLUDE 'admin/state_groups_select.html' %]
+</li>
<li><label class="inline-text" for="category">[% loc('Category:') %]</label>
-<select class="form-control" name="category" id="category">
- [% IF NOT problem.category OR NOT categories.grep(problem.category).size %]
- <optgroup label="[% loc('Existing category') %]">
- <option selected value="[% problem.category | html %]">[% (problem.category OR '-') | html %]</option>
- </optgroup>
- [% END %]
- [% IF categories.size %]
- <optgroup label="[% loc('Available categories') %]">
- [% FOREACH cat IN categories %]
- <option[% ' selected' IF problem.category == cat %]>[% cat | html %]</option>
- [% END %]
- </optgroup>
- [% END %]
-</select></li>
+ [% INCLUDE 'admin/report-category.html' %]
+</li>
<li><label class="inline-text" for="anonymous">[% loc('Anonymous:') %]</label>
<select class="form-control" name="anonymous" id="anonymous">
<option [% 'selected ' IF problem.anonymous %]value="1">[% loc('Yes') %]</option>
diff --git a/templates/web/base/admin/response_templates_select.html b/templates/web/base/admin/response_templates_select.html
index 417be9add..ec50b2401 100644
--- a/templates/web/base/admin/response_templates_select.html
+++ b/templates/web/base/admin/response_templates_select.html
@@ -1,10 +1,8 @@
[% IF problem.response_templates %]
-<div class="response_templates_select">
<select id="templates_for_[% for %]" class="form-control js-template-name" data-for="[% for %]" name="response_template">
<option value="">[% loc('--Choose a template--') %]</option>
[% FOR t IN problem.response_templates %]
- <option value="[% t.text | html %]"> [% t.title | html %] </option>
+ <option value="[% t.text | html %]" data-problem-state="[% t.state | html %]"> [% t.title | html %] </option>
[% END %]
</select>
-</div>
[% END %]
diff --git a/templates/web/base/admin/responsepriorities/edit.html b/templates/web/base/admin/responsepriorities/edit.html
index 4d838eed2..07d6906ba 100644
--- a/templates/web/base/admin/responsepriorities/edit.html
+++ b/templates/web/base/admin/responsepriorities/edit.html
@@ -20,6 +20,16 @@
<div class="admin-hint">
<p>
+ [% loc('If this priority is passed to an external service (e.g. Exor/Confirm) enter the priority code to use with that service here.') %]
+ </p>
+ </div>
+ <p>
+ <strong>[% loc('External ID') %]:</strong>
+ <input type="text" name="external_id" class="form-control" size="30" value="[% rp.external_id | html %]">
+ </p>
+
+ <div class="admin-hint">
+ <p>
[% loc('If you only want this priority to be an option for specific categories, pick them here. By default they will show for all categories.') %]
</p>
</div>
diff --git a/templates/web/base/admin/state_groups_select.html b/templates/web/base/admin/state_groups_select.html
new file mode 100644
index 000000000..9a70cd2c9
--- /dev/null
+++ b/templates/web/base/admin/state_groups_select.html
@@ -0,0 +1,3 @@
+[% PROCESS 'admin/report_blocks.html'; # For state_groups %]
+[% DEFAULT current_state = problem.state %]
+[% INCLUDE 'report/_state_select_field.html' %]
diff --git a/templates/web/base/admin/template_edit.html b/templates/web/base/admin/template_edit.html
index b2e734756..76de70dcc 100644
--- a/templates/web/base/admin/template_edit.html
+++ b/templates/web/base/admin/template_edit.html
@@ -31,6 +31,16 @@
</div>
[% INCLUDE 'admin/category-checkboxes.html' %]
+ <div class="admin-hint">
+ <p>
+ [% loc('If you want to use this template to prefill the update field when changing a report&rsquo;s state, select the state here.') %]
+ </p>
+ </div>
+ <p>
+ <label for="state">[% loc('State') %]</label>
+ [% INCLUDE 'admin/state_groups_select.html' current_state=rt.state include_empty=1 %]
+ </p>
+
<p>
<input type="hidden" name="token" value="[% csrf_token %]" >
<input type="submit" class="btn" name="Edit templates" value="[% rt.id ? loc('Save changes') : loc('Create template') %]" >
diff --git a/templates/web/base/admin/user-form.html b/templates/web/base/admin/user-form.html
index 17230e940..dbd554b1e 100644
--- a/templates/web/base/admin/user-form.html
+++ b/templates/web/base/admin/user-form.html
@@ -47,7 +47,7 @@
[% loc("Staff users have permission to log in to the admin.") %]
</p>
</div>
- [% loc('Staff:') %] <input type="checkbox" id="body" name="body" value="[% c.user.from_body.id %]" [% user.from_body.id == c.user.from_body.id ? ' checked' : '' %] [% 'disabled' UNLESS c.user.is_superuser OR c.user.has_body_permission_to('user_assign_body') %]>
+ [% loc('Staff:') %] <input type="checkbox" id="body" name="body" value="[% c.user.from_body.id %]" [% user.from_body.id == c.user.from_body.id ? ' checked' : '' %] [% 'disabled' UNLESS c.user.has_body_permission_to('user_assign_body') %]>
</li>
[% END %]
@@ -121,14 +121,6 @@
</label>
[% END %]
</li>
- <li>
- <div class="admin-hint">
- <p>
- [% loc("Reports from users with high enough reputation will be sent immediately without requiring inspection. Each category's threshold can be managed on its edit page. Users earn reputation when a report they have made is marked as inspected by inspectors.") %]
- </p>
- </div>
- [% loc('Reputation:') %] [% user.get_extra_metadata('reputation') %]
- </li>
[% END %]
[% IF c.user.is_superuser %]
@@ -162,7 +154,7 @@
[% FOREACH permission IN group.value %]
<li>
<label class="inline">
- <input type="checkbox" id="perms_[% permission.key %]" name="permissions[[% permission.key %]]" [% "checked" IF user.has_body_permission_to(permission.key) %]>
+ <input type="checkbox" id="perms_[% permission.key %]" name="permissions[[% permission.key %]]" [% "checked" IF NOT user.is_superuser AND user.has_body_permission_to(permission.key) %]>
[% permission.value %]
</label>
</li>
@@ -173,6 +165,7 @@
</ul>
[% END %]
[% END %]
+ [% TRY %][% INCLUDE 'admin/user-form-extra-fields.html' %][% CATCH file %][% END %]
</ul>
<input type="submit" class="btn" name="Submit changes" value="[% loc('Submit changes') %]" >
</form>
diff --git a/templates/web/base/admin/users.html b/templates/web/base/admin/users.html
index 757046bcf..8e35e1c31 100644
--- a/templates/web/base/admin/users.html
+++ b/templates/web/base/admin/users.html
@@ -26,7 +26,7 @@
<td>[% PROCESS value_or_nbsp value=user.name %]</td>
<td><a href="[% c.uri_for( 'reports', search => user.email ) %]">[% PROCESS value_or_nbsp value=user.email %]</a></td>
<td>[% PROCESS value_or_nbsp value=user.from_body.name %]
- [% IF user.has_body_permission_to('moderate') %] * [% END %]
+ [% IF user.is_superuser %] * [% END %]
</td>
[% IF c.cobrand.moniker != 'zurich' %]
<td>[% user.flagged == 2 ? loc('(Email in abuse table)') : user.flagged ? loc('Yes') : '&nbsp;' %]</td>
@@ -47,6 +47,8 @@
[% IF NOT searched %]
<h2>[% loc('Add user') %]</h2>
[% INCLUDE 'admin/user-form.html', user = '' %]
+[% ELSE %]
+<a href="[% c.uri_for( c.controller('Admin').action_for('user_add') ) %]">[% loc('Add user') %]</a>
[% END %]
[% INCLUDE 'admin/footer.html' %]
diff --git a/templates/web/base/auth/general.html b/templates/web/base/auth/general.html
index cf539ff4f..41ff3a2e1 100644
--- a/templates/web/base/auth/general.html
+++ b/templates/web/base/auth/general.html
@@ -19,7 +19,7 @@
<div class="form-box">
<button name="facebook_sign_in" id="facebook_sign_in" value="facebook_sign_in" class="btn btn--block btn--social btn--facebook">
<img alt="" src="/i/facebook-icon-32.png" width="17" height="32">
- Log in with Facebook
+ [% loc('Log in with Facebook') %]
</button>
</div>
[% END %]
@@ -27,7 +27,7 @@
<div class="form-box">
<button name="twitter_sign_in" id="twitter_sign_in" value="twitter_sign_in" class="btn btn--block btn--social btn--twitter">
<img alt="" src="/i/twitter-icon-32.png" width="17" height="32">
- Log in with Twitter
+ [% loc('Log in with Twitter') %]
</button>
</div>
[% END %]
diff --git a/templates/web/base/common_footer_tags.html b/templates/web/base/common_footer_tags.html
index 45872895b..01420c37d 100644
--- a/templates/web/base/common_footer_tags.html
+++ b/templates/web/base/common_footer_tags.html
@@ -1,28 +1,13 @@
-[% USE date %][% USE Math %]
-
[% TRY %][% PROCESS 'footer_extra.html' %][% CATCH file %][% END %]
-<script type="text/javascript" src="[% start %]/js/translation_strings.[% lang_code %].js?[% Math.int( date.now / 3600 ) %]"></script>
-<script type="text/javascript" src="[% version('/jslib/jquery-1.7.2.min.js') %]"></script>
+[% PROCESS 'common_scripts.html' %]
+
<!--[if lte IE 9]>
- <script type="text/javascript" src="[% version('/js/history.polyfill.min.js') %]"></script>
+ <script src="[% version('/js/history.polyfill.min.js') %]"></script>
<![endif]-->
-<script type="text/javascript" src="[% version('/js/validation_rules.js') %]"></script>
-<script src="[% version('/js/jquery.validate.min.js') %]" type="text/javascript" charset="utf-8"></script>
-<script type="text/javascript" src="[% version('/js/dropzone.min.js') %]"></script>
-<script type="text/javascript" src="[% version('/js/jquery.multi-select.js') %]"></script>
-
-<script type="text/javascript" src="[% version('/js/geo.min.js') %]"></script>
-<script type="text/javascript" src="[% version('/cobrands/fixmystreet/fixmystreet.js') %]"></script>
-
-[% map_js %]
-<script src="[% version('/cobrands/fixmystreet/map.js') %]"></script>
-
-[% IF admin %]
- <script src="[% version('/js/jquery-ui/js/jquery-ui-1.10.3.custom.min.js') %]"></script>
- <script type="text/javascript" src="[% version('/js/fixmystreet-admin.js') %]"></script>
+[% FOR script IN scripts ~%]
+ [% script = script.0 ? script : [ script ] ~%]
+ <script src="[% script.0 %]"
+ [%~ FOR attr IN script.1 %] [% attr.key %]="[% attr.value %]"[% END ~%]
+ ></script>
[% END %]
-
-[% extra_js %]
-
-[% TRY %][% PROCESS 'footer_extra_js.html' %][% CATCH file %][% END %]
diff --git a/templates/web/base/common_header_tags.html b/templates/web/base/common_header_tags.html
index 7c0ac4973..e64722f01 100644
--- a/templates/web/base/common_header_tags.html
+++ b/templates/web/base/common_header_tags.html
@@ -12,7 +12,7 @@
<script nonce="[% csp_nonce %]">
window.Modernizr=function(e,t,n){function r(e){p.cssText=e}function o(e,t){return typeof e===t}var a,i,c,l="2.8.3",s={},u=t.documentElement,d="modernizr",f=t.createElement(d),p=f.style,m=({}.toString,{}),h=[],y=h.slice,v=function(e,n,r,o){var a,i,c,l,s=t.createElement("div"),f=t.body,p=f||t.createElement("body");if(parseInt(r,10))for(;r--;)c=t.createElement("div"),c.id=o?o[r]:d+(r+1),s.appendChild(c);return a=["&#173;",'<style id="s',d,'">',e,"</style>"].join(""),s.id=d,(f?s:p).innerHTML+=a,p.appendChild(s),f||(p.style.background="",p.style.overflow="hidden",l=u.style.overflow,u.style.overflow="hidden",u.appendChild(p)),i=n(s,e),f?s.parentNode.removeChild(s):(p.parentNode.removeChild(p),u.style.overflow=l),!!i},g=function(t){var n=e.matchMedia||e.msMatchMedia;if(n)return n(t)&&n(t).matches||!1;var r;return v("@media "+t+" { #"+d+" { position: absolute; } }",function(t){r="absolute"==(e.getComputedStyle?getComputedStyle(t,null):t.currentStyle).position}),r},b={}.hasOwnProperty;c=o(b,"undefined")||o(b.call,"undefined")?function(e,t){return t in e&&o(e.constructor.prototype[t],"undefined")}:function(e,t){return b.call(e,t)};for(var E in m)c(m,E)&&(i=E.toLowerCase(),s[i]=m[E](),h.push((s[i]?"":"no-")+i));return r(""),f=a=null,s._version=l,s.mq=g,s.testStyles=v,s}(this,this.document);
var fixmystreet=fixmystreet||{};
- (function(b){var a=b.documentElement;a.className=a.className.replace(/\bno-js\b/,"js");var c=-1<a.className.indexOf("iel8"),c=Modernizr.mq("(min-width: 48em)")||c?"desktop":"mobile";b=b.getElementById("js-meta-data");fixmystreet.page=b.getAttribute("data-page");fixmystreet.cobrand=b.getAttribute("data-cobrand");"mobile"==c&&(a.className+=" mobile","around"==fixmystreet.page&&(a.className+=" mobile-reporting-map only-map"))})(document);
+ (function(b){var a=b.documentElement;a.className=a.className.replace(/\bno-js\b/,"js");var c=-1<a.className.indexOf("iel8"),c=Modernizr.mq("(min-width: 48em)")||c?"desktop":"mobile";b=b.getElementById("js-meta-data");fixmystreet.page=b.getAttribute("data-page");fixmystreet.cobrand=b.getAttribute("data-cobrand");"mobile"==c&&(a.className+=" mobile","around"==fixmystreet.page&&(a.className+=" map-fullscreen only-map map-reporting"))})(document);
</script>
[% IF admin %]
diff --git a/templates/web/base/common_scripts.html b/templates/web/base/common_scripts.html
new file mode 100644
index 000000000..42c04f11f
--- /dev/null
+++ b/templates/web/base/common_scripts.html
@@ -0,0 +1,50 @@
+[%
+
+USE date;
+USE Math;
+
+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('/js/jquery.validate.min.js'),
+ version('/js/dropzone.min.js'),
+ version('/js/jquery.multi-select.js'),
+ version('/js/geo.min.js'),
+ version('/cobrands/fixmystreet/fixmystreet.js'),
+);
+
+IF c.user_exists AND (c.user.from_body OR c.user.is_superuser);
+ scripts.push(
+ version('/cobrands/fixmystreet/staff.js')
+ );
+END;
+
+FOR script IN map_js;
+ scripts.push(script);
+END;
+
+scripts.push(
+ version('/cobrands/fixmystreet/map.js'),
+ version('/cobrands/fixmystreet/offline.js'),
+);
+
+IF admin;
+ scripts.push(
+ version('/js/jquery-ui/js/jquery-ui-1.10.3.custom.min.js'),
+ version('/cobrands/fixmystreet/admin.js'),
+ );
+END;
+
+FOR script IN extra_js;
+ scripts.push(script);
+END;
+
+TRY;
+ PROCESS 'footer_extra_js.html';
+CATCH file;
+END;
+
+~%]
diff --git a/templates/web/base/dashboard/index.html b/templates/web/base/dashboard/index.html
index 1af507569..2a9a2ef42 100644
--- a/templates/web/base/dashboard/index.html
+++ b/templates/web/base/dashboard/index.html
@@ -12,14 +12,13 @@
<form>
<hgroup>
- <h2>Reports, Statistics and Actions for</h2>
- <h1>[% council.name %]</h1>
+ [% tprintf(loc('<h2>Reports, Statistics and Actions for</h2> <h1>%s</h1>'), council.name) %]
</hgroup>
<div class="filters">
<p>
- <label for="ward">Ward:</label>
- <select class="form-control" name="ward"><option value=''>All</option>
+ <label for="ward">[% loc('Ward:') %]</label>
+ <select class="form-control" name="ward"><option value=''>[% loc('All') %]</option>
[% FOR w IN children.values.sort('name') %]
<option value="[% w.id %]"[% ' selected' IF w.id == ward %]>[% w.name %]</option>
[% END %]
@@ -27,8 +26,8 @@
</p>
<p>
- <label for="category">Report category:</label>
- <select class="form-control" name="category"><option value=''>All</option>
+ <label for="category">[% loc('Category:') %]</label>
+ <select class="form-control" name="category"><option value=''>[% loc('All') %]</option>
[% FOR cat_op IN category_options %]
<option value='[% cat_op | html %]'[% ' selected' IF category == cat_op %]>[% cat_op | html %]</option>
[% END %]
@@ -36,7 +35,7 @@
</p>
<p>
- <input type="submit" class="btn" value="Look up">
+ <input type="submit" class="btn" value="[% loc('Look up') %]">
</p>
<br clear="all" />
@@ -46,17 +45,17 @@
<table width="100%" id="overview">
<tr>
<th>&nbsp;</th>
- <th scope="col"><abbr title="Week To Date">WTD</abbr></th>
- <th scope="col">Last 7 days</th>
- <th scope="col">Last 4 weeks</th>
- <th scope="col">YTD</th>
+ <th scope="col"><abbr title="[% loc('Week To Date') %]">[% loc('WTD', "Week to date") %]</abbr></th>
+ <th scope="col">[% loc('Last 7 days') %]</th>
+ <th scope="col">[% loc('Last 4 weeks') %]</th>
+ <th scope="col">[% loc('YTD', "Year to date") %]</th>
</tr>
[%
rows = {
- '0' => [ "total", "Total reports received" ]
- '1' => [ "fixed - council", "Council has marked as fixed" ]
- '2' => [ "fixed_user", "User has marked as fixed" ]
+ '0' => [ "total", loc("Total reports received") ]
+ '1' => [ "fixed - council", loc("Council has marked as fixed") ]
+ '2' => [ "fixed_user", loc("User has marked as fixed") ]
};
FOR row IN rows %]
<tr id="[% row.value.0.replace('[^\w]+', '_' ) %]">
@@ -69,7 +68,7 @@
[% END %]
<tr class='subtotal' id="total_fixed">
- <th scope="row">Total marked as fixed</th>
+ <th scope="row">[% loc('Total marked as fixed') %]</th>
<td>[% problems.wtd.${"fixed - council"} + problems.wtd.fixed_user %]</td>
<td>[% problems.week.${"fixed - council"} + problems.week.fixed_user %]</td>
<td>[% problems.weeks.${"fixed - council"} + problems.weeks.fixed_user %]</td>
@@ -78,10 +77,10 @@
[%
rows = {
- '0' => [ "in progress", "Council has marked as in progress" ]
- '1' => [ "action scheduled", "Council has marked as planned" ]
- '2' => [ "investigating", "Council has marked as investigating" ]
- '3' => [ "closed", "Council has marked as closed" ]
+ '0' => [ "in progress", loc("Council has marked as in progress") ]
+ '1' => [ "action scheduled", loc("Council has marked as planned") ]
+ '2' => [ "investigating", loc("Council has marked as investigating") ]
+ '3' => [ "closed", loc("Council has marked as closed") ]
};
wtd = 0, week = 0, weeks = 0, ytd = 0;
FOR row IN rows %]
@@ -95,7 +94,7 @@
[% END %]
<tr class='subtotal' id="marked">
- <th scope="row">Total marked</th>
+ <th scope="row">[% loc('Total marked') %]</th>
<td>[% problems.wtd.${"in progress"} + problems.wtd.${"action scheduled"} +
problems.wtd.investigating + problems.wtd.closed %]</td>
<td>[% problems.week.${"in progress"} + problems.week.${"action scheduled"} +
@@ -107,7 +106,7 @@
</tr>
<tr id="avg_fixed">
- <th scope="row">Average time to council marking fixed (days)</th>
+ <th scope="row">[% loc('Average time to council marking fixed (days)') %]</th>
<td>[% problems.wtd.time_to_fix %]</td>
<td>[% problems.week.time_to_fix %]</td>
<td>[% problems.weeks.time_to_fix %]</td>
@@ -115,7 +114,7 @@
</tr>
<tr id="avg_marked">
- <th scope="row">Average time to first council state change (days)</th>
+ <th scope="row">[% loc('Average time to first council state change (days)') %]</th>
<td>[% problems.wtd.time_to_mark %]</td>
<td>[% problems.week.time_to_mark %]</td>
<td>[% problems.weeks.time_to_mark %]</td>
@@ -123,7 +122,7 @@
</tr>
<tr class='subtotal' id="not_marked">
- <th scope="row">Total not marked</th>
+ <th scope="row">[% loc('Total not marked') %]</th>
<td>[% problems.wtd.not_marked %]</td>
<td>[% problems.week.not_marked %]</td>
<td>[% problems.weeks.not_marked %]</td>
@@ -132,25 +131,25 @@
</table>
-<h2>Reports</h2>
+<h2>[% loc('Reports') %]</h2>
</select>
-<p>Report state: <select class="form-control" name="state">
-<option value=''>All</option>
+<p>[% loc('Report state:') %] <select class="form-control" name="state">
+<option value=''>[% loc('All') %]</option>
[% FOREACH state IN [ ['confirmed', loc('Open')], ['investigating',
loc('Investigating')], ['action scheduled', loc('Planned')], ['in progress',
loc('In Progress')], ['closed', loc('Closed')], ['fixed', loc('Fixed')] ] %]
<option [% 'selected ' IF state.0 == q_state %] value="[% state.0 %]">[% state.1 %]</option>
[% END %]
</select>
-<input type="submit" class="btn" value="Look up">
-<a class="export_as_csv" href="[% c.req.uri_with({ export => 1 }) %]">Export as CSV</a>
+<input type="submit" class="btn" value="[% loc('Look up') %]">
+<a class="export_as_csv" href="[% c.req.uri_with({ export => 1 }) %]">[% loc('Export as CSV') %]</a>
<table width="100%" id="reports">
<tr>
- <th scope="col">Less than 7 days old</th>
- <th scope="col">7-14 days old</th>
- <th scope="col">14-30 days old</th>
+ <th scope="col">[% loc('Less than 7 days old') %]</th>
+ <th scope="col">[% loc('7-14 days old') %]</th>
+ <th scope="col">[% loc('14-30 days old') %]</th>
</tr>
<tr>
<td width="34%"><ul>[% INCLUDE list, list = lists.1 %]</ul></td>
diff --git a/templates/web/base/defect_type/format.html b/templates/web/base/defect_type/format.html
new file mode 100644
index 000000000..3c0781501
--- /dev/null
+++ b/templates/web/base/defect_type/format.html
@@ -0,0 +1,9 @@
+[%
+# This template can be overridden by cobrands if they've added extra fields
+# to the DefectType model (e.g Cobrand::Oxfordshire->defect_type_extra_fields)
+# which should be used to represent this DefectType
+# to the user in the inspect form.
+~%]
+[% MACRO defect_type_format BLOCK ~%]
+[%~ defect_type.name | html ~%]
+[%~ END %] \ No newline at end of file
diff --git a/templates/web/base/errors/generic.html b/templates/web/base/errors/generic.html
index d0d1e2e00..241b310de 100755
--- a/templates/web/base/errors/generic.html
+++ b/templates/web/base/errors/generic.html
@@ -1,5 +1,9 @@
[% INCLUDE 'header.html', bodyclass = 'fullwidthpage', title = loc('Error') %]
+[% IF csrf_token ~%]
+<input type="hidden" name="token" value="[% csrf_token %]">
+[% END ~%]
+
<div class="confirmation-header confirmation-header--failure">
<h1>[% loc('Error') %]</h1>
<p>[% message %]</p>
diff --git a/templates/web/base/footer.html b/templates/web/base/footer.html
index 5fd74b3a1..9f86f7519 100644
--- a/templates/web/base/footer.html
+++ b/templates/web/base/footer.html
@@ -9,35 +9,7 @@
<div class="nav-wrapper">
<div class="nav-wrapper-2">
- <div id="main-nav" role="navigation">
- <ul class="nav-menu nav-menu--mysoc">
- <li><a id="mysoc-logo" href="https://www.mysociety.org/">mySociety</a></li>
- </ul>
-[%
- SET base = "";
- SET base = c.cobrand.base_url IF admin;
-%]
- <ul class="nav-menu nav-menu--main">
- <li><[% IF c.req.uri.path == '/'
- %]span[% ELSE %]a href="[% base %]/"[% END %] class="report-a-problem-btn"
- >[% loc("Report a problem") %]</[% c.req.uri.path == '/' ? 'span' : 'a' %]></li>[%
- %]<li><[% IF c.req.uri.path == '/my'
- %]span[% ELSE %]a href="[% base %]/my"[% END
- %]>[% c.user_exists ? loc("Your account") : loc("Sign in") %]</[% c.req.uri.path == '/my' ? 'span' : 'a' %]></li>[%
- %]<li><[% IF c.req.uri.path == '/reports'
- %]span[% ELSE %]a href="[% base %]/reports[% IF c.user_exists AND c.user.categories.size %]?filter_category=[% c.user.categories.join(",") | uri | html %][% END %]"[% END
- %]>[% loc("All reports") %]</[% c.req.uri.path == '/reports' ? 'span' : 'a' %]></li>[%
- %]<li><[% IF c.req.uri.path == '/alert'
- %]span[% ELSE %]a href="[% base %]/alert[% pc ? '/list?pc=' : '' %][% pc | uri %]"[% END
- %]>[% loc("Local alerts") %]</[% c.req.uri.path == '/alert' ? 'span' : 'a' %]></li>[%
- %]<li><[% IF c.req.uri.path == '/faq'
- %]span[% ELSE %]a href="[% base %]/faq"[% END
- %]>[% loc("Help") %]</[% c.req.uri.path == '/faq' ? 'span' : 'a' %]></li>[%
- %]<li class="nav-menu__item--privacy"><[% IF c.req.uri.path == '/privacy'
- %]span[% ELSE %]a href="[% base %]/privacy"[% END
- %]>[% loc("Privacy") %]</[% c.req.uri.path == '/privacy' ? 'span' : 'a' %]></li>
- </ul>
- </div>
+ [% INCLUDE "main_nav.html" %]
</div>
</div>
</div> <!-- .wrapper -->
diff --git a/templates/web/base/front/javascript.html b/templates/web/base/front/javascript.html
index 2795829a5..6b8e2a292 100644
--- a/templates/web/base/front/javascript.html
+++ b/templates/web/base/front/javascript.html
@@ -1,7 +1,12 @@
-[%# Assume using OpenStreetMap maps %]
-<script src="[% version('/js/yepnope.js') %]"></script>
-<script id="script_front" src="[% version('/cobrands/fixmystreet/front.js') %]"
- data-scripts="
- [%~ version('/js/OpenLayers/OpenLayers.fixmystreet.js') %],
- [%~ version('/js/map-OpenLayers.js') %],
- [%~ version('/js/map-OpenStreetMap.js') %]"></script>
+[%
+# Assume using OpenStreetMap maps
+map_js = [
+ version('/js/yepnope.js'),
+ [ version('/cobrands/fixmystreet/front.js'), {
+ id = 'script_front',
+ 'data-scripts' = version('/js/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 c11e78b47..4e537a7ec 100644
--- a/templates/web/base/header.html
+++ b/templates/web/base/header.html
@@ -7,7 +7,10 @@
<!--[if IE 7]> <html class="no-js ie7 iel8"[% html_att %]><![endif]-->
<!--[if IE 8]> <html class="no-js ie8 iel8"[% html_att %]><![endif]-->
<!--[if IE 9]> <html class="no-js ie9"[% html_att %]><![endif]-->
-<!--[if gt IE 9]><!--><html class="no-js"[% html_att %]><!--<![endif]-->
+<!--[if gt IE 9]><!--><html class="no-js"[% html_att %]
+[% IF appcache ~%]
+ manifest="/offline/appcache.manifest"
+[%~ END %]><!--<![endif]-->
<head>
<meta name="viewport" content="initial-scale=1.0">
@@ -16,19 +19,11 @@
<meta name="mobileoptimized" content="0">
[% INCLUDE 'header_opengraph.html' %]
- [%
- # For clarity, the 'fixmystreet' moniker (for fixmystreet.com) puts
- # it stylesheets under fixmystreet.com
- IF c.cobrand.moniker == 'fixmystreet';
- SET css_dir = 'fixmystreet.com';
- ELSE;
- SET css_dir = c.cobrand.moniker;
- END %]
- <link rel="stylesheet" href="[% version('/cobrands/' _ css_dir _ '/base.css') %]">
- <link rel="stylesheet" href="[% version('/cobrands/' _ css_dir _ '/layout.css') %]" media="(min-width:48em)">
+ <link rel="stylesheet" href="[% version('/cobrands/' _ c.cobrand.asset_moniker _ '/base.css') %]">
+ <link rel="stylesheet" href="[% version('/cobrands/' _ c.cobrand.asset_moniker _ '/layout.css') %]" media="(min-width:48em)">
[% extra_css %]
<!--[if (lt IE 9) & (!IEMobile)]>
- <link rel="stylesheet" href="[% version('/cobrands/' _ css_dir _ '/layout.css') %]">
+ <link rel="stylesheet" href="[% version('/cobrands/' _ c.cobrand.asset_moniker _ '/layout.css') %]">
<![endif]-->
[% INCLUDE 'common_header_tags.html' %]
diff --git a/templates/web/base/index.html b/templates/web/base/index.html
index 0441b3efb..8cb127e6a 100644
--- a/templates/web/base/index.html
+++ b/templates/web/base/index.html
@@ -1,4 +1,4 @@
-[% map_js = PROCESS 'front/javascript.html' %]
+[% PROCESS 'front/javascript.html' %]
[% pre_container_extra = PROCESS 'around/postcode_form.html' %]
[% INCLUDE 'header.html', title = '', bodyclass = 'frontpage fullwidthpage' %]
diff --git a/templates/web/base/js/translation_strings.html b/templates/web/base/js/translation_strings.html
index d6aca9ccb..b90a4d576 100644
--- a/templates/web/base/js/translation_strings.html
+++ b/templates/web/base/js/translation_strings.html
@@ -46,10 +46,31 @@
map_map: '[% loc('Map') | replace("'", "\\'") %]',
map_satellite: '[% loc('Satellite') | replace("'", "\\'") %]',
+ expand_map: '[% loc('Expand map') | replace("'", "\\'") %]',
+ collapse_map: '[% loc('Collapse map') | replace("'", "\\'") %]',
+
permalink: '[% loc('Permalink') | replace("'", "\\'") %]',
upload_max_files_exceeded: '[% loc ('Whoa there Testino! Three photos are enough.') | replace("'", "\\'") %]',
upload_default_message: '[% loc ('Drag and drop photos here or <u>click to upload</u>') | replace("'", "\\'") %]',
upload_cancel_confirmation: '[% loc ('Are you sure you want to cancel this upload?') | replace("'", "\\'") %]',
- upload_invalid_file_type: '[% loc ('Please upload an image only') | replace("'", "\\'") %]'
+ upload_invalid_file_type: '[% loc ('Please upload an image only') | replace("'", "\\'") %]',
+
+ login_with_email: '[% loc('Log in with email') | replace("'", "\\'") %]',
+
+ offline: {
+ your_reports: '[% loc('Your offline reports') | replace("'", "\\'") %]',
+ update_saved: '[% loc('Your update has been saved offline for submission when back online.') | replace("'", "\\'") %]',
+ update_data_saved: '[% loc('Offline update data saved') | replace("'", "\\'") %]',
+ clear_data: '[% loc('Clear offline data') | replace("'", "\\'") %]',
+ are_you_sure: '[% loc('Are you sure?') | replace("'", "\\'") %]',
+ data_cleared: '[% loc('Offline data cleared') | replace("'", "\\'") %]',
+ reports_saved: '[% loc('Reports saved offline.') | replace("'", "\\'") %]',
+ saving_reports: '[% loc('Saving reports offline', 'This is followed by a progress count, e.g. 3/5') | replace("'", "\\'") %]',
+ you_are_offline: '[% loc('You are offline') | replace("'", "\\'") %]',
+ N_saved: '[% loc('<span>%s</span> saved.') | replace("'", "\\'") %]',
+ saved_to_submit: '[% loc('You have <a id="oFN" href=""><span>%s</span> saved to submit</a>.') | replace("'", "\\'") %]',
+ update_single: '[% loc('update') | replace("'", "\\'") %]',
+ update_plural: '[% loc('updates') | replace("'", "\\'") %]'
+ }
};
diff --git a/templates/web/base/main_nav.html b/templates/web/base/main_nav.html
new file mode 100644
index 000000000..31bd61af5
--- /dev/null
+++ b/templates/web/base/main_nav.html
@@ -0,0 +1,35 @@
+[%
+ SET base = "";
+ SET base = c.cobrand.base_url IF admin;
+
+ # DEFAULT would make sense here, except it treats the empty string as falsy
+ # and some cobrands want to set ul_class to an empty string.
+ SET ul_class="nav-menu nav-menu--main" UNLESS ul_class.defined;
+%]
+[% BLOCK navitem ~%]
+ <li [% liattrs %]>
+ [%~ IF c.req.uri.path == uri ~%]
+ <span [% attrs %]>[% label %]</span>
+ [%~ ELSE ~%]
+ <a href="[% base %][% uri %][% suffix IF suffix %]" [% attrs %]>[% label %]</a>
+ [%~ END ~%]
+ </li>
+[%~ END %]
+
+[% UNLESS omit_wrapper %]
+ <div id="main-nav" role="navigation">
+[% END %]
+
+ [% UNLESS hide_mysoc_link %]
+ <ul class="nav-menu nav-menu--mysoc">
+ <li><a id="mysoc-logo" href="https://www.mysociety.org/">mySociety</a></li>
+ </ul>
+ [% END %]
+
+ <ul class="[% ul_class %]"[% " id='" _ ul_id _ "'" IF ul_id %]>
+ [% INCLUDE 'main_nav_items.html' %]
+ </ul>
+
+[% UNLESS omit_wrapper %]
+ </div>
+[% END %]
diff --git a/templates/web/base/main_nav_items.html b/templates/web/base/main_nav_items.html
new file mode 100644
index 000000000..6b5e09e56
--- /dev/null
+++ b/templates/web/base/main_nav_items.html
@@ -0,0 +1,48 @@
+[%~ INCLUDE navitem uri='/' label=loc('Report a problem') attrs='class="report-a-problem-btn"' ~%]
+
+[%~ IF c.user_exists ~%]
+ [%~ INCLUDE navitem uri='/my' label=loc('Your account') ~%]
+[%~ ELSE ~%]
+ [%~ INCLUDE navitem uri='/auth' label=loc('Sign in') ~%]
+[%~ END ~%]
+
+[%~ IF c.user_exists AND c.user.has_body_permission_to('planned_reports') ~%]
+ [%~ INCLUDE navitem uri='/my/planned' label=loc('Shortlist') ~%]
+[%~ END ~%]
+
+
+[%~ UNLESS hide_all_reports_link ~%]
+ [%~
+ IF c.user_exists AND c.user.categories.size;
+ categories = c.user.categories.join(",") | uri;
+ cat_suffix = "?filter_category=" _ categories;
+ END;
+
+ reports_uri = '/reports';
+ IF body_name;
+ body_name = body_name | uri;
+ reports_uri = "${reports_uri}/${body_name}";
+ END;
+
+ INCLUDE navitem uri=reports_uri label=loc('All reports') suffix=cat_suffix;
+ ~%]
+[%~ END ~%]
+
+[%~
+ IF pc;
+ pc_uri = pc | uri;
+ pc_suffix = "/list?pc=" _ pc_uri;
+ END;
+
+ INCLUDE navitem uri='/alert' label=loc('Local alerts') suffix=pc_suffix;
+~%]
+
+[%~ INCLUDE navitem uri='/faq' label=loc('Help') ~%]
+
+[%~ UNLESS hide_privacy_link ~%]
+ [%~ INCLUDE navitem uri='/privacy' label=loc('Privacy') liattrs='class="nav-menu__item--privacy"' ~%]
+[%~ END ~%]
+
+[%~ IF c.user_exists AND c.cobrand.admin_allow_user(c.user) ~%]
+ [%~ INCLUDE navitem uri='/admin' label=loc('Admin') ~%]
+[%~ END ~%]
diff --git a/templates/web/base/maps/bing.html b/templates/web/base/maps/bing.html
index 6af4c3562..59d012c4f 100644
--- a/templates/web/base/maps/bing.html
+++ b/templates/web/base/maps/bing.html
@@ -1,8 +1,8 @@
-[% map_js = BLOCK %]
-<!-- <script type="text/javascript" src="http://ecn.dev.virtualearth.net/mapcontrol/mapcontrol.ashx?v=7.0&mkt=en-GB"></script> -->
-<script type="text/javascript" src="[% version('/js/OpenLayers/OpenLayers.fixmystreet.js') %]"></script>
-<script type="text/javascript" src="[% version('/js/map-OpenLayers.js') %]"></script>
-<script type="text/javascript" src="[% version('/js/map-bing-ol.js') %]"></script>
-[% END %]
-
-[% map_html = INCLUDE maps/openlayers.html %]
+[%
+map_js = [
+ version('/js/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 03eb843da..e155ff778 100644
--- a/templates/web/base/maps/fms.html
+++ b/templates/web/base/maps/fms.html
@@ -1,9 +1,9 @@
-[% map_js = BLOCK %]
-<!-- <script type="text/javascript" src="http://ecn.dev.virtualearth.net/mapcontrol/mapcontrol.ashx?v=7.0&mkt=en-GB"></script> -->
-<script type="text/javascript" src="[% version('/js/OpenLayers/OpenLayers.fixmystreet.js') %]"></script>
-<script type="text/javascript" src="[% version('/js/map-OpenLayers.js') %]"></script>
-<script type="text/javascript" src="[% version('/js/map-bing-ol.js') %]"></script>
-<script type="text/javascript" src="[% version('/js/map-fms.js') %]"></script>
-[% END %]
-
-[% map_html = INCLUDE maps/openlayers.html include_key = 1 %]
+[%
+map_js = [
+ version('/js/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 cccea5b24..7c7711de9 100644
--- a/templates/web/base/maps/google-ol.html
+++ b/templates/web/base/maps/google-ol.html
@@ -1,9 +1,16 @@
-[% map_js = BLOCK %]
-<script type="text/javascript" src="https://maps.googleapis.com/maps/api/js?v=3"></script>
-<script type="text/javascript" src="[% version('/js/OpenLayers/OpenLayers.google.js') %]"></script>
-<script type="text/javascript" src="[% version('/js/map-OpenLayers.js') %]"></script>
-<script type="text/javascript" src="[% version('/js/map-google-ol.js') %]"></script>
-[% END %]
+[%
+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 _ "&amp;key=" _ c.config.GOOGLE_MAPS_API_KEY;
+END;
+
+map_js = [
+ google_maps_url,
+ version('/js/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>
diff --git a/templates/web/base/maps/google.html b/templates/web/base/maps/google.html
index eeb4c9837..c86c757fb 100644
--- a/templates/web/base/maps/google.html
+++ b/templates/web/base/maps/google.html
@@ -1,4 +1,3 @@
-[% map_js = BLOCK %]
<style>
#map_box img {
max-width: none;
@@ -7,9 +6,12 @@
color: #000;
}
</style>
-<script type="text/javascript" src="http://maps.googleapis.com/maps/api/js?sensor=false"></script>
-<script type="text/javascript" src="[% version('/js/map-google.js') %]"></script>
-[% END %]
+[%
+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
index ab4424cdd..e469901a8 100644
--- a/templates/web/base/maps/mapquest-attribution.html
+++ b/templates/web/base/maps/mapquest-attribution.html
@@ -1,9 +1,8 @@
-[% map_js = BLOCK %]
-<script type="text/javascript" src="[% version('/js/OpenLayers/OpenLayers.fixmystreet.js') %]"></script>
-<script type="text/javascript" src="[% version('/js/map-OpenLayers.js') %]"></script>
-<script type="text/javascript" src="[% version('/js/map-OpenStreetMap.js') %]"></script>
-[% END %]
-
-[% map_html = BLOCK %]
-[% INCLUDE maps/openlayers.html %]
-[% END %]
+[%
+map_js = [
+ version('/js/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/openlayers.html b/templates/web/base/maps/openlayers.html
index 18829c5c4..215b69d26 100644
--- a/templates/web/base/maps/openlayers.html
+++ b/templates/web/base/maps/openlayers.html
@@ -33,4 +33,6 @@
[% IF map.copyright %]
<div class="olControlAttribution" style="position: absolute;">[% map.copyright %]</div>
[% END %]
-
+ <div id="loading-indicator" class="hidden" aria-hidden="true">
+ <img src="/i/loading.svg" alt="Loading..." />
+ </div>
diff --git a/templates/web/base/maps/osm-streetview.html b/templates/web/base/maps/osm-streetview.html
index 2ff3b4723..dcf45d3b6 100644
--- a/templates/web/base/maps/osm-streetview.html
+++ b/templates/web/base/maps/osm-streetview.html
@@ -1,9 +1,8 @@
-[% map_js = BLOCK %]
-<script type="text/javascript" src="[% version('/js/OpenLayers/OpenLayers.fixmystreet.js') %]"></script>
-<script type="text/javascript" src="[% version('/js/map-OpenLayers.js') %]"></script>
-<script type="text/javascript" src="[% version('/js/map-streetview.js') %]"></script>
-[% END %]
-
-[% map_html = BLOCK %]
-[% INCLUDE maps/openlayers.html %]
-[% END %]
+[%
+map_js = [
+ version('/js/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
index 5e48f7569..6512eaf2c 100644
--- a/templates/web/base/maps/osm-toner-lite.html
+++ b/templates/web/base/maps/osm-toner-lite.html
@@ -1,10 +1,9 @@
-[% map_js = BLOCK %]
-<script type="text/javascript" src="[% version('/js/OpenLayers/OpenLayers.fixmystreet.js') %]"></script>
-<script type="text/javascript" src="https://stamen-maps.a.ssl.fastly.net/js/tile.stamen.js?v1.3.0"></script>
-<script type="text/javascript" src="[% version('/js/map-OpenLayers.js') %]"></script>
-<script type="text/javascript" src="[% version('/js/map-toner-lite.js') %]"></script>
-[% END %]
-
-[% map_html = BLOCK %]
-[% INCLUDE maps/openlayers.html %]
-[% END %]
+[%
+map_js = [
+ version('/js/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 ab4424cdd..e469901a8 100644
--- a/templates/web/base/maps/osm.html
+++ b/templates/web/base/maps/osm.html
@@ -1,9 +1,8 @@
-[% map_js = BLOCK %]
-<script type="text/javascript" src="[% version('/js/OpenLayers/OpenLayers.fixmystreet.js') %]"></script>
-<script type="text/javascript" src="[% version('/js/map-OpenLayers.js') %]"></script>
-<script type="text/javascript" src="[% version('/js/map-OpenStreetMap.js') %]"></script>
-[% END %]
-
-[% map_html = BLOCK %]
-[% INCLUDE maps/openlayers.html %]
-[% END %]
+[%
+map_js = [
+ version('/js/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/my/planned.html b/templates/web/base/my/planned.html
index eb67247c4..366a554d9 100644
--- a/templates/web/base/my/planned.html
+++ b/templates/web/base/my/planned.html
@@ -22,11 +22,13 @@
[% END %]
<section class="full-width">
-[% INCLUDE "reports/_list-filters.html", use_form_wrapper = 1 %]
+[% INCLUDE "reports/_list-filters.html", use_form_wrapper = 1 shortlist = 1 %]
<div class="js-pagination">
[% INCLUDE 'pagination.html', pager = problems_pager, param = 'p' %]
</div>
-[% INCLUDE 'my/_problem-list.html' %]
+<div id="js-reports-list">
+[% INCLUDE 'my/_problem-list.html' shortlist = 1 %]
+</div>
</section>
</div>
diff --git a/templates/web/base/offline/appcache.html b/templates/web/base/offline/appcache.html
new file mode 100644
index 000000000..ba54b229a
--- /dev/null
+++ b/templates/web/base/offline/appcache.html
@@ -0,0 +1,13 @@
+[% INCLUDE 'header.html' appcache = 1 bodyclass = "fullwidthpage" %]
+
+<h1>[% loc('Internet glitch') %]</h1>
+
+<p>[% loc('Sorry, we don’t have a good enough connection to fetch that page, or the
+page wasn’t found or there was a server error. Please try again later.') %]
+</p>
+
+<ul class="item-list item-list--reports" id="offline_list"></ul>
+
+<div id="offline_clear"></div>
+
+[% INCLUDE 'footer.html' %]
diff --git a/templates/web/base/offline/manifest.html b/templates/web/base/offline/manifest.html
new file mode 100644
index 000000000..93d26cb94
--- /dev/null
+++ b/templates/web/base/offline/manifest.html
@@ -0,0 +1,16 @@
+CACHE MANIFEST
+
+[% PROCESS 'common_scripts.html' ~%]
+
+CACHE:
+[% version('/cobrands/' _ c.cobrand.asset_moniker _ '/base.css') %]
+[% version('/cobrands/' _ c.cobrand.asset_moniker _ '/layout.css') %]
+[% FOR script IN scripts ~%]
+ [%- script %]
+[% END %]
+
+NETWORK:
+*
+
+FALLBACK:
+/ [% version('../templates/web/base/offline/appcache.html', '/offline/appcache') %]
diff --git a/templates/web/base/open311/index.html b/templates/web/base/open311/index.html
index 558c14ca5..51e7ef364 100644
--- a/templates/web/base/open311/index.html
+++ b/templates/web/base/open311/index.html
@@ -40,7 +40,7 @@ about future-proofing your communication channels in an easy and economical way
[% IF c.cobrand.moniker == 'fixmystreet' %]
<p>You may be interested to know about <a
-href="https://www.fixmystreet.com/council">FixMyStreet
+href="https://www.fixmystreet.com/about/council">FixMyStreet
for Councils</a>, our hosted service which sits seamlessly on your council
website.</p>
diff --git a/templates/web/base/report/_inspect.html b/templates/web/base/report/_inspect.html
index 06c3aab6c..b75394abd 100644
--- a/templates/web/base/report/_inspect.html
+++ b/templates/web/base/report/_inspect.html
@@ -1,4 +1,3 @@
-[% PROCESS 'admin/report_blocks.html'; # For the report state dropdown %]
[% permissions = c.user.permissions(c, problem.bodies_str) %]
[% second_column = BLOCK -%]
<div id="side-inspect">
@@ -13,9 +12,15 @@
</p>
<p>
[% SET local_coords = problem.local_coords; %]
- <strong>[% loc('Easting/Northing:') %]</strong>
- <span id="problem_easting">[% local_coords.0 IF local_coords %]</span>,
- <span id="problem_northing">[% local_coords.1 IF local_coords %]</span>
+ [% IF local_coords %]
+ <strong>[% loc('Easting/Northing:') %]</strong>
+ <span id="problem_easting">[% local_coords.0 %]</span>,
+ <span id="problem_northing">[% local_coords.1 %]</span>
+ [% ELSE %]
+ <strong>[% loc('Latitude/Longitude:') %]</strong>
+ <span id="problem_latitude">[% problem.latitude %]</span>
+ <span id="problem_longitude">[% problem.longitude %]</span>,
+ [% END %]
<input type="hidden" name="longitude" value="[% problem.longitude %]">
<input type="hidden" name="latitude" value="[% problem.latitude %]">
</p>
@@ -31,21 +36,7 @@
<div class="inspect-section">
<p>
<label for="category">[% loc('Category') %]</label>
- [%# XXX this is duplicated from admin/report_edit.html, should be refactored %]
- <select name="category" id="category" class="form-control">
- [% IF NOT problem.category OR NOT categories.grep(problem.category).size %]
- <optgroup label="[% loc('Existing category') %]">
- <option selected value="[% problem.category | html %]">[% (problem.category OR '-') | html %]</option>
- </optgroup>
- [% END %]
- [% IF categories.size %]
- <optgroup label="[% loc('Available categories') %]">
- [% FOREACH cat IN categories %]
- <option[% ' selected' IF problem.category == cat %]>[% cat | html %]</option>
- [% END %]
- </optgroup>
- [% END %]
- </select>
+ [% INCLUDE 'admin/report-category.html' %]
</p>
[% FOREACH category IN categories %]
@@ -63,19 +54,21 @@
[% END %]
[% IF permissions.report_inspect %]
+ [% PROCESS 'defect_type/format.html' %]
<p>
- <label for="state">[% loc('State') %]</label>
- [%# XXX this is duplicated from admin/report_edit.html, should be refactored %]
- <select name="state" id="state" class="form-control">
- [% FOREACH group IN state_groups %]
- <optgroup label="[% group.0 %]">
- [% FOREACH state IN group.1 %]
- <option [% 'selected ' IF state == problem.state %] value="[% state %]">[% state_pretty.$state %]</option>
- [% END %]
- </optgroup>
+ <label for="defect_type">[% loc('Defect type') %]</label>
+ <select id="defect_type" name="defect_type" class="form-control">
+ <option value=""[% ' selected' IF NOT problem.defect_type %]>-</option>
+ [% FOREACH defect_type IN problem.defect_types %]
+ <option[% ' selected' IF problem.defect_type_id == defect_type.id %] value="[% defect_type.id %]">[% defect_type_format() %]</option>
[% END %]
</select>
</p>
+
+ <p>
+ <label for="state">[% loc('State') %]</label>
+ [% INCLUDE 'report/inspect/state_groups_select.html' %]
+ </p>
<div id="js-duplicate-reports" class="[% "hidden" UNLESS problem.duplicate_of %]">
<input type="hidden" name="duplicate_of" value="[% problem.duplicate_of.id %]">
<p class="[% "hidden" UNLESS problem.duplicate_of %]"><strong>[% loc('Duplicate of') %]</strong></p>
@@ -118,8 +111,9 @@
[% traffic_info = problem.get_extra_metadata('traffic_information') %]
<select id="traffic_information" name="traffic_information" class="form-control">
<option value=""[% ' selected' IF NOT traffic_info %]>-</option>
- <option[% ' selected' IF traffic_info == "Yes" %]>Yes</option>
- <option[% ' selected' IF traffic_info == "No" %]>No</option>
+ [% FOREACH option IN problem.traffic_management_options %]
+ <option value='[% option %]'[% ' selected' IF traffic_info == option %]>[% option %]</option>
+ [% END %]
</select>
</p>
<p>
@@ -136,7 +130,7 @@
[% IF permissions.report_inspect %]
<p>
<label class="label-containing-checkbox">
- <input type="checkbox" name="save_inspected" value="1" class="js-toggle-public-update" [% 'checked' IF save_inspected %]>
+ <input type="checkbox" name="include_update" value="1" class="js-toggle-public-update" checked>
[% loc('Save with a public update') %]
</label>
</p>
@@ -157,7 +151,6 @@
<p>
<input type="hidden" name="token" value="[% csrf_token %]">
- <a class="btn" href="[% c.uri_for( '/report', problem.id ) %]">[% loc('Cancel') %]</a>
<input class="btn btn-primary" type="submit" value="[% loc('Save changes') %]" data-value-original="[% loc('Save changes') %]" data-value-duplicate="[% loc('Save + close as duplicate') %]" name="save" />
</p>
</div>
diff --git a/templates/web/base/report/_item.html b/templates/web/base/report/_item.html
index 0f42b00ce..e627227d4 100644
--- a/templates/web/base/report/_item.html
+++ b/templates/web/base/report/_item.html
@@ -1,18 +1,65 @@
-<li class="item-list__item item-list--reports__item [% item_extra_class %]" data-report-id="[% problem.id | html %]">
+[% IF NOT report_blocks_included ~%]
+[% PROCESS 'admin/report_blocks.html' ~%]
+[% END ~%]
+
+[% IF c.user.has_permission_to('planned_reports', problem.bodies_str_ids) ~%]
+ [% item_extra_class = "item-list__item--indented" ~%]
+ [% item_action = BLOCK ~%]
+ <input type="submit" value="1"
+ data-label-remove="[% loc('Remove from shortlist') %]"
+ data-label-add="[% loc('Add to shortlist') %]"
+ [% IF c.user.is_planned_report(problem) ~%]
+ name="shortlist-remove" title="[% loc('Remove from shortlist') %]" class="item-list__item__shortlist-remove"
+ [%~ ELSE ~%]
+ name="shortlist-add" title="[% loc('Add to shortlist') %]" class="item-list__item__shortlist-[% IF problem.shortlisted_user %]take[% ELSE %]add[% END %]"
+ [%~ END ~%]
+ >
+ [%~ END %]
+[% END %]
+
+[% IF shortlist %]
+ [% item_extra_class = "item-list__item--indented item-list__item--act-and-sort" %]
+ [% item_action = BLOCK %]
+ [% item_action %]
+ <input type="submit" name="shortlist-up" value="[% loc('Up one') %]" title="[% loc('Up one') %]" class="item-list__item__shortlist-up" [% IF loop.first %]disabled[% END %]>
+ <input type="submit" name="shortlist-down" value="[% loc('Down one') %]" title="[% loc('Down one') %]" class="item-list__item__shortlist-down" [% IF loop.last %]disabled[% END %]>
+ [% END %]
+[% END %]
+
+<li class="item-list__item item-list--reports__item [% item_extra_class %]"
+ data-report-id="[% problem.id | html %]" data-lastupdate="[% problem.lastupdate %]">
<a href="[% c.cobrand.base_url_for_report( problem ) %][% problem.url %]">
[% IF problem.photo %]
<img class="img" height="60" width="90" src="[% problem.photos.first.url_fp %]" alt="">
[% END %]
<h3 class="item-list__heading">[% problem.title | html %]</h3>
+ [% IF c.user.has_permission_to('report_inspect', problem.bodies_str_ids) %]
+ <div class="item-list__description">[% problem.detail | html %]</div>
+ [% END %]
<small>
+ [% IF NOT no_fixed AND problem.is_fixed %]
+ <span class="item-list__item__state">[% loc('Fixed') %]</span>
+ [% ELSIF NOT no_fixed AND problem.is_closed %]
+ <span class="item-list__item__state">[% loc('Closed') %]</span>
+ [% ELSIF problem.response_priority AND (c.user.has_permission_to('report_edit_priority', problem.bodies_str_ids) OR c.user.has_permission_to('report_inspect', problem.bodies_str_ids)) %]
+ <span class="item-list__item__state">[% problem.response_priority.name %]</span>
+ [% END %]
[%- IF c.cobrand.moniker != 'fixamingata' %] [%# Default: %]
- [%- prettify_dt( problem.confirmed, 1 ) %]
+ [%- IF problem.days_ago > 0 AND problem.days_ago <= c.cobrand.display_days_ago_threshold %]
+ [% tprintf( nget('Reported %d day ago', 'Reported %d days ago', problem.days_ago), problem.days_ago ) %]
+ [%- ELSE %]
+ [% prettify_dt( problem.confirmed, 1 ) %]
+ [%- END %]
[%- ELSE %] [%# Swedish cobrand fixamingata: %]
[%- prettify_dt( problem.confirmed) %]
[%- END %]
[%- IF dist %], [% dist %]km[% END %]
[%- IF problem.confirmed != problem.lastupdate AND problem.whensent != problem.lastupdate %],
- [% tprintf(loc('last updated %s'), prettify_dt( problem.lastupdate, 1 ) ) %]
+ [%- IF problem.days_ago('lastupdate') > 0 AND problem.days_ago('lastupdate') <= c.cobrand.display_days_ago_threshold %]
+ [% tprintf( nget('last updated %d day ago', 'last updated %d days ago', problem.days_ago('lastupdate') ), problem.days_ago('lastupdate') ) %]
+ [%- ELSE %]
+ [% tprintf(loc('last updated %s'), prettify_dt( problem.lastupdate, 1 ) ) %]
+ [%- END %]
[%- END %]
[% IF include_sentinfo %]
[% IF c.cobrand.is_council && !c.cobrand.owns_problem( problem ) %]
@@ -21,11 +68,64 @@
[% ELSIF problem.bodies_str_ids.size == 0 %] [% loc('(not sent to council)') %]
[% END %]
[% END %]
- [% IF NOT no_fixed AND problem.is_fixed %]
- [% loc('(fixed)') %]
- [% ELSIF NOT no_fixed AND problem.is_closed %]
- [% loc('(closed)') %]
- [% END %]
</small>
+
+ [% IF c.user.has_permission_to('report_inspect', problem.bodies_str_ids) %]
+ <div class="item-list__item__metadata">
+ <div>
+ <h4>[% loc('Report ID:') %]</h4>
+ <p>[% problem.id %]</p>
+ </div>
+ [% IF problem.local_coords %]
+ <div>
+ <h4>[% loc('Easting/Northing:') %]</h4>
+ <p>[% problem.local_coords.0 %], [% problem.local_coords.1 %]</p>
+ </div>
+ [% END %]
+ <div>
+ <h4>[% loc('Latitude/Longitude:') %]</h4>
+ <p>[% problem.latitude %], [% problem.longitude %]</p>
+ </div>
+ <div>
+ <h4>[% loc('Category') %]</h4>
+ <p>[% (problem.category OR '-') | html %]</p>
+ </div>
+ <div>
+ <h4>[% loc('State') %]</h4>
+ <p>[% state_pretty.${problem.state} %]</p>
+ </div>
+ <div>
+ <h4>[% loc('Priority') %]</h4>
+ <p>[% problem.response_priority.name OR '-' %]</p>
+ </div>
+ <div>
+ <h4>[% loc('Traffic management required?') %]</h4>
+ <p>[% problem.get_extra_metadata('traffic_information') %]</p>
+ </div>
+ <div>
+ <h4>[% loc('Extra details') %]</h4>
+ <p>[% problem.get_extra_metadata('detailed_information') | html %]</p>
+ </div>
+ [% SET fields = problem.get_extra_fields; IF fields.size %]
+ [% FOR f IN fields %]
+ <div>
+ <h4>[% f.name %]</h4>
+ <p>[% f.value %]</p>
+ </div>
+ [% END %]
+ [% END %]
+ </div>
+ [% END %]
+
+
</a>
+[% IF item_action AND page != 'around' %]
+ <form method="post" action="/my/planned/change">
+ <input type="hidden" name="id" value="[% problem.id %]">
+ <input type="hidden" name="token" value="[% csrf_token %]">
+ [% item_action %]
+ </form>
+[% ELSIF item_action ~%]
+ [% item_action.replace('("shortlist-[^"]*)', '$1-' _ problem.id) %]
+[% END ~%]
</li>
diff --git a/templates/web/base/report/_main.html b/templates/web/base/report/_main.html
index 4de26535c..83a3a1109 100644
--- a/templates/web/base/report/_main.html
+++ b/templates/web/base/report/_main.html
@@ -5,13 +5,13 @@
<a href="[% c.uri_for( '/around', { lat => latitude, lon => longitude } ) %]"
class="problem-back js-back-to-report-list">[% loc('Back to all reports') %]</a>
-<div class="problem-header clearfix" problem-id="[% problem.id %]">
+<div class="problem-header clearfix" data-lastupdate="[% problem.lastupdate %]">
[% IF c.user.has_permission_to('planned_reports', problem.bodies_str_ids) %]
<form method="post" action="/my/planned/change" id="planned_form" class="hidden-label-target">
<input type="hidden" name="id" value="[% problem.id %]">
<input type="hidden" name="token" value="[% csrf_token %]">
- <input type="hidden" name="change" value="[% IF c.user.is_planned_report(problem) %]remove[% ELSE %]add[% END %]">
+ <input type="hidden" name="[% IF c.user.is_planned_report(problem) %]shortlist-remove[% ELSE %]shortlist-add[% END %]" value="1">
<p><input
type="submit"
id="shortlist-report"
@@ -19,12 +19,16 @@
data-label-add="[% loc('Add to shortlist') %]"
data-value-remove="[% loc('Shortlisted') %]"
data-value-add="[% loc('Shortlist') %]"
+ data-class-remove="btn--shortlisted"
+ data-class-add="btn--shortlist"
[%~ IF c.user.is_planned_report(problem) ~%]
value="[% loc('Shortlisted') %]"
aria-label="[% loc('Remove from shortlist') %]"
+ class="btn--shortlisted"
[%~ ELSE ~%]
value="[% loc('Shortlist') %]"
aria-label="[% loc('Add to shortlist') %]"
+ class="btn--shortlist"
[%~ END ~%]
></p>
</form>
@@ -43,7 +47,7 @@
[% IF problem.title != original.title %]
<label>
<input type="checkbox" name="problem_revert_title" class="revert-title">
- Revert to original title
+ [% loc('Revert to original title') %]
</label>
[% END %]
<h1><input class="form-control" type="text" name="problem_title" value="[% problem.title | html %]" data-original-value="[% original.title | html %]"></h1>
@@ -53,7 +57,7 @@
<div class="moderate-edit">
<label>
<input type="checkbox" name="problem_show_name" [% 'checked' UNLESS problem.anonymous %]>
- Show reporter&rsquo;s name
+ [% loc('Show reporter&rsquo;s name') %]
</label>
</div>
<p class="report_meta_info">
@@ -62,7 +66,7 @@
[% INCLUDE 'report/_main_sent_info.html' %]
[% mlog = problem.latest_moderation_log_entry(); IF mlog %]
- <p>Moderated by [% mlog.user.from_body.name %] at [% prettify_dt(mlog.whenedited) %]</p>
+ <p>[% tprintf(loc('Moderated by %s at %s'), mlog.admin_user, prettify_dt(mlog.whenedited)) %]</p>
[% END %]
[% INCLUDE 'report/_support.html' %]
@@ -72,7 +76,7 @@
<p class="moderate-edit">
<label>
<input type="checkbox" name="problem_show_photo" [% problem.photo ? 'checked' : '' %]>
- Show photo
+ [% loc('Show photo') %]
</label>
</p>
[% END %]
@@ -88,7 +92,7 @@
[% IF problem.detail != original.detail %]
<label>
<input type="checkbox" name="problem_revert_detail" class="revert-textarea">
- Revert to original text
+ [% loc('Revert to original text') %]
</label>
[% END %]
<textarea class="form-control" name="problem_detail" data-original-value="[% original.detail | html %]">[% problem.detail | html %]</textarea>
@@ -98,16 +102,16 @@
<p>
<label>
<input type="checkbox" class="hide-document" name="problem_hide" [% problem.hidden ? 'checked' : '' %]>
- Hide entire report
+ [% loc('Hide entire report') %]
</label>
</p>
<p>
- <label for="moderation_reason">Moderation reason:</label>
- <input type="text" class="form-control" name="moderation_reason" placeholder="Describe why you are moderating this">
+ <label for="moderation_reason">[% loc('Moderation reason:') %]</label>
+ <input type="text" class="form-control" name="moderation_reason" placeholder="[% loc('Describe why you are moderating this') %]">
</p>
<p>
- <input type="submit" class="green-btn" value="Save changes">
- <input type="button" class="btn cancel" value="Discard changes">
+ <input type="submit" class="green-btn" value="[% loc('Save changes') %]">
+ <input type="button" class="btn cancel" value="[% loc('Discard changes') %]">
</p>
</div>
[% END %]
@@ -127,9 +131,9 @@
[% END %]
[% IF c.user.has_permission_to('planned_reports', problem.bodies_str_ids) %]
[%~ IF c.user.is_planned_report(problem) ~%]
- <label class="btn" for="shortlist-report" role="menuitem" aria-label="[% loc('Remove from shortlist') %]">[% loc('Shortlisted') %]</label>
+ <label class="btn btn--shortlisted" for="shortlist-report" role="menuitem" aria-label="[% loc('Remove from shortlist') %]">[% loc('Shortlisted') %]</label>
[%~ ELSE ~%]
- <label class="btn" for="shortlist-report" role="menuitem" aria-label="[% loc('Add to shortlist') %]">[% loc('Shortlist') %]</label>
+ <label class="btn btn--shortlist" for="shortlist-report" role="menuitem" aria-label="[% loc('Add to shortlist') %]">[% loc('Shortlist') %]</label>
[%~ END ~%]
[% END %]
</div>
diff --git a/templates/web/base/report/_state_select_field.html b/templates/web/base/report/_state_select_field.html
new file mode 100644
index 000000000..9b3ed18df
--- /dev/null
+++ b/templates/web/base/report/_state_select_field.html
@@ -0,0 +1,12 @@
+<select class="form-control" name="state" id="state">
+[% IF include_empty %]
+ <option value="">---</option>
+[% END %]
+[% FOREACH group IN state_groups %]
+ <optgroup label="[% group.0 %]">
+ [% FOREACH state IN group.1 %]
+ <option [% 'selected ' IF state == current_state %] value="[% state %]">[% state_pretty.$state %]</option>
+ [% END %]
+ </optgroup>
+[% END %]
+</select>
diff --git a/templates/web/base/report/banner.html b/templates/web/base/report/banner.html
index 188e96502..c80d129eb 100644
--- a/templates/web/base/report/banner.html
+++ b/templates/web/base/report/banner.html
@@ -14,7 +14,6 @@
[% IF problem.is_closed %]
[% INCLUDE banner, id = 'closed', text = loc('Closed') %]
[% END %]
-[% states = [ 'investigating', 'in progress', 'planned', 'action scheduled' ];
- IF states.grep(problem.state).size %]
+[% IF problem.is_in_progress %]
[% INCLUDE banner, id = 'progress', text = loc('In progress') %]
[% END %]
diff --git a/templates/web/base/report/inspect/state_groups_select.html b/templates/web/base/report/inspect/state_groups_select.html
new file mode 100644
index 000000000..c4043751b
--- /dev/null
+++ b/templates/web/base/report/inspect/state_groups_select.html
@@ -0,0 +1,24 @@
+[%
+SET state_pretty = {
+ 'confirmed' = loc('Open')
+ 'investigating' = loc('Investigating')
+ 'in progress' = loc('In progress')
+ 'action scheduled' = loc('Action Scheduled')
+ 'fixed - council' = loc('Fixed - Council')
+ 'unable to fix' = loc('No further action')
+ 'not responsible' = loc('Not Responsible')
+ 'duplicate' = loc('Duplicate')
+ 'internal referral' = loc('Internal referral')
+ 'hidden' = loc('Hidden')
+};
+
+SET state_groups = [
+ [ loc('Open'), [ 'confirmed', 'investigating', 'in progress', 'action scheduled' ] ],
+ [ loc('Fixed'), [ 'fixed - council' ] ],
+ [ loc('Closed'), [ 'unable to fix', 'not responsible', 'duplicate', 'internal referral' ] ],
+ [ loc('Hidden'), [ 'hidden' ] ]
+];
+
+%]
+[% DEFAULT current_state = problem.state %]
+[% INCLUDE 'report/_state_select_field.html' %]
diff --git a/templates/web/base/report/new/form_report.html b/templates/web/base/report/new/form_report.html
index 3c36bd0cc..e85d890c9 100644
--- a/templates/web/base/report/new/form_report.html
+++ b/templates/web/base/report/new/form_report.html
@@ -7,7 +7,7 @@
[% PROCESS "report/new/category_wrapper.html" %]
[% TRY %][% PROCESS 'report/new/after_category.html' %][% CATCH file %][% END %]
- <h2 class="form-section-heading">Public details</h2>
+ <h2 class="form-section-heading">[% loc( 'Public details' ) %]</h2>
<div class="form-section-description" id="js-councils_text">
[% IF js %]
[% PROCESS 'report/new/councils_text_all.html' list_of_names = [ loc('the local council') ] %]
diff --git a/templates/web/base/report/new/form_user.html b/templates/web/base/report/new/form_user.html
index 424660aa8..68a226693 100644
--- a/templates/web/base/report/new/form_user.html
+++ b/templates/web/base/report/new/form_user.html
@@ -1,4 +1,4 @@
-<h2 class="form-section-heading form-section-heading--private">Private details</h2>
+<h2 class="form-section-heading form-section-heading--private">[% loc('Private details') %]</h2>
<p class="form-section-description" id="js-councils_text_private">
[% IF js %]
[% loc('These will be sent to the council, but will never be shown online.') %]
diff --git a/templates/web/base/report/new/form_user_loggedout.html b/templates/web/base/report/new/form_user_loggedout.html
index c444ebce4..4142f4582 100644
--- a/templates/web/base/report/new/form_user_loggedout.html
+++ b/templates/web/base/report/new/form_user_loggedout.html
@@ -3,7 +3,7 @@
<div class="form-box">
<button name="facebook_sign_in" id="facebook_sign_in" value="facebook_sign_in" class="btn btn--block btn--social btn--facebook">
<img alt="" src="/i/facebook-icon-32.png" width="17" height="32">
- Log in with Facebook
+ [% loc('Log in with Facebook') %]
</button>
</div>
[% END %]
@@ -11,7 +11,7 @@
<div class="form-box">
<button name="twitter_sign_in" id="twitter_sign_in" value="twitter_sign_in" class="btn btn--block btn--social btn--twitter">
<img alt="" src="/i/twitter-icon-32.png" width="17" height="32">
- Log in with Twitter
+ [% loc('Log in with Twitter') %]
</button>
</div>
[% END %]
diff --git a/templates/web/base/report/photo-js.html b/templates/web/base/report/photo-js.html
index 05588d085..91b9930e7 100644
--- a/templates/web/base/report/photo-js.html
+++ b/templates/web/base/report/photo-js.html
@@ -1,6 +1,6 @@
[% extra_css = BLOCK %]
<link rel="stylesheet" href="[% version('/js/fancybox/jquery.fancybox-1.3.4.css') %]">
[% END %]
-[% extra_js = BLOCK %]
- <script src="[% version('/js/fancybox/jquery.fancybox-1.3.4.pack.js') %]" charset="utf-8"></script>
-[% END %]
+[% extra_js = [
+ version('/js/fancybox/jquery.fancybox-1.3.4.pack.js')
+] %]
diff --git a/templates/web/base/report/update.html b/templates/web/base/report/update.html
index d423a193d..51c1a9e4f 100644
--- a/templates/web/base/report/update.html
+++ b/templates/web/base/report/update.html
@@ -9,15 +9,15 @@
[% IF moderating; original_update = update.moderation_original_data %]
<form method="post" action="/moderate/report/[% problem.id %]/update/[% update.id %]">
<input type="hidden" name="token" value="[% csrf_token %]">
- <input type="button" class="btn js-moderate moderate-display" value="Moderate this update">
+ <input type="button" class="btn js-moderate moderate-display" value="[% loc('Moderate this update') %]">
<div class="moderate-edit">
<label><input type="checkbox" class="hide-document" name="update_hide">
- Hide update completely?</label>
+ [% loc('Hide update completely?') %]</label>
<label><input type="checkbox" name="update_show_name" [% update.anonymous ? '' : 'checked' %]>
- Show name publicly?</label>
+ [% loc('Show name publicly?') %]</label>
[% IF update.photo or original_update.photo %]
<label><input type="checkbox" name="update_show_photo" [% update.photo ? 'checked' : '' %]>
- Show Photo?</label>
+ [% loc('Show Photo?') %]</label>
[% END %]
</div>
[% END %]
@@ -37,7 +37,7 @@
<div class="moderate-edit">
[% IF update.text != original.detail %]
<label><input type="checkbox" name="update_revert_detail" class="revert-textarea">
- Revert to original</label>
+ [% loc('Revert to original') %]</label>
[% END %]
<textarea class="form-control" name="update_detail">[% update.text | add_links %]</textarea>
</div>
@@ -46,7 +46,7 @@
<p class="meta-2">
[% INCLUDE meta_line %]
[% mlog = update.latest_moderation_log_entry(); IF mlog %]
- <br /> Moderated by [% mlog.user.from_body.name %] at [% prettify_dt(mlog.whenedited) %]
+ <br />[% tprintf(loc('Moderated by %s at %s'), mlog.admin_user, prettify_dt(mlog.whenedited)) %]
[% END %]
</p>
</div>
@@ -54,11 +54,11 @@
</div>
[% IF moderating %]
<div class="moderate-edit">
- <label for="moderation_reason">Moderation reason:</label>
+ <label for="moderation_reason">[% loc('Moderation reason:') %]</label>
<input type="text" class="form-control" name="moderation_reason"
- placeholder="Describe why you are moderating this">
- <input type="submit" class="red-btn" value="Save changes">
- <input type="button" class="btn cancel" value="Discard changes">
+ placeholder="[% loc('Describe why you are moderating this') %]">
+ <input type="submit" class="red-btn" value="[% loc('Save changes') %]">
+ <input type="button" class="btn cancel" value="[% loc('Discard changes') %]">
</div>
</form>
[% END %]
diff --git a/templates/web/base/report/update/form_update.html b/templates/web/base/report/update/form_update.html
index a3d4615e1..f15a1f74b 100644
--- a/templates/web/base/report/update/form_update.html
+++ b/templates/web/base/report/update/form_update.html
@@ -41,16 +41,20 @@
[% FOREACH state IN [ ['confirmed', loc('Open')], ['investigating',
loc('Investigating')], ['action scheduled', loc('Action Scheduled')],
['in progress', loc('In Progress')], ['duplicate', loc('Duplicate')],
- ['unable to fix', loc('Unable to fix')], ['not responsible', loc('Not Responsible')],
+ ['unable to fix', loc('No further action')], ['not responsible', loc('Not Responsible')],
['fixed', loc('Fixed')] ] %]
<option [% 'selected ' IF state.0 == problem.state_display %] value="[% state.0 %]">[% state.1 %]</option>
[% END %]
</select>
[% ELSE %]
- [% IF problem.is_fixed AND ((c.user_exists AND c.user.id == problem.user_id) OR alert_to_reporter) %]
+ [% IF (problem.is_fixed OR problem.state == 'closed') AND ((c.user_exists AND c.user.id == problem.user_id) OR alert_to_reporter) %]
- <input type="checkbox" name="reopen" id="form_reopen" value="1"[% ' checked' IF update.mark_open %]>
- <label class="inline" for="form_reopen">[% loc('This problem has not been fixed') %]</label>
+ <input type="checkbox" name="reopen" id="form_reopen" value="1"[% ' checked' IF (update.mark_open || c.req.params.reopen) %]>
+ [% IF problem.is_closed %]
+ <label class="inline" for="form_reopen">[% loc('This problem is still ongoing') %]</label>
+ [% ELSE %]
+ <label class="inline" for="form_reopen">[% loc('This problem has not been fixed') %]</label>
+ [% END %]
[% ELSIF !problem.is_fixed %]
diff --git a/templates/web/base/report/update/form_user_loggedout.html b/templates/web/base/report/update/form_user_loggedout.html
index fa26eb8f4..d9f67e06e 100644
--- a/templates/web/base/report/update/form_user_loggedout.html
+++ b/templates/web/base/report/update/form_user_loggedout.html
@@ -4,7 +4,7 @@
<div class="form-box">
<button name="facebook_sign_in" id="facebook_sign_in" value="facebook_sign_in" class="btn btn--block btn--social btn--facebook">
<img alt="" src="/i/facebook-icon-32.png" width="17" height="32">
- Log in with Facebook
+ [% loc('Log in with Facebook') %]
</button>
</div>
[% END %]
@@ -12,7 +12,7 @@
<div class="form-box">
<button name="twitter_sign_in" id="twitter_sign_in" value="twitter_sign_in" class="btn btn--block btn--social btn--twitter">
<img alt="" src="/i/twitter-icon-32.png" width="17" height="32">
- Log in with Twitter
+ [% loc('Log in with Twitter') %]
</button>
</div>
[% END %]
diff --git a/templates/web/base/report/updates.html b/templates/web/base/report/updates.html
index ff48ecbca..75e94b1d5 100644
--- a/templates/web/base/report/updates.html
+++ b/templates/web/base/report/updates.html
@@ -11,54 +11,6 @@
[% RETURN %]
[% END %]
- [% IF update.anonymous || update.name == '' %]
- [% tprintf( loc( 'Posted anonymously at %s' ), prettify_dt( update.confirmed ) ) -%]
- [%- ELSIF update.user.from_body;
- user_name = update.user.name | html;
- body = update.user.body;
- IF body == 'Bromley Council';
- body = "$body <img src='/cobrands/bromley/favicon.png' alt=''>";
- END %]
- [% tprintf( loc( 'Posted by %s (<strong>%s</strong>) at %s' ), user_name, body, prettify_dt( update.confirmed ) ) -%]
- [%- ELSE %]
- [% tprintf( loc( 'Posted by %s at %s' ), update.name, prettify_dt( update.confirmed ) ) | html -%]
- [%- END -%]
+ [% update.meta_line(c) %]
- [%- update_state = '' %]
- [%- IF update.mark_fixed %][% update_state = loc( 'marked as fixed' ) %][% END %]
- [%- IF update.mark_open %][% update_state = loc( 'reopened' ) %][% END %]
- [%- IF !update_state && update.problem_state %]
- [%- state = update.problem_state_display %]
- [%- IF c.cobrand.moniker == 'bromley' OR problem.bodies_str == '2482' %]
- [%- SET update_state = 'marked as no further action' IF state == 'unable to fix' %]
- [%- SET update_state = 'marked as third party responsibility' IF state == 'not responsible' %]
- [%- END %]
- [%- END %]
- [%- IF !update_state && update.problem_state %]
- [%- IF state == 'confirmed' AND global.last_state != '' %]
- [%- update_state = loc( 'reopened' ) %]
- [%- ELSIF state == 'investigating' %]
- [%- update_state = loc( 'marked as investigating' ) %]
- [%- ELSIF state == 'planned' %]
- [%- update_state = loc( 'marked as planned' ) %]
- [%- ELSIF state == 'in progress' %]
- [%- update_state = loc( 'marked as in progress' ) %]
- [%- ELSIF state == 'action scheduled' %]
- [%- update_state = loc( 'marked as action scheduled' ) %]
- [%- ELSIF state == 'closed' %]
- [%- update_state = loc( 'marked as closed' ) %]
- [%- ELSIF state == 'fixed' %]
- [%- update_state = loc( 'marked as fixed' ) %]
- [%- ELSIF state == 'unable to fix' %]
- [%- update_state = loc( 'marked as unable to fix' ) %]
- [%- ELSIF state == 'not responsible' %]
- [%- update_state = loc( "marked as not the council's responsibility" ) %]
- [%- ELSIF state == 'duplicate' %]
- [%- update_state = loc( 'closed as a duplicate report' ) %]
- [%- ELSIF state == 'internal referral' %]
- [%- update_state = loc( 'marked as an internal referral' ) %]
- [%- END %]
- [%- END %]
- [%- ", " _ update_state IF update_state != global.last_state %]
- [%- global.last_state = update_state %]
[% END %]
diff --git a/templates/web/base/reports/_list-filters.html b/templates/web/base/reports/_list-filters.html
index 9c2a74e57..e657e0375 100644
--- a/templates/web/base/reports/_list-filters.html
+++ b/templates/web/base/reports/_list-filters.html
@@ -1,5 +1,14 @@
[% select_status = BLOCK %]
- <select class="form-control js-multiple" name="status" id="statuses" multiple data-all="[% loc('All reports') %]">
+ <select class="form-control js-multiple" name="status" id="statuses" multiple
+ data-all="[% loc('All reports') %]" data-all-options='["open","closed","fixed"]'
+ [%~ IF c.cobrand.on_map_default_status == 'open' %]
+ data-none="[% loc('Unfixed reports') %]"
+ [%~ END ~%]
+ >
+ [% IF c.user_exists AND c.user.has_body_permission_to('planned_reports') AND !shortlist %]
+ <option value="shortlisted"[% ' selected' IF filter_status.shortlisted %]>[% loc('Shortlisted') %]</option>
+ <option value="unshortlisted"[% ' selected' IF filter_status.unshortlisted %]>[% loc('Unshortlisted') %]</option>
+ [% END %]
<option value="open"[% ' selected' IF filter_status.open %]>[% loc('Unfixed reports') %]</option>
<option value="closed"[% ' selected' IF filter_status.closed %]>[% loc('Closed reports') %]</option>
<option value="fixed"[% ' selected' IF filter_status.fixed %]>[% loc('Fixed reports') %]</option>
@@ -10,7 +19,7 @@
[% IF filter_categories.size %]
<select class="form-control js-multiple" name="filter_category" id="filter_categories" multiple data-all="[% loc('Everything') %]">
[% FOR cat IN filter_categories %]
- <option value="[% cat | html %]"[% ' selected' IF filter_category.grep(cat).size %]>
+ <option value="[% cat | html %]"[% ' selected' IF filter_category.$cat %]>
[% cat | html %]
</option>
[% END %]
@@ -32,6 +41,9 @@
<p class="report-list-filters">
<label for="sort">[% loc('Sort by') %]</label>
<select class="form-control" name="sort" id="sort">
+ [% IF shortlist %]
+ <option value="shortlist"[% ' selected' IF sort_key == 'shortlist' %]>[% loc('Manual order') %]</option>
+ [% END %]
<option value="created-desc"[% ' selected' IF sort_key == 'created-desc' %]>[% loc('Newest') %]</option>
<option value="created-asc"[% ' selected' IF sort_key == 'created-asc' %]>[% loc('Oldest') %]</option>
<option value="updated-desc"[% ' selected' IF sort_key == 'updated-desc' %]>[% loc('Recently updated') %]</option>
diff --git a/templates/web/base/reports/index.html b/templates/web/base/reports/index.html
index 4a7d5a9c9..b07227144 100755
--- a/templates/web/base/reports/index.html
+++ b/templates/web/base/reports/index.html
@@ -1,6 +1,6 @@
-[% extra_js = BLOCK %]
- <script src="[% version('/js/jquery.fixedthead.js') %]"></script>
-[% END -%]
+[% extra_js = [
+ version('/js/jquery.fixedthead.js')
+] -%]
[% INCLUDE 'header.html', title = loc('Summary reports'), bodyclass => 'fullwidthpage' %]
<h1>[% loc('All Reports') %]</h1>
diff --git a/templates/web/bristol/footer.html b/templates/web/bristol/footer.html
index c71d7151b..52f2d50df 100644
--- a/templates/web/bristol/footer.html
+++ b/templates/web/bristol/footer.html
@@ -4,28 +4,7 @@
<div class="nav-wrapper">
<div class="nav-wrapper-2">
- <div id="main-nav" role="navigation">
- <ul class="nav-menu nav-menu--main">
- <li><[% IF c.req.uri.path == '/'
- %]span[% ELSE %]a href="/"[% END %] class="report-a-problem-btn"
- >[% loc("Report a problem") %]</[% c.req.uri.path == '/' ? 'span' : 'a' %]></li>[%
- %]<li><[% IF c.req.uri.path == '/my'
- %]span[% ELSE %]a href="/my"[% END
- %]>[% loc("Your reports") %]</[% c.req.uri.path == '/my' ? 'span' : 'a' %]></li>[%
- %]<li><[% IF c.req.uri.path == '/reports/Bristol'
- %]span[% ELSE %]a href="/reports/Bristol"[% END
- %]>[% loc("All reports") %]</[% c.req.uri.path == '/reports/Bristol' ? 'span' : 'a' %]></li>[%
- %]<li><[% IF c.req.uri.path == '/alert'
- %]span[% ELSE %]a href="/alert[% pc ? '/list?pc=' : '' %][% pc | uri %]"[% END
- %]>[% loc("Local alerts") %]</[% c.req.uri.path == '/alert' ? 'span' : 'a' %]></li>[%
- %]<li><[% IF c.req.uri.path == '/faq'
- %]span[% ELSE %]a href="/faq"[% END
- %]>[% loc("Help") %]</[% c.req.uri.path == '/faq' ? 'span' : 'a' %]></li>[%
- %]<li class="nav-menu__item--privacy"><[% IF c.req.uri.path == '/privacy'
- %]span[% ELSE %]a href="/privacy"[% END
- %]>[% loc("Privacy") %]</[% c.req.uri.path == '/privacy' ? 'span' : 'a' %]></li>
- </ul>
- </div>
+ [% INCLUDE "main_nav.html" body_name=c.cobrand.council_area hide_mysoc_link=1 %]
</div>
</div>
</div> <!-- .wrapper -->
diff --git a/templates/web/bristol/footer_extra_js.html b/templates/web/bristol/footer_extra_js.html
index 6ba5e3100..1cfcf00f6 100644
--- a/templates/web/bristol/footer_extra_js.html
+++ b/templates/web/bristol/footer_extra_js.html
@@ -1,4 +1,6 @@
-<script src="[% version('/js/OpenLayers.Projection.OrdnanceSurvey.js') %]"></script>
-<script src="[% version('/cobrands/fixmystreet-uk-councils/js.js') %]"></script>
-<script src="[% version('/cobrands/fixmystreet/assets.js') %]"></script>
-<script src="[% version('/cobrands/bristol/js.js') %]"></script>
+[% scripts.push(
+ version('/js/OpenLayers.Projection.OrdnanceSurvey.js')
+ version('/cobrands/fixmystreet-uk-councils/js.js'),
+ version('/cobrands/fixmystreet/assets.js'),
+ version('/cobrands/bristol/js.js'),
+) %]
diff --git a/templates/web/bristol/maps/bristol.html b/templates/web/bristol/maps/bristol.html
index f49571a1d..08f6fba1c 100644
--- a/templates/web/bristol/maps/bristol.html
+++ b/templates/web/bristol/maps/bristol.html
@@ -1,9 +1,11 @@
-[% map_js = BLOCK %]
-<script type="text/javascript" src="[% version('/js/OpenLayers/OpenLayers.bristol.js') %]"></script>
-<script type="text/javascript" src="[% version('/js/map-OpenLayers.js') %]"></script>
-<script type="text/javascript" src="[% version('/js/map-wmts-base.js') %]"></script>
-<script type="text/javascript" src="[% version('/js/map-wmts-bristol.js') %]"></script>
-[% END %]
+[%
+map_js = [
+ version('/js/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 %]
diff --git a/templates/web/bromley/footer.html b/templates/web/bromley/footer.html
index 37ba0641e..f9b844ce5 100644
--- a/templates/web/bromley/footer.html
+++ b/templates/web/bromley/footer.html
@@ -9,20 +9,7 @@
<div class="nav-wrapper">
<div class="nav-wrapper-2">
- <div id="main-nav" role="navigation">
- <ul class="nav-menu nav-menu--main">
- <li><[% IF c.req.uri.path == '/' %]span[% ELSE %]a href="/"[% END
- %]>[% loc("Report a problem") %]</[% c.req.uri.path == '/' ? 'span' : 'a' %]></li>[%
- %]<li><[% IF c.req.uri.path == '/my' %]span[% ELSE %]a href="/my"[% END
- %]>[% c.user_exists ? loc("Your account") : loc("Sign in") %]</[% c.req.uri.path == '/my' ? 'span' : 'a' %]></li>[%
- %]<li><[% IF c.req.uri.path == '/reports' %]span[% ELSE %]a href="/reports"[% END
- %]>[% loc("All reports") %]</[% c.req.uri.path == '/reports' ? 'span' : 'a' %]></li>[%
- %]<li><[% IF c.req.uri.path == '/alert' %]span[% ELSE %]a href="/alert[% pc ? '/list?pc=' : '' %][% pc | uri %]"[% END
- %]>[% loc("Local alerts") %]</[% c.req.uri.path == '/alert' ? 'span' : 'a' %]></li>[%
- %]<li><[% IF c.req.uri.path == '/faq' %]span[% ELSE %]a href="/faq"[% END
- %]>[% loc("Help") %]</[% c.req.uri.path == '/faq' ? 'span' : 'a' %]></li>
- </ul>
- </div>
+ [% INCLUDE "main_nav.html" body_name=c.cobrand.council_area hide_mysoc_link=1 hide_privacy_link=1 %]
</div>
</div>
</div> <!-- .wrapper -->
diff --git a/templates/web/bromley/footer_extra_js.html b/templates/web/bromley/footer_extra_js.html
index 57066dbe8..ac03496a8 100644
--- a/templates/web/bromley/footer_extra_js.html
+++ b/templates/web/bromley/footer_extra_js.html
@@ -1 +1,3 @@
-<script src="[% version('/cobrands/bromley/a-z-nav.js') %]" charset="utf-8"></script>
+[% scripts.push(
+ version('/cobrands/bromley/a-z-nav.js'),
+) %]
diff --git a/templates/web/bromley/front/footer-marketing.html b/templates/web/bromley/front/footer-marketing.html
index bdbe16dfb..34611a1b4 100644
--- a/templates/web/bromley/front/footer-marketing.html
+++ b/templates/web/bromley/front/footer-marketing.html
@@ -12,7 +12,7 @@
<div id="footer-help">
<p>
- Powered by <a class="platform-logo" href="https://fixmystreet.com/council">FixMyStreet Platform</a>
+ Powered by <a class="platform-logo" href="https://fixmystreet.com/about/council">FixMyStreet Platform</a>
</p>
</div>
-</div> \ No newline at end of file
+</div>
diff --git a/templates/web/bromley/maps/bromley.html b/templates/web/bromley/maps/bromley.html
index aa5789c1c..c2ee0273f 100644
--- a/templates/web/bromley/maps/bromley.html
+++ b/templates/web/bromley/maps/bromley.html
@@ -1,9 +1,10 @@
-[% map_js = BLOCK %]
-<script type="text/javascript" src="[% version('/js/OpenLayers/OpenLayers.fixmystreet.js') %]"></script>
-<script type="text/javascript" src="[% version('/js/map-OpenLayers.js') %]"></script>
-<script type="text/javascript" src="[% version('/js/map-bing-ol.js') %]"></script>
-<script type="text/javascript" src="[% version('/js/map-fms.js') %]"></script>
-<script type="text/javascript" src="[% version('/cobrands/bromley/map.js') %]"></script>
-[% END %]
-
-[% map_html = INCLUDE maps/openlayers.html include_key = 1 %]
+[%
+map_js = [
+ version('/js/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/bromley/report/update-form.html b/templates/web/bromley/report/update-form.html
index 112cb2960..99f8248e3 100644
--- a/templates/web/bromley/report/update-form.html
+++ b/templates/web/bromley/report/update-form.html
@@ -51,7 +51,7 @@
[% FOREACH state IN [ ['confirmed', loc('Open')], ['investigating',
loc('Investigating')], ['action scheduled', loc('Action Scheduled')],
['in progress', loc('In Progress')], ['duplicate', loc('Duplicate')],
- ['unable to fix', loc('Unable to fix')], ['not responsible', loc('Not Responsible')],
+ ['unable to fix', loc('No further action')], ['not responsible', loc('Not Responsible')],
['fixed', loc('Fixed')] ] %]
<option [% 'selected ' IF state.0 == problem.state_display %] value="[% state.0 %]">[% state.1 %]</option>
[% END %]
diff --git a/templates/web/eastherts/footer.html b/templates/web/eastherts/footer.html
index b665153bd..fb39c29c2 100644
--- a/templates/web/eastherts/footer.html
+++ b/templates/web/eastherts/footer.html
@@ -4,32 +4,7 @@
<div class="nav-wrapper">
<div class="nav-wrapper-2">
- <div id="main-nav" role="navigation">
-[%
- SET base = "";
- SET base = c.cobrand.base_url IF admin;
-%]
- <ul class="nav-menu nav-menu--main">
- <li><[% IF c.req.uri.path == '/'
- %]span[% ELSE %]a href="[% base %]/"[% END %] class="report-a-problem-btn"
- >[% loc("Report a problem") %]</[% c.req.uri.path == '/' ? 'span' : 'a' %]></li>[%
- %]<li><[% IF c.req.uri.path == '/my'
- %]span[% ELSE %]a href="[% base %]/my"[% END
- %]>[% loc("Your reports") %]</[% c.req.uri.path == '/my' ? 'span' : 'a' %]></li>[%
- %]<li><[% IF c.req.uri.path == '/reports'
- %]span[% ELSE %]a href="[% base %]/reports"[% END
- %]>[% loc("All reports") %]</[% c.req.uri.path == '/reports' ? 'span' : 'a' %]></li>[%
- %]<li><[% IF c.req.uri.path == '/alert'
- %]span[% ELSE %]a href="[% base %]/alert[% pc ? '/list?pc=' : '' %][% pc | uri %]"[% END
- %]>[% loc("Local alerts") %]</[% c.req.uri.path == '/alert' ? 'span' : 'a' %]></li>[%
- %]<li><[% IF c.req.uri.path == '/faq'
- %]span[% ELSE %]a href="[% base %]/faq"[% END
- %]>[% loc("Help") %]</[% c.req.uri.path == '/faq' ? 'span' : 'a' %]></li>[%
- %]<li class="nav-menu__item--privacy"><[% IF c.req.uri.path == '/privacy'
- %]span[% ELSE %]a href="[% base %]/privacy"[% END
- %]>[% loc("Privacy") %]</[% c.req.uri.path == '/privacy' ? 'span' : 'a' %]></li>
- </ul>
- </div>
+ [% INCLUDE "main_nav.html" body_name=c.cobrand.council_area hide_mysoc_link=1 %]
</div>
</div>
</div> <!-- .wrapper -->
diff --git a/templates/web/fixmystreet-uk-councils/footer_extra_js.html b/templates/web/fixmystreet-uk-councils/footer_extra_js.html
index 493902ef0..1e7a38f8a 100644
--- a/templates/web/fixmystreet-uk-councils/footer_extra_js.html
+++ b/templates/web/fixmystreet-uk-councils/footer_extra_js.html
@@ -1,2 +1,4 @@
-<script src="[% version('/js/OpenLayers.Projection.OrdnanceSurvey.js') %]"></script>
-<script src="[% version('/cobrands/fixmystreet-uk-councils/js.js') %]"></script>
+[% scripts.push(
+ version('/js/OpenLayers.Projection.OrdnanceSurvey.js')
+ version('/cobrands/fixmystreet-uk-councils/js.js'),
+) %]
diff --git a/templates/web/fixmystreet-uk-councils/report/new/after_photo.html b/templates/web/fixmystreet-uk-councils/report/new/after_photo.html
new file mode 100644
index 000000000..65a5768bb
--- /dev/null
+++ b/templates/web/fixmystreet-uk-councils/report/new/after_photo.html
@@ -0,0 +1,8 @@
+<div class="description_tips" aria-label="[% loc('Tips for perfect photos') %]">
+ <ul class="do">
+ <li>[% loc('To help us locate the problem, include both a close-up and a wide shot') %]</li>
+ </ul>
+ <ul class="dont">
+ <li>[% loc('Avoid personal information and vehicle number plates') %]</li>
+ </ul>
+</div>
diff --git a/templates/web/fixmystreet.com/about/council.html b/templates/web/fixmystreet.com/about/council.html
index 6814f70c3..5abbbb2ef 100644
--- a/templates/web/fixmystreet.com/about/council.html
+++ b/templates/web/fixmystreet.com/about/council.html
@@ -27,7 +27,7 @@
<div class="councils-features__grid">
<div class="councils-features__feature">
<div class="councils-features__thumb councils-features__thumb--excellence"></div>
- <h3>Digital Excellence</h3>
+ <h3>Digital excellence</h3>
<p>FixMyStreet was co-designed with council insiders. We made it into the most user-centred, accessible approach to non-emergency issue reporting available today. And now it’s the leader in its class.</p>
</div>
<div class="councils-features__feature">
@@ -114,7 +114,7 @@
<h2>Works with</h2>
<div class="councils-compatibility__grid">
<div class="councils-compatibility__item">
- <h3>Customer Management</h3>
+ <h3>Customer management</h3>
<ul>
<li><a href="http://www.kana.com/lagan-crm/customer-experience-management">Lagan</a></li>
<li><a href="https://www.microsoft.com/en-gb/dynamics/default.aspx">Microsoft Dynamics</a></li>
@@ -149,12 +149,12 @@
<div class="pricing-table">
<div class="pricing-table__item">
- <h3>Simple fault reporting</h3>
+ <h3>Basic FixMyStreet integration</h3>
<p class="pricing-table__item__price"><strong>&pound;7,500 per year</strong></p>
<p>The award-winning FixMyStreet experience seamlessly integrated with your site. A responsive web application for reporting, viewing and discussing problems - branded to match your site’s styles and templates. Use FixMyStreet for Councils to keep your residents up to date and route problems by email to the correct individual or team. The internal dashboard eanbles you to manage performance.</p>
</div>
<div class="pricing-table__item">
- <h3>Case&hyphen;management Integration</h3>
+ <h3>Case&hyphen;management integration</h3>
<p class="pricing-table__item__price"><strong>&pound;15,000 per year</strong></p>
<p>Our award-winning reporting solution &ndash; your existing processes and systems. We’ll integrate FixMyStreet into your customer, case or asset management system ensuring that there’s minimal impact on your organisation. Accept reports, automatically publish updates and reports from other channels via your existing tools, directly onto FixMyStreet.</p>
<p>Supported services include: Confirm, Mayrise, MS Dynamics and Exor. If you use an alternative service or your own internal system we’ll scope and implement additional support via our Specialist Cloud Service.</p>
@@ -180,14 +180,14 @@
<h3>Bring your own, or we can provide</h3>
<div class="pricing-accordion accordion">
<div class="accordion-item">
- <a href="#" class="accordion-switch accordion-switch--closed"><h4>Custom Map Tiles</h4></a>
+ <a href="#" class="accordion-switch accordion-switch--closed"><h4>Custom map tiles</h4></a>
<div class="accordion-content">
<p class="extra-pricing__price">&pound;1,500 per year</p>
<p class="extra-pricing__desc">FixMyStreet comes with OpenStreetMap/Bing geographical base maps as standard. But for a completely unique look, or to key in with your existing mapping visuals, we can support the industry standard WMS maps of your choice.</p>
</div>
</div>
<div class="accordion-item">
- <a href="#" class="accordion-switch accordion-switch--closed"><h4>Custom Geocoding</h4></a>
+ <a href="#" class="accordion-switch accordion-switch--closed"><h4>Custom geocoding</h4></a>
<div class="accordion-content">
<p class="extra-pricing__price">&pound;1,500 per year</p>
<p class="extra-pricing__desc">Transforming an address into a point on a map: it’s called geocoding, and we utilise Bing, OpenStreetMap and Google’s services as standard. But if you have your own geocoding system, we can integrate that to ensure a precise location for a given postcode, address or place name.</p>
@@ -196,21 +196,21 @@
<div class="accordion-item">
<a href="#" class="accordion-switch accordion-switch--closed"><h4>Asset locations</h4></a>
<div class="accordion-content">
- <p class="extra-pricing__price">&pound;3,500 per year or included as standard within our case management service</p>
+ <p class="extra-pricing__price">&pound;3,500 per year or included as standard within our top‐to‐bottom case‐management service.</p>
<p class="extra-pricing__desc">Show your residents the locations, identifiers and status of assets right on the map — all they have to do is pick the right one. Compatible with any industry standard WFS or WMS service.</p>
</div>
</div>
<div class="accordion-item">
<a href="#" class="accordion-switch accordion-switch--closed"><h4>Adopted roads</h4></a>
<div class="accordion-content">
- <p class="extra-pricing__price">&pound;3,500 per year or included as standard within our case management service.</p>
+ <p class="extra-pricing__price">&pound;3,500 per year or included as standard within our top‐to‐bottom case‐management service.</p>
<p class="extra-pricing__desc">Ensure that you only receive reports for roads that you actually manage. Highlight adopted roads and private estates at the point of report creation, saving valuable time, expense and irritation. Compatible with any industry standard WFS or WMS service.</p>
</div>
</div>
<div class="accordion-item">
<a href="#" class="accordion-switch accordion-switch--closed"><h4>Planned works</h4></a>
<div class="accordion-content">
- <p class="extra-pricing__price">&pound;3,000 per year or included as standard within our case management service.</p>
+ <p class="extra-pricing__price">&pound;3,000 per year or included as standard within our top‐to‐bottom case‐management service.</p>
<p class="extra-pricing__desc">Publish your planned works alongside reports to keep residents informed and lower the incidence of unnecessary reporting. Support for Elgin’s roadworks.org or any industry standard WFS or WMS service.</p>
</div>
</div>
@@ -223,10 +223,23 @@
<div class="council-order" id="order">
<div class="councils-content-wrapper">
- <h2>Order</h2>
+ <h2>Request a free demo</h2>
<form action="/contact/submit" method="post">
<div class="council-order__form">
<div class="form-group">
+ <label for="product">We are interested in&hellip;</label>
+ <span class="required">required</span>
+ <div class="radio-as-buttons">
+ <label><input name="extra.product" id="product" type="radio" value="simple-fault-reporting" required>Basic FixMyStreet integration <span class="council-order__form__product__price">&pound;7,500 per year</span></label>
+ <label><input name="extra.product" id="product" type="radio" value="case-management-integration">Case-management integration <span class="council-order__form__product__price">&pound;15,000 per year</span></label>
+ <label><input name="extra.product" id="product" type="radio" value="top-to-bottom-case-management">Top-to-bottom case-management <span class="council-order__form__product__price">&pound;35,000 per year</span></label>
+ </div>
+ </div>
+ <div class="form-group">
+ <label for="message">A little more about your requirements</label>
+ <textarea name="message" id="message" required> </textarea>
+ </div>
+ <div class="form-group">
<label for="name">Name</label>
<span class="required">required</span>
<input type="text" name="name" id="name" required>
@@ -245,20 +258,8 @@
<label for="phone">Contact telephone</label>
<input type="tel" name="extra.phone" id="phone">
</div>
- <div class="form-group">
- <label for="product">Product</label>
- <span class="required">required</span>
- <div class="radio-as-buttons">
- <label><input name="extra.product" id="product" type="radio" value="simple-fault-reporting" required>Simple fault reporting</label>
- <label><input name="extra.product" id="product" type="radio" value="case-management-integration">Case-management integration</label>
- <label><input name="extra.product" id="product" type="radio" value="top-to-bottom-case-management">Top-to-bottom case-management</label>
- </div>
- </div>
- <div class="form-group">
- <label for="message">Message</label>
- <textarea name="message" id="message" required> </textarea>
- </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">
diff --git a/templates/web/fixmystreet.com/about/faq-en-gb.html b/templates/web/fixmystreet.com/about/faq-en-gb.html
index 496282341..0bf55742b 100755
--- a/templates/web/fixmystreet.com/about/faq-en-gb.html
+++ b/templates/web/fixmystreet.com/about/faq-en-gb.html
@@ -318,8 +318,8 @@ correspondence to you – or if you only have an auto-response, you may be able
to find further contact details there.
<p>If you still have no joy, we suggest starting a new FixMyStreet report. You
may also like to use another useful mySociety website, <a
-href="https://www.writetothem.com/">WriteToThem.com</a>, to contact your local
-councillors and ask them to help.
+href="https://www.writetothem.com/?utm_source=fixmystreet.com&utm_campaign=static_links&utm_medium=link&utm_content=help+what_now">WriteToThem</a>,
+to contact your local councillors and ask them to help.
</dd>
<dt>Someone has marked my problem was fixed, but it isn't</dt>
diff --git a/templates/web/fixmystreet.com/about/posters.html b/templates/web/fixmystreet.com/about/posters.html
index 1a9a4400c..c4cf16cd4 100644
--- a/templates/web/fixmystreet.com/about/posters.html
+++ b/templates/web/fixmystreet.com/about/posters.html
@@ -1,6 +1,6 @@
-[% extra_js = BLOCK %]
- <script src="[% version('/cobrands/fixmystreet.com/posters.js') %]"></script>
-[% END %]
+[% extra_js = [
+ version('/cobrands/fixmystreet.com/posters.js')
+] %]
[% extra_css = BLOCK %]
<link rel="stylesheet" href="[% version('/cobrands/fixmystreet.com/posters.css') %]">
[% END %]
diff --git a/templates/web/fixmystreet.com/around/_report_banner.html b/templates/web/fixmystreet.com/around/_report_banner.html
deleted file mode 100755
index fb2134020..000000000
--- a/templates/web/fixmystreet.com/around/_report_banner.html
+++ /dev/null
@@ -1,10 +0,0 @@
-[%# Same as parent, with variant green banner text %]
-<h1 class="big-green-banner variant1">
- Click map to request a fix
-</h1>
-<h1 class="big-green-banner variant0">
- [% loc( 'Click map to report a problem' ) %]
-</h1>
-<a id="skip-this-step" href="[% url_skip %]" rel="nofollow">
- [% loc("Can't see the map? <em>Skip this step</em>") %]
-</a>
diff --git a/templates/web/fixmystreet.com/around/intro.html b/templates/web/fixmystreet.com/around/intro.html
deleted file mode 100644
index 5b756cd31..000000000
--- a/templates/web/fixmystreet.com/around/intro.html
+++ /dev/null
@@ -1,9 +0,0 @@
-[%# Same as parent, with variant heading text %]
-<div class="variant1">
- <h1>Get things fixed in your local community</h1>
- <h2>(like blocked pavements, parks and playgrounds in need of maintenance)</h2>
-</div>
-<div class="variant0">
- <h1>[% loc('Report, view, or discuss local problems') %]</h1>
- <h2>[% loc('(like graffiti, fly tipping, broken paving slabs, or street lighting)') %]</h2>
-</div>
diff --git a/templates/web/fixmystreet.com/contact/who.html b/templates/web/fixmystreet.com/contact/who.html
index cdfc4eff8..5fad05dd2 100644
--- a/templates/web/fixmystreet.com/contact/who.html
+++ b/templates/web/fixmystreet.com/contact/who.html
@@ -44,7 +44,7 @@
<p>
<strong>If you're not having any luck getting your community problems fixed</strong>,
you could try contacting your local councillor, using another useful mySociety site:
- <a href="https://www.writetothem.com/">https://www.writetothem.com/</a>.
+ <a href="https://www.writetothem.com/?utm_source=fixmystreet.com&utm_campaign=contact_workflow_links&utm_medium=link&utm_content=contact+not_fixed">WriteToThem</a>.
</p>
[% END %]
diff --git a/templates/web/fixmystreet.com/footer_extra.html b/templates/web/fixmystreet.com/footer_extra.html
index d4e7b38a3..e16198bb1 100644
--- a/templates/web/fixmystreet.com/footer_extra.html
+++ b/templates/web/fixmystreet.com/footer_extra.html
@@ -31,7 +31,7 @@
%]>[% loc("Local alerts") %]</[% c.req.uri.path == '/alert' ? 'span' : 'a' %]></li>
</ul>
<ul>
- <li><a href="https://www.fixmystreet.com/council">FixMyStreet for Councils</a></li>
+ <li><a href="/about/council">FixMyStreet for Councils</a></li>
<li><[% IF c.req.uri.path == '/posters' %]span[% ELSE %]a href="[% base %]/posters"[% END
%]>[% loc("FixMyStreet Goodies") %]</[% c.req.uri.path == '/posters' ? 'span' : 'a' %]></li>
<li><[% IF c.req.uri.path == '/contact' %]span[% ELSE %]a href="[% base %]/contact"[% END
diff --git a/templates/web/fixmystreet.com/footer_extra_js.html b/templates/web/fixmystreet.com/footer_extra_js.html
index 0d1cca04d..d03aa8657 100644
--- a/templates/web/fixmystreet.com/footer_extra_js.html
+++ b/templates/web/fixmystreet.com/footer_extra_js.html
@@ -1,3 +1,5 @@
-<script src="[% version('/js/OpenLayers.Projection.OrdnanceSurvey.js') %]"></script>
-<script src="[% version('/js/jquery.cookie.min.js') %]"></script>
-<script src="[% version('/cobrands/fixmystreet.com/js.js') %]"></script>
+[% scripts.push(
+ version('/js/OpenLayers.Projection.OrdnanceSurvey.js'),
+ version('/js/jquery.cookie.min.js'),
+ version('/cobrands/fixmystreet.com/js.js'),
+) %]
diff --git a/templates/web/fixmystreet.com/front/footer-marketing.html b/templates/web/fixmystreet.com/front/footer-marketing.html
index 74516b8be..2095b51c5 100644
--- a/templates/web/fixmystreet.com/front/footer-marketing.html
+++ b/templates/web/fixmystreet.com/front/footer-marketing.html
@@ -7,7 +7,7 @@
</li>
<li>
<h4>[% loc('Are you from a council?') %]</h4>
- <p>[% loc('Would you like better integration with FixMyStreet? <a href="https://www.fixmystreet.com/council">Find out about FixMyStreet for councils</a>.') %]</p>
+ <p>[% loc('Would you like better integration with FixMyStreet? <a href="/about/council">Find out about FixMyStreet for councils</a>.') %]</p>
</li>
</ul>
</div>
diff --git a/templates/web/fixmystreet.com/front/javascript.html b/templates/web/fixmystreet.com/front/javascript.html
index ac9faa309..baf7ebb64 100644
--- a/templates/web/fixmystreet.com/front/javascript.html
+++ b/templates/web/fixmystreet.com/front/javascript.html
@@ -1,7 +1,12 @@
-<script src="[% version('/js/yepnope.js') %]"></script>
-<script id="script_front" src="[% version('/cobrands/fixmystreet/front.js') %]"
- data-scripts="
- [%~ version('/js/OpenLayers/OpenLayers.fixmystreet.js') %],
- [%~ version('/js/map-OpenLayers.js') %],
- [%~ version('/js/map-bing-ol.js') %],
- [%~ version('/js/map-fms.js') %]"></script>
+[%
+map_js = [
+ version('/js/yepnope.js'),
+ [ version('/cobrands/fixmystreet/front.js'), {
+ id = "script_front",
+ 'data-scripts' = version('/js/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 4ea87a5e1..dc0f86693 100644
--- a/templates/web/fixmystreet.com/header_extra.html
+++ b/templates/web/fixmystreet.com/header_extra.html
@@ -16,22 +16,4 @@
})(document);
</script>
-[%# We are conducting an A/B experiment %]
-[% IF c.config.BASE_URL == "https://www.fixmystreet.com" AND not admin AND NOT c.req.header('User-Agent').match('Google Page Speed') %]
-<script src="//www.google-analytics.com/cx/api.js?experiment=ZwMlZkAhSbK_tP_QG64QrQ"></script>
-<script nonce="[% csp_nonce %]">
-var variation = typeof cxApi !== "undefined" ? cxApi.chooseVariation() : 0,
- docElement = document.documentElement,
- className = docElement.className;
-if (!/about\/council/.test(location.pathname)) {
- docElement.className = className + ' variant' + variation;
-}
-</script>
-[% END %]
-<style>
-html .variant1 { display: none !important; }
-html.variant1 .variant0 { display: none !important; }
-html.variant1 .variant1 { display: block !important; }
-</style>
-
[% INCLUDE 'tracking_code.html' %]
diff --git a/templates/web/fixmystreet.com/questionnaire/completed-open.html b/templates/web/fixmystreet.com/questionnaire/completed-open.html
index 073fb0438..f10d5d266 100644
--- a/templates/web/fixmystreet.com/questionnaire/completed-open.html
+++ b/templates/web/fixmystreet.com/questionnaire/completed-open.html
@@ -13,7 +13,7 @@
</p>
<p>
- You can do this on <a href="https://www.writetothem.com/">WriteToThem</a>, another
+ You can do this on <a href="https://www.writetothem.com/?utm_source=fixmystreet.com&utm_campaign=workflow_links&utm_medium=link&utm_content=completed+unfixed">WriteToThem</a>, another
useful mySociety website.
</p>
[% END %]
diff --git a/templates/web/fixmystreet.com/report/banner.html b/templates/web/fixmystreet.com/report/banner.html
index 35d7be179..6fd74a7fe 100644
--- a/templates/web/fixmystreet.com/report/banner.html
+++ b/templates/web/fixmystreet.com/report/banner.html
@@ -20,8 +20,7 @@
[% INCLUDE banner, id = 'unknown', text = loc('Unknown') %]
[% END %]
- [% states = [ 'investigating', 'in progress', 'planned', 'action scheduled' ];
- IF states.grep(problem.state).size %]
+ [% IF problem.is_in_progress %]
[% INCLUDE banner, id = 'progress', text = loc('In progress') %]
[% END %]
diff --git a/templates/web/fixmystreet.com/report/new/extra_name.html b/templates/web/fixmystreet.com/report/new/extra_name.html
deleted file mode 100644
index dbd971d74..000000000
--- a/templates/web/fixmystreet.com/report/new/extra_name.html
+++ /dev/null
@@ -1,42 +0,0 @@
-[%# Same as parent, with added gender question %]
-
-[% IF (page == 'around' OR page == 'new') AND c.cobrand.ask_gender_question %]
-<p>
-We’re conducting research to make sure our site is good for everyone;
-please help us out by providing your gender. <em>This will not be
-shared with the council or displayed publicly.</em>
-</p>
-
-[% SET gender = report.get_extra_metadata('gender') %]
-<p class="segmented-control segmented-control--radio" style="font-size: 80%">
- <input type="radio" name="gender" id="gender_female" value="female"[% ' checked' IF gender == 'female' %]>
- <label class="btn" for="gender_female">Female</label>
- <input type="radio" name="gender" id="gender_male" value="male"[% ' checked' IF gender == 'male' %]>
- <label class="btn" for="gender_male">Male</label>
- <input type="radio" name="gender" id="gender_other" value="other"[% ' checked' IF gender == 'other' %]>
- <label class="btn" for="gender_other">Other</label>
- <input type="radio" name="gender" id="gender_unknown" value="unknown"[% ' checked' IF gender == 'unknown' %]>
- <label class="btn" for="gender_unknown">Prefer not to say</label>
-</p>
-[% END %]
-
-<input type="hidden" name="variant" value="0">
-
-[% IF extra_name_info %]
-<label for="form_fms_extra_title">Title</label>
-[% IF field_errors.fms_extra_title %]
- <p class='form-error'>[% field_errors.fms_extra_title %]</p>
-[% END %]
-[% title = '' %]
-[% IF fms_extra_title %][% title = fms_extra_title | upper %]
-[% ELSIF c.user && c.user.title %][% title = c.user.title | upper %][% END %]
-<select class="form-control form-focus-trigger required js-form-name" id="form_fms_extra_title"
- name="fms_extra_title">
- <option></option>
- <option value="MR"[% ' selected' IF title == 'MR' %]>Mr</option>
- <option value="MISS"[% ' selected' IF title == 'MISS' %]>Miss</option>
- <option value="MRS"[% ' selected' IF title == 'MRS' %]>Mrs</option>
- <option value="MS"[% ' selected' IF title == 'MS' %]>Ms</option>
- <option value="DR"[% ' selected' IF title == 'DR' %]>Dr</option>
-</select>
-[% END %]
diff --git a/templates/web/fixmystreet.com/reports/_extras.html b/templates/web/fixmystreet.com/reports/_extras.html
index 6fa067d1c..77c2cecdf 100755
--- a/templates/web/fixmystreet.com/reports/_extras.html
+++ b/templates/web/fixmystreet.com/reports/_extras.html
@@ -4,7 +4,6 @@
'Bromley Council' = 'fix.bromley.gov.uk'
'Bristol City Council' = 'fixmystreet.bristol.gov.uk'
'East Hertfordshire District Council' = 'fixmystreet.eastherts.gov.uk'
- 'Harrogate Borough Council' = 'harrogate.fixmystreet.com'
'Hart District Council' = 'hart.fixmystreet.com'
'Oxfordshire County Council' = 'fixmystreet.oxfordshire.gov.uk'
'Stevenage Borough Council' = 'stevenage.fixmystreet.com',
@@ -26,7 +25,7 @@
<td class="title" colspan="6" style="padding-top:0">
<small title="This council's online reporting is powered by FixMyStreet">(includes reports from
<a href="http[% secure.$site %]://[% site %]">[% site %]</a> using
- <a href="https://www.fixmystreet.com/council">FixMyStreet for Councils</a>)</small>
+ <a href="/about/council">FixMyStreet for Councils</a>)</small>
</td>
</tr>
[% END %]
diff --git a/templates/web/fixmystreet.com/static/unresponsive.html b/templates/web/fixmystreet.com/static/unresponsive.html
index be8a3c6e1..8014ab8e1 100644
--- a/templates/web/fixmystreet.com/static/unresponsive.html
+++ b/templates/web/fixmystreet.com/static/unresponsive.html
@@ -26,7 +26,7 @@
<h2>If you’d prefer to use FixMyStreet next time:</h2>
- <a href="https://www.writetothem.com/" class="unresponsive-council-cta">
+ <a href="https://www.writetothem.com/?utm_source=fixmystreet.com&utm_campaign=workflow_links&utm_medium=link&utm_content=unresponsive_council+cta" class="unresponsive-council-cta">
<strong>Write to your MP or local councillors</strong> to let them know this isn’t okay
</a>
diff --git a/templates/web/greenwich/footer.html b/templates/web/greenwich/footer.html
index 494d5b66b..03dbc0330 100644
--- a/templates/web/greenwich/footer.html
+++ b/templates/web/greenwich/footer.html
@@ -9,22 +9,7 @@
<div class="nav-wrapper">
<div class="nav-wrapper-2">
- <div id="main-nav" role="navigation">
- <ul class="nav-menu nav-menu--main">
- <li><[% IF c.req.uri.path == '/' %]span[% ELSE %]a href="/"[% END %] class="report-a-problem-btn"
- >[% loc("Report a problem") %]</[% c.req.uri.path == '/' ? 'span' : 'a' %]></li>[%
- %]<li><[% IF c.req.uri.path == '/my' %]span[% ELSE %]a href="/my"[% END
- %]>[% c.user_exists ? loc("Your account") : loc("Sign in") %]</[% c.req.uri.path == '/my' ? 'span' : 'a' %]></li>[%
- %]<li><[% IF c.req.uri.path == '/reports/Royal+Borough+of+Greenwich' %]span[% ELSE %]a href="/reports"[% END
- %]>[% loc("All reports") %]</[% c.req.uri.path == '/reports' ? 'span' : 'a' %]></li>[%
- %]<li><[% IF c.req.uri.path == '/alert' %]span[% ELSE %]a href="/alert[% pc ? '/list?pc=' : '' %][% pc | uri %]"[% END
- %]>[% loc("Local alerts") %]</[% c.req.uri.path == '/alert' ? 'span' : 'a' %]></li>[%
- %]<li><[% IF c.req.uri.path == '/faq' %]span[% ELSE %]a href="/faq"[% END
- %]>[% loc("Help") %]</[% c.req.uri.path == '/faq' ? 'span' : 'a' %]></li>[%
- %]<li class="nav-menu__item--privacy"><[% IF c.req.uri.path == '/privacy' %]span[% ELSE %]a href="/privacy"[% END
- %]>[% loc("Privacy") %]</[% c.req.uri.path == '/privacy' ? 'span' : 'a' %]></li>
- </ul>
- </div>
+ [% INCLUDE "main_nav.html" body_name=c.cobrand.council_name hide_mysoc_link=1 %]
</div>
</div>
</div> <!-- .wrapper -->
diff --git a/templates/web/greenwich/front/footer-marketing.html b/templates/web/greenwich/front/footer-marketing.html
index 66a75b5cc..bf08a11dd 100644
--- a/templates/web/greenwich/front/footer-marketing.html
+++ b/templates/web/greenwich/front/footer-marketing.html
@@ -13,7 +13,7 @@
<div id="footer-help">
<p>
- Powered by <a class="platform-logo" href="https://fixmystreet.com/council">FixMyStreet Platform</a>
+ Powered by <a class="platform-logo" href="https://fixmystreet.com/about/council">FixMyStreet Platform</a>
</p>
</div>
</div>
diff --git a/templates/web/greenwich/header_logo.html b/templates/web/greenwich/header_logo.html
index d788de6f8..6359eba3b 100644
--- a/templates/web/greenwich/header_logo.html
+++ b/templates/web/greenwich/header_logo.html
@@ -15,15 +15,4 @@
<li><a href="/">FixMyStreet</a></li>
</ul>
- <ul id="fms-menu-desktop">
- <li><[% IF c.req.uri.path == '/' %]span[% ELSE %]a href="/"[% END %] class="report-a-problem-btn"
- >[% loc("Report a problem") %]</[% c.req.uri.path == '/' ? 'span' : 'a' %]></li>[%
- %]<li><[% IF c.req.uri.path == '/my' %]span[% ELSE %]a href="/my"[% END
- %]>[% loc("Your reports") %]</[% c.req.uri.path == '/my' ? 'span' : 'a' %]></li>[%
- %]<li><[% IF c.req.uri.path == '/reports' %]span[% ELSE %]a href="/reports"[% END
- %]>[% loc("All reports") %]</[% c.req.uri.path == '/reports' ? 'span' : 'a' %]></li>[%
- %]<li><[% IF c.req.uri.path == '/alert' %]span[% ELSE %]a href="/alert[% pc ? '/list?pc=' : '' %][% pc | uri %]"[% END
- %]>[% loc("Local alerts") %]</[% c.req.uri.path == '/alert' ? 'span' : 'a' %]></li>[%
- %]<li><[% IF c.req.uri.path == '/faq' %]span[% ELSE %]a href="/faq"[% END
- %]>[% loc("Help") %]</[% c.req.uri.path == '/faq' ? 'span' : 'a' %]></li>
- </ul>
+ [% INCLUDE "main_nav.html" body_name=c.cobrand.council_name hide_mysoc_link=1 hide_privacy_link=1 ul_id="fms-menu-desktop" ul_class="" omit_wrapper=1 %]
diff --git a/templates/web/harrogate/about/faq-en-gb.html b/templates/web/harrogate/about/faq-en-gb.html
deleted file mode 100755
index e5c9e5480..000000000
--- a/templates/web/harrogate/about/faq-en-gb.html
+++ /dev/null
@@ -1,134 +0,0 @@
-[% INCLUDE 'header.html', title = 'Help', bodyclass = 'twothirdswidthpage' %]
-
-<div class="sticky-sidebar">
- <aside>
- <ul class="plain-list">
- <li><a href="#faq">Frequently Asked Questions</a></li>
- <li><a href="/privacy">Privacy and cookies</a></li>
- <li><a href="/contact">Contact FixMyStreet</a></li>
- </ul>
- </aside>
-</div>
-
-<h1> Frequently Asked Questions </h1>
-
-<p>These pages are for reporting things which are broken, dirty, damaged or
-dumped, and need fixing, cleaning or clearing: </p>
-<ul>
- <li>graffiti
- <li>flytipping
- <li>broken playground equipment
- <li>street lighting
- <li>potholes
- </ul>
- <p>
- Note that though most of these services are provided by Harrogate Borough Council,
- FixMyStreet will forward some categories of issue to North Yorkshire County Council.
- </p>
-
-<dl>
- <dt><a name="emergencies"></a>Reporting emergencies (Out of Hours)</dt>
- <dd>
- <p> Please do not report problems which present an immediate risk to life,
- for example missing manhole covers or a fallen lamp column. </p>
- <p> Issues reported via the website are only actioned during office hours.
- If you require an Out of Hours service please ring our main number
- 01423 500600 and a message will direct you to the relevant Council Out of Hours
- service. </p>
-
- </dd>
-
- <dt>How do I report a problem here?</dt>
- <dd>After entering a postcode or location, you are shown
-a map of that area. You can view problems already reported in that area,
-or report ones of your own by clicking on the map at the location of
-the problem.</dd>
- <dt>How are the problems solved?</dt>
- <dd>They are reported directly to us so we can then resolve the problem.
- You can also discuss the problem on the website with others if you wish.</dd>
-
- <dt>Do you remove silly or illegal content?</dt>
- <dd>Harrogate Borough Council and FixMyStreet are not responsible for the content and accuracy
-of material submitted by its users. We reserve the right to edit or remove any
-problems or updates which we consider to be inappropriate upon being informed
-by a user of the site.</dd>
-
- <dt>Can I use FixMyStreet on my mobile?</dt>
- <dd>
- <p>The FixMyStreet website will already work on your mobile phone, adapting to
- the size of your screen automatically. Using an app has some advantages, though
- &mdash; for example, you can create a report even when you have no network
- connection.
- <ul>
- <li>
- <a href="https://itunes.apple.com/gb/app/fixmystreet/id297456545">FixMyStreet app for iPhone</a>
- <li>
- <a href="https://play.google.com/store/apps/details?id=org.mysociety.FixMyStreet">FixMyStreet app for Android</a>
- <li><em>Nokia:</em> A volunteer, Thomas Forth, has written an app available from the
- <a href="http://store.ovi.com/content/107557">Ovi Store</a>.
- </ul>
- </dd>
-
- <dt>Can I use these pages to report problems outside of the Harrogate district?</dd>
- <dd>Yes, if you enter a postcode or address outside the borough you will be re-directed to the main FixMyStreet site that will enable you to report problems elsewhere. FixMyStreet will forward these on to the relevant council.</dd>
-
- <dt>The site is powered by FixMyStreet, who are they?</dt>
- <dd>FixMyStreet was built by <a href="http://www.mysociety.org/">mySociety</a>, in conjunction with the <a href="http://www.youngfoundation.org.uk/">Young Foundation</a>.
-mySociety is the project of a registered charity which has grown out of the community of
-volunteers who built sites like <a href="http://www.theyworkforyou.com/">TheyWorkForYou</a>.
-mySociety&rsquo;s primary mission is to build Internet projects which give people simple, tangible
-benefits in the civic and community aspects of their lives.
-The charity is called UK Citizens Online Democracy and is charity number 1076346. mySociety
-can be contacted by email at <a href="mailto:hello&#64;mysociety.org">hello&#64;mysociety.org</a>,
-or by post at mySociety, 483 Green Lanes, London, N13 4BS.</dd>
-
- <dt>Why does the site use kilometres for measurements?</dt>
- <dd>The British national
- grid reference system, devised by Ordnance Survey (the British national
- mapping agency) around the time of the second world war, uses eastings and
- northings measured in metres and kilometres; the maps we use are from
- Ordnance Survey and so this is what we use to display distances.
- There you have it: not everything British is in miles!</dd>
-
- <dt>Why can&rsquo;t I zoom out more on the reporting map?</dt>
- <dd>We want to keep reports locally focused, so we restrict the ability to
- move radically between areas. The map on <a href="/my">Your Reports</a> will let you see all
- the reports you&rsquo;ve made, wherever they are.</dd>
-
- <dt>I&rsquo;d like a site like this for my own location/ where&rsquo;s the "source code" to this site?</dt>
- <dd>
-The mySociety software behind this site is open source, and available
-under the GNU Affero GPL software license. You can <a
-href="http://github.com/mysociety/fixmystreet">download the
-source code</a> and help mySociety develop it.
-You&rsquo;re welcome to use it in your own projects, although you must also
-make available the source code to any such projects.
-<a href="http://www.fiksgatami.no/">Fiksgatami</a> is an example of our code
-being used in a Norwegian version of this site.
-</dd>
-
-</dl>
-
- <h2><a name="privacy"></a>Privacy Questions</h2>
-
- <dl>
- <dt>Who gets to see my email address?</dt>
- <dd>
-<p>If you submit a problem, your details, and details of the problem, will be
-submitted to Harrogate Borough Council, or North Yorkshire County Council, as
-appropriate. Other than the council, only people we authorise to view the
-FixMyStreet administration interface will be able to see your email address and
-they will never use it for anything other than to help administer
-FixMyStreet.</p>
-<p>We will never give or sell your email address to anyone else, unless we are
-obliged to by law. Your name will not be published anywhere unless you let us.</p>
-</dd>
-
- <dt>What emails will you send to me?</dt>
- <dd>We will email you when we have received your report, and when it has
- been investigated and actioned. We will only send you emails that
- relate to an issue you have reported.</dd>
-
- </dl>
-
-[% INCLUDE 'footer.html' pagefooter = 'yes' %]
diff --git a/templates/web/harrogate/about/privacy.html b/templates/web/harrogate/about/privacy.html
deleted file mode 100755
index 767f80fbf..000000000
--- a/templates/web/harrogate/about/privacy.html
+++ /dev/null
@@ -1,56 +0,0 @@
-[% INCLUDE 'header.html',
- title = loc('Frequently Asked Questions'),
- bodyclass = 'twothirdswidthpage' %]
-
-<div class="sticky-sidebar">
- <aside>
- <ul class="plain-list">
- <li><a href="/faq">Frequently Asked Questions</a></li>
- <li><strong>Privacy and cookies</strong></li>
- <li><a href="/contact">Contact [% site_name %]</a></li>
- </ul>
- </aside>
-</div>
-
-<h1>Privacy, cookies, and third party services</h1>
-
-<p><strong>Our use of your data, cookies, and external services: what you
-should know, and how to opt out if you want to.</strong></p>
-
-<h2>Privacy</h2>
-
- <dl>
- <dt>Who gets to see my email address?</dt>
- <dd>
- <p>If you submit a problem, your details, and details of the problem, will be
- submitted to Harrogate Borough Council, or North Yorkshire County Council, as
- appropriate. Other than the council, only people we authorise to view the
- FixMyStreet administration interface will be able to see your email address and
- they will never use it for anything other than to help administer
- FixMyStreet.</p>
- <p>We will never give or sell your email address to anyone else, unless we are
- obliged to by law. Your name will not be published anywhere unless you let us.</p>
- </dd>
-
- <dt>What emails will you send to me?</dt>
- <dd>We will email you when we have received your report, and when it has
- been investigated and actioned. We will only send you emails that
- relate to an issue you have reported.</dd>
-
- </dl>
- <dl>
-
-<h2>Cookies</h2>
-
-<p>To make our service easier or more useful, we sometimes place small data
-files on your computer or mobile phone, known as cookies; many websites do
-this. We use this information to, for example, remember you have logged in so
-you don't need to do that on every page. Below, we list the cookies and
-services that this site can use.
-
-<table cellpadding=5>
-<tr align="left"><th scope="col">Name</th><th scope="col">Typical Content</th><th scope="col">Expires</th></tr>
-<tr><td>fixmystreet_app_session</td><td nowrap>A random unique identifier</td><td>When browser is closed, or four weeks if &ldquo;Keep me signed in&rdquo; is ticked</td></tr>
-</table>
-
-[% INCLUDE 'footer.html' pagefooter = 'yes' %]
diff --git a/templates/web/harrogate/around/intro.html b/templates/web/harrogate/around/intro.html
deleted file mode 100644
index 53476965d..000000000
--- a/templates/web/harrogate/around/intro.html
+++ /dev/null
@@ -1,4 +0,0 @@
- <div id="postcode-intro">
- <h1> Report something in Harrogate district that needs to be fixed, cleaned, or cleared. </h1>
- <h2> (like graffiti, fly tipping, broken playground equipment, or street lighting) </h2>
- </div>
diff --git a/templates/web/harrogate/footer.html b/templates/web/harrogate/footer.html
deleted file mode 100644
index 2cbe8f986..000000000
--- a/templates/web/harrogate/footer.html
+++ /dev/null
@@ -1,42 +0,0 @@
- </div><!-- .content role=main -->
- </div><!-- .container -->
- </div><!-- .table-cell -->
-
- <div class="nav-wrapper">
- <div class="nav-wrapper-2">
- <div id="main-nav" role="navigation">
- [% INCLUDE 'main_menu.html' extra_class = 'nav-menu--main' %]
- </div>
- </div>
- </div>
- </div> <!-- .wrapper -->
-
- [% IF pagefooter %]
- <footer class="site-footer">
- <div class="container">
- <section class="site-footer__useful-links">
- <h2 class="site-footer__heading">Useful links</h2>
- <ul class="site-footer__list item-list item-list--inline">
- <li class="site-footer__list__item item-list__item"><a class="site-footer__link" href="https://www.harrogate.gov.uk/accessibility">Accessibility</a></li>
- <li class="site-footer__list__item item-list__item"><a class="site-footer__link" href="https://www.harrogate.gov.uk/contactus">Contact us</a></li>
- <li class="site-footer__list__item item-list__item"><a class="site-footer__link" href="https://www.harrogate.gov.uk/feedback">Feedback</a></li>
- <li class="site-footer__list__item item-list__item"><a class="site-footer__link" href="https://www.harrogate.gov.uk/terms">Terms of use</a></li>
- <li class="site-footer__list__item item-list__item"><a class="site-footer__link" href="https://www.harrogate.gov.uk/cookies">Privacy and cookies</a></li>
- <li class="site-footer__list__item item-list__item"><a class="site-footer__link" href="http://www.northyorks.gov.uk/" target="_blank">North Yorkshire County Council</a></li>
- <li class="site-footer__list__item item-list__item"><a class="site-footer__link" href="https://www.gov.uk/" target="_blank">GOV.UK</a></li>
- <!-- <li><a href="https://www.harrogate.gov.uk/site_map" rel="nofollow">Site map</a></li> -->
- </ul>
- <p class="site-footer__rights">© 2016 Harrogate Borough Council</p>
- <p class="site-footer__rights-two">
- Powered by <a class="platform-logo" href="https://fixmystreet.com/about/council/">FixMyStreet for Councils</a>
- </p>
- </section>
- </div>
- </footer>
- [% END %]
-
- [% INCLUDE 'common_footer_tags.html' %]
- <script src="[% version('/cobrands/harrogate/js.js') %]"></script>
-
-</body>
-</html>
diff --git a/templates/web/harrogate/front/footer-marketing.html b/templates/web/harrogate/front/footer-marketing.html
deleted file mode 100644
index 495a17fc5..000000000
--- a/templates/web/harrogate/front/footer-marketing.html
+++ /dev/null
@@ -1,19 +0,0 @@
- <div class="tablewrapper bordered">
- <div id="footer-mobileapps">
- <h4>The FixMyStreet App</h4>
- <p>
- <a href="https://itunes.apple.com/gb/app/fixmystreet/id297456545">
- <img alt="FixMyStreet app on the App Store" src="/cobrands/fixmystreet/images/itunes_store_logo.png" />
- </a>
- <a href="https://play.google.com/store/apps/details?id=org.mysociety.FixMyStreet">
- <img alt="FixMyStreet Android app on Google Play" src="/cobrands/fixmystreet/images/google_play_logo.png" />
- </a>
- </p>
- </div>
-
- <div id="footer-help">
- <p>
- Powered by <a class="platform-logo" href="http://fixmystreet.org/">FixMyStreet Platform</a>
- </p>
- </div>
- </div>
diff --git a/templates/web/harrogate/header_extra.html b/templates/web/harrogate/header_extra.html
deleted file mode 100644
index 9e75ea274..000000000
--- a/templates/web/harrogate/header_extra.html
+++ /dev/null
@@ -1,7 +0,0 @@
-<!-- Grunticon -->
-<script>
-!/*! grunt-grunticon Stylesheet Loader - v2.1.6 | https://github.com/filamentgroup/grunticon | (c) 2015 Scott Jehl, Filament Group, Inc. | MIT license. */
-!function(){function e(e,n,t){"use strict";var o=window.document.createElement("link"),r=n||window.document.getElementsByTagName("script")[0],a=window.document.styleSheets;return o.rel="stylesheet",o.href=e,o.media="only x",r.parentNode.insertBefore(o,r),o.onloadcssdefined=function(e){for(var n,t=0;t<a.length;t++)a[t].href&&a[t].href===o.href&&(n=!0);n?e():setTimeout(function(){o.onloadcssdefined(e)})},o.onloadcssdefined(function(){o.media=t||"all"}),o}function n(e,n){e.onload=function(){e.onload=null,n&&n.call(e)},"isApplicationInstalled"in navigator&&"onloadcssdefined"in e&&e.onloadcssdefined(n)}!function(t){var o=function(r,a){"use strict";if(r&&3===r.length){var i=t.navigator,c=t.document,s=t.Image,d=!(!c.createElementNS||!c.createElementNS("http://www.w3.org/2000/svg","svg").createSVGRect||!c.implementation.hasFeature("http://www.w3.org/TR/SVG11/feature#Image","1.1")||t.opera&&-1===i.userAgent.indexOf("Chrome")||-1!==i.userAgent.indexOf("Series40")),l=new s;l.onerror=function(){o.method="png",o.href=r[2],e(r[2])},l.onload=function(){var t=1===l.width&&1===l.height,i=r[t&&d?0:t?1:2];t&&d?o.method="svg":t?o.method="datapng":o.method="png",o.href=i,n(e(i),a)},l.src="data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///ywAAAAAAQABAAACAUwAOw==",c.documentElement.className+=" grunticon"}};o.loadCSS=e,o.onloadCSS=n,t.grunticon=o}(this),function(e,n){"use strict";var t=n.document,o="grunticon:",r=function(e){if(t.attachEvent?"complete"===t.readyState:"loading"!==t.readyState)e();else{var n=!1;t.addEventListener("readystatechange",function(){n||(n=!0,e())},!1)}},a=function(e){return n.document.querySelector('link[href$="'+e+'"]')},i=function(e){var n,t,r,a,i,c,s={};if(n=e.sheet,!n)return s;t=n.cssRules?n.cssRules:n.rules;for(var d=0;d<t.length;d++)r=t[d].cssText,a=o+t[d].selectorText,i=r.split(");")[0].match(/US\-ASCII\,([^"']+)/),i&&i[1]&&(c=decodeURIComponent(i[1]),s[a]=c);return s},c=function(e){var n,r,a,i;a="data-grunticon-embed";for(var c in e){i=c.slice(o.length);try{n=t.querySelectorAll(i)}catch(s){continue}r=[];for(var d=0;d<n.length;d++)null!==n[d].getAttribute(a)&&r.push(n[d]);if(r.length)for(d=0;d<r.length;d++)r[d].innerHTML=e[c],r[d].style.backgroundImage="none",r[d].removeAttribute(a)}return r},s=function(n){"svg"===e.method&&r(function(){c(i(a(e.href))),"function"==typeof n&&n()})};e.embedIcons=c,e.getCSS=a,e.getIcons=i,e.ready=r,e.svgLoadedCallback=s,e.embedSVG=s}(grunticon,this)}();
-grunticon(["[% version('/cobrands/harrogate/icons/icons.data.svg.css') %]", "[% version('/cobrands/harrogate/icons/icons.data.png.css') %]", "[% version('/cobrands/harrogate/icons/icons.fallback.css') %]"], grunticon.svgLoadedCallback);
-</script>
-<noscript><link rel="stylesheet" href="dist/icons/icons.fallback.css"></noscript>
diff --git a/templates/web/harrogate/header_site.html b/templates/web/harrogate/header_site.html
deleted file mode 100644
index 625d40c7a..000000000
--- a/templates/web/harrogate/header_site.html
+++ /dev/null
@@ -1,62 +0,0 @@
-<header class="site-header" id="site-header">
- <div class="container ">
- <div class="site-header__identity">
- <div class="site-header__identity__logo">
- <a href="http://www.harrogate.gov.uk">
- <svg xmlns="http://www.w3.org/2000/svg" width="400" height="135" viewBox="0 0 400 135"><title>harrogate</title><path d="M9.78,105.78H20.11q4.59,0,6.87,1.64a5.65,5.65,0,0,1,2.28,4.91,5.52,5.52,0,0,1-1.09,3.44A6,6,0,0,1,25,117.84v0.09a7,7,0,0,1,4.47,2.16,6.65,6.65,0,0,1,1.57,4.6,6.41,6.41,0,0,1-2.63,5.68q-2.63,1.81-8.27,1.81H9.78V105.78Zm4.1,3.44v7.38H20a6.84,6.84,0,0,0,4-.88,3.26,3.26,0,0,0,1.2-2.83,3.08,3.08,0,0,0-1.38-2.77,7.87,7.87,0,0,0-4.24-.9H13.89Zm0,10.7v8.77h7a7.31,7.31,0,0,0,4.38-1.07,3.84,3.84,0,0,0,1.44-3.28A3.89,3.89,0,0,0,25.3,121a7.22,7.22,0,0,0-4.37-1.09h-7ZM48.2,105a14.29,14.29,0,0,1,5,.84,12.06,12.06,0,0,1,4,2.45A13,13,0,0,1,60.46,113a16.73,16.73,0,0,1,.06,11.68,13.22,13.22,0,0,1-2.9,4.56A12.12,12.12,0,0,1,53.45,132a14.14,14.14,0,0,1-5.24.93A13.83,13.83,0,0,1,43,132a12.3,12.3,0,0,1-4.27-2.85,13.13,13.13,0,0,1-2.84-4.49,15.87,15.87,0,0,1-.94-5.61,15.71,15.71,0,0,1,1-5.65,13.23,13.23,0,0,1,2.93-4.53A12.2,12.2,0,0,1,43,106,13.75,13.75,0,0,1,48.2,105Zm0,3.47A7.59,7.59,0,0,0,42,111.44a11.75,11.75,0,0,0-2.39,7.67,11.21,11.21,0,0,0,2.4,7.46,7.72,7.72,0,0,0,6.2,2.86,7.63,7.63,0,0,0,6.17-2.88,13.19,13.19,0,0,0,0-15.13A7.68,7.68,0,0,0,48.2,108.51Zm18.15-2.73H76.68q4.94,0,7.47,1.77a6,6,0,0,1,2.53,5.22,6.12,6.12,0,0,1-1.35,4.07,5.44,5.44,0,0,1-3.64,1.9l0,0.13a4.93,4.93,0,0,1,3.47,1.37,5.8,5.8,0,0,1,1,3.87v1.43a21.6,21.6,0,0,0,.32,4.54,4.28,4.28,0,0,0,1.12,2.1h-5a5,5,0,0,1-.62-1.64,13.15,13.15,0,0,1-.19-2.5s0-.27,0-0.77,0-1,0-1.49q0-3.06-.84-4t-3.26-.94H70.57v11.33H66.35V105.78h0Zm4.21,3.47v8.12H77a6.72,6.72,0,0,0,4.1-1,3.7,3.7,0,0,0,1.38-3.15A3.36,3.36,0,0,0,81,110.28a6.84,6.84,0,0,0-4.05-1H70.57ZM104,105a14.29,14.29,0,0,1,5,.84,12.06,12.06,0,0,1,4,2.45,13,13,0,0,1,3.25,4.67,16.73,16.73,0,0,1,.06,11.68,13.22,13.22,0,0,1-2.9,4.56,12.12,12.12,0,0,1-4.18,2.77A14.14,14.14,0,0,1,104,133a13.83,13.83,0,0,1-5.24-1,12.3,12.3,0,0,1-4.27-2.85,13.13,13.13,0,0,1-2.84-4.49,15.87,15.87,0,0,1-.94-5.61,15.71,15.71,0,0,1,1-5.65,13.23,13.23,0,0,1,2.93-4.53A12.2,12.2,0,0,1,98.82,106,13.75,13.75,0,0,1,104,105Zm0,3.47a7.59,7.59,0,0,0-6.17,2.93,11.75,11.75,0,0,0-2.39,7.67,11.21,11.21,0,0,0,2.4,7.46,7.72,7.72,0,0,0,6.2,2.86,7.63,7.63,0,0,0,6.17-2.88,13.19,13.19,0,0,0,0-15.13A7.68,7.68,0,0,0,104,108.51Zm18.15-2.73h4.3v15.33q0,4.59,1.59,6.44t5.41,1.84q3.76,0,5.4-1.8t1.64-6.08V105.78h4.28v16.47q0,5.5-2.76,8.1t-8.56,2.6q-5.8,0-8.55-2.6t-2.75-8.11V105.78Zm52.36,8h-4.41a7.07,7.07,0,0,0-2.52-3.94,7.18,7.18,0,0,0-4.48-1.39,7.87,7.87,0,0,0-6.35,2.86,13.27,13.27,0,0,0,0,15.28,7.78,7.78,0,0,0,6.27,2.94,7,7,0,0,0,7.29-7.09h-4.66v-3h8.9v12.69h-3.15l-0.27-4.07a8.32,8.32,0,0,1-3.49,3.65,11.36,11.36,0,0,1-5.5,1.23,12.77,12.77,0,0,1-4.29-.71,10.53,10.53,0,0,1-3.53-2.07,13.58,13.58,0,0,1-3.53-4.92,16.64,16.64,0,0,1-.59-10.91,13.13,13.13,0,0,1,2-3.93,12.59,12.59,0,0,1,4.71-4.06,14.3,14.3,0,0,1,6.35-1.35,11.67,11.67,0,0,1,7.38,2.39A10.45,10.45,0,0,1,174.5,113.81Zm5.62-8h4.27v10.7h12.47v-10.7h4.25v26.4h-4.25V120H184.39v12.18h-4.27v-26.4Zm61.76,8h-4.7a6.71,6.71,0,0,0-2.41-3.8,7,7,0,0,0-4.37-1.36,8.1,8.1,0,0,0-6.45,2.88,11.15,11.15,0,0,0-2.48,7.53,10.86,10.86,0,0,0,2.48,7.42,8.17,8.17,0,0,0,6.45,2.83,7.23,7.23,0,0,0,4.77-1.56,6.15,6.15,0,0,0,2.19-4.21h4.74a10.47,10.47,0,0,1-3.91,6.9,13,13,0,0,1-8.2,2.49,12.65,12.65,0,0,1-9.64-3.86q-3.65-3.86-3.65-10.21a15.48,15.48,0,0,1,1-5.46,13.51,13.51,0,0,1,2.75-4.5,11.29,11.29,0,0,1,4.25-2.86,15,15,0,0,1,5.53-1,12.5,12.5,0,0,1,7.7,2.26A10.79,10.79,0,0,1,241.88,113.77Zm16.8-8.73a14.28,14.28,0,0,1,5,.84,12.06,12.06,0,0,1,4,2.45,13,13,0,0,1,3.25,4.67,16.72,16.72,0,0,1,.06,11.68,13.21,13.21,0,0,1-2.9,4.56,12.1,12.1,0,0,1-4.18,2.77,14.13,14.13,0,0,1-5.24.93,13.83,13.83,0,0,1-5.24-1,12.31,12.31,0,0,1-4.27-2.85,13.13,13.13,0,0,1-2.84-4.49,15.87,15.87,0,0,1-.94-5.61,15.71,15.71,0,0,1,1-5.65,13.23,13.23,0,0,1,2.93-4.53A12.22,12.22,0,0,1,253.5,106,13.75,13.75,0,0,1,258.67,105Zm0,3.47a7.59,7.59,0,0,0-6.16,2.93,11.75,11.75,0,0,0-2.39,7.67,11.21,11.21,0,0,0,2.4,7.46,7.72,7.72,0,0,0,6.2,2.86,7.63,7.63,0,0,0,6.17-2.88,13.18,13.18,0,0,0,0-15.13A7.68,7.68,0,0,0,258.67,108.51Zm18.15-2.73h4.3v15.33q0,4.59,1.59,6.44t5.4,1.84q3.76,0,5.4-1.8t1.64-6.08V105.78h4.28v16.47q0,5.5-2.76,8.1t-8.56,2.6q-5.8,0-8.55-2.6t-2.75-8.11V105.78h0Zm28.76,0H311l13.4,20.88,0.11-.11V105.78h4.23v26.4h-5.4L309.89,111l-0.2,0,0.11,21.13h-4.21v-26.4h0Zm53.1,8H354a6.71,6.71,0,0,0-2.41-3.8,7,7,0,0,0-4.36-1.36,8.1,8.1,0,0,0-6.45,2.88,11.15,11.15,0,0,0-2.48,7.53,10.86,10.86,0,0,0,2.48,7.42,8.17,8.17,0,0,0,6.45,2.83,7.23,7.23,0,0,0,4.77-1.56,6.15,6.15,0,0,0,2.19-4.21h4.74a10.47,10.47,0,0,1-3.91,6.9,13,13,0,0,1-8.2,2.49,12.65,12.65,0,0,1-9.64-3.86q-3.65-3.86-3.65-10.21a15.48,15.48,0,0,1,1-5.46,13.52,13.52,0,0,1,2.75-4.5,11.29,11.29,0,0,1,4.25-2.86,15,15,0,0,1,5.53-1,12.5,12.5,0,0,1,7.7,2.26A10.8,10.8,0,0,1,358.68,113.77Zm5-8h4.41v26.4h-4.41v-26.4Zm10.85,0h4.41v22.87h13.18v3.52H374.52V105.78ZM9.08,3.21h9.65V27.42H46.95V3.21h9.61V62.92H46.95V35.35H18.73V62.92H9.08V3.21Zm94.3,35.33V52.61a33.61,33.61,0,0,0,.43,5.62,21.73,21.73,0,0,0,1.33,4.68H95.86a24.19,24.19,0,0,1-.57-2.84Q95.08,58.62,95,57a20.62,20.62,0,0,1-6.58,5.71,16.92,16.92,0,0,1-7.89,1.82q-6.34,0-10.12-3.48a12,12,0,0,1-3.78-9.24,12.4,12.4,0,0,1,.78-4.48,10.17,10.17,0,0,1,2.33-3.58q3.23-3.19,14.8-4.37l2.17-.25q4.29-.45,6.09-1.7a4.17,4.17,0,0,0,1.8-3.66,4.56,4.56,0,0,0-2.21-3.95,10.44,10.44,0,0,0-5.93-1.49A11.27,11.27,0,0,0,80,30a6.67,6.67,0,0,0-2.94,4.64h-9a13.73,13.73,0,0,1,5.79-9.18q4.56-3,12.37-3,9.24,0,13.21,3.72T103.38,38.54Zm-8.63,2.25Q92.71,43,86,44.31l-2.17.45q-4.58,1-6.4,2.58a5.61,5.61,0,0,0-1.82,4.46,6.16,6.16,0,0,0,2,4.85,7.94,7.94,0,0,0,5.48,1.82q5.77,0,8.75-3.58t3-10.57q0-1-.16-3.27V40.79Zm47.32-18.4V31.1l-0.29,0q-2-.12-2.86-0.12-7,0-10.45,3.76T125,46.07V62.92h-8.79V24H125v7.77a18.46,18.46,0,0,1,6.65-7.09,18.63,18.63,0,0,1,9.51-2.27h0.9Zm33,0V31.1l-0.29,0q-2-.12-2.86-0.12-7,0-10.45,3.76T158,46.07V62.92h-8.79V24H158v7.77a18.46,18.46,0,0,1,6.65-7.09,18.63,18.63,0,0,1,9.51-2.27h0.9Zm23.07,0q9.41,0,15.07,5.77t5.66,15.33q0,9.45-5.68,15.23t-15,5.79q-9.45,0-15.11-5.75t-5.66-15.27q0-9.53,5.68-15.31T198.14,22.39Zm0,6.63a9.75,9.75,0,0,0-8.16,3.9q-3,3.91-3,10.65t3,10.49a10.66,10.66,0,0,0,16.36,0q3-3.82,3-10.49t-3-10.67A9.82,9.82,0,0,0,198.14,29Zm40,40a6.17,6.17,0,0,0,2.54,4.44,10.2,10.2,0,0,0,5.93,1.49q4.5,0,6.77-2.64t2.27-7.75v-7.2a15.14,15.14,0,0,1-5.6,5.48,16,16,0,0,1-7.77,1.8,15.33,15.33,0,0,1-12.39-5.93Q225,52.73,225,43.49t4.89-15.11a15.14,15.14,0,0,1,12.21-6,15.56,15.56,0,0,1,8.34,2.13,14,14,0,0,1,5.36,6.42l-0.16-7h8.87V63q0,9-4.89,13.6T245,81.15q-7.93,0-12.31-3.09a12.17,12.17,0,0,1-5-9.14Zm7-39.63a9.26,9.26,0,0,0-7.69,4q-3,4-3,10.39t3,10.28A9.37,9.37,0,0,0,245.25,58,9.07,9.07,0,0,0,252.88,54q2.92-3.95,2.92-10.37t-2.92-10.41A9.18,9.18,0,0,0,245.17,29.34Zm65.35,9.2V52.61a33.6,33.6,0,0,0,.43,5.62,21.68,21.68,0,0,0,1.33,4.68H303a24.18,24.18,0,0,1-.57-2.84q-0.21-1.45-.29-3.09a20.6,20.6,0,0,1-6.58,5.71,16.92,16.92,0,0,1-7.89,1.82q-6.34,0-10.12-3.48a12,12,0,0,1-3.78-9.24,12.42,12.42,0,0,1,.78-4.48,10.17,10.17,0,0,1,2.33-3.58q3.23-3.19,14.8-4.37l2.17-.25q4.29-.45,6.09-1.7a4.17,4.17,0,0,0,1.8-3.66,4.56,4.56,0,0,0-2.21-3.95,10.44,10.44,0,0,0-5.93-1.49A11.27,11.27,0,0,0,287.17,30a6.67,6.67,0,0,0-2.94,4.64h-9A13.73,13.73,0,0,1,281,25.44q4.56-3,12.37-3,9.24,0,13.21,3.72T310.52,38.54Zm-8.63,2.25q-2,2.21-8.71,3.52l-2.17.45q-4.58,1-6.4,2.58a5.61,5.61,0,0,0-1.82,4.46,6.17,6.17,0,0,0,2,4.85,7.94,7.94,0,0,0,5.48,1.82q5.77,0,8.75-3.58t3-10.57q0-1-.16-3.27V40.79h0Zm24.46-29.4h8.79V24h9.57v6.5h-9.57V48.93q0,5.44.94,6.91a3.76,3.76,0,0,0,3.44,1.47,8.56,8.56,0,0,0,2.06-.31,25.57,25.57,0,0,0,2.88-1v7A36.64,36.64,0,0,1,340,64.12a22.09,22.09,0,0,1-3.9.39q-5.52,0-7.63-2.62t-2.11-10.71V30.49h-5.52V24h5.52V11.39h0Zm66,34H360.62q0.33,6,3.62,9.32A11.92,11.92,0,0,0,373.09,58a11.71,11.71,0,0,0,6.09-1.55,10,10,0,0,0,4-4.37H392a17.19,17.19,0,0,1-6.81,9.14,20.39,20.39,0,0,1-11.63,3.25q-10.14,0-16-5.66t-5.85-15.36q0-9.41,5.7-15.25t15-5.85q9.45,0,14.68,5.6t5.23,15.83v1.59Zm-9.12-6a13,13,0,0,0-3.52-8.2,10.68,10.68,0,0,0-7.81-2.88,10.5,10.5,0,0,0-7.52,3,14.23,14.23,0,0,0-4,8.12h22.86Z" fill="#010101"></path><path d="M391.61,92.16c-20.74,4.32-75.5-.16-138.92-5.34C157.76,79.07,50.16,70.27,10.47,86.5l-0.31.13V99.7l0.68-.28C52.71,82.19,186,89.94,283.38,95.59c55.82,3.24,99.9,5.8,108.5,2.57l0.32-.12V92Z" fill="#1768b3"></path></svg>
- <span class="site-header__identity__heading visually-hidden">Harrogate Borough Council</span>
- </a>
- </div>
- </div>
-
- <div class="site-header__toggles">
- <a class="site-header__toggle site-header__toggle--menu icon icon-hamburger-menu2" href="#"><span class="visually-hidden">Menu</span></a>
- <a class="site-header__toggle site-header__toggle--search icon icon-magnifying-glass-white" href="#"><span class="visually-hidden">Search</span></a>
- </div>
-
- <div class="site-header__right-info">
- <div class="site-header__readspeak">
- </div>
- <div class="site-header__tasks site-header__tasks-nav">
- <div class="site-header__right-one site-header__tasks__transactions">
- <ul class="site-header__links item-list item-list--inline">
- <li class="item-list__item"><a href="http://www.harrogate.gov.uk/events">What's on</a></li>
- <li class="item-list__item"><a href="http://www.harrogate.gov.uk/news">News</a></li>
- <li class="item-list__item"><a href="http://www.harrogate.gov.uk/site/scripts/az_index.php">A-Z</a></li>
- <li class="item-list__item"><a href="http://www.harrogate.gov.uk/site/scripts/user_settings.php">Accessibility</a></li>
- [%# <li class="item-list__item"><a href="https://my.harrogate.gov.uk/">Sign in/Register</a></li> %]
- </ul>
- </div>
- </div>
- <div class="site-header__right-two">
- <ul class="site-header__links item-list item-list--inline">
- <li class="item-list__item"><a href="https://my.harrogate.gov.uk/MyServices"><i class="icon icon-arrow"></i> <span>Forms</span></a></li>
- <li class="item-list__item"><a href="https://www.harrogate.gov.uk/payments"><i class="icon icon-arrow"></i> <span>Payments</span></a></li>
- <li class="item-list__item"><a href="https://www.harrogate.gov.uk/a_to_z" class="show-hide-link" id="navigation"><i class="icon icon-hamburger-menu"></i> <span>Council services</span></a></li>
- </ul>
- </div>
- </div>
- <a href="/" id="report-cta" title="[%- loc('Report a problem') -%]">[%- loc('Report') -%]</a>
- <a href="#main-nav" id="nav-link">Main Navigation</a>
- </div>
- <div class="site-header__tasks__search-outer">
- <div class="site-header__search">
- <div class="container">
- <form class="site-header__tasks__search site-search form" action="http://www.harrogate.gov.uk/site/scripts/google_results.php" method="get">
- <div class="form__control form__control--append--wide">
- <label class="form__label" for="search-site">Keyword search</label>
- <div class="form__control--append__group">
- <input class="form__field" type="search" size="18" maxlength="40" name="q" placeholder="Keyword search e.g. council tax, planning permission..." id="search-site">
- <button class="button button--primary" type="submit"><span class="visually-hidden">Search</span> <i data-grunticon-embed="" class="icon icon-magnifying-glass"></i></button>
- </div>
- </div>
- </form>
- </div>
- </div>
- </div>
- <div class="site-header__tasks__fms-nav">
- <div class="container">
- [% INCLUDE 'main_menu.html' extra_class = 'nav-menu--header' %]
- </div>
- </div>
- </header> \ No newline at end of file
diff --git a/templates/web/harrogate/main_menu.html b/templates/web/harrogate/main_menu.html
deleted file mode 100644
index 4e27c7a97..000000000
--- a/templates/web/harrogate/main_menu.html
+++ /dev/null
@@ -1,20 +0,0 @@
-<ul class="nav-menu [% extra_class %]">
- <li><[% IF c.req.uri.path == '/'
- %]span[% ELSE %]a href="/"[% END %] class="report-a-problem-btn"
- >[% loc("Report a problem") %]</[% c.req.uri.path == '/' ? 'span' : 'a' %]></li>[%
- %]<li><[% IF c.req.uri.path == '/my'
- %]span[% ELSE %]a href="/my"[% END
- %]>[% c.user_exists ? loc("Your account") : loc("Sign in") %]</[% c.req.uri.path == '/my' ? 'span' : 'a' %]></li>[%
- %]<li><[% IF c.req.uri.path == '/reports/Harrogate'
- %]span[% ELSE %]a href="/reports/Harrogate"[% END
- %]>[% loc("All reports") %]</[% c.req.uri.path == '/reports/Harrogate' ? 'span' : 'a' %]></li>[%
- %]<li><[% IF c.req.uri.path == '/alert'
- %]span[% ELSE %]a href="/alert[% pc ? '/list?pc=' : '' %][% pc | uri %]"[% END
- %]>[% loc("Local alerts") %]</[% c.req.uri.path == '/alert' ? 'span' : 'a' %]></li>[%
- %]<li><[% IF c.req.uri.path == '/faq'
- %]span[% ELSE %]a href="/faq"[% END
- %]>[% loc("Help") %]</[% c.req.uri.path == '/faq' ? 'span' : 'a' %]></li>[%
- %]<li class="nav-menu__item--privacy"><[% IF c.req.uri.path == '/privacy'
- %]span[% ELSE %]a href="/privacy"[% END
- %]>[% loc("Privacy") %]</[% c.req.uri.path == '/privacy' ? 'span' : 'a' %]></li>
-</ul>
diff --git a/templates/web/harrogate/report/new/after_category.html b/templates/web/harrogate/report/new/after_category.html
deleted file mode 100644
index c00185d74..000000000
--- a/templates/web/harrogate/report/new/after_category.html
+++ /dev/null
@@ -1,17 +0,0 @@
-<noscript>
- <p class="nycc-notice">
- Please report issues for categories labelled <b>(NYCC)</b> directly to
- <a href="http://www.northyorks.gov.uk/article/28237/Report-it-online">
- North Yorkshire County Council.
- </a>
- </p>
-</noscript>
-
-<p class="nycc-notice" style="display:none">
- Please report issues for <b>NYCC</b> managed categories directly to
- <a href="http://www.northyorks.gov.uk/article/28237/Report-it-online">
- North Yorkshire County Council.
- </a>
-</p>
-
-<p><small>[% loc("Remember that FixMyStreet is primarily for reporting physical problems that can be fixed. If your problem is not appropriate for submission via this site remember that you can contact your council directly using their own website.") %]</small></p>
diff --git a/templates/web/harrogate/report/new/councils_extra_text.html b/templates/web/harrogate/report/new/councils_extra_text.html
deleted file mode 100644
index 91cceca11..000000000
--- a/templates/web/harrogate/report/new/councils_extra_text.html
+++ /dev/null
@@ -1 +0,0 @@
-Do not use this to <a href="/faq#emergencies">report emergencies outside of working hours</a>.
diff --git a/templates/web/hart/footer.html b/templates/web/hart/footer.html
index fae5bed1a..e1b013032 100644
--- a/templates/web/hart/footer.html
+++ b/templates/web/hart/footer.html
@@ -7,18 +7,7 @@
<div class="nav-wrapper clearfix">
<div class="main-menu-wrapper">
<div class="main-menu">
- <ul class="clearfix">
- <li class="home"><[% IF c.req.uri.path == '/' %]span[% ELSE %]a href="/"[% END %] class="report-a-problem-btn"
- >[% "Report" %]</[% c.req.uri.path == '/' ? 'span' : 'a' %]></li>[%
- %]<li><[% IF c.req.uri.path == '/my' OR ( c.req.uri.path == '/auth' AND c.req.params.r == 'my' ) %]span[% ELSE %]a href="/my"[% END
- %]>[% loc("Your reports") %]</[% ( c.req.uri.path == '/my' OR ( c.req.uri.path == '/auth' AND c.req.params.r == 'my' ) ) ? 'span' : 'a' %]></li>[%
- %]<li><[% IF c.req.uri.path == '/reports/Hart' %]span[% ELSE %]a href="/reports/Hart"[% END
- %]>[% loc("All reports") %]</[% c.req.uri.path == '/reports' ? 'span' : 'a' %]></li>[%
- %]<li><[% IF c.req.uri.path == '/alert' %]span[% ELSE %]a href="/alert[% pc ? '/list?pc=' : '' %][% pc | uri %]"[% END
- %]>[% loc("Local alerts") %]</[% c.req.uri.path == '/alert' ? 'span' : 'a' %]></li>[%
- %]<li class="last"><[% IF c.req.uri.path == '/faq' %]span[% ELSE %]a href="/faq"[% END
- %]>[% loc("Help") %]</[% c.req.uri.path == '/faq' ? 'span' : 'a' %]></li>
- </ul>
+ [% INCLUDE "main_nav.html" body_name=c.cobrand.council_area hide_mysoc_link=1 ul_class="clearfix" hide_privacy_link=1 %]
</div>
</div>
<div class="nav-wrapper-2 clearfix">
@@ -77,7 +66,7 @@
</footer>
<div class="clearfix" id="footer-row-2">
<div id="hart-powered-by">
- <a href="https://www.fixmystreet.com/council">Powered by <img src="/cobrands/hart/fms-logo.png" alt="FixMyStreet" style="height:20px;"></a>
+ <a href="https://www.fixmystreet.com/about/council">Powered by <img src="/cobrands/hart/fms-logo.png" alt="FixMyStreet" style="height:20px;"></a>
</div>
<div id="footer-images">
<a href="https://twitter.com/HartCouncil">
diff --git a/templates/web/oxfordshire/admin/defecttypes/extra_fields.html b/templates/web/oxfordshire/admin/defecttypes/extra_fields.html
new file mode 100644
index 000000000..73cc54f0c
--- /dev/null
+++ b/templates/web/oxfordshire/admin/defecttypes/extra_fields.html
@@ -0,0 +1,8 @@
+<p>
+ <strong>[% loc('Activity Code:') %] </strong>
+ <input type="text" name="extra[activity_code]" class="form-control" size="30" value="[% dt.get_extra_metadata('activity_code') | html %]">
+</p>
+<p>
+ <strong>[% loc('Defect Code:') %] </strong>
+ <input type="text" name="extra[defect_code]" class="form-control" size="30" value="[% dt.get_extra_metadata('defect_code') | html %]">
+</p>
diff --git a/templates/web/oxfordshire/admin/user-form-extra-fields.html b/templates/web/oxfordshire/admin/user-form-extra-fields.html
new file mode 100644
index 000000000..4109a3075
--- /dev/null
+++ b/templates/web/oxfordshire/admin/user-form-extra-fields.html
@@ -0,0 +1,21 @@
+<li>
+ <div class="admin-hint">
+ <p>
+ [% loc("Reports from users with high enough reputation will be sent immediately without requiring inspection. Each category's threshold can be managed on its edit page. Users earn reputation when a report they have made is marked as inspected by inspectors.") %]
+ </p>
+ </div>
+ [% loc('Reputation:') %] [% user.get_extra_metadata('reputation') %]
+</li>
+
+<li>
+ <div class="admin-hint">
+ <p>
+ [% loc(
+ "The user's initials are used when sending inspections to Exor.
+ Only inspectors need to have this field filled in.")
+ %]
+ </p>
+ </div>
+ <label for="initials">[% loc('Initials:') %]</label>
+ <input type='text' class="form-control" name='extra[initials]' id='initials' value='[% user.get_extra_metadata("initials") | html %]'>
+</li>
diff --git a/templates/web/oxfordshire/defect_type/format.html b/templates/web/oxfordshire/defect_type/format.html
new file mode 100644
index 000000000..9cbf2d873
--- /dev/null
+++ b/templates/web/oxfordshire/defect_type/format.html
@@ -0,0 +1,4 @@
+[% MACRO defect_type_format BLOCK ~%]
+[%~ defect_type.get_extra_metadata('defect_code') | html %] - [% defect_type.get_extra_metadata('activity_code') | html %]
+([% defect_type.name | html %])
+[%~ END %] \ No newline at end of file
diff --git a/templates/web/oxfordshire/footer.html b/templates/web/oxfordshire/footer.html
index 89a9f89de..dd90cab01 100644
--- a/templates/web/oxfordshire/footer.html
+++ b/templates/web/oxfordshire/footer.html
@@ -11,24 +11,10 @@
<div class="nav-wrapper-2">
<div id="main-nav" role="navigation">
<ul class="nav-menu nav-menu--mysoc">
- <li><a id="mysoc-logo" href="https://www.fixmystreet.com/council">Powered by <img src="/cobrands/oxfordshire/images/fms-logo-105x20.png" alt="FixMyStreet"></a></li>
+ <li><a id="mysoc-logo" href="https://www.fixmystreet.com/about/council">Powered by <img src="/cobrands/oxfordshire/images/fms-logo-105x20.png" alt="FixMyStreet"></a></li>
</ul>
- <ul class="nav-menu nav-menu--main">
- <li><[% IF c.req.uri.path == '/' %]span[% ELSE %]a href="/"[% END %] class="report-a-problem-btn"
- >[% loc("Report a problem") %]</[% c.req.uri.path == '/' ? 'span' : 'a' %]></li>[%
- %]<li><[% IF c.req.uri.path == '/my' %]span[% ELSE %]a href="/my"[% END
- %]>[% c.user_exists ? loc("Your account") : loc("Sign in") %]</[% c.req.uri.path == '/my' ? 'span' : 'a' %]></li>[%
- %][% IF c.user_exists AND c.user.has_body_permission_to('planned_reports') %]<li>
- <[% IF c.req.uri.path == '/my/planned' %]span[% ELSE %]a href="/my/planned"[% END
- %]>[% loc('Shortlist') %]</[% c.req.uri.path == '/my/planned' ? 'span' : 'a' %]></li>[%
- %][% END %]<li><[% IF c.req.uri.path == '/reports' %]span[% ELSE %]a href="/reports[% IF c.user_exists AND c.user.categories.size %]?filter_category=[% c.user.categories.join(",") | uri | html %][% END %]"[% END
- %]>[% loc("All reports") %]</[% c.req.uri.path == '/reports' ? 'span' : 'a' %]></li>[%
- %]<li><[% IF c.req.uri.path == '/alert' %]span[% ELSE %]a href="/alert[% pc ? '/list?pc=' : '' %][% pc | uri %]"[% END
- %]>[% loc("Local alerts") %]</[% c.req.uri.path == '/alert' ? 'span' : 'a' %]></li>[%
- %]<li><[% IF c.req.uri.path == '/faq' %]span[% ELSE %]a href="/faq"[% END
- %]>[% loc("Help") %]</[% c.req.uri.path == '/faq' ? 'span' : 'a' %]></li>
- </ul>
+ [% INCLUDE "main_nav.html" body_name=c.cobrand.council_area hide_mysoc_link=1 omit_wrapper=1 hide_privacy_link=1 %]
</div>
</div>
</div>
diff --git a/templates/web/oxfordshire/header.html b/templates/web/oxfordshire/header.html
index 042222e1d..452a71e88 100644
--- a/templates/web/oxfordshire/header.html
+++ b/templates/web/oxfordshire/header.html
@@ -2,7 +2,10 @@
<!--[if IE 7]> <html class="no-js ie7 iel8" lang="[% lang_code %]"><![endif]-->
<!--[if IE 8]> <html class="no-js ie8 iel8" lang="[% lang_code %]"><![endif]-->
<!--[if IE 9]> <html class="no-js ie9" lang="[% lang_code %]"><![endif]-->
-<!--[if gt IE 9]><!--><html class="no-js" lang="[% lang_code %]"><!--<![endif]-->
+<!--[if gt IE 9]><!--><html class="no-js" lang="[% lang_code %]"
+[% IF appcache ~%]
+ manifest="/offline/appcache.manifest"
+[%~ END %]><!--<![endif]-->
<head>
<meta name="viewport" content="initial-scale=1.0">
@@ -34,33 +37,7 @@
<div id="navigation">
<div class="menubar">
<div class="menu-inner">
- <ul class="menu">
- <li>
- <[% IF c.req.uri.path == '/' %]span[% ELSE %]a href="/"[% END %]>[% "Report" %]</[% c.req.uri.path == '/' ? 'span' : 'a' %]>
- </li>
- <li>
- <[% IF c.req.uri.path == '/my' OR ( c.req.uri.path == '/auth' AND c.req.params.r == 'my' ) %]span[% ELSE %]a href="/my"[% END
- %]>[% c.user_exists ? loc("Your account") : loc("Sign in") %]</[% ( c.req.uri.path == '/my' OR ( c.req.uri.path == '/auth' AND c.req.params.r == 'my' ) ) ? 'span' : 'a' %]>
- </li>
- [% IF c.user_exists AND c.user.has_body_permission_to('planned_reports') %]
- <li>
- <[% IF c.req.uri.path == '/my/planned' %]span[% ELSE %]a href="/my/planned"[% END
- %]>[% loc('Shortlist') %]</[% c.req.uri.path == '/my/planned' ? 'span' : 'a' %]>
- </li>
- [% END %]
- <li>
- <[% IF c.req.uri.path == '/reports/Oxfordshire' %]span[% ELSE %]a href="/reports/Oxfordshire[% IF c.user_exists AND c.user.categories.size %]?filter_category=[% c.user.categories.join(",") | uri | html %][% END %]"[% END
- %]>[% loc("All reports") %]</[% c.req.uri.path == '/reports' ? 'span' : 'a' %]>
- </li>
- <li>
- <[% IF c.req.uri.path == '/alert' %]span[% ELSE %]a href="/alert[% pc ? '/list?pc=' : '' %][% pc | uri %]"[% END
- %]>[% loc("Local alerts") %]</[% c.req.uri.path == '/alert' ? 'span' : 'a' %]>
- </li>
- <li>
- <[% IF c.req.uri.path == '/faq' %]span[% ELSE %]a href="/faq"[% END
- %]>[% loc("Help") %]</[% c.req.uri.path == '/faq' ? 'span' : 'a' %]>
- </li>
- </ul>
+ [% INCLUDE "main_nav.html" body_name=c.cobrand.council_area hide_mysoc_link=1 hide_privacy_link=1 omit_wrapper=1 ul_class="menu" %]
</div>
</div>
</div>
diff --git a/templates/web/oxfordshire/report/inspect/state_groups_select.html b/templates/web/oxfordshire/report/inspect/state_groups_select.html
new file mode 100644
index 000000000..d9db3864a
--- /dev/null
+++ b/templates/web/oxfordshire/report/inspect/state_groups_select.html
@@ -0,0 +1,21 @@
+[%
+SET state_pretty = {
+ 'confirmed' = loc('Open')
+ 'investigating' = loc('Investigating')
+ 'action scheduled' = loc('Action Scheduled')
+ 'fixed - council' = loc('Fixed')
+ 'not responsible' = loc('Not Responsible')
+ 'duplicate' = loc('Duplicate')
+ 'unable to fix' = loc('No further action')
+};
+
+SET state_groups = [
+ [ loc('New'), [ 'confirmed', 'investigating' ] ],
+ [ loc('Scheduled'), [ 'action scheduled' ] ],
+ [ loc('Fixed'), [ 'fixed - council' ] ],
+ [ loc('Closed'), [ 'not responsible', 'duplicate', 'unable to fix' ] ]
+];
+
+%]
+[% DEFAULT current_state = problem.state %]
+[% INCLUDE 'report/_state_select_field.html' %]
diff --git a/templates/web/seesomething/admin/footer.html b/templates/web/seesomething/admin/footer.html
deleted file mode 100644
index bdd42e2e4..000000000
--- a/templates/web/seesomething/admin/footer.html
+++ /dev/null
@@ -1,7 +0,0 @@
- </div><!-- .content role=main -->
- </div><!-- .container -->
- </div><!-- .table-cell -->
-<!-- [% INCLUDE 'debug_footer.html' %] -->
- </div> <!-- .wrapper -->
-</body>
-</html>
diff --git a/templates/web/seesomething/admin/header.html b/templates/web/seesomething/admin/header.html
deleted file mode 100644
index 40bea25bf..000000000
--- a/templates/web/seesomething/admin/header.html
+++ /dev/null
@@ -1,2 +0,0 @@
-[% INCLUDE 'header.html' admin = 1, bodyclass = 'admin fullwidthpage' %]
- <h1>[% title %]</h1>
diff --git a/templates/web/seesomething/admin/stats.html b/templates/web/seesomething/admin/stats.html
deleted file mode 100644
index 155bff472..000000000
--- a/templates/web/seesomething/admin/stats.html
+++ /dev/null
@@ -1,63 +0,0 @@
-[% INCLUDE 'admin/header.html' title=loc('Reports') %]
-[% PROCESS 'admin/report_blocks.html' %]
-
-[% BLOCK options %]
- [% FOR option IN option_list %]
- <option value="[% option %]"[% ' selected' IF selected == option %]>[% option %]</opytion>
- [% END %]
-[% END %]
-
-<form method="post" action="[% c.uri_for('stats') %]" enctype="application/x-www-form-urlencoded" accept-charset="utf-8" id="filter-form">
- <label for="form_category">Transport Type: </label>
- <select class="form-control" name="category" id="form_category">
- <option value="">Select</option>
- [% PROCESS options, option_list = [ 'Bus', 'Metro', 'Train' ], selected = category %]
- </select>
-
- <label for="form_subcategory">Incident Type: </label>
- <select class="form-control" name="subcategory" id="form_subcategory">
- <option value="">Select</option>
- [% PROCESS options, option_list = ['Smoking', 'Drugs', 'Anti-social Behaviour', 'Loud Music', 'Damage', 'Feet on Seats', 'Other'], selected = subcategory %]
- </select>
-
- <label for="form_service">Device: </label>
- <select class="form-control" name="service" id="form_service">
- <option value="">Select</option>
- [% PROCESS options, option_list = [ 'Android', 'iPhone' ], selected = service %]
- </select>
-
- <input type="submit" class="btn" name="getcounts" size="30" id="getcounts" value="Look Up" />
-</form>
-
-[% IF pager.total_entries == 0 %]
-<p align="center">
-No Results found
-</p>
-[% ELSE %]
-<table class="admin-report">
- <thead>
- <tr>
- <th>Device</th>
- <th>Transport Category</th>
- <th>Incident Category</th>
- <th>Area</th>
- <th>Submitted</th>
- </tr>
- </thead>
- <tbody>
- [%- WHILE (report = reports.next) %]
- <tr>
- <td>[% report.service || 'Other' %]</td>
- <td>[% report.category %]</td>
- <td class="nowrap">[% report.subcategory %]</td>
- <td class="nowrap">[% council_details.${report.bodies_str} %]</td>
- <td class="nowrap">[% PROCESS format_time time=report.confirmed %]</td>
- </tr>
- [%- END %]
- </tbody>
-</table>
-[% END %]
-
-[% INCLUDE 'pagination.html', param = 'p' %]
-
-[% INCLUDE 'admin/footer.html' %]
diff --git a/templates/web/seesomething/around/display_location.html b/templates/web/seesomething/around/display_location.html
deleted file mode 100644
index 7886c3a5d..000000000
--- a/templates/web/seesomething/around/display_location.html
+++ /dev/null
@@ -1,52 +0,0 @@
-[%
-
- url_skip = c.uri_for(
- '/report/new',
- {
- pc => pc
- latitude => latitude,
- longitude => longitude,
- skipped => 1,
- }
- );
-
- PROCESS "maps/${map.type}.html";
- sidebar_html = PROCESS 'report/new/sidebar.html', js = 1, report.used_map = 1;
-
- INCLUDE 'header.html',
- title => loc('Viewing a location')
- bodyclass => 'mappage',
- robots => 'noindex,nofollow';
-
-%]
-
-<form action="[% c.uri_for('/report/new') %]" method="post" name="mapForm" id="mapForm" enctype="multipart/form-data" class="validate" novalidate>
- <input type="hidden" name="token" value="[% csrf_token %]">
- [% IF c.req.params.map_override %]
- <input type="hidden" name="map_override" value="[% c.req.params.map_override | html %]">
- [% END %]
- <input type="hidden" name="pc" value="[% pc | html %]">
-
- <input type="hidden" name="latitude" id="fixmystreet.latitude" value="[% latitude | html %]">
- <input type="hidden" name="longitude" id="fixmystreet.longitude" value="[% longitude | html %]">
-
- [% map_html %]
- </div>
-
- <div id="map_sidebar">
- <div id="side">
- [% INCLUDE 'around/_report_banner.html' %]
- </div>
-
- <div style="display:none" id="side-form">
- [% INCLUDE "report/new/fill_in_details_form.html"
- js = 1,
- report.used_map = 1
- report.name = c.user.name
- %]
- </div>
- </div>
-
-</form>
-
-[% INCLUDE 'footer.html' %]
diff --git a/templates/web/seesomething/around/index.html b/templates/web/seesomething/around/index.html
deleted file mode 100644
index a143e90a2..000000000
--- a/templates/web/seesomething/around/index.html
+++ /dev/null
@@ -1,24 +0,0 @@
-[% INCLUDE 'header.html', title => loc('Reporting a problem'), bodyclass = 'mappage' %]
-
-<form action="[% c.uri_for('/around') %]" method="get" name="mapForm" id="mapForm">
- <div id="side-form">
- <div id="report-a-problem-main">
- [% INCLUDE 'around/postcode_form.html' %]
-
- [% IF location_error %]
- <p class="error">[% location_error %]</p>
- [% END %]
-
- [% IF possible_location_matches %]
- <p>[% loc('We found more than one match for that location. We show up to ten matches, please try a different search if yours is not here.') %]</p>
- <ul class="pc_alternatives">
- [% FOREACH match IN possible_location_matches %]
- <li><a href="/around?latitude=[% match.latitude | uri %];longitude=[% match.longitude | uri %]">[% match.address | html %]</a></li>
- [% END %]
- </ul>
- [% END %]
- </div>
- </div>
-</form>
-
-[% INCLUDE 'footer.html' %]
diff --git a/templates/web/seesomething/around/postcode_form.html b/templates/web/seesomething/around/postcode_form.html
deleted file mode 100644
index 56fcdca97..000000000
--- a/templates/web/seesomething/around/postcode_form.html
+++ /dev/null
@@ -1,17 +0,0 @@
-<div id="front-main">
- <div id="front-main-container">
- [%
- question = c.cobrand.enter_postcode_text || loc('Enter a nearby street name and area');
- %]
-
- <label for="pc">[% question %]:</label>
- <div>
- <input type="text" name="pc" value="[% pc | html %]" id="pc" size="10" maxlength="200" placeholder="[% tprintf(loc('e.g. ‘%s’ or ‘%s’'), c.cobrand.example_places) %]">
- <input type="submit" value="[% loc('Go') %]" id="submit">
- </div>
-
- [% IF partial_token %]
- <input type="hidden" name="partial" value="[% partial_token.token %]">
- [% END %]
- </div>
-</div>
diff --git a/templates/web/seesomething/auth/general.html b/templates/web/seesomething/auth/general.html
deleted file mode 100644
index 09639d15b..000000000
--- a/templates/web/seesomething/auth/general.html
+++ /dev/null
@@ -1,46 +0,0 @@
-[% INCLUDE 'header.html', title = loc('Sign in or create an account') %]
-
-<h1>[% loc('Sign in') %]</h1>
-
-<form action="[% c.uri_for() %]" method="post" name="general_auth" class="validate">
- <fieldset>
- <input type="hidden" name="r" value="[% c.req.params.r | html %]">
-
- [% IF email_error;
-
- # other keys include fqdn, mxcheck if you'd like to write a custom error message
-
- errors = {
- missing => loc('Please enter your email'),
- other => loc('Please check your email address is correct')
- };
-
- loc_email_error = errors.$email_error || errors.other;
- END %]
- <label class="n" for="email">[% loc('Email') %]</label>
- [% IF loc_email_error %]
- <div class="form-error">[% loc_email_error %]</div>
- [% ELSIF sign_in_error %]
- <div class="form-error">[% loc('There was a problem with your email/password combination. If you cannot remember your password, or do not have one, please fill in the &lsquo;sign in by email&rsquo; section of the form.') %]</div>
- [% END %]
- <input type="email" class="form-control required email" id="email" name="email" value="[% email | html %]" placeholder="[% loc('Your email address') %]">
-
- <div class="form-txt-submit-box">
- <label class="n" for="password_sign_in">Password</label>
- <input type="password" class="form-control" name="password_sign_in" id="password_sign_in" value="" placeholder="[% loc('Your password') %]">
- </div>
-
- <div class="form-txt-submit-box">
- <input type="checkbox" id="remember_me" name="remember_me" value='1'[% ' checked' IF remember_me %]>
- <label class="inline n" for="remember_me">[% loc('Keep me signed in on this computer') %]</label>
- </div>
-
- <div class="form-txt-submit-box">
- <input class="green-btn" type="submit" name="sign_in" value="[% loc('Sign in') %]">
- </div>
-
- </fieldset>
-</form>
-
-
-[% INCLUDE 'footer.html' %]
diff --git a/templates/web/seesomething/auth/sign_out.html b/templates/web/seesomething/auth/sign_out.html
deleted file mode 100644
index ef1d11b58..000000000
--- a/templates/web/seesomething/auth/sign_out.html
+++ /dev/null
@@ -1,7 +0,0 @@
-[% INCLUDE 'header.html', title = loc('Sign out'), bodyclass = 'fullwidthpage' %]
-
-<h1>[% loc('You have been signed out') %]</h1>
-
-<p>Please feel free to <a href="[% c.uri_for('/auth', { r => 'admin/stats' } ) %]">sign in again</a></p>
-
-[% INCLUDE 'footer.html' %]
diff --git a/templates/web/seesomething/footer.html b/templates/web/seesomething/footer.html
deleted file mode 100644
index 555a01010..000000000
--- a/templates/web/seesomething/footer.html
+++ /dev/null
@@ -1,23 +0,0 @@
- </div><!-- .content role=main -->
- </div><!-- .container -->
- </div><!-- .table-cell -->
-
- <div class="nav-wrapper">
- <div class="nav-wrapper-2">
- <div id="main-nav" role="navigation">
-
- <ul class="nav-menu nav-menu--main">
- <li><[% IF c.req.uri.path == '/' %]span[% ELSE %]a href="/"[% END %] class="report-a-problem-btn"
- >[% loc("Report a problem") %]</[% c.req.uri.path == '/' ? 'span' : 'a' %]></li>[%
- %]<li><[% IF c.req.uri.path == '/faq' %]span[% ELSE %]a href="/faq"[% END
- %]>[% loc("Help") %]</[% c.req.uri.path == '/faq' ? 'span' : 'a' %]></li>
- </ul>
- </div>
- </div>
- </div>
- </div> <!-- .wrapper -->
-
- [% INCLUDE 'common_footer_tags.html' %]
-
-</body>
-</html>
diff --git a/templates/web/seesomething/front/stats.html b/templates/web/seesomething/front/stats.html
deleted file mode 100644
index e69de29bb..000000000
--- a/templates/web/seesomething/front/stats.html
+++ /dev/null
diff --git a/templates/web/seesomething/front/tips.html b/templates/web/seesomething/front/tips.html
deleted file mode 100644
index 9043ee4bd..000000000
--- a/templates/web/seesomething/front/tips.html
+++ /dev/null
@@ -1,5 +0,0 @@
- <p>
- If you are unsure about where the incident took place as you were on a
- moving train or bus, then use the location of the start of your journey
- and mention which bus or train you were on in your report.
- </p>
diff --git a/templates/web/seesomething/header_extra.html b/templates/web/seesomething/header_extra.html
deleted file mode 100644
index 839e03dbe..000000000
--- a/templates/web/seesomething/header_extra.html
+++ /dev/null
@@ -1 +0,0 @@
-<script src="[% version('/cobrands/seesomething/validation_rules.js') %]"></script>
diff --git a/templates/web/seesomething/index.html b/templates/web/seesomething/index.html
deleted file mode 100644
index 40780fba4..000000000
--- a/templates/web/seesomething/index.html
+++ /dev/null
@@ -1,42 +0,0 @@
-[%# Assumes fixmystreet cobrand is using FMS map template - for bonus points preload all the right map elements. %]
-
-[% PROCESS "maps/fms.html" %]
-[% INCLUDE 'header.html', title = '', bodyclass = 'mappage' %]
-
-<form action="[% c.uri_for('/around') %]" method="get" name="mapForm" id="mapForm">
-<script type="text/javascript">
-var fixmystreet = fixmystreet || {};
-$.extend(fixmystreet, {
- 'latitude': 52.505241,
- 'longitude': -1.815285,
- 'zoom': 3,
- 'numZoomLevels': 5,
- 'zoomOffset': 13,
- 'map_type': ""
-});
-</script>
-<div id="map_box">
- <div id="map"></div>
- </div>
-
- <div id="side-form">
- <div id="report-a-problem-main">
- [% form = PROCESS 'around/postcode_form.html' %]
- [% form %]
-
- [% IF error %]
- <p class="form-error">[% error %]</p>
- [% END %]
-
- <div class="tablewrapper">
- <div id="front-howto">
- [% INCLUDE 'index-steps.html' %]
- </div>
-
- </div>
-
- </div>
- </div>
-</form>
-
-[% INCLUDE 'footer.html' pagefooter = 'yes' %]
diff --git a/templates/web/seesomething/js/translation_strings.html b/templates/web/seesomething/js/translation_strings.html
deleted file mode 100644
index 0ae40bf97..000000000
--- a/templates/web/seesomething/js/translation_strings.html
+++ /dev/null
@@ -1,15 +0,0 @@
- translation_strings = {
- detail: '[% loc('Please enter some details') | replace("'", "\\'") %]',
- name: {
- validName: '[% loc('Please enter your full name, councils need this information – if you do not wish your name to be shown on the site, untick the box below') | replace("'", "\\'") %]'
- },
- category: '[% loc('Please choose a transport category') | replace("'", "\\'") %]',
- subcategory: '[% loc('Please choose an incident category') | replace("'", "\\'") %]',
- rznvy: {
- required: '[% loc('Please enter your email') | replace("'", "\\'") %]',
- email: '[% loc('Please enter a valid email') | replace("'", "\\'") %]'
- },
- email: {
- email: '[% loc('Please enter a valid email') | replace("'", "\\'") %]'
- }
- };
diff --git a/templates/web/seesomething/report/display.html b/templates/web/seesomething/report/display.html
deleted file mode 100644
index 93b0048a2..000000000
--- a/templates/web/seesomething/report/display.html
+++ /dev/null
@@ -1,9 +0,0 @@
-[%
- INCLUDE 'header.html'
- robots = 'index, nofollow',
- bobyclass = 'mappage';
-%]
-
-Reports to this site are private
-
-[% INCLUDE 'footer.html' %]
diff --git a/templates/web/seesomething/report/new/category.html b/templates/web/seesomething/report/new/category.html
deleted file mode 100644
index f18d4fd02..000000000
--- a/templates/web/seesomething/report/new/category.html
+++ /dev/null
@@ -1,15 +0,0 @@
-[% IF category_options.size ~%]
- [% IF category;
- category = category | lower;
- END; ~%]
- <label for='form_category' class="select">
- [%~ loc('Category') ~%]
- </label>[% =%]
- <select name='category' data-theme="c" id='form_category' class="form-control">
- [%~ FOREACH cat_op IN category_options ~%]
- [% cat_op_lc = cat_op | lower =%]
- <option value='[% cat_op | html %]'[% ' selected' IF report.category == cat_op || category == cat_op_lc ~%]
- >[% cat_op | html %]</option>
- [%~ END =%]
- </select>
-[%~ END ~%]
diff --git a/templates/web/seesomething/report/new/fill_in_details_form.html b/templates/web/seesomething/report/new/fill_in_details_form.html
deleted file mode 100644
index 21b51384b..000000000
--- a/templates/web/seesomething/report/new/fill_in_details_form.html
+++ /dev/null
@@ -1,106 +0,0 @@
-<div id="report-a-problem-main">
- <p>Click and drag on the map to reposition the pin.</p>
- <h1>[% loc('Reporting a problem') %]</h1>
-
-
- [% INCLUDE 'errors.html' %]
- <fieldset>
- <div id="problem_form">
-
- [% INCLUDE 'report/new/form_heading.html' %]
-
- [% IF field_errors.council %]
- <p class='form-error'>[% field_errors.council %]</p>
- [% END %]
-
- <label for="form_detail">[% loc('Details') %]</label>
- [% IF field_errors.detail %]
- <p class='form-error'>[% field_errors.detail %]</p>
- [% END %]
- <textarea class="form-control" rows="7" cols="26" name="detail" id="form_detail" placeholder="[% loc('Please fill in details of the problem.') %]" required>[% report.detail | html %]</textarea>
-
- [% IF js %]
- <div id="form_category_row">
- <label for="form_category">[% loc('Transport Category') %]</label>
- <select class="form-control" name="category" id="form_category" required><option>[% loc('Loading...') %]</option></select>
- </div>
- [% ELSE %]
- [% IF category_options.size %]
- [% IF field_errors.category %]
- <p class='form-error'>[% field_errors.category %]</p>
- [% END %]
-
- [% PROCESS "report/new/category.html" %]
- [% END %]
- [% END %]
-
- <div id="form_subcategory_row">
- <label for="form_subcategory">[% loc('Incident Category') %]</label>
- <select class="form-control" name="subcategory" id="form_subcategory" required>
- <option value="">-- Pick a category --</option>
- <option value="Smoking/other drugs">Smoking/other drugs</option>
- <option value="Drugs">Drugs</option>
- <option value="Anti-social behaviour">Anti-social behaviour</option>
- <option value="Loud music">Loud music</option>
- <option value="Damage">Damage</option>
- <option value="Feet on seats">Feet on seats</option>
- <option value="Other">Other</option>
- </select>
- </div>
-
- [% IF c.cobrand.allow_photo_upload %]
- <input type="hidden" name="upload_fileid" value="[% upload_fileid %]">
- <label for="form_photo">
- <span data-singular="[% loc('Photo') %]" data-plural="[% loc('Photos') %]">[% loc('Photo') %]</span>
- </label>
- [% IF field_errors.photo %]
- <p class='form-error'>[% field_errors.photo %]</p>
- [% END %]
- <div id="form_photos">
- [% IF upload_fileid %]
- <p>[% loc('You have already attached photos to this report. Note that you can attach a maximum of 3 to this report (if you try to upload more, the oldest will be removed).') %]</p>
- [% FOREACH id IN upload_fileid.split(',') %]
- <img align="right" src="/photo/temp.[% id %]" alt="">
- [% END %]
- [% END %]
- <input type="file" name="photo1" id="form_photo">
- <label for="form_photo2">[% loc('Photo') %]</label>
- <input type="file" name="photo2" id="form_photo2">
- <label for="form_photo3">[% loc('Photo') %]</label>
- <input type="file" name="photo3" id="form_photo3">
- </div>
- [% END %]
-
- <h2>Personal Details:</h2>
-
- <label for="form_name">[% loc('Name (optional)') %]</label>
- [% IF field_errors.name %]
- <p class='form-error'>[% field_errors.name %]</p>
- [% END %]
-
- <input type="text" class="form-control form-focus-trigger validName js-form-name" value="[% report.name | html %]" name="name" id="form_name" placeholder="[% loc('Your name') %]">
-
- <label for="form_email">[% loc('Your email (optional)') %]</label>
- [% IF field_errors.email %]
- <p class='form-error'>[% field_errors.email %]</p>
- [% END %]
- <input type="email" class="form-control" value="[% report.user.email | html %]" name="email" id="form_email" placeholder="[% loc('Please enter your email address') %]">
-
-
-
- <label for="form_phone">[% loc('Phone number (optional)') %]</label>
- <input type="text" class="form-control" value="[% report.user.phone | html %]" name="phone" id="form_phone" placeholder="[% loc('Your phone number') %]">
-
- <div class="form-txt-submit-box ">
- <input class="green-btn" type="submit" id="submit_noname" name="submit_noname" value="[% loc('Submit') %]">
- </div>
-
- </div>
- </fieldset>
-
- [% IF partial_token %]
- <input type="hidden" name="partial" value="[% partial_token.token %]">
- [% END %]
-
- <input type="hidden" name="submit_problem" value="1">
-</div>
diff --git a/templates/web/seesomething/set_body_class.html b/templates/web/seesomething/set_body_class.html
deleted file mode 100644
index b613706f2..000000000
--- a/templates/web/seesomething/set_body_class.html
+++ /dev/null
@@ -1 +0,0 @@
-[% bodyclass = ( bodyclass ? bodyclass : 'mappage' ) %]
diff --git a/templates/web/seesomething/site-name.html b/templates/web/seesomething/site-name.html
deleted file mode 100644
index 7a3ceec89..000000000
--- a/templates/web/seesomething/site-name.html
+++ /dev/null
@@ -1 +0,0 @@
-See Something, Say Something
diff --git a/templates/web/seesomething/tokens/confirm_problem.html b/templates/web/seesomething/tokens/confirm_problem.html
deleted file mode 100644
index 0a455434b..000000000
--- a/templates/web/seesomething/tokens/confirm_problem.html
+++ /dev/null
@@ -1,33 +0,0 @@
-[%
-
- IF report.used_map;
- PROCESS "maps/${map.type}.html";
- END;
-
- INCLUDE 'header.html',
- title => loc('Report created')
- bodyclass => 'mappage',
- robots => 'noindex,nofollow';
-%]
-
-
-[% IF report.used_map %]
- [% map_html %]
- </div>
- <div id="map_sidebar">
-[% END %]
-
- <div id="side">
- <div id="report-a-problem-main">
- <h1>Complete</h1>
- <p>Your report has been sent. If you included contact details we may be in touch to follow up or request more details.</p>
- <p>Thank you for saying something and making our transport safer.</p>
- <p><img src="../cobrands/seesomething/images/btp-wmp-logos.png" alt="British Transport Police and the West Midlands Police" width="271" height="116"></p>
- </div>
- </div>
-
-[% IF report.used_map %]
- </div>
-[% END %]
-
-[% INCLUDE 'footer.html' %]
diff --git a/templates/web/stevenage/footer.html b/templates/web/stevenage/footer.html
index e251a83c2..ee0fc15d5 100644
--- a/templates/web/stevenage/footer.html
+++ b/templates/web/stevenage/footer.html
@@ -19,7 +19,7 @@
</li>
<li>
<h4>[% loc('Are you from a council?') %]</h4>
- <p>[% loc('Would you like better integration with FixMyStreet? <a href="https://www.fixmystreet.com/council">Find out about FixMyStreet for councils</a>.') %]</p>
+ <p>[% loc('Would you like better integration with FixMyStreet? <a href="https://www.fixmystreet.com/about/council">Find out about FixMyStreet for councils</a>.') %]</p>
</li>
</ul>
</div>
@@ -89,20 +89,7 @@
<div class="nav-wrapper-2">
- <div id="main-nav" role="navigation">
- <ul class="nav-menu nav-menu--main">
- <li><[% IF c.req.uri.path == '/' %]span[% ELSE %]a href="/"[% END %] class="report-a-problem-btn"
- >[% loc("Report a problem") %]</[% c.req.uri.path == '/' ? 'span' : 'a' %]></li>[%
- %]<li><[% IF c.req.uri.path == '/my' %]span[% ELSE %]a href="/my"[% END
- %]>[% c.user_exists ? loc("Your account") : loc("Sign in") %]</[% c.req.uri.path == '/my' ? 'span' : 'a' %]></li>[%
- %]<li><[% IF c.req.uri.path == '/reports/Stevenage' %]span[% ELSE %]a href="/reports/Stevenage"[% END
- %]>[% loc("All reports") %]</[% c.req.uri.path == '/reports' ? 'span' : 'a' %]></li>[%
- %]<li><[% IF c.req.uri.path == '/alert' %]span[% ELSE %]a href="/alert[% pc ? '/list?pc=' : '' %][% pc | uri %]"[% END
- %]>[% loc("Local alerts") %]</[% c.req.uri.path == '/alert' ? 'span' : 'a' %]></li>[%
- %]<li><[% IF c.req.uri.path == '/faq' %]span[% ELSE %]a href="/faq"[% END
- %]>[% loc("Help") %]</[% c.req.uri.path == '/faq' ? 'span' : 'a' %]></li>
- </ul>
- </div>
+ [% INCLUDE "main_nav.html" body_name=c.cobrand.council_area hide_mysoc_link=1 hide_privacy_link=1 %]
</div>
</div>
</div> <!-- .wrapper -->
diff --git a/templates/web/warwickshire/header.html b/templates/web/warwickshire/header.html
index 3c74b6d0e..da56719eb 100644
--- a/templates/web/warwickshire/header.html
+++ b/templates/web/warwickshire/header.html
@@ -172,25 +172,7 @@
<div class="container navbar-container">
<div class="navbar" id="mega-menu-navbar">
<div class="navbar-inner">
- <ul id="mega-menu" class="menu nav">
- <li><[% IF c.req.uri.path == '/' %]span[% ELSE %]a href="/"[% END %] class="report-a-problem-btn"
- >[% loc("Report a problem") %]</[% c.req.uri.path == '/' ? 'span' : 'a' %]></li>[%
- %]<li><[% IF c.req.uri.path == '/my' %]span[% ELSE %]a href="/my"[% END
- %]>[% loc("Your reports") %]</[% c.req.uri.path == '/my' ? 'span' : 'a' %]></li>[%
- %]
- <!--
- <li><[% IF c.req.uri.path == '/reports/Warwickshire' %]span[% ELSE %]a href="/reports/Warwickshire"[% END %]>
- [% loc("All reports") %]</[% c.req.uri.path == '/reports' ? 'span' : 'a' %]>
- </li>
- -->
-
- <li><[% IF c.req.uri.path == '/alert' %]span[% ELSE %]a href="/alert[% pc ? '/list?pc=' : '' %][% pc | uri %]"[% END
- %]>[% loc("Local alerts") %]</[% c.req.uri.path == '/alert' ? 'span' : 'a' %]></li>[%
- %]<li><[% IF c.req.uri.path == '/faq' %]span[% ELSE %]a href="/faq"[% END
- %]>[% loc("Help") %]</[% c.req.uri.path == '/faq' ? 'span' : 'a' %]></li>[%
- %]<li class="nav-menu__item--privacy"><[% IF c.req.uri.path == '/privacy' %]span[% ELSE %]a href="/privacy"[% END
- %]>[% loc("Privacy") %]</[% c.req.uri.path == '/privacy' ? 'span' : 'a' %]></li>
- </ul>
+ [% INCLUDE "main_nav.html" body_name=c.cobrand.council_area hide_mysoc_link=1 hide_all_reports_link=1 omit_wrapper=1 ul_class="menu nav" ul_id="mega-menu" %]
</div>
</div>
</div>
diff --git a/templates/web/zurich/maps/zurich.html b/templates/web/zurich/maps/zurich.html
index 2f21c91a6..f85be4aef 100644
--- a/templates/web/zurich/maps/zurich.html
+++ b/templates/web/zurich/maps/zurich.html
@@ -1,10 +1,12 @@
-[% map_js = BLOCK %]
-<script type="text/javascript" src="[% version('/js/OpenLayers.2.11.zurich.js') %]"></script>
-<script type="text/javascript" src="[% version('/js/OpenLayers.Projection.CH1903Plus.js') %]"></script>
-<script type="text/javascript" src="[% version('/js/map-OpenLayers.js') %]"></script>
-<script type="text/javascript" src="[% version('/js/map-wmts-base.js') %]"></script>
-<script type="text/javascript" src="[% version('/js/map-wmts-zurich.js') %]"></script>
-[% END %]
+[%
+map_js = [
+ version('/js/OpenLayers.2.11.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>