aboutsummaryrefslogtreecommitdiffstats
path: root/templates/web
diff options
context:
space:
mode:
Diffstat (limited to 'templates/web')
-rw-r--r--templates/web/bromley/report/display.html2
-rw-r--r--templates/web/default/admin/flagged.html8
-rw-r--r--templates/web/default/admin/header.html2
-rw-r--r--templates/web/default/admin/list_updates.html2
-rw-r--r--templates/web/default/admin/problem_row.html46
-rw-r--r--templates/web/default/admin/report_blocks.html18
-rw-r--r--templates/web/default/admin/report_edit.html1
-rw-r--r--templates/web/default/admin/reports.html15
-rw-r--r--templates/web/default/admin/timeline.html2
-rw-r--r--templates/web/default/admin/user-form.html2
-rw-r--r--templates/web/default/admin/users.html7
-rw-r--r--templates/web/default/alert/index.html6
-rw-r--r--templates/web/default/alert/list.html6
-rw-r--r--templates/web/default/around/around_map_list_items.html2
-rw-r--r--templates/web/default/around/on_map_list_items.html2
-rw-r--r--templates/web/default/auth/token.html11
-rw-r--r--templates/web/default/contact/index.html10
-rw-r--r--templates/web/default/front/stats.html2
-rw-r--r--templates/web/default/index.html8
-rw-r--r--templates/web/default/my/my.html6
-rw-r--r--templates/web/default/pagination.html22
-rw-r--r--templates/web/default/report/_support.html18
-rw-r--r--templates/web/default/report/banner.html2
-rw-r--r--templates/web/default/report/display.html2
-rw-r--r--templates/web/default/report/updates.html8
-rw-r--r--templates/web/emptyhomes/around/extra_text.html9
-rw-r--r--templates/web/emptyhomes/front/stats.html7
-rw-r--r--templates/web/fixmybarangay/alert/index.html6
-rw-r--r--templates/web/fixmystreet/contact/index.html10
-rw-r--r--templates/web/fixmystreet/index.html3
-rw-r--r--templates/web/fixmystreet/my/my.html2
-rw-r--r--templates/web/fixmystreet/pagination.html15
-rw-r--r--templates/web/fixmystreet/report/_item.html10
-rw-r--r--templates/web/fixmystreet/report/banner.html2
-rw-r--r--templates/web/fixmystreet/report/display.html4
-rw-r--r--templates/web/oxfordshire/around/intro.html2
-rwxr-xr-xtemplates/web/oxfordshire/faq/faq-en-gb.html38
-rw-r--r--templates/web/oxfordshire/header.html4
-rw-r--r--templates/web/oxfordshire/tracking_code.html22
-rw-r--r--templates/web/zurich/admin/header.html13
-rw-r--r--templates/web/zurich/admin/index-dm.html22
-rw-r--r--templates/web/zurich/admin/index-sdm.html22
-rw-r--r--templates/web/zurich/admin/index.html6
-rw-r--r--templates/web/zurich/admin/list_updates.html2
-rw-r--r--templates/web/zurich/admin/problem_row.html23
-rw-r--r--templates/web/zurich/admin/report_edit-sdm.html41
-rw-r--r--templates/web/zurich/admin/report_edit.html70
-rw-r--r--templates/web/zurich/admin/reports.html18
-rw-r--r--templates/web/zurich/admin/stats.html54
-rw-r--r--templates/web/zurich/around/intro.html5
-rw-r--r--templates/web/zurich/auth/general.html71
-rw-r--r--[-rwxr-xr-x]templates/web/zurich/faq/faq-de-ch.html239
-rw-r--r--templates/web/zurich/footer.html16
-rw-r--r--templates/web/zurich/header.html12
-rw-r--r--templates/web/zurich/report/_item.html10
-rw-r--r--templates/web/zurich/report/_main.html2
-rw-r--r--templates/web/zurich/report/updates.html2
-rw-r--r--templates/web/zurich/tracking_code.html18
58 files changed, 578 insertions, 412 deletions
diff --git a/templates/web/bromley/report/display.html b/templates/web/bromley/report/display.html
index 329d7ace9..67802e82a 100644
--- a/templates/web/bromley/report/display.html
+++ b/templates/web/bromley/report/display.html
@@ -2,7 +2,7 @@
PROCESS "report/photo-js.html";
PROCESS "maps/${map.type}.html";
- problem_title = problem.title _ ' - ' _ loc('Viewing a problem');
+ problem_title = problem.title_safe _ ' - ' _ loc('Viewing a problem');
INCLUDE 'header.html'
title = problem_title
rss = [ loc('Updates to this problem, FixMyStreet'), "/rss/$problem.id" ]
diff --git a/templates/web/default/admin/flagged.html b/templates/web/default/admin/flagged.html
index 5af92a23c..fc8b1fae1 100644
--- a/templates/web/default/admin/flagged.html
+++ b/templates/web/default/admin/flagged.html
@@ -9,14 +9,8 @@
<th>[% loc('ID') %]</th>
<th>[% loc('Title') %]</th>
<th>[% loc('Name') %]</th>
- <th>[% loc('Email') %]</th>
- <th>[% loc('Council') %]</th>
- <th>[% loc('Category') %]</th>
- <th>[% loc('Anonymous') %]</th>
- <th>[% loc('Cobrand') %]</th>
- <th>[% loc('Created') %]</th>
+ <th>[% loc('Body') %]</th>
<th>[% loc('State') %]</th>
- <th>[% loc('When sent') %]</th>
<th>*</th>
</tr>
[% INCLUDE 'admin/problem_row.html' %]
diff --git a/templates/web/default/admin/header.html b/templates/web/default/admin/header.html
index 93254f5e3..6282bf383 100644
--- a/templates/web/default/admin/header.html
+++ b/templates/web/default/admin/header.html
@@ -1,4 +1,4 @@
-[% INCLUDE 'header.html' admin = 1, bodyclass = 'fullwidthpage' %]
+[% INCLUDE 'header.html' admin = 1, bodyclass = 'fullwidthpage admin' %]
<style type="text/css">
dt { clear: left; float: left; font-weight: bold; }
dd { margin-left: 8em; }
diff --git a/templates/web/default/admin/list_updates.html b/templates/web/default/admin/list_updates.html
index ff0ec2f31..681337844 100644
--- a/templates/web/default/admin/list_updates.html
+++ b/templates/web/default/admin/list_updates.html
@@ -1,3 +1,4 @@
+[% IF updates.size %]
<h2>[% loc('Updates') %]</h2>
<table cellspacing="0" cellpadding="2" border="1">
@@ -36,3 +37,4 @@
</tr>
[% END -%]
</table>
+[% END %]
diff --git a/templates/web/default/admin/problem_row.html b/templates/web/default/admin/problem_row.html
index 1533f8dd2..ec8fda6c5 100644
--- a/templates/web/default/admin/problem_row.html
+++ b/templates/web/default/admin/problem_row.html
@@ -1,6 +1,6 @@
[%- FOR problem IN problems %]
<tr[% ' class="adminhidden"' IF problem.state == 'hidden' %]>
- <td>[%- IF problem.is_visible -%]
+ <td class="record-id">[%- IF problem.is_visible -%]
[%- cobrand_data = problem.cobrand_data %]
[%- cobrand_data = c.data_for_generic_problem IF !problem.cobrand %]
<a href="[% c.uri_for_email( '/report', problem.id, cobrand_data ) %]">[% problem.id %]</a>
@@ -8,26 +8,30 @@
[%- problem.id %]
[%- END -%]</td>
<td>[% PROCESS value_or_nbsp value=problem.title %]</td>
- <td>[% PROCESS value_or_nbsp value=problem.name %]</td>
- <td>[% PROCESS value_or_nbsp value=problem.user.email %]</td>
- <td>[%- IF edit_body_contacts -%]
- [% FOR body IN problem.bodies.values %]
- <a href="[% c.uri_for('body', body.id ) %]">[% PROCESS value_or_nbsp value=body.name %]</a>
- [% END %]
- [%- ELSE -%]
- [%- PROCESS value_or_nbsp value=problem.bodies_str -%]
- [%- END -%]</td>
- <td>[% PROCESS value_or_nbsp value=problem.category %]</td>
- <td>[% IF problem.anonymous %][% loc('Yes') %][% ELSE %][% loc('No') %][% END %]</td>
- <td>[% problem.cobrand %]<br>[% problem.cobrand_data | html %]</td>
- <td>[% PROCESS format_time time=problem.created %]</td>
- <td>[% problem.state %]<small>
- [%- IF problem.is_visible %]<br>[% loc('Confirmed:' ) %]&nbsp;[% PROCESS format_time time=problem.confirmed %][% END -%]
- [%- IF problem.is_fixed %]<br>[% loc('Fixed:') %] [% PROCESS format_time time=problem.lastupdate %][% END -%]
- [%- IF problem.is_closed %]<br>[% loc('Closed:') %] [% PROCESS format_time time=problem.lastupdate %][% END -%]
- [%- IF problem.is_open %]<br>[% loc('Last&nbsp;update:') %] [% PROCESS format_time time=problem.lastupdate %][% END -%]</small>
- </td>
- <td>[% PROCESS format_time time=problem.whensent %]</td>
+ <td>
+ [% PROCESS value_or_nbsp value=problem.name %]
+ <br>[% PROCESS value_or_nbsp value=problem.user.email %]
+ <br>[% loc('Anonymous') %]: [% IF problem.anonymous %][% loc('Yes') %][% ELSE %][% loc('No') %][% END %]
+ </td>
+ <td>
+ [% PROCESS value_or_nbsp value=problem.category %]
+ <br>[%- IF edit_body_contacts -%]
+ [% FOR body IN problem.bodies.values %]
+ <a href="[% c.uri_for('body', body.id ) %]">[% PROCESS value_or_nbsp value=body.name %]</a>
+ [% END %]
+ [%- ELSE -%]
+ [%- PROCESS value_or_nbsp value=problem.bodies_str -%]
+ [%- END -%]
+ <br>[% problem.cobrand %]<br>[% problem.cobrand_data | html %]
+ </td>
+ <td>[% problem.state %]<br><small>
+ [% loc('Created') %]:&nbsp;[% PROCESS format_time time=problem.created %]
+ <br>[% loc('When sent') %]:&nbsp;[% PROCESS format_time time=problem.whensent %]
+ [%- IF problem.is_visible %]<br>[% loc('Confirmed:' ) %]&nbsp;[% PROCESS format_time time=problem.confirmed %][% END -%]
+ [%- IF problem.is_fixed %]<br>[% loc('Fixed:') %] [% PROCESS format_time time=problem.lastupdate %][% END -%]
+ [%- IF problem.is_closed %]<br>[% loc('Closed:') %] [% PROCESS format_time time=problem.lastupdate %][% END -%]
+ [%- IF problem.is_open %]<br>[% loc('Last&nbsp;update:') %] [% PROCESS format_time time=problem.lastupdate %][% END -%]
+ </small></td>
<td><a href="[% c.uri_for( 'report_edit', problem.id ) %]">[% loc('Edit') %]</a></td>
</tr>
[%- END -%]
diff --git a/templates/web/default/admin/report_blocks.html b/templates/web/default/admin/report_blocks.html
index bb9f34cb9..c2cffc352 100644
--- a/templates/web/default/admin/report_blocks.html
+++ b/templates/web/default/admin/report_blocks.html
@@ -22,3 +22,21 @@
[% this_date.strftime('%d.%m.%Y') %]
[% ELSE %][% no_time || '&nbsp;' %][% END %][% no_time = '' %]
[%- END %]
+
+[% BLOCK sort_link %][% IF order == choice %][% c.uri_with( d => 1 - dir ) %][% ELSE %][% c.uri_with( { o => choice, d => 0 } ) %][% END %][% END %]
+
+[% BLOCK sort_arrow %]
+ [% IF order == choice %]
+ <span style="font-size:50%">
+ [% IF dir %]
+ &#9660;
+ [% ELSE %]
+ &#9650;
+ [% END %]
+ </span>
+ [% ELSE %]
+ <span style="font-size:50%; color: #999;">
+ &#9650;
+ </span>
+ [% END %]
+[% END %]
diff --git a/templates/web/default/admin/report_edit.html b/templates/web/default/admin/report_edit.html
index 8d0b8df88..91af70d14 100644
--- a/templates/web/default/admin/report_edit.html
+++ b/templates/web/default/admin/report_edit.html
@@ -57,7 +57,6 @@
[% photo = problem.get_photo_params %]
<li><img alt="" height="[% photo.height %]" width="[% photo.width %]" src="[% c.cobrand.base_url %][% photo.url %]">
<br>
-[% IF rotated %]Photo may be cached for a while.<br>[% END %]
<input type="submit" name="rotate_photo" value="[% loc('Rotate Left') %]">
<input type="submit" name="rotate_photo" value="[% loc('Rotate Right') %]">
<br>
diff --git a/templates/web/default/admin/reports.html b/templates/web/default/admin/reports.html
index 600f2b436..d57b2f53e 100644
--- a/templates/web/default/admin/reports.html
+++ b/templates/web/default/admin/reports.html
@@ -2,31 +2,26 @@
[% PROCESS 'admin/report_blocks.html' %]
<form method="get" action="[% c.uri_for('reports') %]" enctype="application/x-www-form-urlencoded" accept-charset="utf-8">
- <p><label for="search">[% loc('Search:') %]</label> <input type="text" name="search" size="30" id="search">
+ <p><label for="search">[% loc('Search:') %]</label> <input type="text" name="search" size="30" id="search" value="[% searched | html %]">
</form>
-
-[% IF searched %]
+[% IF problems.size %]
<table cellspacing="0" cellpadding="2" border="1">
<tr>
<th>[% loc('ID') %]</th>
<th>[% loc('Title') %]</th>
<th>[% loc('Name') %]</th>
- <th>[% loc('Email') %]</th>
<th>[% loc('Body') %]</th>
- <th>[% loc('Category') %]</th>
- <th>[% loc('Anonymous') %]</th>
- <th>[% loc('Cobrand') %]</th>
- <th>[% loc('Created') %]</th>
<th>[% loc('State') %]</th>
- <th>[% loc('When sent') %]</th>
<th>*</th>
</tr>
[% INCLUDE 'admin/problem_row.html' %]
</table>
-[% INCLUDE 'admin/list_updates.html' %]
+[% INCLUDE 'pagination.html', admin = 1, param = 'p' IF pager %]
[% END %]
+[% INCLUDE 'admin/list_updates.html' %]
+
[% INCLUDE 'admin/footer.html' %]
diff --git a/templates/web/default/admin/timeline.html b/templates/web/default/admin/timeline.html
index 4058f7f06..2c77e3fbd 100644
--- a/templates/web/default/admin/timeline.html
+++ b/templates/web/default/admin/timeline.html
@@ -34,7 +34,7 @@
[% CASE 'alertSub' %]
[% tprintf(loc("Alert %d created for %s, type %s, parameters %s / %s"), item.obj.id, item.obj.user.email, item.obj.alert_type.ref, item.obj.parameter, item.obj.parameter2) | html %]
[% CASE 'alertDel' %]
- [% tprintf(loc("Alert %d disabled (created %s)"), item.obj.id, item.obj.whensubscribed_local.strftime('%H:%M:%S %e %B %Y') ) %]
+ [% tprintf(loc("Alert %d disabled (created %s)"), item.obj.id, item.obj.whensubscribed.strftime('%H:%M:%S %e %B %Y') ) %]
[%- END %]
<br />
[%- END %]
diff --git a/templates/web/default/admin/user-form.html b/templates/web/default/admin/user-form.html
index eec54d447..9c60ec940 100644
--- a/templates/web/default/admin/user-form.html
+++ b/templates/web/default/admin/user-form.html
@@ -1,7 +1,7 @@
<form method="post" action="[% c.uri_for( 'user_edit', user.id ) %]" enctype="application/x-www-form-urlencoded" accept-charset="utf-8">
<input type="hidden" name="token" value="[% token %]" >
<input type="hidden" name="submit" value="1" >
- <ul>
+ <ul class="no-bullets">
<li>[% loc('Name:') %] <input type='text' name='name' id='name' value='[% user.name | html %]'></li>
<li>[% loc('Email:') %] <input type='text' id='email' name='email' value='[% user.email | html %]'></li>
<li>[% loc('Body:') %] <select id='body' name='body'>
diff --git a/templates/web/default/admin/users.html b/templates/web/default/admin/users.html
index de0b74746..70833ff85 100644
--- a/templates/web/default/admin/users.html
+++ b/templates/web/default/admin/users.html
@@ -5,7 +5,7 @@
<p><label for="search">[% loc('Search:') %]</label> <input type="text" name="search" size="30" id="search" value="[% searched | html %]">
</form>
-[% IF searched %]
+[% IF users.size %]
<table cellspacing="0" cellpadding="2" border="1">
<tr>
@@ -30,10 +30,11 @@
[%- END -%]
</table>
-[% ELSE %]
+[% END %]
+[% IF NOT searched %]
<h2>[% loc('Add user') %]</h2>
-[% INCLUDE 'admin/user-form.html' %]
+[% INCLUDE 'admin/user-form.html', user = '' %]
[% END %]
diff --git a/templates/web/default/alert/index.html b/templates/web/default/alert/index.html
index 1f0635ae4..36c0daf91 100644
--- a/templates/web/default/alert/index.html
+++ b/templates/web/default/alert/index.html
@@ -40,9 +40,11 @@ To find out what local alerts we have for you, please enter your [% c.cobrand.co
<div class="sticky-sidebar" id="alert_recent">
<aside>
<h2>[% loc('Some photos of recent reports') %]</h2>
- [% FOREACH p IN photos %]
+ [% FOREACH p IN photos;
+ photo = p.get_photo_params;
+ %]
<a href="/report/[% p.id %]"><img border="0" height="100"
- src="/photo/[% p.id %].tn.jpeg" alt="[% p.title | html %]" title="[% p.title | html %]"></a>
+ src="[% photo.url_tn %]" alt="[% p.title | html %]" title="[% p.title | html %]"></a>
[% END %]
</aside>
</div>
diff --git a/templates/web/default/alert/list.html b/templates/web/default/alert/list.html
index 20ebbf455..447bfcd76 100644
--- a/templates/web/default/alert/list.html
+++ b/templates/web/default/alert/list.html
@@ -24,9 +24,11 @@
<div id="alert_photos" class="sticky-sidebar">
<aside>
<h2>[% loc('Photos of recent nearby reports') %]</h2>
- [% FOREACH p IN photos %]
+ [% FOREACH p IN photos;
+ photo = p.get_photo_params;
+ %]
<a href="/report/[% p.id %]"><img border="0" height="100"
- src="/photo/[% p.id %].tn.jpeg" alt="[% p.title | html %]" title="[% p.title | html %]"></a>
+ src="[% photo.url_tn %]" alt="[% p.title | html %]" title="[% p.title | html %]"></a>
[% END %]
</aside>
</div>
diff --git a/templates/web/default/around/around_map_list_items.html b/templates/web/default/around/around_map_list_items.html
index 655d8bd25..da75561b5 100644
--- a/templates/web/default/around/around_map_list_items.html
+++ b/templates/web/default/around/around_map_list_items.html
@@ -5,7 +5,7 @@
<li>
<a href="[% c.uri_for('/report', p.problem.id ) %]">[% p.problem.title | html %]</a>
- <small>[% prettify_dt( p.problem.confirmed_local, 1 ) %], [% dist %]km</small>
+ <small>[% prettify_dt( p.problem.confirmed, 1 ) %], [% dist %]km</small>
[% IF p.problem.is_fixed %]
<small>[% loc('(fixed)') %]</small>
[% ELSIF p.problem.is_closed %]
diff --git a/templates/web/default/around/on_map_list_items.html b/templates/web/default/around/on_map_list_items.html
index 1022c88a0..70a071406 100644
--- a/templates/web/default/around/on_map_list_items.html
+++ b/templates/web/default/around/on_map_list_items.html
@@ -2,7 +2,7 @@
[% FOREACH p IN on_map %]
<li>
<a href="[% c.uri_for('/report', p.id ) %]">[% p.title | html %]</a>
- <small>[% prettify_dt( p.confirmed_local, 1 ) %]</small>
+ <small>[% prettify_dt( p.confirmed, 1 ) %]</small>
[% IF p.is_fixed %]
<small>[% loc('(fixed)') %]</small>
[% ELSIF p.is_closed %]
diff --git a/templates/web/default/auth/token.html b/templates/web/default/auth/token.html
index 5fa69ab21..361d4fbd5 100644
--- a/templates/web/default/auth/token.html
+++ b/templates/web/default/auth/token.html
@@ -4,13 +4,10 @@
<h1>[% loc('Error') %]</h1>
-<p>We have not been able to confirm your account - sorry. This may be because:</p>
-
-<ul>
- <li>Link too old or already used</li>
- <li>URL not copied correctly</li>
- [%# FIXME - add more reasons here %]
-</ul>
+<p>
+ [% loc('We have not been able to confirm your account - sorry.') %]
+ [% loc('This may be because the link is too old or already used, or the address was not copied correctly.') %]
+</p>
[% ELSE %]
diff --git a/templates/web/default/contact/index.html b/templates/web/default/contact/index.html
index cb87362ba..73e94fb33 100644
--- a/templates/web/default/contact/index.html
+++ b/templates/web/default/contact/index.html
@@ -18,9 +18,9 @@
<blockquote>
<p>
[% IF update.anonymous %]
- [% tprintf( loc('Update below added anonymously at %s'), prettify_dt( update.confirmed_local ) ) %]
+ [% tprintf( loc('Update below added anonymously at %s'), prettify_dt( update.confirmed ) ) %]
[% ELSE %]
- [% tprintf( loc('Update below added by %s at %s'), update.name, prettify_dt( update.confirmed_local ) ) | html %]
+ [% tprintf( loc('Update below added by %s at %s'), update.name, prettify_dt( update.confirmed ) ) | html %]
[% END %]
</p>
@@ -38,13 +38,13 @@
</p>
<blockquote>
- <h2>[% problem.title | html %]</h2>
+ <h2>[% problem.title_safe | html %]</h2>
<p>
[% IF problem.anonymous %]
- [% tprintf( loc('Reported anonymously at %s'), prettify_dt( problem.confirmed_local ) ) %]
+ [% tprintf( loc('Reported anonymously at %s'), prettify_dt( problem.confirmed ) ) %]
[% ELSE %]
- [% tprintf( loc('Reported by %s at %s'), problem.user.name, prettify_dt( problem.confirmed_local ) ) | html %]
+ [% tprintf( loc('Reported by %s at %s'), problem.user.name, prettify_dt( problem.confirmed ) ) | html %]
[% END %]
</p>
diff --git a/templates/web/default/front/stats.html b/templates/web/default/front/stats.html
index eae66018b..5367f1118 100644
--- a/templates/web/default/front/stats.html
+++ b/templates/web/default/front/stats.html
@@ -36,10 +36,8 @@
<div id="front_stats">
<div>[% tprintf( new_text, stats.new ) | comma %]</div>
- [% IF c.cobrand.moniker != 'emptyhomes' %]
<div>[% tprintf( fixed_text, stats.fixed ) | comma %]</div>
[% IF c.cobrand.moniker != 'zurich' %]
<div>[% tprintf( updates_text, stats.updates ) | comma %]</div>
[% END %]
- [% END %]
</div>
diff --git a/templates/web/default/index.html b/templates/web/default/index.html
index beaeefb20..6ae9db3e8 100644
--- a/templates/web/default/index.html
+++ b/templates/web/default/index.html
@@ -41,9 +41,11 @@
<h2>[% loc('Recently reported problems') %]</h2>
[% IF recent_photos.size %]
<p id="front_photos">
- [% FOREACH p IN recent_photos %]
+ [% FOREACH p IN recent_photos;
+ photo = p.get_photo_params;
+ %]
<a href="/report/[% p.id %]"><img border="0" height="100"
- src="/photo/[% p.id %].tn.jpeg" alt="[% p.title | html %]" title="[% p.title | html %]"></a>
+ src="[% photo.url_tn %]" alt="[% p.title | html %]" title="[% p.title | html %]"></a>
[% END %]
</p>
[% END %]
@@ -53,7 +55,7 @@
[% FOREACH p IN probs %]
<li>
<a href="/report/[% p.id %]">[% p.title | html %]</a>
- <small>[% prettify_dt( p.confirmed_local, 1 ) %]</small>
+ <small>[% prettify_dt( p.confirmed, 1 ) %]</small>
</li>
[% END %]
</ul>
diff --git a/templates/web/default/my/my.html b/templates/web/default/my/my.html
index cb9b0dd99..a6e4000df 100644
--- a/templates/web/default/my/my.html
+++ b/templates/web/default/my/my.html
@@ -53,7 +53,7 @@ END %]
<li>&ldquo;[% u.text | html %]&rdquo;
&ndash; <a href="[% c.uri_for( '/report', u.problem_id ) %]#update_[% u.id %]">[% u.problem.title | html %]</a>.
<em class="council_sent_info">
- [% tprintf( loc("Added %s"), prettify_dt( u.confirmed_local, 'date' ) ) %]
+ [% tprintf( loc("Added %s"), prettify_dt( u.confirmed, 'date' ) ) %]
</em>
</li>
[% "</ul>" IF loop.last %]
@@ -69,9 +69,9 @@ END %]
<li><a href="[% c.uri_for( '/report', p.id ) %]">[% p.title | html %]</a>
<em class="council_sent_info"> &ndash;
[% IF p.whensent %]
- [% tprintf( loc("Reported %s, to %s"), prettify_dt( p.confirmed_local, 'date' ), p.body(c) ) %]
+ [% tprintf( loc("Reported %s, to %s"), prettify_dt( p.confirmed, 'date' ), p.body(c) ) %]
[% ELSE %]
- [% tprintf( loc("Reported %s"), prettify_dt( p.confirmed_local, 'date' ) ) %]
+ [% tprintf( loc("Reported %s"), prettify_dt( p.confirmed, 'date' ) ) %]
[% END %]
</em>
</li>
diff --git a/templates/web/default/pagination.html b/templates/web/default/pagination.html
index f5a1192d1..63180b600 100644
--- a/templates/web/default/pagination.html
+++ b/templates/web/default/pagination.html
@@ -1,17 +1,19 @@
[% IF pager.last_page > 1 %]
- <p>
+[% IF NOT admin %]
+<section class="full-width">
+[% END %]
+ <p class="pagination">
[% IF pager.previous_page %]
- <a href="[% c.req.uri_with({ $param => pager.previous_page }) %]">&larr; Previous</a>
- [% ELSE %]
- &larr; Previous
+ <a class="prev" href="[% c.req.uri_with({ $param => pager.previous_page }) %][% '#' _ hash IF hash %]">[% loc('Previous') %]</a>
[% END %]
- |
- [% pager.first %] to [% pager.last %] of [% pager.total_entries %]
- |
+
+ [% tprintf( loc('%d to %d of %d'), pager.first, pager.last, pager.total_entries ) %]
+
[% IF pager.next_page %]
- <a href="[% c.req.uri_with({ $param => pager.next_page }) %]">Next &rarr;</a>
- [% ELSE %]
- Next &rarr;
+ <a class="next" href="[% c.req.uri_with({ $param => pager.next_page }) %][% '#' _ hash IF hash %]">[% loc('Next') %]</a>
[% END %]
</p>
+[% IF NOT admin %]
+</section>
+[% END %]
[% END %]
diff --git a/templates/web/default/report/_support.html b/templates/web/default/report/_support.html
index f4bdb8c20..3e372ba69 100644
--- a/templates/web/default/report/_support.html
+++ b/templates/web/default/report/_support.html
@@ -1,11 +1,17 @@
[% 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_body %]<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">
+[%
+ IF !problem.interest_count;
+ SET text = loc('No supporters');
+ ELSE;
+ SET text = tprintf( nget( "%d supporter", "%d supporters", problem.interest_count ), problem.interest_count );
+ END;
+%]
+
+ [% IF c.user AND c.user.from_body %]
+ <form action="[% c.uri_for( '/report/support' ) %]">
+ <p id="supporter"><small>[% text %] <input type="hidden" name="id" value="[% problem.id %]"><input type="submit" class="green-btn" value="Add support"></small></p>
</form>
[% ELSE %]
- [% text %]
+ <p id="supporter"><small>[% text %]</small></p>
[% END %]
-</small></p>
[% END %]
diff --git a/templates/web/default/report/banner.html b/templates/web/default/report/banner.html
index 52bfa6e67..bd7798d79 100644
--- a/templates/web/default/report/banner.html
+++ b/templates/web/default/report/banner.html
@@ -5,7 +5,7 @@
</p>
[% END %]
-[% IF problem.is_open AND date.now - problem.lastupdate_local.epoch > 8 * 7 * 24 * 60 * 60 %]
+[% IF problem.is_open AND date.now - problem.lastupdate.epoch > 8 * 7 * 24 * 60 * 60 %]
[% INCLUDE banner, id = 'unknown', text = loc('This problem is old and of unknown status.') %]
[% END %]
[% IF problem.is_fixed %]
diff --git a/templates/web/default/report/display.html b/templates/web/default/report/display.html
index 2ade45a8a..fd7580ac1 100644
--- a/templates/web/default/report/display.html
+++ b/templates/web/default/report/display.html
@@ -1,7 +1,7 @@
[%
PROCESS "maps/${map.type}.html";
- problem_title = problem.title _ ' - ' _ loc('Viewing a problem');
+ problem_title = problem.title_safe _ ' - ' _ loc('Viewing a problem');
SET rss = [ loc('Updates to this problem, FixMyStreet'), "/rss/$problem.id" ] IF c.cobrand.moniker != 'emptyhomes';
SET robots = 'index, nofollow';
SET robots = 'noindex, nofollow' IF c.cobrand.moniker == 'emptyhomes';
diff --git a/templates/web/default/report/updates.html b/templates/web/default/report/updates.html
index b7adb014f..83f746d56 100644
--- a/templates/web/default/report/updates.html
+++ b/templates/web/default/report/updates.html
@@ -7,21 +7,21 @@
[% IF update.whenanswered %]
[%# A questionnaire update, currently saying report is still open %]
- [% tprintf( loc( 'Still open, via questionnaire, %s' ), prettify_dt( update.whenanswered_local ) ) %]
+ [% tprintf( loc( 'Still open, via questionnaire, %s' ), prettify_dt( update.whenanswered ) ) %]
[% RETURN %]
[% END %]
[% IF update.anonymous || update.name == '' %]
- [% tprintf( loc( 'Posted anonymously at %s' ), prettify_dt( update.confirmed_local ) ) -%]
+ [% 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_local ) ) -%]
+ [% 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_local ) ) | html -%]
+ [% tprintf( loc( 'Posted by %s at %s' ), update.name, prettify_dt( update.confirmed ) ) | html -%]
[%- END -%]
[%- update_state = '' %]
[%- IF update.mark_fixed %][% update_state = ", " _ loc( 'marked as fixed' ) %][% END %]
diff --git a/templates/web/emptyhomes/around/extra_text.html b/templates/web/emptyhomes/around/extra_text.html
new file mode 100644
index 000000000..bb9d18d8e
--- /dev/null
+++ b/templates/web/emptyhomes/around/extra_text.html
@@ -0,0 +1,9 @@
+[%
+# Need to ignore any county council
+FOR c IN all_areas.values;
+ SET council = c IF c.type != 'CTY';
+END;
+%]
+<a href="/local/[% c.cobrand.short_name(council) | lower %]">
+ Find out local news and stats for [% council.name %]
+</a>
diff --git a/templates/web/emptyhomes/front/stats.html b/templates/web/emptyhomes/front/stats.html
new file mode 100644
index 000000000..f6aacf859
--- /dev/null
+++ b/templates/web/emptyhomes/front/stats.html
@@ -0,0 +1,7 @@
+[% USE Comma %]
+[% stats = c.cobrand.front_stats_data %]
+
+<div id="front_stats">
+ <div>[% tprintf( loc("<big>%s</big> reports"), stats ) | comma %]</div>
+ <div><a href="/local/">[% loc('Find latest local and national news') %]</a></div>
+</div>
diff --git a/templates/web/fixmybarangay/alert/index.html b/templates/web/fixmybarangay/alert/index.html
index d9bb74ee9..8e2ce7518 100644
--- a/templates/web/fixmybarangay/alert/index.html
+++ b/templates/web/fixmybarangay/alert/index.html
@@ -30,9 +30,11 @@ FixMyBarangay has a RSS feeds and email alerts for local problems.
<div class="sticky-sidebar" id="alert_recent">
<aside>
<h2>[% loc('Some photos of recent reports') %]</h2>
- [% FOREACH p IN photos %]
+ [% FOREACH p IN photos;
+ photo = p.get_photo_params
+ %]
<a href="/report/[% p.id %]"><img border="0" height="100"
- src="/photo/[% p.id %].tn.jpeg" alt="[% p.title | html %]" title="[% p.title | html %]"></a>
+ src="[% photo.url_tn %]" alt="[% p.title | html %]" title="[% p.title | html %]"></a>
[% END %]
</aside>
</div>
diff --git a/templates/web/fixmystreet/contact/index.html b/templates/web/fixmystreet/contact/index.html
index 450b6e2ef..f6648ab37 100644
--- a/templates/web/fixmystreet/contact/index.html
+++ b/templates/web/fixmystreet/contact/index.html
@@ -19,9 +19,9 @@
<blockquote>
<p>
[% IF update.anonymous %]
- [% tprintf( loc('Update below added anonymously at %s'), prettify_dt( update.confirmed_local ) ) %]
+ [% tprintf( loc('Update below added anonymously at %s'), prettify_dt( update.confirmed ) ) %]
[% ELSE %]
- [% tprintf( loc('Update below added by %s at %s'), update.name, prettify_dt( update.confirmed_local ) ) | html %]
+ [% tprintf( loc('Update below added by %s at %s'), update.name, prettify_dt( update.confirmed ) ) | html %]
[% END %]
</p>
@@ -39,13 +39,13 @@
</p>
<blockquote>
- <h2>[% problem.title | html %]</h2>
+ <h2>[% problem.title_safe | html %]</h2>
<p>
[% IF problem.anonymous %]
- [% tprintf( loc('Reported anonymously at %s'), prettify_dt( problem.confirmed_local ) ) %]
+ [% tprintf( loc('Reported anonymously at %s'), prettify_dt( problem.confirmed ) ) %]
[% ELSE %]
- [% tprintf( loc('Reported by %s at %s'), problem.user.name, prettify_dt( problem.confirmed_local ) ) | html %]
+ [% tprintf( loc('Reported by %s at %s'), problem.user.name, prettify_dt( problem.confirmed ) ) | html %]
[% END %]
</p>
diff --git a/templates/web/fixmystreet/index.html b/templates/web/fixmystreet/index.html
index 5d7d31baa..f45509891 100644
--- a/templates/web/fixmystreet/index.html
+++ b/templates/web/fixmystreet/index.html
@@ -47,8 +47,7 @@ kinds of problems like missed bins use our
<section class="full-width">
<ul class="issue-list-a">
[% FOREACH problem IN recent_photos %]
- [% problem.photo = 1; # Definitely is
- INCLUDE 'report/_item.html', no_fixed = 1 %]
+ [% INCLUDE 'report/_item.html', no_fixed = 1 %]
[% END %]
</ul>
</section>
diff --git a/templates/web/fixmystreet/my/my.html b/templates/web/fixmystreet/my/my.html
index 3134c335f..12f68bd80 100644
--- a/templates/web/fixmystreet/my/my.html
+++ b/templates/web/fixmystreet/my/my.html
@@ -57,7 +57,7 @@ END %]
<li>&ldquo;[% u.text | html %]&rdquo;
&ndash; <a href="[% c.uri_for( '/report', u.problem_id ) %]#update_[% u.id %]">[% u.problem.title | html %]</a>.
<p><small class="council_sent_info">
- [% tprintf( loc("Added %s"), prettify_dt( u.confirmed_local, 'date' ) ) %]
+ [% tprintf( loc("Added %s"), prettify_dt( u.confirmed, 'date' ) ) %]
</small></p>
</li>
[% "</ul>" IF loop.last %]
diff --git a/templates/web/fixmystreet/pagination.html b/templates/web/fixmystreet/pagination.html
deleted file mode 100644
index 4f4d00a79..000000000
--- a/templates/web/fixmystreet/pagination.html
+++ /dev/null
@@ -1,15 +0,0 @@
-[% IF pager.last_page > 1 %]
-<section class="full-width">
- <p class="pagination">
- [% IF pager.previous_page %]
- <a class="prev" href="[% c.req.uri_with({ $param => pager.previous_page }) %]">Previous</a>
- [% END %]
-
- [% pager.first %] to [% pager.last %] of [% pager.total_entries %]
-
- [% IF pager.next_page %]
- <a class="next" href="[% c.req.uri_with({ $param => pager.next_page }) %]">Next</a>
- [% END %]
- </p>
-</section>
-[% END %]
diff --git a/templates/web/fixmystreet/report/_item.html b/templates/web/fixmystreet/report/_item.html
index 508b02614..852633f76 100644
--- a/templates/web/fixmystreet/report/_item.html
+++ b/templates/web/fixmystreet/report/_item.html
@@ -1,13 +1,15 @@
<li>
<a class="text" href="[% c.uri_for('/report', problem.id ) %]">
- [% IF problem.photo %]
- <img class="img" height="60" width="90" src="/photo/[% problem.id %].fp.jpeg" alt="">
+ [% IF problem.photo;
+ photo = problem.get_photo_params
+ %]
+ <img class="img" height="60" width="90" src="[% photo.url_fp %]" alt="">
[% END %]
<h4>[% problem.title | html %]</h4>
- <small>[% prettify_dt( problem.confirmed_local, 1 ) %]
+ <small>[% prettify_dt( problem.confirmed, 1 ) %]
[%- IF dist %], [% dist %]km[% END %]
[%- IF include_lastupdate AND problem.confirmed != problem.lastupdate AND problem.whensent != problem.lastupdate %],
- [% tprintf('last updated %s', prettify_dt( problem.lastupdate_local, 1 ) ) %]
+ [% tprintf(loc('last updated %s'), prettify_dt( problem.lastupdate, 1 ) ) %]
[%- END %]
[% IF include_lastupdate %]
[% IF problem.bodies_str_ids.size > 1 %] [% loc('(sent to both)') %]
diff --git a/templates/web/fixmystreet/report/banner.html b/templates/web/fixmystreet/report/banner.html
index ce4666a6a..83c780958 100644
--- a/templates/web/fixmystreet/report/banner.html
+++ b/templates/web/fixmystreet/report/banner.html
@@ -5,7 +5,7 @@
</div>
[% END %]
-[% IF c.cobrand.moniker != 'bromley' AND problem.bodies_str != '2482' AND problem.is_open AND date.now - problem.lastupdate_local.epoch > 8 * 7 * 24 * 60 * 60 %]
+[% IF c.cobrand.moniker != 'bromley' AND problem.bodies_str != '2482' AND problem.is_open AND date.now - problem.lastupdate.epoch > 8 * 7 * 24 * 60 * 60 %]
[% INCLUDE banner, id = 'unknown', text = loc('Unknown') %]
[% END %]
[% IF problem.is_fixed %]
diff --git a/templates/web/fixmystreet/report/display.html b/templates/web/fixmystreet/report/display.html
index 44838c0ab..b75ef92bc 100644
--- a/templates/web/fixmystreet/report/display.html
+++ b/templates/web/fixmystreet/report/display.html
@@ -2,7 +2,7 @@
PROCESS "report/photo-js.html";
PROCESS "maps/${map.type}.html";
- problem_title = problem.title _ ' - ' _ loc('Viewing a problem');
+ problem_title = problem.title_safe _ ' - ' _ loc('Viewing a problem');
INCLUDE 'header.html'
title = problem_title
rss = [ loc('Updates to this problem, FixMyStreet'), "/rss/$problem.id" ]
@@ -49,7 +49,7 @@
[% IF c.cobrand.moniker == 'fixmystreet' %]
<div id="report-share" class="hidden-js" align="center">
- <a href="https://twitter.com/share" class="twitter-share-button" data-text="I just reported &lsquo;[% problem.title | html %]&rsquo;" data-via="fixmystreet" data-related="mysociety" data-count="none" data-dnt="true">Tweet</a>
+ <a href="https://twitter.com/share" class="twitter-share-button" data-text="I just reported &lsquo;[% problem.title_safe | html %]&rsquo;" data-via="fixmystreet" data-related="mysociety" data-count="none" data-dnt="true">Tweet</a>
<script>!function(d,s,id){var js,fjs=d.getElementsByTagName(s)[0];if(!d.getElementById(id)){js=d.createElement(s);js.id=id;js.src="//platform.twitter.com/widgets.js";fjs.parentNode.insertBefore(js,fjs);}}(document,"script","twitter-wjs");</script>
<iframe src="//www.facebook.com/plugins/like.php?href=[% c.req.uri | uri %]&amp;send=false&amp;layout=button_count&amp;width=90&amp;show_faces=false&amp;action=like&amp;colorscheme=light&amp;font&amp;height=21" scrolling="no" frameborder="0" style="border:none; overflow:hidden; width:90px; height:21px;" allowTransparency="true"></iframe>
</div>
diff --git a/templates/web/oxfordshire/around/intro.html b/templates/web/oxfordshire/around/intro.html
index 81b2569f6..3b96ec82f 100644
--- a/templates/web/oxfordshire/around/intro.html
+++ b/templates/web/oxfordshire/around/intro.html
@@ -1 +1 @@
- <h1 class="main">Reporting a problem in Oxfordshire</h1>
+ <h1 class="main">Report a street or road problem</h1>
diff --git a/templates/web/oxfordshire/faq/faq-en-gb.html b/templates/web/oxfordshire/faq/faq-en-gb.html
index 5aafa0bc4..a85c8b96b 100755
--- a/templates/web/oxfordshire/faq/faq-en-gb.html
+++ b/templates/web/oxfordshire/faq/faq-en-gb.html
@@ -25,6 +25,10 @@
to make it easier for our customers to report highways faults directly to us by
using their computer or mobile phone.
</p>
+ <p>
+ Here is a <a href="http://vimeo.com/61275718">short video</a>
+ about FixMyStreet and how you can use it to report road and street problems.
+ </p>
</dd>
<dt>What sort of problems should I report with FixMyStreet?</dt>
@@ -107,6 +111,32 @@
The map shows all faults submitted online through FixMyStreet. You can view the
exact location of each fault and see its current status.
</dd>
+
+ <dt>What updates will I receive?</dt>
+ <dd>
+ <p>
+ When you record a fault you can sign up to receive updates and you will receive an
+ initial email to acknowledge the report.
+ </p>
+ <p>
+ You will then receive an email every time that fault is updated. This could be when
+ a member of the public posts an update onto the fault or when we post a status update.
+ </p>
+ <p>
+ Road problems that are the responsibility of our Highways department, such as potholes,
+ will receive automatic updates at different stages. You will receive an email when the
+ problem has been inspected and another one when the fault is fixed.
+ </p>
+ <p>
+ Some faults may be marked as referred when they are not the responsibility of Oxfordshire
+ County Council, for example problems such as graffiti or rubbish which are the
+ responsibility of the District Council for that area.
+ </p>
+ <p>
+ All of these updates will also be posted on the mapped fault so that anyone can see the
+ status of any fault recorded via FixMyStreet by clicking on it on the map.
+ </p>
+ </dd>
<dt>How can I get an update on a fault?</dt>
<dd>
@@ -148,12 +178,12 @@
<h2><a name="practical"></a>Practical Questions</h2>
<dl>
- <dt>Do you remove silly or illegal content?</dt>
+ <dt>Inappropriate use</dt>
<dd>
Oxfordshire County 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.
+ accuracy of material submitted by its users. Oxfordshire County Council will monitor
+ this website for instances of inappropriate use, and reserves the right to moderate
+ comments if such instances occur.
</dd>
<dt>Why does the site use kilometres for measurements?</dt>
diff --git a/templates/web/oxfordshire/header.html b/templates/web/oxfordshire/header.html
index e9a592fd4..67afb2334 100644
--- a/templates/web/oxfordshire/header.html
+++ b/templates/web/oxfordshire/header.html
@@ -37,10 +37,10 @@
<div id="oxford-header" class="desk-only oxford-left">
<a href="http://www.oxfordshire.gov.uk/" title="Home" class="logo">Oxfordshire County Council<span></span></a>
<span id="oxford-links">
- <a href="http://www.oxfordshire.gov.uk/" title="">Oxfordshire County Council home</a>|<a href="/" title="">FixMyStreet</a>
+ <a href="http://www.oxfordshire.gov.uk/" title="">Oxfordshire County Council home</a>
</span>
<div style="clear:both"></div>
- <span class="header"><a href="/">FixMyStreet</a></span>
+ <span class="header"><a href="/">Report a road or street problem</a></span>
<div class="oxford-user">
<p>
[% IF c.user_exists %]
diff --git a/templates/web/oxfordshire/tracking_code.html b/templates/web/oxfordshire/tracking_code.html
new file mode 100644
index 000000000..1ed17651b
--- /dev/null
+++ b/templates/web/oxfordshire/tracking_code.html
@@ -0,0 +1,22 @@
+[% IF c.config.BASE_URL == "http://www.fixmystreet.com" %]
+
+<script type="text/javascript">
+
+ var _gaq = _gaq || [];
+ _gaq.push(['_setAccount', 'UA-22094787-2']);
+ _gaq.push(['_setDomainName', '.oxfordshire.gov.uk']);
+ _gaq.push(['_setCustomVar',1,'level1','Roads and transport',3]);
+ _gaq.push(['_setCustomVar',2,'level2','FixMyStreet',3]);
+ _gaq.push(['_trackPageview']);
+ jQuery(document).ready( function () {
+ jQuery.occ.gaico({
+ messageIcon: '/cms/sites/all/themes/publicsite/images/gaico_exclamation.png',
+ permanentMessageIcon: '/cms/sites/all/themes/publicsite/images/gaico_question.png'
+ });
+ });
+
+</script>
+
+[% ELSE %]
+<!-- Tracking code not inserted as "[% c.config.BASE_URL %]" not "http://www.fixmystreet.com" -->
+[% END %]
diff --git a/templates/web/zurich/admin/header.html b/templates/web/zurich/admin/header.html
index 41cb520f5..be146f0e1 100644
--- a/templates/web/zurich/admin/header.html
+++ b/templates/web/zurich/admin/header.html
@@ -14,9 +14,20 @@
%]
<style type="text/css">
.adminhidden { color: #666666; }
+ .active { background-color: #ffffee; cursor: pointer; }
.error { color: red; }
.overdue { background-color: #ffcccc; }
select { width: auto; }
+ #fms_pan_zoom { top: 13em !important; }
</style>
+<script>
+$(function(){
+ $('.row-link').hover(function(){
+ $(this).toggleClass("active");
+ }).click(function(){
+ window.location = this.getElementsByTagName('a')[0];
+ }).find('td:last').hide();
+ $('th.edit').hide();
+});
+</script>
- <h1 style="clear:both;">[% title %]</h1>
diff --git a/templates/web/zurich/admin/index-dm.html b/templates/web/zurich/admin/index-dm.html
index a88100ee4..530e72c59 100644
--- a/templates/web/zurich/admin/index-dm.html
+++ b/templates/web/zurich/admin/index-dm.html
@@ -3,14 +3,15 @@
[% status_message %]
-<h2>[% loc('Submitted') %]</h2>
-[% INCLUDE list, problems = unconfirmed.all %]
+<h2 id="submitted">[% loc('Submitted') %]</h2>
+[% INCLUDE list, problems = unconfirmed.all, hash = 'submitted' %]
-<h2>[% loc('Planned') %]</h2>
-[% INCLUDE list, problems = approval.all %]
+<h2 id="planned">[% loc('Planned') %]</h2>
+[% INCLUDE list, problems = approval.all, hash = 'planned' %]
-<h2>[% loc('All reports') %]</h2>
-[% INCLUDE list, problems = other.all, include_subdiv = 1 %]
+<h2 id="alle">[% loc('All reports') %]</h2>
+[% INCLUDE list, problems = other.all, include_subdiv = 1, hash = 'alle' %]
+[% INCLUDE 'pagination.html', admin = 1, param = 'p', hash = 'alle' %]
[% INCLUDE 'admin/footer.html' %]
@@ -19,14 +20,13 @@
<tr>
<th>[% loc('ID') %]</th>
<th>[% loc('Description') %]</th>
- <th>[% loc('Category') %]</th>
- <th>[% loc('Submitted') %]</th>
- <th>[% loc('Updated') %]</th>
- <th>[% loc('Status') %]</th>
+ [% FOREACH col IN [ [ 'category', loc('Category') ], [ 'created', loc('Submitted') ], [ 'lastupdate', loc('Updated') ], [ 'state', loc('Status') ] ] %]
+ <th><a href="[% INCLUDE sort_link choice = col.0 %]#[% hash %]">[% col.1 %] [% INCLUDE sort_arrow choice = col.0 %]</a></th>
+ [% END %]
[% IF include_subdiv %]
<th>[% loc('Subdivision/Body') %]</th>
[% END %]
- <th>*</th>
+ <th class='edit'>*</th>
</tr>
<tr class="filter-row">
<td colspan="8"><input type="text" placeholder="[%= loc('Filter report list') %]" /></td>
diff --git a/templates/web/zurich/admin/index-sdm.html b/templates/web/zurich/admin/index-sdm.html
index 4e4009c16..76593ead0 100644
--- a/templates/web/zurich/admin/index-sdm.html
+++ b/templates/web/zurich/admin/index-sdm.html
@@ -1,14 +1,15 @@
[% PROCESS 'admin/header.html' title=loc('Summary') -%]
[% PROCESS 'admin/report_blocks.html' %]
-<h2>[% loc('New reports') %]</h2>
-[% INCLUDE list, problems = reports_new.all %]
+<h2 id="new">[% loc('New reports') %]</h2>
+[% INCLUDE list, problems = reports_new.all, hash = 'new' %]
-<h2>[% loc('Reports awaiting approval') %]</h2>
-[% INCLUDE list, problems = reports_unpublished.all, no_edit = 1 %]
+<h2 id="wait">[% loc('Reports awaiting approval') %]</h2>
+[% INCLUDE list, problems = reports_unpublished.all, no_edit = 1, hash = 'wait' %]
-<h2>[% loc('Reports published') %]</h2>
-[% INCLUDE list, problems = reports_published.all, no_edit = 1 %]
+<h2 id="alle">[% loc('Reports published') %]</h2>
+[% INCLUDE list, problems = reports_published.all, no_edit = 1, hash = 'alle' %]
+[% INCLUDE 'pagination.html', admin = 1, param = 'p', hash = 'alle' %]
[% INCLUDE 'admin/footer.html' %]
@@ -17,12 +18,11 @@
<tr>
<th>[% loc('ID') %]</th>
<th>[% loc('Description') %]</th>
- <th>[% loc('Category') %]</th>
- <th>[% loc('Submitted') %]</th>
- <th>[% loc('Updated') %]</th>
- <th>[% loc('Status') %]</th>
+ [% FOREACH col IN [ [ 'category', loc('Category') ], [ 'created', loc('Submitted') ], [ 'lastupdate', loc('Updated') ], [ 'state', loc('Status') ] ] %]
+ <th><a href="[% INCLUDE sort_link choice = col.0 %]#[% hash %]">[% col.1 %] [% INCLUDE sort_arrow choice = col.0 %]</a></th>
+ [% END %]
[% IF NOT no_edit %]
- <th>*</th>
+ <th class='edit'>*</th>
[% END %]
</tr>
<tr class="filter-row">
diff --git a/templates/web/zurich/admin/index.html b/templates/web/zurich/admin/index.html
index ab835b5a3..a51c7f6fe 100644
--- a/templates/web/zurich/admin/index.html
+++ b/templates/web/zurich/admin/index.html
@@ -6,12 +6,6 @@
<li>[% tprintf( loc('%d council contacts &ndash; %d confirmed, %d unconfirmed'), contacts.total, contacts.1, contacts.0) %]</li>
</ul>
-[% IF c.cobrand.admin_show_creation_graph -%]
- <p>
- <a href="[% c.config.BASE_URL %]/fms-live-creation.png">[% loc('Graph of problem creation by status over time') %]</a>
- </p>
-[% END -%]
-
<h2>[% loc('Problem breakdown by state') %]</h2>
<ul>
[% FOREACH state IN problems.keys.sort %]
diff --git a/templates/web/zurich/admin/list_updates.html b/templates/web/zurich/admin/list_updates.html
index 7a78d4c63..c475d839e 100644
--- a/templates/web/zurich/admin/list_updates.html
+++ b/templates/web/zurich/admin/list_updates.html
@@ -1,3 +1,4 @@
+[% IF updates.size %]
<h2>[% loc('Updates') %]</h2>
<table cellspacing="0" cellpadding="2" border="1">
@@ -14,3 +15,4 @@
</tr>
[% END -%]
</table>
+[% END %]
diff --git a/templates/web/zurich/admin/problem_row.html b/templates/web/zurich/admin/problem_row.html
index 617490232..8b1a30cb0 100644
--- a/templates/web/zurich/admin/problem_row.html
+++ b/templates/web/zurich/admin/problem_row.html
@@ -1,18 +1,19 @@
[%- FOR problem IN problems %]
[% SET p_body = problem.bodies.values.0 %]
- [% IF page == 'search' %]
- [% NEXT IF admin_type == 'sdm' AND p_body.id != body.id %]
- [% NEXT IF admin_type == 'dm' AND p_body.id != body.id AND p_body.parent.id != body.id %]
- [% END %]
<tr[%
- ' class="adminhidden"' IF problem.state == 'hidden';
- ' class="overdue"' IF c.cobrand.overdue( problem );
+ SET classes = [];
+ classes.push('adminhidden') IF problem.state == 'hidden';
+ classes.push('overdue') IF c.cobrand.overdue( problem );
+ classes.push('row-link') IF NOT no_edit;
+ ' class="' _ classes.join(' ') _ '"' IF classes.size;
%]>
- <td class="record-id">[%- IF problem.is_visible -%]
- <a href="[% c.uri_for_email( '/report', problem.id ) %]">[% problem.id %]</a>
- [%- ELSE %]
- [%- problem.id %]
- [%- END -%]</td>
+ <td class="record-id">
+ [% IF no_edit AND problem.is_visible %]
+ <a href="[% c.uri_for_email( '/report', problem.id ) %]">[% problem.id %]</a>
+ [% ELSE %]
+ [% problem.id %]
+ [% END %]
+ </td>
<td>[% PROCESS value_or_nbsp value=problem.title %]</td>
<td>[% PROCESS value_or_nbsp value=problem.category %]</td>
<td>[% PROCESS format_date this_date=problem.created %]</td>
diff --git a/templates/web/zurich/admin/report_edit-sdm.html b/templates/web/zurich/admin/report_edit-sdm.html
index faad3ec55..85fa0a067 100644
--- a/templates/web/zurich/admin/report_edit-sdm.html
+++ b/templates/web/zurich/admin/report_edit-sdm.html
@@ -1,5 +1,16 @@
-[% PROCESS 'admin/header.html' title=tprintf(loc('Editing problem %d'), problem.id ) -%]
-[% PROCESS 'admin/report_blocks.html' %]
+[%
+ PROCESS "maps/zurich.html";
+ PROCESS 'admin/header.html'
+ title = tprintf(loc('Editing problem %d'), problem.id ),
+ bodyclass = 'mappage';
+ PROCESS 'admin/report_blocks.html'
+-%]
+
+[% map_html %]
+ <p id='sub_map_links'>
+ <a class="hidden-nojs" id="map_layer_toggle" href="">Stadtplan</a>
+ </p>
+</div>
[% status_message %]
@@ -9,9 +20,9 @@
<p align="right"><input type="submit" name="send_back" value="[% loc('Not for my subdivision') %]"></p>
-<ul>
+<ul class="no-bullets">
<li><a href="[% c.uri_for_email( '/report', problem.id ) %]">[% loc('View report on site' )%]</a></li>
-<li>[% loc('Details:') %] [% problem.detail | html %]
+<li><span class="mock-label">[% loc('Details:') %]</span> [% problem.detail | html %]
[% IF problem.extra.original_detail %]
<br>[%
SET safe = problem.extra.original_detail | html;
@@ -19,26 +30,28 @@
%]
[% END %]
</li>
-<li>[% loc('Co-ordinates:') %] [% problem.local_coords.join(',') %]
+<li><span class="mock-label">[% loc('Co-ordinates:') %]</span> [% problem.local_coords.join(',') %]
+ <input type="hidden" name="latitude" id="fixmystreet.latitude" value="[% problem.latitude %]">
+ <input type="hidden" name="longitude" id="fixmystreet.longitude" value="[% problem.longitude %]">
([%
SET safe = problem.postcode | html;
tprintf( loc('originally entered: &ldquo;%s&rdquo;'), safe )
%],
[% IF problem.used_map %][% loc('used map') %][% ELSE %][% loc("didn't use map") %][% END %])</li>
-<li>[% loc('Category:') %] [% problem.category | html %] </li>
-<li>[% loc('Name:') %] [% problem.name | html %]
-<li>[% loc('Email:') %] [% problem.user.email | html %]
+<li><span class="mock-label">[% loc('Category:') %]</span> [% problem.category | html %] </li>
+<li><span class="mock-label">[% loc('Name:') %]</span> [% problem.name | html %]
+<li><span class="mock-label">[% loc('Email:') %]</span> [% problem.user.email | html %]
[% IF NOT problem.extra.email_confirmed %]<span class="error">[% loc('Unconfirmed') %]</span>[% END %]
-<li>[% loc('Phone:') %] [% IF problem.user.phone %][% problem.user.phone | html %][% ELSE %]<em>[% loc('None') %]</em>[% END %]</li>
-<li>[% loc('Created:') %] [% PROCESS format_date this_date=problem.created %] [% problem.created.hms %]</li>
+<li><span class="mock-label">[% loc('Phone:') %]</span> [% IF problem.user.phone %][% problem.user.phone | html %][% ELSE %]<em>[% loc('None') %]</em>[% END %]</li>
+<li><span class="mock-label">[% loc('Created:') %]</span> [% PROCESS format_date this_date=problem.created %] [% problem.created.hms %]</li>
[% IF problem.photo %]
[% photo = problem.get_photo_params %]
<li><img alt="" src="[% c.cobrand.base_url %][% photo.url %]"></li>
[% END %]
-<li>[% loc('State:') %] [% states.${problem.state} %]</li>
+<li><span class="mock-label">[% loc('State:') %]</span> [% states.${problem.state} %]</li>
<li><label for="internal_notes">[% loc('Internal notes:') %]</label>
<textarea name='internal_notes' id='internal_notes' cols=60 rows=5>[% problem.extra.internal_notes | html %]</textarea></li>
@@ -48,8 +61,10 @@
</ul>
-<p><input type="submit" name="Submit changes" value="[% loc('Submit changes') %]" ></p>
-<p align="right"><input type="submit" name="no_more_updates" value="[% loc('No further updates') %]"></p>
+<p class="cf">
+ <input style="float:left" type="submit" name="Submit changes" value="[% loc('Submit changes') %]" >
+ <input style="float:right" type="submit" name="no_more_updates" value="[% loc('No further updates') %]">
+</p>
</form>
[% INCLUDE 'admin/list_updates.html' %]
diff --git a/templates/web/zurich/admin/report_edit.html b/templates/web/zurich/admin/report_edit.html
index 7fdaeabff..b604a7ea0 100644
--- a/templates/web/zurich/admin/report_edit.html
+++ b/templates/web/zurich/admin/report_edit.html
@@ -7,6 +7,9 @@
-%]
[% map_html %]
+ <p id='sub_map_links'>
+ <a class="hidden-nojs" id="map_layer_toggle" href="">Stadtplan</a>
+ </p>
</div>
[% status_message %]
@@ -15,11 +18,11 @@
<input type="hidden" name="token" value="[% token %]" >
<input type="hidden" name="submit" value="1" >
-<ul>
+<ul class="no-bullets">
<li><a href="[% c.uri_for_email( '/report', problem.id ) %]">[% loc('View report on site' )%]</a></li>
[% IF problem.state == 'fixed - council' OR problem.state == 'closed' %]
- <li>[% loc('Details:') %] [% problem.detail | html %]
+ <li><span class="mock-label">[% loc('Details:') %]</span> [% problem.detail | html %]
[% IF problem.extra.original_detail %]
<br>[%
SET detail_safe = problem.extra.original_detail | html;
@@ -40,26 +43,28 @@
</li>
[% END %]
-<li>[% loc('Co-ordinates:') %] [% problem.local_coords.join(',') %]
+<li><span class="mock-label">[% loc('Co-ordinates:') %]</span> [% problem.local_coords.join(',') %]
+ <input type="hidden" name="latitude" id="fixmystreet.latitude" value="[% problem.latitude %]">
+ <input type="hidden" name="longitude" id="fixmystreet.longitude" value="[% problem.longitude %]">
+
([%
SET safe = problem.postcode | html;
tprintf( loc('originally entered: &ldquo;%s&rdquo;'), safe )
%],
[% IF problem.used_map %][% loc('used map') %][% ELSE %][% loc("didn't use map") %][% END %])</li>
-<li>[% loc('Name:') %] [% problem.name | html %] <input type='hidden' name='name' id='name' value='[% problem.name | html %]'></li>
-<li>[% loc('Email:') %] [% problem.user.email | html %] <input type='hidden' id='email' name='email' value='[% problem.user.email | html %]'>
+<li><span class="mock-label">[% loc('Name:') %]</span> [% problem.name | html %] <input type='hidden' name='name' id='name' value='[% problem.name | html %]'></li>
+<li><span class="mock-label">[% loc('Email:') %]</span> [% problem.user.email | html %] <input type='hidden' id='email' name='email' value='[% problem.user.email | html %]'>
[% IF NOT problem.extra.email_confirmed %]<span class="error">[% loc('Unconfirmed') %]</span>[% END %]
</li>
-<li>[% loc('Phone:') %] [% IF problem.user.phone %][% problem.user.phone | html %][% ELSE %]<em>[% loc('None') %]</em>[% END %]</li>
-<li>[% loc('Created:') %] [% PROCESS format_date this_date=problem.created %] [% problem.created.hms %]</li>
+<li><span class="mock-label">[% loc('Phone:') %]</span> [% IF problem.user.phone %][% problem.user.phone | html %][% ELSE %]<em>[% loc('None') %]</em>[% END %]</li>
+<li><span class="mock-label">[% loc('Created:') %]</span> [% PROCESS format_date this_date=problem.created %] [% problem.created.hms %]</li>
[% IF problem.photo %]
[% photo = problem.get_photo_params %]
<li><img alt="" src="[% c.cobrand.base_url %][% photo.url %]">
<br>
-[% IF rotated %]Photo may be cached for a while.<br>[% END %]
<input type="submit" name="rotate_photo" value="[% loc('Rotate Left') %]">
<input type="submit" name="rotate_photo" value="[% loc('Rotate Right') %]">
<br>
@@ -71,7 +76,7 @@
<p><label for="internal_notes">[% loc('Internal notes:') %]</label>
<textarea name='internal_notes' id='internal_notes' cols=60 rows=5>[% problem.extra.internal_notes | html %]</textarea></p>
-<p>[% loc('State:') %] <select name="state" id="state">
+<p><span class="mock-label">[% loc('State:') %]</span> <select name="state" id="state">
<option value="">--</option>
[% FOREACH s IN [
['unconfirmed', loc('Submitted')]
@@ -92,16 +97,20 @@
[% IF problem.state == 'unconfirmed' OR problem.state == 'confirmed' %]
-<ul>
-<li class="assignation">
-<label for="body_subdivision">[% loc('Assign to subdivision:') %]</label>
+<ul class="no-bullets">
+[% list = FOR body IN bodies %]
+ [%- NEXT UNLESS body.parent.id == c.user.from_body.id %]
+ <option value="[% body.id %]"[% IF body.id == problem.bodies_str %] selected[% END %]>[% body.name %]</option>
+[% END %]
+ [% IF admin_type != 'super' AND list %]
+ <li class="assignation">
+ <label for="body_subdivision">[% loc('Assign to subdivision:') %]</label>
<select name="body_subdivision" id="body_subdivision">
<option value="">--</option>
- [% FOR body IN bodies %]
- [% NEXT UNLESS body.parent.id == c.user.from_body.id %]
- <option value="[% body.id %]"[% IF body.id == problem.bodies_str %] selected[% END %]>[% body.name %]</option>
- [% END %]
+ [% list %]
</select>
+ </li>
+ [% END %]
<li class="assignation">
<label for="category">
@@ -145,24 +154,41 @@ $(function(){
[% ELSIF problem.state == 'planned' %]
-<ul>
+<ul class="no-bullets">
+[% list = FOR body IN bodies %]
+ [%- NEXT UNLESS body.parent.id == c.user.from_body.id %]
+ <option value="[% body.id %]">[% body.name %]</option>
+[% END %]
+ [% IF admin_type != 'super' AND list %]
<li class="assignation">
<label for="body_subdivision">[% loc('Assign to subdivision:') %]</label>
<select name="body_subdivision" id="body_subdivision">
<option value="" selected>--</option>
- [% FOR body IN bodies %]
- [% NEXT UNLESS body.parent.id == c.user.from_body.id %]
- <option value="[% body.id %]">[% body.name %]</option>
- [% END %]
+ [% list %]
</select>
</li>
+ [% END %]
<li><label for="status_update">[% loc('Public response:') %]</label>
- <textarea name='status_update' id='status_update' cols=60 rows=5>[% problem.extra.public_response | html %]</textarea>
+ <textarea name='status_update' id='status_update' cols=60 rows=5>
+ [%- IF problem.extra.public_response -%]
+ [%- problem.extra.public_response | html -%]
+ [%- ELSE -%]
+
+Freundliche Grüsse
+
+Ihre Stadt Zürich
+ [%- END %]</textarea>
</li>
</ul>
+[% ELSIF problem.state == 'fixed - council' %]
+
+<p><span class="mock-label">[% loc('Public response:') %]</span>
+[% problem.extra.public_response | html %]
+</p>
+
[% END %]
<p align="right">
diff --git a/templates/web/zurich/admin/reports.html b/templates/web/zurich/admin/reports.html
index f8c022630..b0bc733c4 100644
--- a/templates/web/zurich/admin/reports.html
+++ b/templates/web/zurich/admin/reports.html
@@ -5,23 +5,23 @@
<p><label for="search">[% loc('Search:') %]</label> <input type="text" name="search" size="30" id="search" value="[% searched | html %]">
</form>
-
-[% IF searched %]
+[% IF problems.size %]
<table cellspacing="0" cellpadding="2" border="1">
<tr>
<th>[% loc('ID') %]</th>
<th>[% loc('Description') %]</th>
- <th>[% loc('Category') %]</th>
- <th>[% loc('Submitted') %]</th>
- <th>[% loc('Updated') %]</th>
- <th>[% loc('Status') %]</th>
- <th>*</th>
+ [% FOREACH col IN [ [ 'category', loc('Category') ], [ 'created', loc('Submitted') ], [ 'lastupdate', loc('Updated') ], [ 'state', loc('Status') ] ] %]
+ <th><a href="[% INCLUDE sort_link choice = col.0 %]">[% col.1 %] [% INCLUDE sort_arrow choice = col.0 %]</a></th>
+ [% END %]
+ <th class='edit'>*</th>
</tr>
- [% INCLUDE 'admin/problem_row.html', page = 'search' %]
+ [% INCLUDE 'admin/problem_row.html' %]
</table>
-[% INCLUDE 'admin/list_updates.html' %]
+[% INCLUDE 'pagination.html', admin = 1, param = 'p' IF pager %]
[% END %]
+[% INCLUDE 'admin/list_updates.html' %]
+
[% INCLUDE 'admin/footer.html' %]
diff --git a/templates/web/zurich/admin/stats.html b/templates/web/zurich/admin/stats.html
new file mode 100644
index 000000000..92521ff1d
--- /dev/null
+++ b/templates/web/zurich/admin/stats.html
@@ -0,0 +1,54 @@
+[% INCLUDE 'admin/header.html' title=loc('Stats') %]
+[% PROCESS 'admin/report_blocks.html' %]
+[% USE date %]
+
+<p style="float:right"><a href="[% c.uri_with( { export=1 } ) %]">[% loc('All Reports') %]</a></p>
+
+[% IF start_date AND end_date %]
+<p><strong>[% tprintf( loc( 'All reports between %s and %s' ), start_date.ymd, end_date.ymd ) | html %]</strong></p>
+[% END %]
+
+<form method="get" action="[% c.uri_for('stats') %]">
+<p><select name="ym">
+ <option value="">[% loc('All reports') %]</option>
+ [% FOR y IN [ 2013 .. date.format(date.now, '%Y') ];
+ SET max = 12;
+ max = date.format(date.now, '%m') IF y == date.format(date.now, '%Y');
+ FOR m IN [ 1 .. max ];
+ m = m | format('%02d');
+ SET v = m _ '.' _ y;
+ %]
+ <option[% ' selected' IF v == ym %]>[% v %]</option>
+ [% END %]
+ [% END %]
+</select>
+
+<input type="submit" value="[% loc('Go') %]">
+</form>
+
+<ul>
+<li>[% loc('Total') %]: [% reports_total || 0 %]
+<li>[% loc('Closed') %]: [% reports_solved || 0 %]
+<li>[% loc('Hidden') %]: [% reports_spam || 0 %]
+<li>Externe Adressen: [% reports_assigned || 0 %]
+<li>[% loc('Moderated by division within one working day') %]: [% reports_moderated || 0 %]
+<li>[% loc('Dealt with by subdivision within 5 working days') %]: [% reports_dealtwith || 0 %]
+<li>[% loc('Assign to different category:') %] [% reports_category_changed || 0 %]
+<li>[% loc('Photo') %]: [% pictures_taken || 0 %]
+<li>[% loc('Publish photo') %]: [% pictures_published || 0 %]
+<!-- <li>[% loc('Phone:') %] [% users_phone || 0 %] -->
+<li>[% loc('Confirmed') %]: [% email_confirmed || 0 %]
+<li>[% loc('Name:') %] [% name_provided || 0 %]
+</ul>
+
+<table>
+<tr><th>[% loc('Service:') %]</th><th>[% loc('Count') %]</th></tr>
+[% WHILE ( s = per_service.next ) %]<tr><td>[% s.service || 'Web' %]</td><td>[% s.get_column('c') %]</td></tr>[% END %]
+</table>
+
+<table>
+<tr><th>[% loc('Category') %]</th><th>[% loc('Count') %]</th></tr>
+[% WHILE ( c = per_category.next ) %]<tr><td>[% c.category %]</td><td>[% c.get_column('c') %]</td></tr>[% END %]
+</table>
+
+[% INCLUDE 'admin/footer.html' %]
diff --git a/templates/web/zurich/around/intro.html b/templates/web/zurich/around/intro.html
index f7a4904e3..b60fa7388 100644
--- a/templates/web/zurich/around/intro.html
+++ b/templates/web/zurich/around/intro.html
@@ -5,11 +5,6 @@
$(function() {
$( "#pc" ).autocomplete({
minLength: 3,
- select: function(event, ui) {
- $(this).val(ui.item.value);
- this.form.submit();
- return true;
- },
source: "/ajax/geocode"
});
});
diff --git a/templates/web/zurich/auth/general.html b/templates/web/zurich/auth/general.html
new file mode 100644
index 000000000..7f6403d00
--- /dev/null
+++ b/templates/web/zurich/auth/general.html
@@ -0,0 +1,71 @@
+[% INCLUDE 'header.html', title = loc('Sign in or create an account') %]
+
+[% 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 %]
+
+<form action="[% c.uri_for() %]" method="post" name="general_auth_login" class="validate">
+ <fieldset>
+
+ <h1>[% loc('Sign in') %]</h1>
+
+ <input type="hidden" name="r" value="[% c.req.params.r | html %]">
+
+ <div id="form_sign_in_yes" class="form-box">
+
+ <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="required email" id="email" name="email" value="[% email | html %]" placeholder="[% loc('Your email address') %]">
+
+ <label for="password_sign_in">[% loc('Password (optional)') %]</label>
+ <div class="form-txt-submit-box">
+ <input type="password" class="required" name="password_sign_in" id="password_sign_in" value="" placeholder="[% loc('Your password') %]">
+ <input class="green-btn" type="submit" name="sign_in" value="[% loc('Sign in') %]">
+ </div>
+
+ <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>
+ </fieldset>
+</form>
+
+<form action="[% c.uri_for() %]" method="post" name="general_auth_register" class="validate">
+ <fieldset>
+ <input type="hidden" name="r" value="[% c.req.params.r | html %]">
+
+ <h1>[% loc('<strong>No</strong> let me sign in by email') %]</h1>
+ <div id="form_sign_in_no" class="form-box">
+
+ <label class="n" for="email2">[% loc('Email') %]</label>
+ [% IF loc_email_error %]
+ <div class="form-error">[% loc_email_error %]</div>
+ [% END %]
+ <input type="email" class="required email" id="email2" name="email" value="[% email | html %]" placeholder="[% loc('Your email address') %]">
+
+ <label for="name">[% loc('Name') %]</label>
+ <input type="text" class="required" name="name" value="" placeholder="[% loc('Your name') %]">
+
+ <label for="password_register">[% loc('Password (optional)') %]</label>
+ <div class="form-txt-submit-box">
+ <input type="password" class="required" name="password_register" id="password_register" value="" placeholder="[% loc('Enter a password') %]">
+ <input class="green-btn" type="submit" name="email_sign_in" value="Registrieren">
+ </div>
+
+ </div>
+ </fieldset>
+</form>
+
+[% INCLUDE 'footer.html' %]
diff --git a/templates/web/zurich/faq/faq-de-ch.html b/templates/web/zurich/faq/faq-de-ch.html
index a354810df..f15196f8d 100755..100644
--- a/templates/web/zurich/faq/faq-de-ch.html
+++ b/templates/web/zurich/faq/faq-de-ch.html
@@ -1,190 +1,85 @@
-[% INCLUDE 'header.html', title => loc('Frequently Asked Questions'), bodyclass => 'twothirdswidthpage' %]
+[% INCLUDE 'header.html', title => loc('Help'), bodyclass => 'fullwidthpage' %]
-<div class="sticky-sidebar">
- <aside>
- <ul class="plain-list">
- <li><a href="#faq">Frequently Asked Questions</a></li>
- <li><a href="#practical">Practical Questions</a></li>
- <li><a href="#organisation">Organisation Questions</a></li>
- <li><a href="/privacy">Privacy and cookies</a></li>
- </ul>
- </aside>
-</div>
+<h1><a name="faq"></a>Hilfe</h1>
-<h1><a name="faq"></a>Frequently Asked Questions</h1>
<dl>
- <dt>What is FixMyStreet?</dt>
- <dd>FixMyStreet is a site to help people report, view,
-or discuss local problems they&rsquo;ve found to their local council by
-simply locating them on a map. It launched in early February
-2007.</dd>
- <dt>What sort of problems should I report with FixMyStreet?</dt>
- <dd>FixMyStreet is primarily for reporting things which are
-<strong>broken or dirty or damaged or dumped, and need fixing, cleaning
-or clearing</strong>, such as:
- <ul><li>Abandoned vehicles
- <li>Dog Fouling
- <li>Flyposting or graffiti
- <li>Flytipping or litter
- <li>Streetcleaning, such as broken glass in a cycle lane
- <li>Unlit lampposts
- <li>Potholes
- </ul>
- </dd>
+<dt>Was ist «Züri wie neu»</dt>
+<dd>
+«Züri wie neu» ist eine Online-Plattform, über die die Einwohnerinnen und
+Einwohner der Stadt Zürich auf Mängel und Schäden der städtischen Infrastruktur
+hinweisen können. «Züri wie neu» wird von der Stadtverwaltung moderiert und
+transparent geführt. Die Meldungen werden innerhalb von einem Arbeitstag den zuständigen Fachstellen
+zugewiesen und innert fünf Arbeitstagen abschliessend beantwortet. Fällt eine
+Meldung nicht in den Zuständigkeitsbereich der Stadtverwaltung, wird die
+Meldung anonymisiert der zuständigen dritten Stelle per E-Mail zugestellt.
+</dd>
- <dt>What isn&rsquo;t FixMyStreet for?</dt>
- <dd>FixMyStreet is not a way of getting in touch with [% c.cobrand.is_council ? 'the' : 'your' %] council for all
- issues &ndash; please use FixMyStreet only for problems such as the above. We
- often route problem reports via cleansing services or highways and so using
- FixMyStreet for other matters may result in a delay in your report getting
- to the right department. <strong>You will need to contact [% c.cobrand.is_council ? 'the' : 'your' %] council
- directly for problems such as</strong>:
+<dt>Welche Probleme kann ich über «Züri wie neu» melden?</dt>
+<dd>
+<p>Gemeldet werden können sämtliche Schäden an der Infrastruktur der Stadt Zürich.
+Dabei kann es sich um ein Loch im Strassenbelag, ein Graffiti am Stadthaus oder
+eine durch Vandalen beschädigte Parkbank handeln.
- <ul><li>Anti-social behaviour
- <li>Any urgent or emergency problems
- <li>Noise pollution or barking dogs
- <li>Fires and smoke/smell pollution
- <li>Missing wheelie bins or recycling boxes or missed rubbish collections
- <li>Proposals for speed bumps/ CCTV/ pedestrian crossings/ new road layouts/ etc.
- <li>Complaining about your neighbours
- <li>Complaining about the council
- <li>Joy riding, drug taking, animal cruelty, or other criminal activity
- </ul>
- <p>Councils often have direct hotlines for these sorts of issues.</p>
- </dd>
+<p>Es können Probleme zu folgenden Kategorien gemeldet werden:
- <dt>How do I use the site?</dt>
- <dd>After entering a postcode or location, you are presented
-with a map of that area. You can view problems already reported in that area,
-or report ones of your own simply by clicking on the map at the location of
-the problem.</dd>
- <dt>How are the problems solved?</dt>
- <dd>They are reported to the [% IF !c.cobrand.is_council %]relevant[% END %] council by email. The
-council can then resolve the problem the way they normally would.
-Alternatively, you can discuss the problem on the website with others, and
-then together lobby the council to fix it, or fix it directly yourselves.</dd>
- <dt>Is it free?</dt>
- <dd>The site is free to use, yes. FixMyStreet is run
-by a registered charity, though, so if you want to make a contribution, <a
-href="https://secure.mysociety.org/donate/">please do</a>.</dd>
+<ul>
+<li>Abfall / Sammelstellen</li>
+<li>Beleuchtung</li>
+<li>Graffiti</li>
+<li>Spielplatz / Sitzbank</li>
+<li>Strasse / Trottoir / Platz</li>
+<li>Tiere / Grünflächen</li>
+</ul>
- <dt>Can I use FixMyStreet on my mobile?</dt>
- <dd>
- <p>The FixMyStreet website should work on your mobile phone, adapting to
- the size of your screen automatically. We plan to release updated native
- apps in the near future.
- <ul>
- <li><em>iPhone:</em> Our basic app from 2008 is available for download
- on the App Store:
- <a href="http://itunes.apple.com/gb/app/fixmystreet/id297456545">FixMyStreet</a>,
- <li><em>Android:</em> A volunteer, Anna Powell-Smith, has written an app
- available from the
- <a href="https://market.android.com/details?id=com.android.fixmystreet">Android Market</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>
+</dd>
- </dl>
+<dt>Was kann ich nicht über «Züri wie neu» melden?</dt>
+<dd>
+<ul>
+<li>Mängel die nicht auf Stadtgebiet liegen.</li>
+<li>Melden Sie «Züri wie neu» KEINE Notfälle. Die Notrufnummern lauten:
+ <br>Medizinisch - 144 Polizei - 117 Feuer - 118 Allgemein - 112</li>
+<li>Allgemeine Verschönerungs- und Verbesserungsvorschläge</li>
+</ul>
+</dd>
- <h2><a name="practical"></a>Practical Questions</h2>
- <dl>
- <dt>I&rsquo;m from a council, where do you send the reports?</dt>
- <dd>You can either leave a test report or <a href="/contact">contact us</a>
-to find out where reports go at the moment. Also <a href="/contact">contact us</a>
-to update the address or addresses we use.</dd>
- <dt>I&rsquo;m from a council, can we have FixMyStreet on our website?</dt>
- <dd>Yes you can! We offer branded, hosted versions of FixMyStreet for local council websites. <a href="http://www.mysociety.org/for-councils/fixmystreet/">Full details</a>.</dd>
- <dt>Do you remove silly or illegal content?</dt>
- <dd>FixMyStreet is 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>Why does the site use kilometres for measurements?</dt>
- <dd>Thanks for asking politely &ndash; we never quite understand why some of the rudest
- emails we receive are on this topic. 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>Wie verwende ich die Webseite?</dt>
+<dd>
+<p>
+Geben Sie zuerst eine Adresse an oder lassen Sie Ihren Standort automatisch
+über den entsprechenden Link lokalisieren. Mittels Mausklick in die danach
+angezeigte Karte können Sie den exakten Ort des Mangels angeben. Als letzten
+Schritt füllen Sie die Felder des Formulars aus und schicken die Meldung ab.
+</p>
+<p>
+Weiter können Sie bestehende Meldungen sowie auch die Rückmeldungen der
+Verwaltung betrachten.
+</p>
+</dd>
- <dt>Why can&rsquo;t I zoom out more on the reporting map?</dt>
- <dd>We want to keep FixMyStreet locally focused, so restrict the ability to
- move radically between areas. The map on Your Reports will let you see all
- the reports you&rsquo;ve made, wherever they are. If you&rsquo;re from the
- council then the emailed version of the problem report also contains the
- closest road and postcode to the pin on the map.</dd>
+<dt>Wie werden die Probleme gelöst?</dt>
+<dd>
+Die Meldungen werden innerhalb von einem Arbeitstag den zuständigen Fachstellen
+zugewiesen und innert fünf Arbeitstagen von den dafür zuständigen
+Fachstellen bearbeitet sowie mit einer entsprechenden Rückmeldung versehen.
+</dd>
- <dt>This site is great – why aren&rsquo;t you better publicised?</dt>
- <dd>As a tiny charity we simply don&rsquo;t have a publicity budget, and we
- rely on word of mouth to advertise the site. We have a whole <a
- href="posters/">array of posters, flyers and badges</a> if you&rsquo;d like
- to publicise us on the web or in your local area, and why not write to your
- local paper to let them know about us?</dd> </dl>
-
- <h2><a name="organisation"></a>Organisation Questions</h2>
- <dl>
- <dt>Who built FixMyStreet?</dt>
- <dd>This site 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.com</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. Our first project
-was <a href="http://www.writetothem.com/">WriteToThem</a>, where you can write to any of your
-elected representatives, for free. 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, UK.</dd>
- <dt><img src="/i/moj.png" align="right" alt="Ministry of Justice" hspace="10">Who pays for it?</dt>
- <dd>FixMyStreet was originally paid for via the Department for
- Constitutional Affairs Innovations Fund. It is now funded by a variety of means, from commercial
- work to <a href="http://www.mysociety.org/donate/">donations</a>.</dd>
- <dt><a name="nfi"></a>Wasn&rsquo;t this site called Neighbourhood Fix-It?</dt>
- <dd>Yes, we changed the name mid June 2007. We decided
-Neighbourhood Fix-It was a bit of a mouthful, hard to spell, and hard to publicise (does the URL have a dash in it or not?). The domain FixMyStreet became available, and everyone liked the name.</dd>
- <dt>Do you need any help with the project?</dt>
- <dd>Yes, we can use help in all sorts of ways, technical or
-non-technical. Please see our <a
-href="http://www.mysociety.org/helpus/">Get Involved page</a>.</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 software behind this site is open source, and available
-to you mainly under the GNU Affero GPL software license. You can <a
-href="http://github.com/mysociety/fixmystreet">download the
-source code</a> and help us 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.
+<dt>Kann ich «Züri wie neu» auf meinem Smartphone nutzen?</dt>
+<dd>
+Ja, sowohl über die für mobile Geräte optimierte Webseite, als auch über die
+iOS- und Android-App.
</dd>
-<dt>I&rsquo;d prefer code in a different language?</dt>
+
+<dt>Kann ich auch Probleme ausserhalb von Zürich melden?</dt>
+<dd>Nein.</dd>
+
+<dt>Werden meine E-Mail-Adresse, mein Name und meine Telefonnummer vertraulich behandelt?</dt>
<dd>
-VisibleGovernment.ca wrote their own code for
-<a href="http://www.fixmystreet.ca/">http://www.fixmystreet.ca/</a>, which is
-written in GeoDjango and available under an MIT licence at <a
-href="http://github.com/visiblegovernment/django-fixmystreet/tree/master">github</a>.
-Or <a href="http://www.fixmystreet.org.nz/">FixMyStreet.org.nz</a> is written in
-Drupal.
-</p>
+Die Kontaktinformationen werden nur stadtintern für Rückfragen verwendet. Sie
+werden weder im Internet publiziert noch an Dritte weitergegeben.
</dd>
- <dt>People build things, not organisations. Who <em>actually</em> built it?</dt>
- <dd>Matthew Somerville and Francis Irving wrote the site,
-Chris Lightfoot wrote the tileserver and map cutter, Richard Pope created
-our pins, Deborah Kerr keeps things up-to-date and does user support,
-Ayesha Garrett designed our posters, and Tom Steinberg managed it all.
-Thanks also to
-<a href="http://www.ordnancesurvey.co.uk">Ordnance Survey</a> (for the maps,
-UK postcodes, and UK addresses &ndash; data &copy; Crown copyright, all
-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.bytemark.co.uk/">Bytemark</a> (who kindly host all
-our servers).
+</dl>
-Let us know if we&rsquo;ve missed anyone.</dd>
- </dl>
[% INCLUDE 'footer.html' pagefooter = 'yes' %]
diff --git a/templates/web/zurich/footer.html b/templates/web/zurich/footer.html
index a570a66a3..2304c048e 100644
--- a/templates/web/zurich/footer.html
+++ b/templates/web/zurich/footer.html
@@ -9,18 +9,17 @@
[% IF c.user_exists %]
<p>
[% tprintf(loc('Hi %s'), c.user.name || c.user.email) %]
- </p><p><a href="/auth/sign_out">[% loc('sign out') %]</a>
+ </p><p><a href="/admin">[% loc('Summary') %]</a> | <a href="/auth/sign_out">[% loc('sign out') %]</a>
</p>
- [% ELSE %]
+ [% END %]
<ul id="main-menu" class="mob-only">
- <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 == '/' %]a onclick="$('html, body').animate({scrollTop:0}, 500); return false;" href="#site-header"[% ELSE %]a href="/"[% END %]
+ >[% loc("Report a problem") %]</[% c.req.uri.path == '/' ? 'a' : '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 == '/faq' %]span[% ELSE %]a href="/faq"[% END
%]>[% loc("Help") %]</[% c.req.uri.path == '/faq' ? 'span' : 'a' %]></li>
</ul>
- [% END %]
</div>
</div>
</div>
@@ -29,11 +28,12 @@
<!-- [% INCLUDE 'debug_footer.html' %] -->
</div> <!-- .wrapper -->
- <div id="zurich-footer" class="desk-only">
- &copy; 2012 Stadt Z&uuml;rich
+ <div id="zurich-footer-wrapper" class="desk-only">
+ <div id="zurich-footer">
+ &copy; 2013 Stadt Z&uuml;rich
<span class="hidden">|</span> <a href="http://www.stadt-zuerich.ch/content/portal/de/index/footer/rechtliche_hinweise.html">Rechtliche Hinweise</a>
<span class="hidden">|</span> <a href="http://www.stadt-zuerich.ch/content/portal/de/index/footer/impressum.html">Impressum</a>
- <span class="hidden">|</span> <a href="http://www.stadt-zuerich.ch/content/portal/de/index/footer/barrierefreiheit.html">Barrierefreiheit</a>
+ </div>
</div>
</body>
diff --git a/templates/web/zurich/header.html b/templates/web/zurich/header.html
index 8c8e49775..891c6f1d3 100644
--- a/templates/web/zurich/header.html
+++ b/templates/web/zurich/header.html
@@ -20,14 +20,14 @@
<link rel="stylesheet" href="[% start %][% version('/cobrands/' _ c.cobrand.moniker _ '/layout.css') %]">
<![endif]-->
-<!-- CDN for now FIXME --><link rel="stylesheet" href="http://code.jquery.com/ui/1.9.2/themes/redmond/jquery-ui.css">
+ <link rel="stylesheet" href="//ajax.googleapis.com/ajax/libs/jqueryui/1.9.2/themes/redmond/jquery-ui.css">
<script src="[% start %][% version('/js/modernizr.custom.js') %]" charset="utf-8"></script>
<script src="[% start %][% version('/cobrands/fixmystreet/position_map.js') %]" charset="utf-8"></script>
- [% INCLUDE 'common_header_tags.html', js_override = '/cobrands/fixmystreet/fixmystreet.js', site_title = 'FixMyZurich' %]
+ [% INCLUDE 'common_header_tags.html', js_override = '/cobrands/fixmystreet/fixmystreet.js', site_title = 'Züri wie neu' %]
[% extra_js %]
-<!-- CDN for now FIXME --><script src="http://code.jquery.com/ui/1.9.2/jquery-ui.js" charset="utf-8"></script>
+ <script src="//ajax.googleapis.com/ajax/libs/jqueryui/1.9.2/jquery-ui.min.js" charset="utf-8"></script>
[% INCLUDE 'tracking_code.html' %]
@@ -38,7 +38,8 @@
<div class="table-cell">
<header id="site-header" role="banner">
<div class="container">
- <a href="http://www.stadt-zuerich.ch/" id="site-logo">FixMyZurich</a>
+ <a href="/" id="site-logo-text">Züri wie neu</a>
+ <a href="http://www.stadt-zuerich.ch/" id="site-logo">Stadt Zürich</a>
<a href="#main-nav" id="nav-link">Main Navigation</a>
</div>
</header>
@@ -67,6 +68,9 @@
<li [% IF pagename == 'users' OR pagename == 'user_edit' %]class="current"[% END %]>
<a href="/admin/users">[% loc('Users') %]</a>
</li>
+ <li [% IF pagename == 'stats' %]class="current"[% END %]>
+ <a href="/admin/stats">[% loc('Stats') %]</a>
+ </li>
[% END %]
<li class="search-box">
<form method="get" action="[% c.uri_for('reports') %]" enctype="application/x-www-form-urlencoded" accept-charset="utf-8">
diff --git a/templates/web/zurich/report/_item.html b/templates/web/zurich/report/_item.html
index 41164cdd1..7adb7cdd4 100644
--- a/templates/web/zurich/report/_item.html
+++ b/templates/web/zurich/report/_item.html
@@ -1,17 +1,19 @@
<li>
<a class="text" href="[% c.uri_for('/report', problem.id ) %]">
- [% IF problem.state != 'unconfirmed' AND problem.photo AND problem.extra.publish_photo %]
- <img class="img" height="60" width="90" src="/photo/[% problem.id %].fp.jpeg" alt="">
+ [% IF problem.state != 'unconfirmed' AND problem.photo AND problem.extra.publish_photo;
+ photo = problem.get_photo_params
+ %]
+ <img class="img" height="60" width="90" src="[% photo.url_fp %]" alt="">
[% END %]
[% IF problem.state != 'unconfirmed' %]
<h4>[% problem.title | html %]</h4>
[% ELSE %]
<h4><em>[% loc('Awaiting moderation') %]</em></h4>
[% END %]
- <small>[% prettify_dt( problem.created_local, 'zurich' ) %]
+ <small>[% prettify_dt( problem.created, 'zurich' ) %]
[%- IF dist %], [% dist %]km[% END %]
[%- IF include_lastupdate AND problem.created != problem.lastupdate AND problem.whensent != problem.lastupdate %],
- [% tprintf('last updated %s', prettify_dt( problem.lastupdate_local, 'zurich' ) ) %]
+ [% tprintf(loc('last updated %s'), prettify_dt( problem.lastupdate, 'zurich' ) ) %]
[%- END %]
[% IF NOT no_fixed AND problem.is_fixed %]
[% loc('(fixed)') %]
diff --git a/templates/web/zurich/report/_main.html b/templates/web/zurich/report/_main.html
index e6c310873..c5fbabf1c 100644
--- a/templates/web/zurich/report/_main.html
+++ b/templates/web/zurich/report/_main.html
@@ -1,7 +1,7 @@
<div class="problem-header cf">
<h1>[% tprintf( loc('Reported in the %s category'), problem.category ) %]</h1>
<p class="sub">
- [% prettify_dt( problem.created_local, 'zurich' ) %]
+ [% prettify_dt( problem.created, 'zurich' ) %]
[%- IF !problem.used_map %]<br>[% loc('there is no pin shown as the user did not use the map') %][% END %]
</p>
diff --git a/templates/web/zurich/report/updates.html b/templates/web/zurich/report/updates.html
index 69c8af99f..786ecd582 100644
--- a/templates/web/zurich/report/updates.html
+++ b/templates/web/zurich/report/updates.html
@@ -4,7 +4,7 @@
<li>
<div class="update-wrap">
<div class="update-text">
- <p class="meta-2">[% prettify_dt( problem.lastupdate_local, 'zurich' ) %]</p>
+ <p class="meta-2">[% prettify_dt( problem.lastupdate, 'zurich' ) %]</p>
[% IF problem.state == 'fixed - council' %]
[% add_links( problem.extra.public_response ) | html_para %]
[% ELSIF problem.state == 'closed' AND problem.external_body %]
diff --git a/templates/web/zurich/tracking_code.html b/templates/web/zurich/tracking_code.html
new file mode 100644
index 000000000..bffd0fd6f
--- /dev/null
+++ b/templates/web/zurich/tracking_code.html
@@ -0,0 +1,18 @@
+[%
+ SET ga_code = 'UA-38427437-1';
+ SET ga_code = 'UA-39223200-1' IF c.config.BASE_URL == "https://www.zueriwieneu.ch";
+%]
+<script type="text/javascript">
+
+ var _gaq = _gaq || [];
+ _gaq.push(['_setAccount', '[% ga_code %]']);
+ _gaq.push (['_gat._anonymizeIp']);
+ _gaq.push(['_trackPageview']);
+
+ (function() {
+ var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
+ ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
+ var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
+ })();
+
+</script>