aboutsummaryrefslogtreecommitdiffstats
path: root/templates/web/default
diff options
context:
space:
mode:
Diffstat (limited to 'templates/web/default')
-rw-r--r--templates/web/default/admin/council_contacts.html37
-rw-r--r--templates/web/default/admin/council_edit.html30
-rw-r--r--templates/web/default/admin/footer.html3
-rw-r--r--templates/web/default/admin/header.html14
-rw-r--r--templates/web/default/admin/index.html2
-rw-r--r--templates/web/default/admin/list_updates.html2
-rw-r--r--templates/web/default/admin/problem_row.html2
-rw-r--r--templates/web/default/admin/report_edit.html1
-rw-r--r--templates/web/default/admin/search_abuse.html21
-rw-r--r--templates/web/default/admin/search_users.html4
-rw-r--r--templates/web/default/admin/stats.html6
-rw-r--r--templates/web/default/admin/update_edit.html2
-rwxr-xr-xtemplates/web/default/around/_report_banner.html10
-rwxr-xr-xtemplates/web/default/around/_updates.html12
-rw-r--r--templates/web/default/around/around_index.html54
-rwxr-xr-xtemplates/web/default/around/display_location.html135
-rwxr-xr-xtemplates/web/default/around/tabbed_lists.html23
-rw-r--r--templates/web/default/common_header_tags.html1
-rw-r--r--templates/web/default/dashboard/index.html2
-rwxr-xr-xtemplates/web/default/faq/faq-en-gb.html2
-rw-r--r--templates/web/default/index-steps.html25
-rw-r--r--templates/web/default/index.html21
-rw-r--r--templates/web/default/js/validation_rules.html7
-rw-r--r--templates/web/default/js/validation_strings.html4
-rw-r--r--templates/web/default/maps/openlayers.html2
-rw-r--r--templates/web/default/questionnaire/completed-open.html6
-rw-r--r--templates/web/default/questionnaire/completed.html4
-rw-r--r--templates/web/default/questionnaire/index.html4
-rw-r--r--templates/web/default/report/_main.html41
-rw-r--r--templates/web/default/report/_support.html11
-rw-r--r--templates/web/default/report/display.html169
-rw-r--r--templates/web/default/report/new/category.html2
-rw-r--r--templates/web/default/report/new/category_extras.html4
-rw-r--r--templates/web/default/report/new/fill_in_details_form.html2
-rw-r--r--templates/web/default/report/new/notes.html2
-rw-r--r--templates/web/default/report/photo.html8
-rw-r--r--templates/web/default/report/update-form.html165
-rw-r--r--templates/web/default/report_created.html9
-rwxr-xr-xtemplates/web/default/reports/body.html (renamed from templates/web/default/reports/council.html)0
-rwxr-xr-xtemplates/web/default/reports/index.html1
-rwxr-xr-xtemplates/web/default/reports/ward.html2
41 files changed, 471 insertions, 381 deletions
diff --git a/templates/web/default/admin/council_contacts.html b/templates/web/default/admin/council_contacts.html
index ac6698510..56850a82b 100644
--- a/templates/web/default/admin/council_contacts.html
+++ b/templates/web/default/admin/council_contacts.html
@@ -1,5 +1,7 @@
[% INCLUDE 'admin/header.html' title=tprintf(loc('Council contacts for %s'), council_name) -%]
+[% conf = open311.next %]
+
[% IF updated %]
<p>
<em>[% updated %]</em>
@@ -36,8 +38,10 @@
<th>[% loc('Email') %]</th>
<th>[% loc('Confirmed') %]</th>
<th>[% loc('Deleted') %]</th>
+ <th>[% loc('Devolved') %]</th>
<th>[% loc('Last editor') %]</th>
<th>[% loc('Note') %]</th>
+ <th>[% loc('Public') %]</th>
<th>[% loc('When edited') %]</th>
<th>[% loc('Confirm') %]</th>
</tr>
@@ -47,8 +51,10 @@
<td>[% contact.email | html %]</td>
<td>[% IF contact.confirmed %][% loc('Yes') %][% ELSE %][% loc('No') %][% END %]</td>
<td>[% IF contact.deleted %][% loc('Yes') %][% ELSE %][% loc('No') %][% END %]</td>
+ <td>[% IF conf.can_be_devolved && contact.send_method %][% loc('Yes') %][% ELSE %][% loc('No') %][% END %]</td>
<td>[% contact.editor %]</td>
<td>[% contact.note | html %]</td>
+ <td>[% contact.non_public ? loc('Non Public') : loc('Public') %]</td>
<td>[% contact.whenedited.ymd _ ' ' _ contact.whenedited.hms %]</td>
<td><input type="checkbox" name="confirmed" value="[% contact.category %]"></td>
</tr>
@@ -79,10 +85,10 @@
<p>
<input type="checkbox" name="confirmed" value="1" id="confirmed">
- <label for="confirmed">[% loc('Confirmed') %]</label>
+ <label for="confirmed" class="inline">[% loc('Confirmed') %]</label>
- <input type="checkbox" name="deleted" value="1"id="deleted">
- <label for="deleted">[% loc('Deleted') %]</label>
+ <input type="checkbox" name="deleted" value="1" id="deleted">
+ <label for="deleted" class="inline">[% loc('Deleted') %]</label>
</p>
<p>
@@ -90,6 +96,11 @@
</p>
<p>
+ <input type="checkbox" name="non_public" value="1" id="non_public">
+ <label for="non_public" class="inline">[% loc('Private') %]</label>
+ </p>
+
+ <p>
<input type="hidden" name="area_id" value="[% area_id %]" >
<input type="hidden" name="posted" value="new" >
<input type="hidden" name="token" value="[% token %]" >
@@ -104,24 +115,23 @@
<h2>[% loc('Configure Open311 integration') %]</h2>
<form method="post" action="[% c.uri_for('council_contacts', area_id ) %]" enctype="application/x-www-form-urlencoded" accept-charset="utf-8">
- [% conf = open311.next %]
<p>
- <label for="endpoint">Endpoint</label>:
+ <label for="endpoint">Endpoint</label>
<input type="text" name="endpoint" id="endpoint" value="[% conf.endpoint %]" size="50">
</p>
<p>
- <label for="jurisdiction">Jurisdiction</label>:
+ <label for="jurisdiction">Jurisdiction</label>
<input type="text" name="jurisdiction" id="jurisdiction" value="[% conf.jurisdiction %]" size="50">
</p>
<p>
- <label for="api_key">Api Key</label>:
+ <label for="api_key">Api Key</label>
<input type="text" name="api_key" id="api_key" value="[% conf.api_key %]" size="25">
</p>
<p>
- <label for="send_method">Send Method</label>:
+ <label for="send_method">Send Method</label>
<select name="send_method">
<option value=""> -- Select a method -- </option>
[% FOR method IN send_methods %]
@@ -131,18 +141,23 @@
</p>
<p>
- <label for="send_comments">Use Open311 comment sending extension</label>:
<input type="checkbox" name="send_comments"[% ' checked' IF conf.send_comments %]>
+ <label for="send_comments" class="inline">Use Open311 comment sending extension</label>
</p>
<p>
- <label for"comment_user_id">User to attribute fetched comments to</label>:
+ <label for"comment_user_id">User to attribute fetched comments to</label>
<input type="text" name="comment_user_id" value="[% conf.comment_user_id %]">
</p>
<p>
- <label for="suppress_alerts">Do not send email alerts on fetched comments to problem creator</label>:
<input type="checkbox" name="suppress_alerts"[% ' checked' IF conf.suppress_alerts %]>
+ <label for="suppress_alerts" class="inline">Do not send email alerts on fetched comments to problem creator</label>
+ </p>
+
+ <p>
+ <input type="checkbox" name="devolved"[% ' checked' IF conf.can_be_devolved %]>
+ <label for="devolved" class="inline">Endpoint lookup can be devolved to contacts</label>
</p>
<p>
diff --git a/templates/web/default/admin/council_edit.html b/templates/web/default/admin/council_edit.html
index 0968d3570..408466b51 100644
--- a/templates/web/default/admin/council_edit.html
+++ b/templates/web/default/admin/council_edit.html
@@ -26,10 +26,38 @@
<strong>[% loc('Email:') %] </strong>
<input type="text" name="email" value="[% contact.email | html %]" size="30">
<input type="checkbox" name="confirmed" value="1" id="confirmed"[% ' checked' IF contact.confirmed %]> <label for="confirmed">[% loc('Confirmed' ) %]</label>
- <input type="checkbox" name="deleted" value="1" id="deleted"[% ' checked' IF contact.deleted %]> <label for="deleted">[% loc('Deleted') %]</label><br>
+ <input type="checkbox" name="deleted" value="1" id="deleted"[% ' checked' IF contact.deleted %]> <label for="deleted">[% loc('Deleted') %]</label>
+ <input type="checkbox" name="non_public" value="1" id="non_public"[% ' checked' IF contact.non_public %]> <label for="non_public">[% loc('Private') %]</label><br>
<strong>[% loc('Note:') %] </strong><textarea name="note" rows="3" cols="40">[% contact.note | html %]</textarea> <br>
+ <h2>[% loc('Configure Endpoint') %]</h2>
+ <form method="post" action="[% c.uri_for('council_contacts', area_id ) %]" enctype="application/x-www-form-urlencoded" accept-charset="utf-8">
+ <p>
+ <label for="endpoint">Endpoint</label>:
+ <input type="text" name="endpoint" id="endpoint" value="[% contact.endpoint %]" size="50">
+ </p>
+
+ <p>
+ <label for="jurisdiction">Jurisdiction</label>:
+ <input type="text" name="jurisdiction" id="jurisdiction" value="[% contact.jurisdiction %]" size="50">
+ </p>
+
+ <p>
+ <label for="api_key">Api Key</label>:
+ <input type="text" name="api_key" id="api_key" value="[% contact.api_key %]" size="25">
+ </p>
+
+ <p>
+ <label for="send_method">Send Method</label>:
+ <select name="send_method">
+ <option value=""> -- Select a method -- </option>
+ [% FOR method IN send_methods %]
+ <option value="[% method %]"[% ' selected' IF contact.send_method == method %]>[% method %]</option>
+ [% END %]
+ </select>
+ </p>
+
<input type="hidden" name="area_id" value="[% area_id %]">
<input type="hidden" name="posted" value="new">
<input type="submit" name="Save changes" value="[% loc('Save changes') %]">
diff --git a/templates/web/default/admin/footer.html b/templates/web/default/admin/footer.html
index 308b1d01b..4c891c4ff 100644
--- a/templates/web/default/admin/footer.html
+++ b/templates/web/default/admin/footer.html
@@ -1,2 +1 @@
-</body>
-</html>
+[% INCLUDE 'footer.html' %]
diff --git a/templates/web/default/admin/header.html b/templates/web/default/admin/header.html
index e0317cca0..93254f5e3 100644
--- a/templates/web/default/admin/header.html
+++ b/templates/web/default/admin/header.html
@@ -1,18 +1,16 @@
-<html>
-<head>
-<title>[% title %] - [% loc('FixMyStreet administration') %]</title>
+[% INCLUDE 'header.html' admin = 1, bodyclass = 'fullwidthpage' %]
<style type="text/css">
dt { clear: left; float: left; font-weight: bold; }
dd { margin-left: 8em; }
-.hidden { color: #666666; }
+.adminhidden { color: #666666; }
.error { color: red; }
+select { width: auto; }
</style>
-</head>
-<body>
- <strong>[% loc('FixMyStreet admin:') %]</strong>
+ <p><strong>[% loc('FixMyStreet admin:') %]</strong>
[%- FOREACH link IN allowed_links %]
<a href="[% c.uri_for( link ) %]">[% allowed_pages.$link.0 %]</a>
- [%- END %]
+ [% IF NOT loop.last %]|[% END %]
+ [% END %]</p>
<h1>[% title %]</h1>
diff --git a/templates/web/default/admin/index.html b/templates/web/default/admin/index.html
index b1eddaa3a..2c5ee55db 100644
--- a/templates/web/default/admin/index.html
+++ b/templates/web/default/admin/index.html
@@ -21,7 +21,7 @@
[% IF c.cobrand.admin_show_creation_graph -%]
<p>
- <a href="[% c.config.BASE_URL %]/bci-live-creation.png">[% loc('Graph of problem creation by status over time') %]</a>
+ <a href="[% c.config.BASE_URL %]/fms-live-creation.png">[% loc('Graph of problem creation by status over time') %]</a>
</p>
[% END -%]
diff --git a/templates/web/default/admin/list_updates.html b/templates/web/default/admin/list_updates.html
index 0a05ba4ac..d21919b16 100644
--- a/templates/web/default/admin/list_updates.html
+++ b/templates/web/default/admin/list_updates.html
@@ -15,7 +15,7 @@
<th>*</th>
</tr>
[% FOREACH update IN updates -%]
- <tr[% ' class="hidden"' IF update.state == 'hidden' || update.problem.state == 'hidden' %]>
+ <tr[% ' class="adminhidden"' IF update.state == 'hidden' || update.problem.state == 'hidden' %]>
<td>[%- IF update.state == 'confirmed' && update.problem.state != 'hidden' -%]
[%- cobrand_data = update.cobrand_data %]
[%- cobrand_data = c.data_for_generic_update IF !update.cobrand %]
diff --git a/templates/web/default/admin/problem_row.html b/templates/web/default/admin/problem_row.html
index 22825429a..5aa8bbfee 100644
--- a/templates/web/default/admin/problem_row.html
+++ b/templates/web/default/admin/problem_row.html
@@ -1,5 +1,5 @@
[%- FOR problem IN problems %]
- <tr[% ' class="hidden"' IF problem.state == 'hidden' %]>
+ <tr[% ' class="adminhidden"' IF problem.state == 'hidden' %]>
<td>[%- IF problem.is_visible -%]
[%- cobrand_data = problem.cobrand_data %]
[%- cobrand_data = c.data_for_generic_problem IF !problem.cobrand %]
diff --git a/templates/web/default/admin/report_edit.html b/templates/web/default/admin/report_edit.html
index 9ef7e8248..ea98a9be9 100644
--- a/templates/web/default/admin/report_edit.html
+++ b/templates/web/default/admin/report_edit.html
@@ -40,6 +40,7 @@
<li>[% loc('Extra data:') %] [% problem.extra ? 'Yes' : 'No' %]</li>
<li>[% loc('Going to send questionnaire?') %] [% IF problem.send_questionnaire %][% loc('Yes') %][% ELSE %][% loc('No') %][% END %]</li>
<li><label for="flagged">[% loc('Flagged:') %]</label> <input type="checkbox" name="flagged"[% ' checked' IF problem.flagged %]></li>
+<li><label for="non_public">[% loc('Private') %]:</label> <input type="checkbox" name="non_public"[% ' checked' IF problem.non_public %]></li>
[% IF problem.photo %]
[% photo = problem.get_photo_params %]
diff --git a/templates/web/default/admin/search_abuse.html b/templates/web/default/admin/search_abuse.html
deleted file mode 100644
index 0984e85cf..000000000
--- a/templates/web/default/admin/search_abuse.html
+++ /dev/null
@@ -1,21 +0,0 @@
-[% INCLUDE 'admin/header.html' title=loc('Search Abuse Table') %]
-
-<form method="get" action="[% c.uri_for('search_abuse') %]" enctype="application/x-www-form-urlencoded" accept-charset="utf-8">
- <label for="search">[% loc('Search:') %]</label> <input type="text" name="search" size="30" id="search">
-</form>
-
-
-[% IF emails.size > 0 %]
-<table cellspacing="0" cellpadding="2" border="1">
- <tr>
- <th>[% loc('Email') %]</th>
- </tr>
-[%- FOREACH foo IN emails %]
- <tr>
- <td>[%- foo.email | html -%]</td>
- </tr>
-[%- END -%]
-</table>
-[% END %]
-
-[% INCLUDE 'admin/footer.html' %]
diff --git a/templates/web/default/admin/search_users.html b/templates/web/default/admin/search_users.html
index 18c964dfe..0b4ba88e7 100644
--- a/templates/web/default/admin/search_users.html
+++ b/templates/web/default/admin/search_users.html
@@ -20,8 +20,8 @@
<td>[% PROCESS value_or_nbsp value=user.name %]</td>
<td><a href="[% c.uri_for( 'search_reports', search => user.email ) %]">[% PROCESS value_or_nbsp value=user.email %]</a></td>
<td>[% PROCESS value_or_nbsp value=user.from_council %]</td>
- <td>[% user.flagged ? loc('Yes') : '&nbsp;' %]</td>
- <td><a href="[% c.uri_for( 'user_edit', user.id ) %]">[% loc('Edit') %]</a></td>
+ <td>[% user.flagged == 2 ? loc('(Email in abuse table)') : user.flagged ? loc('Yes') : '&nbsp;' %]</td>
+ <td>[% IF user.id %]<a href="[% c.uri_for( 'user_edit', user.id ) %]">[% loc('Edit') %]</a>[% END %]</td>
</tr>
[%- END -%]
</table>
diff --git a/templates/web/default/admin/stats.html b/templates/web/default/admin/stats.html
index 3b9f4a264..234600837 100644
--- a/templates/web/default/admin/stats.html
+++ b/templates/web/default/admin/stats.html
@@ -2,7 +2,7 @@
[% IF show_count %]
<p>
-<strong>[% tprintf( loc( '%sreports between %s and %s' ), ( unconfirmed ? loc( 'All' ) _ ' ' : loc( 'Confirmed' ) _ ' ' ), start_date.ymd, end_date.ymd ) | html %]</strong>
+<strong>[% tprintf( unconfirmed ? loc( 'All reports between %s and %s' ) : loc( 'Confirmed reports between %s and %s' ), start_date.ymd, end_date.ymd ) | html %]</strong>
</p>
[% IF bymonth %]
<table>
@@ -73,11 +73,11 @@
</p>
<p>
- <input type="checkbox" name="unconfirmed" id="unconfirmed"[% unconfirmed ? ' checked' : '' %] /><label for="unconfirmed">[% loc('Include unconfirmed reports') %]</label>
+ <input type="checkbox" name="unconfirmed" id="unconfirmed"[% unconfirmed ? ' checked' : '' %] /><label class="inline" for="unconfirmed">[% loc('Include unconfirmed reports') %]</label>
</p>
<p>
- <input type="checkbox" name="bymonth" id="bymonth"[% bymonth ? ' checked' : '' %] /><label for="bymonth">[% loc('By Date') %]</label>
+ <input type="checkbox" name="bymonth" id="bymonth"[% bymonth ? ' checked' : '' %] /><label class="inline" for="bymonth">[% loc('By Date') %]</label>
</p>
<p>
diff --git a/templates/web/default/admin/update_edit.html b/templates/web/default/admin/update_edit.html
index e1783fd7c..1d5ee80b4 100644
--- a/templates/web/default/admin/update_edit.html
+++ b/templates/web/default/admin/update_edit.html
@@ -45,7 +45,7 @@
[% photo = update.get_photo_params %]
<li><img alt="" height="[% photo.height %]" width="[% photo.width %]" src="[% photo.url %]">
<input type="checkbox" id="remove_photo" name="remove_photo" value="1">
-<label for="remove_photo">[% loc("Remove photo (can't be undone!)") %]</label></li>
+<label for="remove_photo" class="inline">[% loc("Remove photo (can't be undone!)") %]</label></li>
[% END %]
</ul>
<input type="submit" name="Submit changes" value="[% loc('Submit changes') %]" ></form>
diff --git a/templates/web/default/around/_report_banner.html b/templates/web/default/around/_report_banner.html
new file mode 100755
index 000000000..024fe08d9
--- /dev/null
+++ b/templates/web/default/around/_report_banner.html
@@ -0,0 +1,10 @@
+<p id="text_map" class="banner">
+ [% loc( 'To <strong>report a problem</strong>, click on the map at the correct location.' ) %]
+ [%
+ tprintf(
+ loc("<small>If you cannot see the map, <a href='%s' rel='nofollow'>skip this step</a>.</small>"),
+ url_skip
+ )
+ %]
+ <span id="text_map_arrow"></span>
+</p>
diff --git a/templates/web/default/around/_updates.html b/templates/web/default/around/_updates.html
new file mode 100755
index 000000000..8110a6c7c
--- /dev/null
+++ b/templates/web/default/around/_updates.html
@@ -0,0 +1,12 @@
+<h1>[% loc('Problems in this area') %]</h1>
+
+<p id="alert_links_area">
+ <a id="email_alert" rel="nofollow" href="[% email_url | html %]">
+ [%- loc('Email me new local problems') -%]
+</a> |
+ <a href="[% rss_url | html %]" id="rss_alert">
+ <span>[% rss_alt %]</span>
+ <img src="/i/feed.png" width="16" height="16" title="[% rss_title %]" alt="[% rss_alt %]" border="0" style="vertical-align: top">
+ </a>
+</p>
+
diff --git a/templates/web/default/around/around_index.html b/templates/web/default/around/around_index.html
index f58d13d80..a143e90a2 100644
--- a/templates/web/default/around/around_index.html
+++ b/templates/web/default/around/around_index.html
@@ -1,34 +1,24 @@
-[% INCLUDE 'header.html', title => loc('Reporting a problem') %]
-
-[%
- # NOTE ON PARTIAL REPORTS:
- #
- # partial reports get a bit of extra text added, the form goes to
- # '/report/new' and the partial hidden field is added to the form.
-%]
-
-[% 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 %]
-
-[% IF partial_token %]
- <p style="margin-top: 0; color: #cc0000;">
- <img align="right" src="/photo/[% report.id %].jpeg" hspace="5">
- [% loc("Thanks for uploading your photo. We now need to locate your problem, so please enter a nearby street name or postcode in the box below&nbsp;:") %]
- </p>
-[% END %]
-
-
+[% 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/default/around/display_location.html b/templates/web/default/around/display_location.html
index 88f8b89ae..d50009299 100755
--- a/templates/web/default/around/display_location.html
+++ b/templates/web/default/around/display_location.html
@@ -32,97 +32,72 @@
INCLUDE 'header.html',
title => loc('Viewing a location')
rss => [ loc('Recent local problems, FixMyStreet'), rss_url ],
+ bodyclass => 'mappage',
robots => 'noindex,nofollow';
+
+ allow_creation = !c.cobrand.only_authed_can_create || (c.user && c.user.from_council);
%]
+[% IF allow_creation %]
<form action="[% c.uri_for('/report/new') %]" method="post" name="mapForm" id="mapForm" enctype="multipart/form-data" class="validate">
-[% IF c.req.params.map_override %]
-<input type="hidden" name="map_override" value="[% c.req.params.map_override | html %]">
+ [% 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="[% short_latitude | html %]">
+ <input type="hidden" name="longitude" id="fixmystreet.longitude" value="[% short_longitude | html %]">
[% END %]
-<input type="hidden" name="pc" value="[% pc | html %]">
-<input type="hidden" name="latitude" id="fixmystreet.latitude" value="[% short_latitude | html %]">
-<input type="hidden" name="longitude" id="fixmystreet.longitude" value="[% short_longitude | html %]">
+ [% map_html %]
-[% map_html %]
+ <p id='sub_map_links'>
+ [% IF c.req.params.no_pins %]
+ <a id='hide_pins_link' rel='nofollow' href='[% c.uri_with( { no_pins => 0 } ) %]'>[% loc('Show pins') %]</a>
+ [% ELSE %]
+ <a id='hide_pins_link' rel='nofollow' href='[% c.uri_with( { no_pins => 1 } ) %]'>[% loc('Hide pins') %]</a>
+ [% END %]
+ [% IF c.cobrand.country == 'GB' || c.cobrand.country == 'NO' %]
+ <span class="hidden">|</span>
+ [% IF c.req.params.all_pins %]
+ <a id='all_pins_link' rel='nofollow' href='[% c.uri_with( { no_pins => undef, all_pins => undef } ) %]'>[% loc('Hide old') %]</a>
+ [% ELSE %]
+ <a id='all_pins_link' rel='nofollow' href='[% c.uri_with( { no_pins => undef, all_pins => 1 } ) %]'>[% loc('Show old') %]</a>
+ [% END %]
+ [% END %]
+ </p>
-<p id='sub_map_links'>
- [% IF c.req.params.no_pins %]
- <a id='hide_pins_link' rel='nofollow' href='[% c.uri_with( { no_pins => 0 } ) %]'>[% loc('Show pins') %]</a>
- [% ELSE %]
- <a id='hide_pins_link' rel='nofollow' href='[% c.uri_with( { no_pins => 1 } ) %]'>[% loc('Hide pins') %]</a>
- [% END %]
- [% IF c.cobrand.country == 'GB' || c.cobrand.country == 'NO' %]
- |
- [% IF c.req.params.all_pins %]
- <a id='all_pins_link' rel='nofollow' href='[% c.uri_with( { no_pins => undef, all_pins => undef } ) %]'>[% loc('Hide old') %]</a>
- [% ELSE %]
- <a id='all_pins_link' rel='nofollow' href='[% c.uri_with( { no_pins => undef, all_pins => 1 } ) %]'>[% loc('Show old') %]</a>
+ </div>
+
+
+
+
+ <div id="side">
+
+ [% IF allow_creation %]
+ [% INCLUDE 'around/_report_banner.html' %]
+ [% TRY %][% INCLUDE 'around/extra_text.html' %][% CATCH file %][% END %]
[% END %]
- [% END %]
-</p>
-
-</div>
-<div id="side">
-
-<p id="text_map" class="banner">
- [% loc( 'To <strong>report a problem</strong>, click on the map at the correct location.' ) %]
- [%
- tprintf(
- loc("<small>If you cannot see the map, <a href='%s' rel='nofollow'>skip this step</a>.</small>"),
- url_skip
- )
+
+ [% INCLUDE 'around/_updates.html' %]
+
+ <section class="full-width">
+ [% INCLUDE "around/tabbed_lists.html" %]
+ </section>
+ </div>
+
+ [% IF allow_creation %]
+ <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
%]
- <span id="text_map_arrow"></span>
-</p>
-
-[% TRY %][% INCLUDE 'around/extra_text.html' %][% CATCH file %][% END %]
-
-<h1>[% loc('Problems in this area') %]</h1>
-
-<p id="alert_links_area">
- <a id="email_alert" rel="nofollow" href="[% email_url | html %]">
- [%- loc('Email me new local problems') -%]
-</a> |
- <a href="[% rss_url | html %]" id="rss_alert">
- <span>[% rss_alt %]</span>
- <img src="/i/feed.png" width="16" height="16" title="[% rss_title %]" alt="[% rss_alt %]" border="0" style="vertical-align: top">
- </a>
-</p>
-
-<div id="nearby_lists">
-
- <h2>[% loc('Reports on and around the map') %]</h2>
-
- <ul id="current">
- [% INCLUDE "around/on_map_list_items.html" %]
- </ul>
-
-
- <h2>
- [%
- tprintf(
- loc( 'Closest nearby problems <small>(within&nbsp;%skm)</small>' ),
- distance
- )
- %]
- </h2>
-
- <ul id="current_near">
- [% INCLUDE "around/around_map_list_items.html" %]
- </ul>
-
-</div>
-
-</div>
-
-<div style="display:none" id="side-form">
-[% INCLUDE "report/new/fill_in_details_form.html"
- js = 1,
- report.used_map = 1
-%]
-</div>
+ </div>
+ [% END %]
+[% IF allow_creation %]
</form>
+[% END %]
[% INCLUDE 'footer.html' %]
diff --git a/templates/web/default/around/tabbed_lists.html b/templates/web/default/around/tabbed_lists.html
new file mode 100755
index 000000000..4ad7b35fc
--- /dev/null
+++ b/templates/web/default/around/tabbed_lists.html
@@ -0,0 +1,23 @@
+<div id="nearby_lists">
+
+ <h2>[% loc('Reports on and around the map') %]</h2>
+
+ <ul id="current">
+ [% INCLUDE "around/on_map_list_items.html" %]
+ </ul>
+
+ <h2>
+ [%
+ tprintf(
+ loc( 'Closest nearby problems <small>(within&nbsp;%skm)</small>' ),
+ distance
+ )
+ %]
+ </h2>
+
+ <ul id="current_near">
+ [% INCLUDE "around/around_map_list_items.html" %]
+ </ul>
+
+</div>
+
diff --git a/templates/web/default/common_header_tags.html b/templates/web/default/common_header_tags.html
index 9d32164f7..4839249ac 100644
--- a/templates/web/default/common_header_tags.html
+++ b/templates/web/default/common_header_tags.html
@@ -1,6 +1,7 @@
[% USE date %][% USE Math %]
<meta http-equiv="content-type" content="text/html; charset=utf-8">
+<script type="text/javascript" src="/js/validation_rules.js?[% Math.int( date.now / 3600 ) %]"></script>
<script type="text/javascript" src="/js/validation_strings.[% lang_code %].js?[% Math.int( date.now / 3600 ) %]"></script>
<script type="text/javascript" src="/jslib/jquery-1.7.2.min.js"></script>
diff --git a/templates/web/default/dashboard/index.html b/templates/web/default/dashboard/index.html
index e3695e5ec..f5a3cfba3 100644
--- a/templates/web/default/dashboard/index.html
+++ b/templates/web/default/dashboard/index.html
@@ -17,6 +17,7 @@
</hgroup>
<div class="filters">
+ [% IF c.cobrand.moniker != 'fixmybarangay' %]
<p>
<label for="ward">Ward:</label>
<select name="ward"><option value=''>All</option>
@@ -25,6 +26,7 @@
[% END %]
</select>
</p>
+ [% END %]
<p>
<label for="category">Report category:</label>
diff --git a/templates/web/default/faq/faq-en-gb.html b/templates/web/default/faq/faq-en-gb.html
index f0030dcb9..26f93afb8 100755
--- a/templates/web/default/faq/faq-en-gb.html
+++ b/templates/web/default/faq/faq-en-gb.html
@@ -190,7 +190,7 @@ rights reserved, Ministry of Justice 100037819&nbsp;2008),
Yahoo! for their BSD-licensed JavaScript libraries, the entire free software
community (this particular project was brought to you by Perl, PostgreSQL,
and the number 161.290) and <a
-href="http://www.m247.com/">M247</a> (who kindly host all
+href="http://www.bytemark.co.uk/">Bytemark</a> (who kindly host all
our servers).
Let us know if we&rsquo;ve missed anyone.</dd>
diff --git a/templates/web/default/index-steps.html b/templates/web/default/index-steps.html
new file mode 100644
index 000000000..8a83abf07
--- /dev/null
+++ b/templates/web/default/index-steps.html
@@ -0,0 +1,25 @@
+<h2>[% loc('How to report a problem') %]</h2>
+
+<ol class="big-numbers">
+[% IF c.cobrand.moniker == 'fixmybarangay' %]
+ <li>Text LUZ or BSN followed by your report to 12345</li>
+ <li>Visit the Barangay Center in person</li>
+ <li>Staff? <a href="/auth">Sign in</a> and click on the map!
+[% ELSE %]
+ <li>[% question %]</li>
+ <li>[% loc('Locate the problem on a map of the area') %]</li>
+ <li>[% loc('Enter details of the problem') %]</li>
+ [% IF c.cobrand.is_council %]
+ <li>Confirm the report and [% c.cobrand.council_name %] will investigate</li>
+ [% ELSIF c.cobrand.moniker == 'zurich' %]
+ [% ELSE %]
+ <li>[% loc('We send it to the council on your behalf') %]</li>
+ [% END %]
+[% END %]
+</ol>
+
+<section class="full-width">
+[% INCLUDE "front/stats.html" %]
+[% TRY %][% INCLUDE "front/tips.html" %][% CATCH file %][% END %]
+</section>
+
diff --git a/templates/web/default/index.html b/templates/web/default/index.html
index 159a595bc..375316000 100644
--- a/templates/web/default/index.html
+++ b/templates/web/default/index.html
@@ -1,4 +1,4 @@
-[% INCLUDE 'header.html', title => '' %]
+[% INCLUDE 'header.html', title = '' %]
[% IF error %]
<p class="error">[% error %]</p>
@@ -8,7 +8,7 @@
[%
subhead
= c.cobrand.moniker == 'southampton'
- ? '(like graffiti, fly tipping, or broken paving slabs)'
+ ? ''
: loc('(like graffiti, fly tipping, broken paving slabs, or street lighting)');
%]
@@ -24,19 +24,7 @@
[% PROCESS 'around/postcode_form.html' %]
<div id="front_intro">
-
- <h2>[% loc('How to report a problem') %]</h2>
-
- <ol>
- <li>[% question %]</li>
- <li>[% loc('Locate the problem on a map of the area') %]</li>
- <li>[% loc('Enter details of the problem') %]</li>
- <li>[% loc('We send it to the council on your behalf') %]</li>
- </ol>
-
- [% INCLUDE "front/stats.html" %]
- [% TRY %][% INCLUDE "front/tips.html" %][% CATCH file %][% END %]
-
+ [% INCLUDE 'index-steps.html' %]
</div>
[%
@@ -44,7 +32,6 @@
probs = c.cobrand.recent();
%]
-
[% IF probs.size || recent_photos.size %]
<div id="front_recent">
<h2>[% loc('Recently reported problems') %]</h2>
@@ -58,8 +45,6 @@
[% END %]
[% IF probs.size %]
-
-
<ul id="nearby_lists">
[% FOREACH p IN probs %]
<li>
diff --git a/templates/web/default/js/validation_rules.html b/templates/web/default/js/validation_rules.html
new file mode 100644
index 000000000..409d0971f
--- /dev/null
+++ b/templates/web/default/js/validation_rules.html
@@ -0,0 +1,7 @@
+ validation_rules = {
+ title: { required: true },
+ detail: { required: true },
+ email: { required: true },
+ update: { required: true },
+ rznvy: { required: true }
+ };
diff --git a/templates/web/default/js/validation_strings.html b/templates/web/default/js/validation_strings.html
index 3148d1993..c33bd2b81 100644
--- a/templates/web/default/js/validation_strings.html
+++ b/templates/web/default/js/validation_strings.html
@@ -17,5 +17,7 @@
},
fms_extra_title: '[% loc('Please enter your title') | replace("'", "\\'") %]',
first_name: '[% loc('Please enter your first name') | replace("'", "\\'") %]',
- last_name: '[% loc('Please enter your second name') | replace("'", "\\'") %]'
+ last_name: '[% loc('Please enter your second name') | replace("'", "\\'") %]',
+ geolocate: '[% loc('or locate me automatically') | replace("'", "\\'") %]',
+ report_problem_heading: '[% loc('Click map to report a problem') | replace("'", "\\'") %]'
};
diff --git a/templates/web/default/maps/openlayers.html b/templates/web/default/maps/openlayers.html
index e815642f1..b75e2bbd8 100644
--- a/templates/web/default/maps/openlayers.html
+++ b/templates/web/default/maps/openlayers.html
@@ -8,7 +8,7 @@
<script type="text/javascript">
var fixmystreet = {
'page': '[% page %]',
- 'area': '[% map.area %]',
+ 'area': [ [% map.area.join(',') %] ],
'all_pins': '[% all_pins %]',
'latitude': [% map.latitude %],
'longitude': [% map.longitude %],
diff --git a/templates/web/default/questionnaire/completed-open.html b/templates/web/default/questionnaire/completed-open.html
index 7c5469259..06e17cc0b 100644
--- a/templates/web/default/questionnaire/completed-open.html
+++ b/templates/web/default/questionnaire/completed-open.html
@@ -1,5 +1,11 @@
+[% IF c.cobrand.is_council %]
+<p style="font-size: 150%">
+Thank you very much for filling in our questionnaire.
+</p>
+[% ELSE %]
[% loc('<p style="font-size:150%">We&rsquo;re sorry to hear that. We have two
suggestions: why not try writing to your local representative or, if it&rsquo;s
a problem that could be fixed by local people working together, why not
<a href="http://www.pledgebank.com/new">make and publicise a pledge</a>?
</p>') %]
+[% END %]
diff --git a/templates/web/default/questionnaire/completed.html b/templates/web/default/questionnaire/completed.html
index a125d48bd..52c20652c 100644
--- a/templates/web/default/questionnaire/completed.html
+++ b/templates/web/default/questionnaire/completed.html
@@ -10,12 +10,12 @@
get some more information about the status of your problem, please come back to the
site and leave an update.</p>') %]
-[% ELSIF new_state == 'confirmed' OR (!new_state AND problem.is_open) %]
+[% ELSIF new_state == 'confirmed' OR (!new_state AND problem.is_open) OR (!new_state AND problem.is_closed) %]
[% INCLUDE 'questionnaire/completed-open.html' %]
[% advert_outcome = 0 %]
-[% ELSE %]
+[% ELSIF been_fixed == 'Yes' %]
[% loc('<p style="font-size:150%">Thank you very much for filling in our questionnaire; glad to hear it&rsquo;s been fixed.</p>') %]
diff --git a/templates/web/default/questionnaire/index.html b/templates/web/default/questionnaire/index.html
index 5b48f8915..6783bca57 100644
--- a/templates/web/default/questionnaire/index.html
+++ b/templates/web/default/questionnaire/index.html
@@ -80,9 +80,13 @@ href="http://www.emptyhomes.com/getinvolved/campaign.html">http://www.emptyhomes
</p>
[% END %]
+[% IF c.cobrand.moniker == 'southampton' %]
+<p>Add a public update (please note it will not be sent to the council)</p>
+[% ELSE %]
<p>[% loc('If you wish to leave a public update on the problem, please enter it here
(please note it will not be sent to the council). For example, what was
your experience of getting the problem fixed?') %]</p>
+[% END %]
<p><textarea name="update" style="max-width:90%" rows="7" cols="30">[% update | html %]</textarea></p>
diff --git a/templates/web/default/report/_main.html b/templates/web/default/report/_main.html
index 3a9e60e7b..b9779db69 100644
--- a/templates/web/default/report/_main.html
+++ b/templates/web/default/report/_main.html
@@ -1,20 +1,27 @@
-<h1>[% problem.title | html %]</h1>
+<div class="problem-header cf">
+ <h1>[% problem.title | html %]</h1>
-<p><em>[% problem.meta_line(c) | html %]
-[% IF problem.council %]
- [% IF problem.whensent || problem.can_display_external_id %]
- <small class="council_sent_info"><br>
- [% problem.processed_summary_string(c) %]
- </small>
- [% END %]
-[% ELSE %]
-<br><small>[% loc('Not reported to council') %]</small>
-[% END %]
-
-</em></p>
-
-[% add_links( problem.detail ) | html_para %]
-
-[% INCLUDE 'report/photo.html' object=problem center=1 %]
+ <p><em>
+ [% problem.meta_line(c) | html %]
+ [%- IF !problem.used_map %]; <strong>[% loc('there is no pin shown as the user did not use the map') %]</strong>[% END %]
+ [% IF problem.council %]
+ [% IF problem.whensent || problem.can_display_external_id %]
+ <small class="council_sent_info"><br>
+ [% problem.processed_summary_string(c) %]
+ </small>
+ [% END %]
+ [% ELSE %]
+ <br><small>[% loc('Not reported to council') %]</small>
+ [% END %]
+ </em></p>
+ [% INCLUDE 'report/_support.html' %]
+ [% IF c.cobrand.moniker == 'southampton' %]
+ [% add_links( problem.detail ) | html_para %]
+ [% INCLUDE 'report/photo.html' object=problem %]
+ [% ELSE %]
+ [% INCLUDE 'report/photo.html' object=problem %]
+ [% add_links( problem.detail ) | html_para %]
+ [% END %]
+</div>
diff --git a/templates/web/default/report/_support.html b/templates/web/default/report/_support.html
new file mode 100644
index 000000000..e8b958940
--- /dev/null
+++ b/templates/web/default/report/_support.html
@@ -0,0 +1,11 @@
+[% IF c.cobrand.can_support_problems %]
+<p id="supporter"><small>
+ [% IF !problem.interest_count %][% text=loc('No supporters') %][% ELSIF problem.interest_count == 1 %][% text = loc('1 supporter') %][% ELSE %][% text = tprintf( loc('%d supporters' ), problem.interest_count ) %][% END %]
+ [% IF c.user && c.user.from_council %]<form action="[% c.uri_for( '/report/support' ) %]">
+ [% text %] <input type="hidden" name="id" value="[% problem.id %]"><input type="submit" class="green-btn" value="Add support">
+ </form>
+ [% ELSE %]
+ [% text %]
+ [% END %]
+</small></p>
+[% END %]
diff --git a/templates/web/default/report/display.html b/templates/web/default/report/display.html
index 2ac58d9a9..18b4bf51a 100644
--- a/templates/web/default/report/display.html
+++ b/templates/web/default/report/display.html
@@ -44,175 +44,8 @@
</div>
[% INCLUDE 'report/updates.html' %]
-
-<div id="update_form">
-
- <h2>
- [% loc( 'Provide an update') %]
- </h2>
-
- [% IF c.cobrand.moniker != 'emptyhomes' %]
- <p>
- <small>[% loc( 'Please note that updates are not sent to the council. If you leave your name it will be public. Your information will only be used in accordance with our <a href="/faq#privacy">privacy policy</a>' ) %]</small>
- </p>
- [% END %]
-
- [% INCLUDE 'errors.html' %]
-
- <form method="post" action="[% c.uri_for( '/report/update' ) %]" name="updateForm" class="fieldset validate"[% IF c.cobrand.allow_photo_upload %] enctype="multipart/form-data"[% END %]>
-
- <input type="hidden" name="submit_update" value="1">
- <input type="hidden" name="id" value="[% problem.id | html %]">
-
- [% IF field_errors.update %]
- <div class='form-error'>[% field_errors.update %]</div>
- [% END %]
- <div class="form-field">
- <label for="form_update">[% loc( 'Update:' ) %]</label>
- <textarea name="update" id="form_update" rows="7" cols="30" required>[% update.text | html %]</textarea>
- </div>
-
- [% IF c.user && c.user.belongs_to_council( problem.council ) %]
- <div class="form-field">
- <label for="form_state">[% loc( 'State:' ) %]</label>
- <select name="state" id="form_state">
- [% 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')],
- ['fixed', loc('Fixed')] ] %]
- <option [% 'selected ' IF state.0 == problem.state %] value="[% state.0 %]">[% state.1 %]</option>
- [% END %]
- </select>
- </div>
- [% ELSE %]
- [% IF problem.is_fixed AND c.user_exists AND c.user.id == problem.user_id %]
- <div class="checkbox">
- <input type="checkbox" name="reopen" id="form_reopen" value="1"[% ' checked' IF update.mark_open %]>
- <label for="form_reopen">[% loc('This problem has not been fixed') %]</label>
- </div>
- [% ELSIF !problem.is_fixed %]
- <div class="checkbox">
- <input type="checkbox" name="fixed" id="form_fixed" value="1"[% ' checked' IF update.mark_fixed %]>
- <label for="form_fixed">[% loc('This problem has been fixed') %]</label>
- </div>
- [% END %]
- [% END %]
-
- [% IF c.cobrand.allow_photo_upload %]
- [% IF field_errors.photo %]
- <div class='form-error'>[% field_errors.photo %]</div>
- [% END %]
- <div id="fileupload_normalUI">
- [% IF upload_fileid %]
- <p>[% loc('You have already attached a photo to this update, attaching another one will replace it.') %]</p>
- <input type="hidden" name="upload_fileid" value="[% upload_fileid %]">
- [% END %]
- <label for="form_photo">[% loc('Photo:') %]</label>
- <input type="file" name="photo" id="form_photo" style="width:20em">
- </div>
- [% END %]
-
-[% IF c.user_exists %]
-
- [% INCLUDE name %]
-
- <div class="checkbox">
- <input type="submit" id="update_post" value="[% loc('Post') %]">
- </div>
-
-[% ELSE %]
-
- [% IF field_errors.email %]
- <div class='form-error'>[% field_errors.email %]</div>
- [% END %]
- <div class="form-field">
- <label for="form_rznvy">[% loc('Your email:' ) %]</label>
- <input type="email" name="rznvy" id="form_rznvy" value="[% update.user.email | html %]" size="30" required>
- </div>
-
-<div id="form_sign_in">
- <h3>[% loc("Now to submit your update&hellip; do you have a FixMyStreet password?") %]</h3>
-
- <div id="form_sign_in_yes">
-
- [% IF field_errors.password %]
- <div class='form-error'>[% field_errors.password %]</div>
- [% END %]
-
- <p>
- <label class="n" for="password_sign_in">[% loc('<strong>Yes</strong> I have a password') %]</label>
- <input type="password" name="password_sign_in" id="password_sign_in" value="" size="25">
- </p>
-
- <div class="fieldset">
-
- <p>
- <input type="checkbox" id="remember_me" name="remember_me" value='1'[% ' checked' IF remember_me %]>
- <label class="n" for="remember_me">
- [% loc('Keep me signed in on this computer') %]
- </label>
- </p>
-
- <p>
- <input type="submit" name="submit_sign_in" id="submit_sign_in" value="[% loc('Post') %]">
- </p>
-
- </div>
-
- </div>
- <div id="form_sign_in_no">
-
- <p>[% loc('<strong>No</strong>, let me confirm my update by email:') %]</p>
-
- <div class="fieldset">
-
- [% INCLUDE name %]
-
- <div class="form-field">
- <label for="password_register">[% loc('Enter a new password:') %]</label>
- <input type="password" name="password_register" id="password_register" value="" size="25">
- </div>
-
- <p style="clear:both"><small>[% loc('Providing a password is optional, but doing so will allow you to more easily report problems, leave updates and manage your reports.') %]</small></p>
-
- <p>
- <input type="submit" name="submit_register" id="submit_register" value="[% loc('Post') %]">
- </p>
-
- </div>
-
- </div>
-
-</div>
-
-[% END %]
-
- </form>
-</div>
+[% INCLUDE 'report/update-form.html' %]
</div>
[% INCLUDE 'footer.html' %]
-
-[% BLOCK name %]
- [% IF field_errors.name %]
- <div class='form-error'>[% field_errors.name %]</div>
- [% END %]
-
- <div>
- <label for="form_name">[% loc('Your name:') %]</label>
- <input type="text" name="name" id="form_name" value="[% update.name || c.user.name | html %]" size="25">
- </div>
-
- <div class="checkbox">
- <input type="checkbox" name="may_show_name" id="form_may_show_name" value="1"[% ' checked' UNLESS update.anonymous %]>
- <label for="form_may_show_name">[% loc('Show my name publicly') %]</label>
- <small>[% loc('(we never show your email)') %]</small>
- </div>
-
- <div class="checkbox">
- <input type="checkbox" name="add_alert" id="form_add_alert" value="1"[% ' checked' IF add_alert %]>
- <label for="form_add_alert">[% loc( 'Alert me to future updates' ) %]</label>
- </div>
-[% END %]
diff --git a/templates/web/default/report/new/category.html b/templates/web/default/report/new/category.html
index 8bff539c4..49be4d25d 100644
--- a/templates/web/default/report/new/category.html
+++ b/templates/web/default/report/new/category.html
@@ -3,7 +3,7 @@
[% IF category;
category = category | lower;
END; %]
- <label for='form_category'>[% category_label | html %]</label>
+ <label for='form_category' id="form_category_label">[% category_label | html %]</label>
<select name='category' id='form_category'[% ' onchange="form_category_onchange()"' IF category_extras.size %]>
[% FOREACH cat_op IN category_options %]
[% cat_op_lc = cat_op | lower %]
diff --git a/templates/web/default/report/new/category_extras.html b/templates/web/default/report/new/category_extras.html
index 7be69e30c..928b61041 100644
--- a/templates/web/default/report/new/category_extras.html
+++ b/templates/web/default/report/new/category_extras.html
@@ -13,8 +13,8 @@
<label for="form_[% meta_name %]">[% meta.description _ ':' %]</label>
[% IF meta.exists('values') %]
<select name="[% meta_name %]" id="form_[% meta_name %]"[% meta.required == 'true' ? ' required' : '' %]>
- [% FOR option IN meta.values.value.keys %]
- <option value="[% meta.values.value.$option.key %]">[% option %]</option>
+ [% FOR option IN meta.values.value.value %]
+ <option value="[% option.key.0 %]"[% IF option.key.0 == report_meta.$meta_name.value %] selected[% END %]>[% option.name.0 %]</option>
[% END %]
</select>
[% ELSE %]
diff --git a/templates/web/default/report/new/fill_in_details_form.html b/templates/web/default/report/new/fill_in_details_form.html
index 9c9451914..0befb344e 100644
--- a/templates/web/default/report/new/fill_in_details_form.html
+++ b/templates/web/default/report/new/fill_in_details_form.html
@@ -206,7 +206,7 @@
<div class="checkbox">
[%# if there is nothing in the name field then set check box as default on form %]
- <input type="checkbox" name="may_show_name" id="form_may_show_name" value="1"[% ' checked' IF !report.anonymous %]>
+ <input type="checkbox" name="may_show_name" id="form_may_show_name" value="1"[% ' checked' IF report.anonymous==0 OR (c.cobrand.default_show_name AND report.anonymous=='') %]>
<label for="form_may_show_name">[% loc('Show my name publicly') %]</label>
<br><small>[% loc('(we never show your email address or phone number)') %]</small>
</div>
diff --git a/templates/web/default/report/new/notes.html b/templates/web/default/report/new/notes.html
index be605ddaa..68408acc7 100644
--- a/templates/web/default/report/new/notes.html
+++ b/templates/web/default/report/new/notes.html
@@ -4,7 +4,7 @@
<li>[% loc("We will only use your personal information in accordance with our <a href=\"/faq#privacy\">privacy policy.</a>") %]</li>
<li>[% loc("Please be polite, concise and to the point.") %]</li>
- <li>[% loc("Please do not be abusive &mdash; abusing your council devalues the service for all users.") %]</li>
+ <li>[% loc("Please do not be abusive&nbsp;&mdash; abusing your council devalues the service for all users.") %]</li>
<li>[% loc("Writing your message entirely in block capitals makes it hard to read, as does a lack of punctuation.") %]</li>
<li>[% 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.") %]</li>
diff --git a/templates/web/default/report/photo.html b/templates/web/default/report/photo.html
index 451a0479c..02ab9228b 100644
--- a/templates/web/default/report/photo.html
+++ b/templates/web/default/report/photo.html
@@ -1,6 +1,8 @@
[% IF c.cobrand.allow_photo_display && object.photo %]
[% photo = object.get_photo_params %]
-<p[% ' align="center"' IF center %]>
- <img alt="" height="[% photo.height %]" width="[% photo.width %]" src="[% photo.url %]">
-</p>
+<div class="update-img">
+ [% IF photo.url_full %]<a href="[% photo.url_full %]" rel="fancy">[% END
+ %]<img alt="Photo of this report" [% IF photo.height %]height="[% photo.height %]" width="[% photo.width %]"[% END %] src="[% photo.url %]">
+ [%- IF photo.url_full %]<span>zoom</span></a>[% END %]
+</div>
[% END %]
diff --git a/templates/web/default/report/update-form.html b/templates/web/default/report/update-form.html
new file mode 100644
index 000000000..d993ce28f
--- /dev/null
+++ b/templates/web/default/report/update-form.html
@@ -0,0 +1,165 @@
+<div id="update_form">
+
+ <h2>[% loc( 'Provide an update') %]</h2>
+
+ [% IF c.cobrand.moniker != 'emptyhomes' %]
+ <p>
+ <small>[% loc( 'Please note that updates are not sent to the council. If you leave your name it will be public. Your information will only be used in accordance with our <a href="/faq#privacy">privacy policy</a>' ) %]</small>
+ </p>
+ [% END %]
+
+ [% INCLUDE 'errors.html' %]
+
+ <form method="post" action="[% c.uri_for( '/report/update' ) %]" name="updateForm" class="fieldset validate"[% IF c.cobrand.allow_photo_upload %] enctype="multipart/form-data"[% END %]>
+
+ <input type="hidden" name="submit_update" value="1">
+ <input type="hidden" name="id" value="[% problem.id | html %]">
+
+ [% IF field_errors.update %]
+ <div class='form-error'>[% field_errors.update %]</div>
+ [% END %]
+ <div class="form-field">
+ <label for="form_update">[% loc( 'Update:' ) %]</label>
+ <textarea name="update" id="form_update" rows="7" cols="30" required>[% update.text | html %]</textarea>
+ </div>
+
+ [% IF c.user && c.user.belongs_to_council( problem.council ) %]
+ <div class="form-field">
+ <label for="form_state">[% loc( 'State:' ) %]</label>
+ <select name="state" id="form_state">
+ [% 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')],
+ ['fixed', loc('Fixed')] ] %]
+ <option [% 'selected ' IF state.0 == problem.state %] value="[% state.0 %]">[% state.1 %]</option>
+ [% END %]
+ </select>
+ </div>
+ [% ELSE %]
+ [% IF problem.is_fixed AND c.user_exists AND c.user.id == problem.user_id %]
+ <div class="checkbox">
+ <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>
+ </div>
+ [% ELSIF !problem.is_fixed %]
+ <div class="checkbox">
+ <input type="checkbox" name="fixed" id="form_fixed" value="1"[% ' checked' IF update.mark_fixed %]>
+ <label class="inline" for="form_fixed">[% loc('This problem has been fixed') %]</label>
+ </div>
+ [% END %]
+ [% END %]
+
+ [% IF c.cobrand.allow_photo_upload %]
+ [% IF field_errors.photo %]
+ <div class='form-error'>[% field_errors.photo %]</div>
+ [% END %]
+ <div id="fileupload_normalUI">
+ [% IF upload_fileid %]
+ <p>[% loc('You have already attached a photo to this update, attaching another one will replace it.') %]</p>
+ <input type="hidden" name="upload_fileid" value="[% upload_fileid %]">
+ [% END %]
+ <label for="form_photo">[% loc('Photo:') %]</label>
+ <input type="file" name="photo" id="form_photo" style="width:20em">
+ </div>
+ [% END %]
+
+[% IF c.user_exists %]
+
+ [% INCLUDE name %]
+
+ <div class="checkbox">
+ <input type="submit" id="update_post" value="[% loc('Post') %]">
+ </div>
+
+[% ELSE %]
+
+ [% IF field_errors.email %]
+ <div class='form-error'>[% field_errors.email %]</div>
+ [% END %]
+ <div class="form-field">
+ <label for="form_rznvy">[% loc('Your email:' ) %]</label>
+ <input type="email" name="rznvy" id="form_rznvy" value="[% update.user.email | html %]" size="30" required>
+ </div>
+
+<div id="form_sign_in">
+ <h3>[% loc("Now to submit your update&hellip; do you have a FixMyStreet password?") %]</h3>
+
+ <div id="form_sign_in_yes">
+
+ [% IF field_errors.password %]
+ <div class='form-error'>[% field_errors.password %]</div>
+ [% END %]
+
+ <p>
+ <label class="n" for="password_sign_in">[% loc('<strong>Yes</strong> I have a password') %]</label>
+ <input type="password" name="password_sign_in" id="password_sign_in" value="" size="25">
+ </p>
+
+ <div class="fieldset">
+
+ <p>
+ <input type="checkbox" id="remember_me" name="remember_me" value='1'[% ' checked' IF remember_me %]>
+ <label class="n" for="remember_me">
+ [% loc('Keep me signed in on this computer') %]
+ </label>
+ </p>
+
+ <p>
+ <input type="submit" name="submit_sign_in" id="submit_sign_in" value="[% loc('Post') %]">
+ </p>
+
+ </div>
+
+ </div>
+ <div id="form_sign_in_no">
+
+ <p>[% loc('<strong>No</strong>, let me confirm my update by email:') %]</p>
+
+ <div class="fieldset">
+
+ [% INCLUDE name %]
+
+ <div class="form-field">
+ <label for="password_register">[% loc('Enter a new password:') %]</label>
+ <input type="password" name="password_register" id="password_register" value="" size="25">
+ </div>
+
+ <p style="clear:both"><small>[% loc('Providing a password is optional, but doing so will allow you to more easily report problems, leave updates and manage your reports.') %]</small></p>
+
+ <p>
+ <input type="submit" name="submit_register" id="submit_register" value="[% loc('Post') %]">
+ </p>
+
+ </div>
+
+ </div>
+
+</div>
+
+[% END %]
+
+ </form>
+</div>
+
+[% BLOCK name %]
+ [% IF field_errors.name %]
+ <div class='form-error'>[% field_errors.name %]</div>
+ [% END %]
+
+ <div>
+ <label for="form_name">[% loc('Your name:') %]</label>
+ <input type="text" name="name" id="form_name" value="[% update.name || c.user.name | html %]" size="25">
+ </div>
+
+ <div class="checkbox">
+ <input type="checkbox" name="may_show_name" id="form_may_show_name" value="1"[% ' checked' IF update.anonymous==0 OR (c.cobrand.default_show_name AND update.anonymous=='') %]>
+ <label for="form_may_show_name">[% loc('Show my name publicly') %]</label>
+ <small>[% loc('(we never show your email)') %]</small>
+ </div>
+
+ <div class="checkbox">
+ <input type="checkbox" name="add_alert" id="form_add_alert" value="1"[% ' checked' IF add_alert %]>
+ <label class="inline" for="form_add_alert">[% loc( 'Alert me to future updates' ) %]</label>
+ </div>
+[% END %]
diff --git a/templates/web/default/report_created.html b/templates/web/default/report_created.html
new file mode 100644
index 000000000..81083654b
--- /dev/null
+++ b/templates/web/default/report_created.html
@@ -0,0 +1,9 @@
+[% INCLUDE 'header.html', title => loc('Report created') %]
+
+<h1>[% loc("Report created") %]</h1>
+
+<p>
+[% loc('Your report has been created and will shortly be sent.') %]
+</p>
+
+[% INCLUDE 'footer.html' %]
diff --git a/templates/web/default/reports/council.html b/templates/web/default/reports/body.html
index 134c9d4fc..134c9d4fc 100755
--- a/templates/web/default/reports/council.html
+++ b/templates/web/default/reports/body.html
diff --git a/templates/web/default/reports/index.html b/templates/web/default/reports/index.html
index 283df5285..76c2afcd2 100755
--- a/templates/web/default/reports/index.html
+++ b/templates/web/default/reports/index.html
@@ -34,6 +34,7 @@
<td class="data">[% fixed.${area.id}.new or 0 %]</td>
<td class="data">[% fixed.${area.id}.old or 0 %]</td>
</tr>
+[% TRY %][% PROCESS "reports/_extras.html" %][% CATCH file %][% END %]
[% END %]
</tbody>
</table>
diff --git a/templates/web/default/reports/ward.html b/templates/web/default/reports/ward.html
index 8b65ffb28..4b2ea29a5 100755
--- a/templates/web/default/reports/ward.html
+++ b/templates/web/default/reports/ward.html
@@ -1 +1 @@
-[% INCLUDE reports/council.html %]
+[% INCLUDE reports/body.html %]