diff options
Diffstat (limited to 'templates')
32 files changed, 1041 insertions, 352 deletions
diff --git a/templates/email/zurich/alert-moderation-overdue.txt b/templates/email/zurich/alert-moderation-overdue.txt new file mode 100644 index 000000000..85906b9cb --- /dev/null +++ b/templates/email/zurich/alert-moderation-overdue.txt @@ -0,0 +1,10 @@ +Subject: eskalierte Meldungen auf FixMyZürich
+
+
+ +Die folgenden Meldungen auf FixMyZürich sind älter als einen Tag und müssen dringend bearbeitet werden:
+<?=$values['data']?>
+
+Um diese Meldungen zu moderieren, klicken Sie auf folgende URL:
+ +<?=$values['admin_url']?>
\ No newline at end of file diff --git a/templates/email/zurich/alert-overdue.txt b/templates/email/zurich/alert-overdue.txt new file mode 100644 index 000000000..90c8ee02f --- /dev/null +++ b/templates/email/zurich/alert-overdue.txt @@ -0,0 +1,13 @@ +Subject: Rückmeldung erforderlich auf FixMyZürich
+
+ +Die folgenden Meldungen wurden eskaliert, da sie nicht innerhalb von fünf Tagen beantwortet worden sind: + +
+<?=$values['data']?> + +
+
+Um diese Meldungen zu bearbeiten, klicken Sie auf folgende URL: +
+<?=$values['admin_url']?>
\ No newline at end of file diff --git a/templates/email/zurich/problem-confirm.txt b/templates/email/zurich/problem-confirm.txt new file mode 100755 index 000000000..e770aa69e --- /dev/null +++ b/templates/email/zurich/problem-confirm.txt @@ -0,0 +1,16 @@ +Subject: Fix My Zürich: Meldung #[% ---report.ID--- | trim %] + +
+
+Guten Tag [% report.name %]
+
+Bitte klicken Sie auf den untenstehenden Link, um Ihre Meldung zu bestätigen. Falls der Link nicht funktioniert, kopieren Sie ihn in Ihren Browser:
+
+[% token_url %]
+
+Ihre Meldung:
+
+[% ---report.details---- %]
+
+
+Dieses E-Mail wurde automatisch generiert. Bitte antworten Sie nicht auf dieses E-Mail.
\ No newline at end of file diff --git a/templates/email/zurich/reply-autoresponse.txt b/templates/email/zurich/reply-autoresponse.txt new file mode 100755 index 000000000..ef5d69d41 --- /dev/null +++ b/templates/email/zurich/reply-autoresponse.txt @@ -0,0 +1,10 @@ +Subject: Automatische Antwort auf Ihr E-Mail
+
+Guten Tag
+
+Dies ist eine automatische Antwort auf Ihr E-Mail. Ihr E-Mail wurde nicht übermittelt.
+
+Falls Sie eine Meldung erfassen möchten, tun Sie das bitte über die Hauptseite:
+[% ---link to FMZ--- %]
+
+Falls Sie Fragen zu Fix My Zürich haben, senden Sie ein E-Mail an gis-zentrum@zuerich.ch
diff --git a/templates/email/zurich/submit.txt b/templates/email/zurich/submit.txt new file mode 100755 index 000000000..a95b02cde --- /dev/null +++ b/templates/email/zurich/submit.txt @@ -0,0 +1,10 @@ +Subject: Fix My Zürich: #<?=----$values['ID']----?> + +
+
+<?=$values['url']?>
+
+
+<?=$values['detail']?> + +
diff --git a/templates/web/default/index-steps.html b/templates/web/default/index-steps.html index 7129241d2..8a83abf07 100644 --- a/templates/web/default/index-steps.html +++ b/templates/web/default/index-steps.html @@ -11,6 +11,7 @@ <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 %] 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/report/display.html b/templates/web/default/report/display.html index 6b93539f2..18b4bf51a 100644 --- a/templates/web/default/report/display.html +++ b/templates/web/default/report/display.html @@ -44,173 +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')], ['planned', loc('Planned')], ['in progress', - loc('In Progress')], ['closed', loc('Closed')], ['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… 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/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 — abusing your council devalues the service for all users.") %]</li> + <li>[% loc("Please do not be abusive — 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/update-form.html b/templates/web/default/report/update-form.html new file mode 100644 index 000000000..7e39f79b7 --- /dev/null +++ b/templates/web/default/report/update-form.html @@ -0,0 +1,163 @@ +<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')], ['planned', loc('Planned')], ['in progress', + loc('In Progress')], ['closed', loc('Closed')], ['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… 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/fixmybarangay/footer.html b/templates/web/fixmybarangay/footer.html index 966abacd8..88f18db4b 100644 --- a/templates/web/fixmybarangay/footer.html +++ b/templates/web/fixmybarangay/footer.html @@ -91,18 +91,39 @@ If you want to see any other messages, you'll need to have a manager or admin account on Message Manager: click on the <a href="[% c.config.MESSAGE_MANAGER_URL %]">admin</a> link to get there. </p> - <h3> - Creating a new report from a message - </h3> <p> - If you want to use a message to create a problem report, you'll need to select it first. Click on the radio button. When the message - is selected, it will go bright green. Now when you click on the map, the report will be used to create the report. - </p> - <p> - To stop two people replying to a message at the same time, if anyone else has just started working on it, you'll see a message - warning you, and you won't be able to select the radio button. Normally, if nobody works with a message, such a lock is released - after about 3 minutes. - </p> + [% IF global.is_fmb_creation_page %] + <h3> + Creating a new report from a message + </h3> + <p> + If you want to use a message to create a problem report, you'll need to select it first. Click on the radio button. When the message + is selected, it will go bright green. Now when you click on the map, the report will be used to create the report. + </p> + <p> + To stop two people replying to a message at the same time, if anyone else has just started working on it, you'll see a message + warning you, and you won't be able to select the radio button. Normally, if nobody works with a message, such a lock is released + after about 3 minutes. + </p> + [% ELSE %] + <p> + Click <strong>show messages for this report</strong> to see + the message (or messages) that contributed to this report. Often this will be a single message + if the problem was submitted by SMS. But it will also include any messages that have been + added as updates, as well as any replies that were sent back by barangay staff. + As well as letting you review the background to the report, this also lets you reply (for example, + to notify the original reporter that the problem has been fixed). + </p> + <h3> + Adding a message as an update to this report + </h3> + <p> + If you want to add this message's contents as an update to this report, you'll need to select it first. Click + on the radio button. When the message is selected, it will go bright green. Now when you click on the + <strong>COPY TO UPDATE</strong> button, the message text will be added to this report's update text. + You can edit the text before clicking <strong>POST</strong>. + </p> + [% END %] <h3> Replying to a message </h3> diff --git a/templates/web/fixmybarangay/report/_message_manager.html b/templates/web/fixmybarangay/report/_message_manager.html index 10f627a2e..5f6b515e5 100644 --- a/templates/web/fixmybarangay/report/_message_manager.html +++ b/templates/web/fixmybarangay/report/_message_manager.html @@ -55,7 +55,10 @@ $(document).ready(function() { var $mm_message_list = $('#mm-message-list'); var mm_url = "[% c.config.MESSAGE_MANAGER_URL %]"; // from config + + [%# note that the presence of a problem id implies that this is a report view page, not a problem creation page %] var problem_id = "[% problem.id %]"; + var dummy_busy = false; var fms_username = "[% c.user.email | replace('\@.*', '') %]"; var timeout_id = 0; @@ -119,7 +122,15 @@ $(document).ready(function() { dummy_busy = false; } - message_manager.config({url_root: mm_url, want_nice_msgs: true}); + var custom_tooltips; + if (problem_id) { // this page is viewing, not creating + custom_tooltips = {tt_radio: "Select before clicking 'Copy to Update' to add this message as an update"}; + } + message_manager.config({ + url_root: mm_url, + tooltips: custom_tooltips, + want_nice_msgs: true + }); message_manager.setup_click_listener({callback:mm_selected_message}); // problem form hidden input "external_source_id": pass the MM id into FMS, if used @@ -187,7 +198,6 @@ $(document).ready(function() { {callback:dummy_hide_cleanup}); } }); - $("a#reply").fancybox({onClosed: function(){dummy_busy=false;}}); // only show on problem display page @@ -278,5 +288,6 @@ $(document).ready(function() { </script> [% global.want_fmb_hidden_dialogs = 1 %] +[% global.is_fmb_creation_page = problem.id? 0 : 1 %] [% END %] diff --git a/templates/web/fixmybarangay/reports/index.html b/templates/web/fixmybarangay/reports/index.html new file mode 100755 index 000000000..e46d578ec --- /dev/null +++ b/templates/web/fixmybarangay/reports/index.html @@ -0,0 +1,46 @@ +[% INCLUDE 'header.html', title = loc('Summary reports'), bodyclass => 'fullwidthpage' %] + +<h1>[% loc('All Reports') %]</h1> + +<div class="intro"> +<p> +[% loc('This is a summary of all reports on this site; select a particular barangay to see the reports sent there.') %] + +</p> +<p> + [%# (this will change when we have 'body' logic in place, meanwhile: hardcoded) %] + See also the <a href="/reports/dps">map of DPS reports</a>. +</p> +</div> + +<table cellpadding="3" cellspacing="1" border="0" class="nicetable"> +<thead> +<tr> +<th class="title">[% loc('Name') %]</th> +<th class="data">[% loc('New <br>problems') %]</th> +<th class="data">[% loc('Older <br>problems') %]</th> +<th class="data">[% loc('Old / unknown <br>problems') %]</th> +<th class="data">[% loc('Recently <br>fixed') %]</th> +<th class="data">[% loc('Older <br>fixed') %]</th> +</tr> +</thead> + +<tbody> +[% FOREACH area IN areas_info_sorted %] +<tr align="center" +[%- IF area.generation_high == 10 %] class="gone" +[%- ELSIF ! (loop.count % 2) %] class="a" +[%- END %]> +<td class="title"><a href="[% area.url %]">[% area.name %]</a></td> +<td class="data">[% open.${area.id}.new or 0 %]</td> +<td class="data">[% open.${area.id}.older or 0 %]</td> +<td class="data">[% open.${area.id}.unknown or 0 %]</td> +<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> + +[% INCLUDE 'footer.html', pagefooter = 'yes' %] diff --git a/templates/web/fixmystreet/report/display.html b/templates/web/fixmystreet/report/display.html index 8c6498448..26e6fe992 100644 --- a/templates/web/fixmystreet/report/display.html +++ b/templates/web/fixmystreet/report/display.html @@ -8,8 +8,6 @@ rss = [ loc('Updates to this problem, FixMyStreet'), "/rss/$problem.id" ] robots = 'index, nofollow' bodyclass = 'mappage'; - - allow_creation = !c.cobrand.only_authed_can_create || (c.user && c.user.from_council); %] [% map_html %] @@ -66,154 +64,5 @@ </div> [% INCLUDE 'report/updates.html' %] - -[% IF allow_creation %] -<div id="update_form"> - <h2>[% loc( 'Provide an update') %]</h2> - - [% IF c.cobrand.moniker != 'emptyhomes' AND c.cobrand.moniker != 'stevenage' %] - <div class="general-sidebar-notes"> - [% INCLUDE 'report/updates-sidebar-notes.html' %] - </div> - [% END %] - - [% INCLUDE 'errors.html' %] - - <form method="post" action="[% c.uri_for( '/report/update' ) %]" id="form_update_form" name="updateForm" class="validate"[% IF c.cobrand.allow_photo_upload %] enctype="multipart/form-data"[% END %]> - <fieldset> - <input type="hidden" name="submit_update" value="1"> - <input type="hidden" name="id" value="[% problem.id | html %]"> - - <label for="form_update">[% loc( 'Update' ) %]</label> - [% IF field_errors.update %] - <div class='form-error'>[% field_errors.update %]</div> - [% END %] - <textarea rows="7" cols="30" name="update" id="form_update" placeholder="[% loc('Please write your update here') %]" required>[% update.text | html %]</textarea> - - [% IF c.user && c.user.belongs_to_council( problem.council ) %] - <label for="form_state">[% loc( 'State' ) %]</label> - <select name="state" id="form_state"> - [% FOREACH state IN [ ['confirmed', loc('Open')], ['investigating', - loc('Investigating')], ['planned', loc('Planned')], ['in progress', - loc('In Progress')], ['closed', loc('Closed')], ['fixed', loc('Fixed')] ] %] - <option [% 'selected ' IF state.0 == problem.state %] value="[% state.0 %]">[% state.1 %]</option> - [% END %] - </select> - [% ELSE %] - [% IF problem.is_fixed AND c.user_exists AND c.user.id == problem.user_id %] - - <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> - - [% ELSIF !problem.is_fixed %] - - <div class="checkbox-group"> - <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 %] - <div id="fileupload_normalUI"> - [% IF upload_fileid %] - <img align="right" src="/photo/[% upload_fileid %].temp.jpeg" alt=""> - <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> - [% IF field_errors.photo %] - <p class='form-error'>[% field_errors.photo %]</p> - [% END %] - <input type="file" name="photo" id="form_photo"> - </div> - [% END %] - - [% IF c.user_exists %] - - [% INCLUDE name %] - - <input class="final-submit green-btn" type="submit" id="update_post" value="[% loc('Post') %]"> - - - [% ELSE %] - - <label for="form_rznvy">[% loc('Email' ) %]</label> - [% IF field_errors.email %] - <p class='form-error'>[% field_errors.email %]</p> - [% END %] - <input type="email" name="rznvy" id="form_rznvy" value="[% update.user.email | html %]" placeholder="[% loc('Your email address' ) %]" required> - - <div id="form_sign_in"> - <h3>[% loc("Now to submit your update…") %]</h3> - <h2>[% loc("Do you have a FixMyStreet password?") %]</h2> - - <div id="form_sign_in_yes" class="form-box"> - <h5>[% loc('<strong>Yes</strong> I have a password') %]</h5> - - <label class="hidden-js n" for="password_sign_in">[% loc('Yes I have a password') %]</label> - [% IF field_errors.password %] - <p class='form-error'>[% field_errors.password %]</p> - [% END %] - <div class="form-txt-submit-box"> - <input type="password" name="password_sign_in" id="password_sign_in" value="" placeholder="[% loc('Your password') %]"> - <input class="green-btn" type="submit" name="submit_sign_in" id="submit_sign_in" value="[% loc('Post') %]"> - </div> - - <div class="checkbox-group"> - <input type="checkbox" id="remember_me" name="remember_me" value='1'[% ' checked' IF remember_me %]> - <label class="inline n" for="remember_me">[% loc('Keep me signed in on this computer') %]</label> - </div> - - <div class="general-sidebar-notes" id="forgotten-pw"> - <p class="dark">[% loc('Forgotten your password?') %]</p> - <p>[% loc('Confirm by email below, providing a new password at that point. When you confirm, your password will be updated.') %]</p> - </div> - - </div> - <div id="form_sign_in_no" class="form-box"> - <h5>[% loc('<strong>No</strong> Let me confirm my update by email') %]</h5> - - [% INCLUDE name %] - - <div class="general-sidebar-notes"> - <p class="dark">[% loc('We never show your email') %]</p> - <p>[% loc('Providing a password is optional, but doing so will allow you to more easily report problems, leave updates and manage your reports.') %]</p> - </div> - - <label for="password_register">[% loc('Password (optional)') %]</label> - - <div class="form-txt-submit-box"> - <input type="password" name="password_register" id="password_register" value="" placeholder="[% loc('Enter a password') %]"> - <input class="green-btn" type="submit" name="submit_register" id="submit_register" value="[% loc('Post') %]"> - </div> - </div> - </div> - - [% END %] - </fieldset> - </form> -</div> -[% END %] - - +[% INCLUDE 'report/update-form.html' %] [% INCLUDE 'footer.html' %] - -[% BLOCK name %] - [% INCLUDE 'report/new/extra_name.html' %] - <label for="form_name">[% loc('Name') %]</label> - [% IF field_errors.name %] - <p class='form-error'>[% field_errors.name %]</p> - [% END %] - <input type="text" [% IF problem.council == '2482' %]class="validName" [% END %]name="name" id="form_name" value="[% update.name || c.user.name | html %]" placeholder="[% loc('Your name') %]"> - - <div class="checkbox-group"> - <input type="checkbox" name="may_show_name" id="form_may_show_name" value="1"[% ' checked' UNLESS update.anonymous %]> - <label class="inline" for="form_may_show_name">[% loc('Show my name publicly') %]</label> - </div> - <div class="checkbox-group"> - <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/fixmystreet/report/new/fill_in_details_form.html b/templates/web/fixmystreet/report/new/fill_in_details_form.html index 82f9b0da5..fb342d487 100644 --- a/templates/web/fixmystreet/report/new/fill_in_details_form.html +++ b/templates/web/fixmystreet/report/new/fill_in_details_form.html @@ -125,17 +125,7 @@ [%# if there is nothing in the name field then set check box as default on form %] <div class="checkbox-group"> - <input type="checkbox" name="may_show_name" id="form_may_show_name" value="1" - [% IF c.cobrand.moniker == 'fixmybarangay' && c.user.from_council %] - [%# - FMB staff reports are anonymous by default; so may_show_name is checked only if explicitly set to 0. - If the user has not set it (that is, it is null) TemplateToolkit sees an empty string. - %] - [% 'checked' IF report.anonymous==0 %] - [% ELSE %] - [% 'checked' IF !report.anonymous %] - [% END %] - > + <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 class="inline" for="form_may_show_name">[% loc('Show my name publicly') %] </label> </div> @@ -203,7 +193,7 @@ [%# if there is nothing in the name field then set check box as default on form %] <div class="checkbox-group"> - <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 class="inline" for="form_may_show_name">[% loc('Show my name publicly') %]</label> </div> diff --git a/templates/web/fixmystreet/report/new/fill_in_details_text.html b/templates/web/fixmystreet/report/new/fill_in_details_text.html index b9ce7e110..05527bb24 100644 --- a/templates/web/fixmystreet/report/new/fill_in_details_text.html +++ b/templates/web/fixmystreet/report/new/fill_in_details_text.html @@ -1,9 +1,6 @@ [% IF area_ids_to_list.size != 0; - loc('The council won’t be able to help unless you leave as much -detail as you can. Please describe the exact location of the problem (e.g. on a -wall), what it is, how long it has been there, a description (and a photo of -the problem if you have one), etc.'); + loc('The council won’t be able to help unless you leave as much detail as you can. Please describe the exact location of the problem (e.g. on a wall), what it is, how long it has been there, a description (and a photo of the problem if you have one), etc.'); IF category_extras; ' ' _ loc('Some categories may require additional information.'); END; diff --git a/templates/web/fixmystreet/report/new/notes.html b/templates/web/fixmystreet/report/new/notes.html index aa73f0694..d508b1929 100644 --- a/templates/web/fixmystreet/report/new/notes.html +++ b/templates/web/fixmystreet/report/new/notes.html @@ -3,7 +3,7 @@ <ul class="plain-list"> <li>[% loc("We will only use your personal information in accordance with our <a href=\"/privacy\">privacy policy.</a>") %]</li> <li>[% loc("Please be polite, concise and to the point.") %]</li> - <li>[% loc("Please do not be abusive — abusing your council devalues the service for all users.") %]</li> + <li>[% loc("Please do not be abusive — 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> </ul> diff --git a/templates/web/fixmystreet/report/update-form.html b/templates/web/fixmystreet/report/update-form.html new file mode 100644 index 000000000..14efdb51b --- /dev/null +++ b/templates/web/fixmystreet/report/update-form.html @@ -0,0 +1,148 @@ +[% allow_creation = !c.cobrand.only_authed_can_create || (c.user && c.user.from_council) %] +[% IF allow_creation %] +<div id="update_form"> + <h2>[% loc( 'Provide an update') %]</h2> + + [% IF c.cobrand.moniker != 'emptyhomes' AND c.cobrand.moniker != 'stevenage' %] + <div class="general-sidebar-notes"> + [% INCLUDE 'report/updates-sidebar-notes.html' %] + </div> + [% END %] + + [% INCLUDE 'errors.html' %] + + <form method="post" action="[% c.uri_for( '/report/update' ) %]" id="form_update_form" name="updateForm" class="validate"[% IF c.cobrand.allow_photo_upload %] enctype="multipart/form-data"[% END %]> + <fieldset> + <input type="hidden" name="submit_update" value="1"> + <input type="hidden" name="id" value="[% problem.id | html %]"> + + <label for="form_update">[% loc( 'Update' ) %]</label> + [% IF field_errors.update %] + <div class='form-error'>[% field_errors.update %]</div> + [% END %] + <textarea rows="7" cols="30" name="update" id="form_update" placeholder="[% loc('Please write your update here') %]" required>[% update.text | html %]</textarea> + + [% IF c.user && c.user.belongs_to_council( problem.council ) %] + <label for="form_state">[% loc( 'State' ) %]</label> + <select name="state" id="form_state"> + [% FOREACH state IN [ ['confirmed', loc('Open')], ['investigating', + loc('Investigating')], ['planned', loc('Planned')], ['in progress', + loc('In Progress')], ['closed', loc('Closed')], ['fixed', loc('Fixed')] ] %] + <option [% 'selected ' IF state.0 == problem.state %] value="[% state.0 %]">[% state.1 %]</option> + [% END %] + </select> + [% ELSE %] + [% IF problem.is_fixed AND c.user_exists AND c.user.id == problem.user_id %] + + <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> + + [% ELSIF !problem.is_fixed %] + + <div class="checkbox-group"> + <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 %] + <div id="fileupload_normalUI"> + [% IF upload_fileid %] + <img align="right" src="/photo/[% upload_fileid %].temp.jpeg" alt=""> + <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> + [% IF field_errors.photo %] + <p class='form-error'>[% field_errors.photo %]</p> + [% END %] + <input type="file" name="photo" id="form_photo"> + </div> + [% END %] + + [% IF c.user_exists %] + + [% INCLUDE name %] + + <input class="final-submit green-btn" type="submit" id="update_post" value="[% loc('Post') %]"> + + + [% ELSE %] + + <label for="form_rznvy">[% loc('Email' ) %]</label> + [% IF field_errors.email %] + <p class='form-error'>[% field_errors.email %]</p> + [% END %] + <input type="email" name="rznvy" id="form_rznvy" value="[% update.user.email | html %]" placeholder="[% loc('Your email address' ) %]" required> + + <div id="form_sign_in"> + <h3>[% loc("Now to submit your update…") %]</h3> + <h2>[% loc("Do you have a FixMyStreet password?") %]</h2> + + <div id="form_sign_in_yes" class="form-box"> + <h5>[% loc('<strong>Yes</strong> I have a password') %]</h5> + + <label class="hidden-js n" for="password_sign_in">[% loc('Yes I have a password') %]</label> + [% IF field_errors.password %] + <p class='form-error'>[% field_errors.password %]</p> + [% END %] + <div class="form-txt-submit-box"> + <input type="password" name="password_sign_in" id="password_sign_in" value="" placeholder="[% loc('Your password') %]"> + <input class="green-btn" type="submit" name="submit_sign_in" id="submit_sign_in" value="[% loc('Post') %]"> + </div> + + <div class="checkbox-group"> + <input type="checkbox" id="remember_me" name="remember_me" value='1'[% ' checked' IF remember_me %]> + <label class="inline n" for="remember_me">[% loc('Keep me signed in on this computer') %]</label> + </div> + + <div class="general-sidebar-notes" id="forgotten-pw"> + <p class="dark">[% loc('Forgotten your password?') %]</p> + <p>[% loc('Confirm by email below, providing a new password at that point. When you confirm, your password will be updated.') %]</p> + </div> + + </div> + <div id="form_sign_in_no" class="form-box"> + <h5>[% loc('<strong>No</strong> Let me confirm my update by email') %]</h5> + + [% INCLUDE name %] + + <div class="general-sidebar-notes"> + <p class="dark">[% loc('We never show your email') %]</p> + <p>[% loc('Providing a password is optional, but doing so will allow you to more easily report problems, leave updates and manage your reports.') %]</p> + </div> + + <label for="password_register">[% loc('Password (optional)') %]</label> + + <div class="form-txt-submit-box"> + <input type="password" name="password_register" id="password_register" value="" placeholder="[% loc('Enter a password') %]"> + <input class="green-btn" type="submit" name="submit_register" id="submit_register" value="[% loc('Post') %]"> + </div> + </div> + </div> + + [% END %] + </fieldset> + </form> +</div> +[% END %] + +[% BLOCK name %] + [% INCLUDE 'report/new/extra_name.html' %] + <label for="form_name">[% loc('Name') %]</label> + [% IF field_errors.name %] + <p class='form-error'>[% field_errors.name %]</p> + [% END %] + <input type="text" [% IF problem.council == '2482' %]class="validName" [% END %]name="name" id="form_name" value="[% update.name || c.user.name | html %]" placeholder="[% loc('Your name') %]"> + + <div class="checkbox-group"> + <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 class="inline" for="form_may_show_name">[% loc('Show my name publicly') %]</label> + </div> + <div class="checkbox-group"> + <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/oxfordshire/around/intro.html b/templates/web/oxfordshire/around/intro.html new file mode 100644 index 000000000..81b2569f6 --- /dev/null +++ b/templates/web/oxfordshire/around/intro.html @@ -0,0 +1 @@ + <h1 class="main">Reporting a problem in Oxfordshire</h1> diff --git a/templates/web/oxfordshire/faq/faq-en-gb.html b/templates/web/oxfordshire/faq/faq-en-gb.html new file mode 100755 index 000000000..02dd23cd9 --- /dev/null +++ b/templates/web/oxfordshire/faq/faq-en-gb.html @@ -0,0 +1,206 @@ +[% INCLUDE 'header.html', title => loc('Frequently Asked Questions'), bodyclass => 'twothirdswidthpage' %] + +<div class="sticky-sidebar"> + <aside> + <ul class="plain-list"> + <li><a href="#faq">Frequently Asked Questions</a></li> + <li><a href="#practical">Practical Questions</a></li> + <li><a href="#organisation">Organisation Questions</a></li> + <li><a href="/privacy">Privacy and cookies</a></li> + <li><a href="/contact">Contact FixMyStreet</a></li> + </ul> + </aside> +</div> + +<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’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 lamposts + <li>Potholes + </ul> + </dd> + + <dt>What isn’t FixMyStreet for?</dt> + <dd>FixMyStreet is not a way of getting in touch with the council for all + issues – 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 the council + directly for problems such as</strong>: + + <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> + + <dt><a name="pothole"></a>Should I report a pothole on this site, or call?</dt> +<dd> +<p>Please use the following chart to determine the size of any pot holes being +reported and whether to submit a report online or by telephone.</p> + +<ul> +<li>Depth of a milk bottle, <em>or</em> size of a dustbin lid? <strong>Call</strong>. +<li>Depth of a golf/ping pong ball? <strong>Report online</strong> +<li>Depth of a tennis ball, size of a dinner plate, <em>and</em> on a busy carriageway? <strong>Call</strong> +<li>Depth of a tennis ball, otherwise? <strong>Report online</strong> +<li>Depth of a coke can, on a pathway or busy carriageway? <strong>Call</strong> +<li>Depth of a coke can, size of a dinner plate, on a quiet carriageway? <strong>Call</strong> +<li>Depth of a coke can, otherwise? <strong>Report online</strong> +</ul> + +</dd> + + <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 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> + + <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> + + </dl> + + <h2><a name="practical"></a>Practical Questions</h2> + <dl> + <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 – 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>Why can’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’ve made, wherever they are. If you’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>This site is great – why aren’t you better publicised?</dt> + <dd>As a tiny charity we simply don’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’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’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@mysociety.org">hello@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’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’d like a site like this for my own location/ where’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’re welcome to use it in your own projects, although you must also +make available the source code to any such projects. +<a href="http://www.fiksgatami.no/">Fiksgatami</a> is an example of our code +being used in a Norwegian version of this site. +</dd> +<dt>I’d prefer code in a different language?</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> +</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 – data © Crown copyright, all +rights reserved, Ministry of Justice 100037819 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). + +Let us know if we’ve missed anyone.</dd> + </dl> +[% INCLUDE 'footer.html' pagefooter = 'yes' %] diff --git a/templates/web/oxfordshire/footer.html b/templates/web/oxfordshire/footer.html new file mode 100644 index 000000000..cfca706c8 --- /dev/null +++ b/templates/web/oxfordshire/footer.html @@ -0,0 +1,51 @@ + [% IF pagefooter %] + <footer role="content-info"> + <p><a href="/privacy">Privacy and cookies</a></p> + </footer> + [% END %] + </div><!-- .content role=main --> + </div><!-- .container --> + </div><!-- .table-cell --> + + <div class="nav-wrapper"> + <div class="nav-wrapper-2"> + <div id="main-nav" role="navigation"> + <ul id="mysoc-menu"> + <li><a id="mysoc-logo" href="http://www.fixmystreet.com/">Powered by <img src="/cobrands/oxfordshire/images/fms-logo-105x20.png" alt="FixMyStreet"></a></li> + </ul> + + <ul id="main-menu"> + <li><[% IF c.req.uri.path == '/' %]span[% ELSE %]a href="/"[% END %] class="report-a-problem-btn" + >[% loc("Report a problem") %]</[% c.req.uri.path == '/' ? 'span' : 'a' %]></li>[% + %]<li><[% IF c.req.uri.path == '/my' %]span[% ELSE %]a href="/my"[% END + %]>[% loc("Your reports") %]</[% c.req.uri.path == '/my' ? 'span' : 'a' %]></li>[% + %]<li><[% IF c.req.uri.path == '/reports' %]span[% ELSE %]a href="/reports"[% END + %]>[% loc("All reports") %]</[% c.req.uri.path == '/reports' ? 'span' : 'a' %]></li>[% + %]<li><[% IF c.req.uri.path == '/alert' %]span[% ELSE %]a href="/alert[% pc ? '/list?pc=' : '' %][% pc | uri %]"[% END + %]>[% loc("Local alerts") %]</[% c.req.uri.path == '/alert' ? 'span' : 'a' %]></li>[% + %]<li><[% IF c.req.uri.path == '/faq' %]span[% ELSE %]a href="/faq"[% END + %]>[% loc("Help") %]</[% c.req.uri.path == '/faq' ? 'span' : 'a' %]></li> + </ul> + </div> + </div> + </div> + +<!-- [% INCLUDE 'debug_footer.html' %] --> + </div> <!-- .wrapper --> + <div id="oxford-footer" class="desk-only"> + <address> + <strong>Oxfordshire County Council</strong><br> + <a href="http://www.oxfordshire.gov.uk/cms/public-site/contact-oxfordshire-county-council" title="Contac the council">Contact the council</a> + </address> + <ul><!-- use | between items --> + <li> + <a href="/contact" title="Contact the FixMyStreet team">Contact</a> | + </li> + <li class="powered-by-fms"> + <a href="http://www.fixmystreet.com/">Powered by <img src="/cobrands/oxfordshire/images/fms-logo-inverse.png" alt="FixMyStreet"></a> + </li> + </ul> + </div> +</div> <!-- oxford-wrapper --> +</body> +</html> diff --git a/templates/web/oxfordshire/header.html b/templates/web/oxfordshire/header.html new file mode 100644 index 000000000..6c338452a --- /dev/null +++ b/templates/web/oxfordshire/header.html @@ -0,0 +1,94 @@ +<!doctype html> +<!--[if lt IE 7]><html class="no-js ie6 oldie" lang="[% lang_code %]"><![endif]--> +<!--[if IE 7]> <html class="no-js ie7 oldie" lang="[% lang_code %]"><![endif]--> +<!--[if IE 8]> <html class="no-js ie8 oldie" lang="[% lang_code %]"><![endif]--> +<!--[if IE 9]> <html class="no-js ie9 oldie" lang="[% lang_code %]"><![endif]--> +<!--[if gt IE 9]><!--><html class="no-js" lang="[% lang_code %]"><!--<![endif]--> + <head> + <meta name="viewport" content="initial-scale=1.0"> + + <meta http-equiv="X-UA-Compatible" content="IE=Edge,chrome=1"> + <meta name="HandHeldFriendly" content="true"> + <meta name="mobileoptimized" content="0"> + +[% SET start = c.config.ADMIN_BASE_URL IF admin %] + + <link rel="stylesheet" href="[% start %][% version('/cobrands/' _ c.cobrand.moniker _ '/base.css') %]"> + <link rel="stylesheet" href="[% start %][% version('/cobrands/' _ c.cobrand.moniker _ '/layout.css') %]" media="(min-width:48em)"> + [% extra_css %] + <!--[if (lt IE 9) & (!IEMobile)]> + <link rel="stylesheet" href="[% start %][% version('/cobrands/' _ c.cobrand.moniker _ '/layout.css') %]"> + <![endif]--> + + <script src="[% start %][% version('/js/modernizr.custom.js') %]" charset="utf-8"></script> + <script src="[% start %][% version('/cobrands/oxfordshire/position_map.js') %]" charset="utf-8"></script> + [% INCLUDE 'common_header_tags.html', js_override = '/cobrands/fixmystreet/fixmystreet.js', site_title = 'FixMyStreet' %] + [% extra_js %] + + [% IF c.req.uri.host == 'osm.fixmystreet.com' %] + <link rel="canonical" href="http://www.fixmystreet.com[% c.req.uri.path_query %]"> + [% END %] + + [% INCLUDE 'tracking_code.html' %] + + </head> + <body class="[% bodyclass | html IF bodyclass %]"> +<div id="oxford-wrapper"> + <div id="oxford-header" class="desk-only"> + <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> + </span> + <div style="clear:both"></div> + <span class="header"><a href="/">FixMyStreet</a></span> + <div class="oxford-user"> + <p> + [% IF c.user_exists %] + [% tprintf(loc('Hi %s'), c.user.name || c.user.email) %] + <a href="/auth/sign_out">[% loc('sign out') %]</a> + [% END %] + </p> + </div> + </div> <!-- end of oxford header --> + <div id="oxford-main-menu" class="desk-only"> + <ul class="tabs"> + <li class="home first"><[% IF c.req.uri.path == '/' %]span[% ELSE %]a href="/"[% END %] class="report-a-problem-btn" + >[% "Report" %]</[% c.req.uri.path == '/' ? 'span' : 'a' %]></li>[% + %]<li><[% IF c.req.uri.path == '/my' OR ( c.req.uri.path == '/auth' AND c.req.params.r == 'my' ) %]span[% ELSE %]a href="/my"[% END + %]>[% loc("Your reports") %]</[% ( c.req.uri.path == '/my' OR ( c.req.uri.path == '/auth' AND c.req.params.r == 'my' ) ) ? 'span' : 'a' %]></li>[% + %]<li><[% IF c.req.uri.path == '/reports/Oxfordshire' %]span[% ELSE %]a href="/reports/Oxfordshire"[% END + %]>[% loc("All reports") %]</[% c.req.uri.path == '/reports' ? 'span' : 'a' %]></li>[% + %]<li><[% IF c.req.uri.path == '/alert' %]span[% ELSE %]a href="/alert[% pc ? '/list?pc=' : '' %][% pc | uri %]"[% END + %]>[% loc("Local alerts") %]</[% c.req.uri.path == '/alert' ? 'span' : 'a' %]></li>[% + %]<li class="last"><[% IF c.req.uri.path == '/faq' %]span[% ELSE %]a href="/faq"[% END + %]>[% loc("Help") %]</[% c.req.uri.path == '/faq' ? 'span' : 'a' %]></li> + </ul> + </div> + + <div class="wrapper"> + + <div class="table-cell"> + <header id="site-header" role="banner"> + <div class="container"> + <a href="/" id="site-logo">Oxfordshire FixMyStreet</a> + <a href="#main-nav" id="nav-link">Main Navigation</a> + </div> + </header> + + <div id="user-meta"> + [% IF c.user_exists %] + <p> + [% tprintf(loc('Hi %s'), c.user.name || c.user.email) %] + <a href="/auth/sign_out">[% loc('sign out') %]</a> + </p> + [% ELSE %] + <!-- <a href="/auth">[% loc('Sign in') %]</a> --> + [% END %] + </div> + + [% pre_container_extra %] + + <div class="container"> + <div class="content[% " $mainclass" | html IF mainclass %]" role="main"> + + <!-- [% INCLUDE 'debug_header.html' %] --> diff --git a/templates/web/oxfordshire/report/new/councils_text_all.html b/templates/web/oxfordshire/report/new/councils_text_all.html new file mode 100644 index 000000000..e71a400ac --- /dev/null +++ b/templates/web/oxfordshire/report/new/councils_text_all.html @@ -0,0 +1,18 @@ +<p>You can use this form to report a problem or to make an enquiry about roads +and pavements in your area. All the information you provide here will be sent +to <strong>[% all_council_names.join( '</strong> or <strong>' ) %]</strong>. +The subject and details of the problem will be public, plus your name if you +give us permission. If you report a fault on a road that is not owned by +Oxfordshire County Council we will pass the report on to the relevant body. + +<p>Our opening hours are 8.30 to 5, Monday to Thursday and 8.30 to 4 on +Fridays. Please <strong>do not</strong> use this form for reporting +<strong>emergencies and urgent</strong> problems. You should report these by +contacting 0845 310 11 11. If your enquiry is related to Highways and is +outside of our opening hours and cannot wait, please contact Thames Valley +Police on 101.</p> + +<p>Please use <a href="/faq#pothole" target="_blank">our chart</a> to determine +the size of any pot holes being reported and whether to submit a report using +this online form or by telephone.</p> + diff --git a/templates/web/oxfordshire/report/new/fill_in_details_text.html b/templates/web/oxfordshire/report/new/fill_in_details_text.html new file mode 100644 index 000000000..065005956 --- /dev/null +++ b/templates/web/oxfordshire/report/new/fill_in_details_text.html @@ -0,0 +1,6 @@ +Oxfordshire County Council won’t be able to help unless you leave as much +detail as you can. Please describe the exact location of the problem (e.g. in +the carriageway), what it is, how long it has been there, a description and a +photo of the problem if you have one. Please be aware that you can only attach +one picture so ensure that you provide a picture that clearly shows the +location not just the fault. diff --git a/templates/web/oxfordshire/report/new/notes.html b/templates/web/oxfordshire/report/new/notes.html new file mode 100644 index 000000000..e03fd8644 --- /dev/null +++ b/templates/web/oxfordshire/report/new/notes.html @@ -0,0 +1,10 @@ +<p>[% loc("Please note:") %]</p> + +<ul class="plain-list"> + <li>[% loc("We will only use your personal information in accordance with our <a href=\"/privacy\">privacy policy.</a>") %]</li> + <li>[% loc("Please be polite, concise and to the point.") %]</li> + <li>[% loc("Please do not be abusive — 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>Remember that FixMyStreet is primarily for reporting physical problems that can be fixed. Remember that you can contact Oxfordshire County Council for additional issues that are not covered on this reporting facility.</li> +</ul> + diff --git a/templates/web/seesomething/js/validation_rules.html b/templates/web/seesomething/js/validation_rules.html index 5517cd8e8..cef5fce7e 100644 --- a/templates/web/seesomething/js/validation_rules.html +++ b/templates/web/seesomething/js/validation_rules.html @@ -6,7 +6,6 @@ $(function(){ $('#submit_noname').click( function(e) { - alert('click'); $('#form_category').addClass('required validCategory').removeClass('valid'); $('#form_subcategory').addClass('required validCategory').removeClass('valid'); }); diff --git a/templates/web/zurich/around/intro.html b/templates/web/zurich/around/intro.html new file mode 100644 index 000000000..c113afca7 --- /dev/null +++ b/templates/web/zurich/around/intro.html @@ -0,0 +1 @@ + <h1>[% loc('Report, view, or discuss local problems') %]</h1> diff --git a/templates/web/zurich/footer.html b/templates/web/zurich/footer.html new file mode 100644 index 000000000..2e4717360 --- /dev/null +++ b/templates/web/zurich/footer.html @@ -0,0 +1,31 @@ + </div><!-- .content role=main --> + </div><!-- .container --> + </div><!-- .table-cell --> + + <div class="nav-wrapper"> + <div class="nav-wrapper-2"> + <div id="main-nav" role="navigation"> + <ul id="main-menu"> + <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 == '/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> + </div> + </div> + </div> + +<!-- [% INCLUDE 'debug_footer.html' %] --> + </div> <!-- .wrapper --> + + <div id="zurich-footer" class="desk-only"> + © 2012 Stadt Zü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> + +</body> +</html> diff --git a/templates/web/zurich/maps/zurich.html b/templates/web/zurich/maps/zurich.html new file mode 100644 index 000000000..492ccc556 --- /dev/null +++ b/templates/web/zurich/maps/zurich.html @@ -0,0 +1,14 @@ +[% map_js = BLOCK %] +<script type="text/javascript" src="[% version('/js/OpenLayers.2.11.zurich.js') %]"></script> +<script type="text/javascript" src="[% version('/js/OpenLayers.Projection.CH1903.js') %]"></script> +<script type="text/javascript" src="[% version('/js/map-OpenLayers.js') %]"></script> +<script type="text/javascript" src="[% version('/js/map-wmts-zurich.js') %]"></script> +<script type="text/javascript" src="[% version('/js/jquery.ba-hashchange.min.js') %]"></script> +<!--[if lte IE 6]> + <link rel="stylesheet" href="/jslib/OpenLayers-2.10/theme/default/ie6-style.css" type="text/css" /> +<![endif]--> +[% END %] + +[% map_html = BLOCK %] +[% INCLUDE maps/openlayers.html %] +[% END %] diff --git a/templates/web/zurich/report/new/fill_in_details_form.html b/templates/web/zurich/report/new/fill_in_details_form.html new file mode 100644 index 000000000..a4029c527 --- /dev/null +++ b/templates/web/zurich/report/new/fill_in_details_form.html @@ -0,0 +1,136 @@ +<div id="report-a-problem-main"> + <h1>[% loc('Reporting a problem') %]</h1> + + [% IF js %] + <p id="councils_text"> + [% + tprintf( + loc('All the information you provide here will be sent to <strong>%s</strong>.'), + loc('the local council') + ); + %] + [% loc('The subject and details of the problem will be public, plus your name if you give us permission.') %] + </p> + [% ELSE %] + [% PROCESS 'report/new/councils_text.html' %] + [% END %] + + <div id="report-a-problem-sidebar"> + <!-- + The text for this section needs checking, but I can't work out which bit comes from where + --> + <div class="sidebar-tips"> + [% IF report.used_map %] + [% IF partial_token %] + <p id="unknown">[% loc('Please note your report has <strong>not yet been sent</strong>. Choose a category and add further information below, then submit.') %]</p> + [% END %] + <p>[% loc('You have located the problem at the point marked with a green pin on the map. If this is not the correct location, simply click on the map again. ') %]</p> + [% END %] + + <p> + [% IF report.used_map %] + [% INCLUDE 'report/new/fill_in_details_text.html' %] + [% ELSE %] + [% loc('Please fill in the form below with details of the problem, and describe the location as precisely as possible in the details box.') %] + [% END %] + </p> + </div> + + <div class="sidebar-notes"> + [% INCLUDE 'report/new/notes.html' %] + </div> + + </div> + + [% INCLUDE 'errors.html' %] + <fieldset> + <div id="problem_form"> + + [% INCLUDE 'report/new/form_heading.html' %] + + + [% IF field_errors.council %] + <p class='form-error'>[% field_errors.council %]</p> + [% END %] + + <label for="form_detail">[% loc('Details') %]</label> + [% IF field_errors.detail %] + <p class='form-error'>[% field_errors.detail %]</p> + [% END %] + <textarea rows="7" cols="26" name="detail" id="form_detail" placeholder="[% loc('Please fill in details of the problem.') %]" required>[% report.detail | html %]</textarea> + + [% IF js %] + <div id="form_category_row"> + <label for="form_category">[% loc('Category') %]</label> + <select name="category" id="form_category" required><option>[% loc('Loading...') %]</option></select> + </div> + [% ELSE %] + [% IF category_options.size %] + [% IF field_errors.category %] + <p class='form-error'>[% field_errors.category %]</p> + [% END %] + + [% PROCESS "report/new/category.html" %] + [% END %] + [% END %] + + [%- IF category_extras %] + [% PROCESS "report/new/category_extras.html" %] + [%- END %] + + [% IF c.cobrand.allow_photo_upload %] + <label for="form_photo">[% loc('Photo') %]</label> + [% IF upload_fileid || report.photo %] + [% IF upload_fileid %] + <img align="right" src="/photo/[% upload_fileid %].temp.jpeg" alt=""> + <input type="hidden" name="upload_fileid" value="[% upload_fileid %]"> + [% END %] + + <p>[% loc('You have already attached a photo to this report, attaching another one will replace it.') %]</p> + + [% IF report.photo %] + <img align="right" src="/photo/[% report.id %].jpeg"> + [% END %] + [% END %] + + [% IF field_errors.photo %] + <p class='form-error'>[% field_errors.photo %]</p> + [% END %] + <input type="file" name="photo" id="form_photo"> + [% END %] + + <label for="form_email">[% loc('Your email') %]</label> + [% IF field_errors.email %] + <p class='form-error'>[% field_errors.email %]</p> + [% END %] + <input type="email" value="[% report.user.email | html %]" name="email" id="form_email" placeholder="[% loc('Please enter your email address') %]" required> + + <!-- + <div class="general-sidebar-notes"> + <p class="dark">[% loc('We never show your email address or phone number.') %]</p> + </div> + --> + + <label for="form_name">[% loc('Name') %] [% loc('(optional)') %]</label> + [% IF field_errors.name %] + <p class='form-error'>[% field_errors.name %]</p> + [% END %] + <input type="text" value="[% report.name | html %]" name="name" id="form_name" placeholder="[% loc('Your name') %]"> + + <label for="form_phone">[% loc('Phone number (optional)') %]</label> + <input type="text" value="[% report.user.phone | html %]" name="phone" id="form_phone" placeholder="[% loc('Your phone number') %]"> + + <div class="form-txt-submit-box"> + [%# ID of submit_sign_in so name can be option, name of submit_register so it doesn't try and sign us in %] + <p><input class="green-btn" type="submit" id="submit_sign_in" name="submit_register" value="[% loc('Submit') %]"> + </div> + + </div> + </fieldset> + + [% IF partial_token %] + <input type="hidden" name="partial" value="[% partial_token.token %]"> + [% END %] + + <input type="hidden" name="submit_problem" value="1"> +</div> diff --git a/templates/web/zurich/report/update-form.html b/templates/web/zurich/report/update-form.html new file mode 100644 index 000000000..e69de29bb --- /dev/null +++ b/templates/web/zurich/report/update-form.html |