diff options
Diffstat (limited to 'templates')
21 files changed, 306 insertions, 291 deletions
diff --git a/templates/email/default/inactive-account.html b/templates/email/default/inactive-account.html new file mode 100644 index 000000000..78b277877 --- /dev/null +++ b/templates/email/default/inactive-account.html @@ -0,0 +1,26 @@ +[% + +email_summary = "Your inactive account on " _ site_name; +email_columns = 1; + +PROCESS '_email_settings.html'; + +INCLUDE '_email_top.html'; + +%] + +<th style="[% td_style %][% only_column_style %]"> + <h1 style="[% h1_style %]">Your inactive account</h1> + <p style="[% p_style %]"> +Your account on [% site_name %] has been inactive for [% email_from %] +[% nget('month', 'months', email_from) %], and we automatically remove +accounts that have been inactive after [% anonymize_from %] +[% nget('month', 'months', anonymize_from) %]. If you wish to keep your +account, please log in to the site and that will keep it active: +</p> + <p style="margin: 20px auto; text-align: center"> + <a style="[% button_style %]" href="[% url %]">Visit [% site_name %]</a> + </p> + <p style="[% p_style %]">Thanks for using the site.</p> + +[% INCLUDE '_email_bottom.html' %] diff --git a/templates/email/default/inactive-account.txt b/templates/email/default/inactive-account.txt new file mode 100644 index 000000000..1b6b8b5bd --- /dev/null +++ b/templates/email/default/inactive-account.txt @@ -0,0 +1,18 @@ +Subject: Your inactive account on [% site_name %] + +Hello [% user.name %], + +Your account on [% site_name %] has been inactive for [% email_from %] +[% nget('month', 'months', email_from) %], and we automatically remove +accounts that have been inactive after [% anonymize_from %] +[% nget('month', 'months', anonymize_from) %]. If you wish to keep your +account, please log in to the site and that will keep it active: + +[% url %] + +Thanks for using the site. + +[% INCLUDE 'signature.txt' %] + +This email was sent automatically, from an unmonitored email account - so +please do not reply to it. diff --git a/templates/web/base/admin/report_edit.html b/templates/web/base/admin/report_edit.html index 138ba8c05..10eb0eea1 100644 --- a/templates/web/base/admin/report_edit.html +++ b/templates/web/base/admin/report_edit.html @@ -172,6 +172,9 @@ class="admin-offsite-link">[% problem.latitude %], [% problem.longitude %]</a> </li> [% END %] +<li><label class="inline-text" for="closed_updates">[% loc('Closed to updates') %]:</label> + <input type="checkbox" id="closed_updates" name="closed_updates"[% ' checked' IF problem.extra.closed_updates %]></li> + </ul> <input type="submit" class="btn" name="Submit changes" value="[% loc('Submit changes') %]"> </form> diff --git a/templates/web/base/report/display.html b/templates/web/base/report/display.html index f9c42b35d..8c461dced 100644 --- a/templates/web/base/report/display.html +++ b/templates/web/base/report/display.html @@ -53,7 +53,7 @@ [% TRY %][% INCLUDE 'report/sharing.html' %][% CATCH file %][% END %] [% INCLUDE 'report/updates.html' %] -[% IF two_column_sidebar %] +[% IF two_column_sidebar AND NOT problem.extra.closed_updates %] <button class="btn btn--provide-update js-provide-update hidden-nojs">[% loc('Provide an update') %]</button> <div class="hidden-js"> [% END %] @@ -62,7 +62,7 @@ [% ELSIF NOT shown_form %] [% INCLUDE 'report/update-form.html' %] [% END %] -[% IF two_column_sidebar %] +[% IF two_column_sidebar AND NOT problem.extra.closed_updates %] </div> [% END %] diff --git a/templates/web/base/report/display_tools.html b/templates/web/base/report/display_tools.html index 8ed86c228..e0d8e3f99 100644 --- a/templates/web/base/report/display_tools.html +++ b/templates/web/base/report/display_tools.html @@ -10,7 +10,7 @@ c.cobrand.moniker == 'fixmystreet' ? 'Unsuitable?' : loc('Report abuse') %]</a></li> [% END %] - [% IF c.cobrand.moniker != 'zurich' %] + [% IF NOT problem.extra.closed_updates AND c.cobrand.moniker != 'zurich' %] <li><a rel="nofollow" id="key-tool-report-updates" class="feed js-feed" href="[% c.uri_for( '/alert/subscribe', { id => problem.id } ) %]">[% loc('Get updates' ) %]</a></li> [% END %] [% IF c.cobrand.moniker == 'fixmystreet' %] diff --git a/templates/web/base/report/new/form_user_loggedin.html b/templates/web/base/report/new/form_user_loggedin.html index b82be3202..7f81764be 100644 --- a/templates/web/base/report/new/form_user_loggedin.html +++ b/templates/web/base/report/new/form_user_loggedin.html @@ -45,18 +45,7 @@ [% INCLUDE 'report/new/extra_name.html' %] [% PROCESS 'user/_anonymity.html' anonymous = report.anonymous %] - - <label for="form_name">[% loc('Name') %] - [% TRY %] - [% INCLUDE 'report/new/after_name.html' %] - [% CATCH file %] - [% END %] - </label> - [% IF field_errors.name %] - <p class='form-error'>[% field_errors.name %]</p> - [% END %] - <input type="text" class="form-control validName js-form-name" value="[% report.name | html %]" name="name" id="form_name"> - + [% INCLUDE 'report/new/form_user_name.html' %] [% INCLUDE 'report/_show_name_label.html' %] [% IF NOT c.user.phone_verified AND NOT c.cobrand.call_hook('disable_phone_number_entry') %] diff --git a/templates/web/base/report/new/form_user_loggedout_by_email.html b/templates/web/base/report/new/form_user_loggedout_by_email.html index 6ec0278ce..b633c4843 100644 --- a/templates/web/base/report/new/form_user_loggedout_by_email.html +++ b/templates/web/base/report/new/form_user_loggedout_by_email.html @@ -7,19 +7,7 @@ [% INCLUDE 'report/new/extra_name.html' %] [% PROCESS 'user/_anonymity.html' anonymous = report.anonymous %] - - <label for="form_name">[% loc('Name') %] - [% TRY %] - [% INCLUDE 'report/new/after_name.html' %] - [% CATCH file %] - [% END %] - </label> - [% IF field_errors.name %] - <p class='form-error'>[% field_errors.name %]</p> - [% END %] - - <input type="text" class="form-control form-focus-trigger validName js-form-name" value="[% report.name | html %]" name="name" id="form_name" placeholder="[% loc('Your name') %]"> - + [% INCLUDE 'report/new/form_user_name.html' extra_class='form-focus-trigger' %] [% INCLUDE 'report/_show_name_label.html' %] [% UNLESS c.cobrand.call_hook('disable_phone_number_entry') %] diff --git a/templates/web/base/report/new/form_user_name.html b/templates/web/base/report/new/form_user_name.html new file mode 100644 index 000000000..1f745eadb --- /dev/null +++ b/templates/web/base/report/new/form_user_name.html @@ -0,0 +1,10 @@ +<label for="form_name">[% loc('Name') %] +[% TRY %] + [% INCLUDE 'report/new/after_name.html' %] + [% CATCH file %] +[% END %] +</label> +[% IF field_errors.name %] + <p class='form-error'>[% field_errors.name %]</p> +[% END %] +<input type="text" class="form-control validName js-form-name [% extra_class %]" value="[% report.name | html %]" name="name" id="form_name"> diff --git a/templates/web/base/report/update-form.html b/templates/web/base/report/update-form.html index 1e67c2072..9276acde9 100644 --- a/templates/web/base/report/update-form.html +++ b/templates/web/base/report/update-form.html @@ -1,5 +1,5 @@ [% allow_creation = !c.cobrand.only_authed_can_create || (c.user && c.user.from_body) %] -[% RETURN IF NOT allow_creation %] +[% RETURN IF NOT allow_creation OR problem.extra.closed_updates %] <div id="update_form"> [% IF NOT login_success AND NOT oauth_need_email %] diff --git a/templates/web/bromley/report/new/form_user.html b/templates/web/bromley/report/new/form_user.html index cce985c95..20f522dcd 100644 --- a/templates/web/bromley/report/new/form_user.html +++ b/templates/web/bromley/report/new/form_user.html @@ -5,130 +5,18 @@ title, first name, and last name separately. %] -<h2 class="form-section-heading form-section-heading--private">Private details</h2> -<p class="form-section-description"> - [% tprintf( - loc('These will be sent to the council, but will never be shown online. <a href="%s">(See our privacy policy.)</a>') - '/faq#privacy' - ); %] +<h2 class="form-section-heading form-section-heading--private">[% loc('Private details') %]</h2> +<p class="form-section-description" id="js-councils_text_private"> + [% IF js %] + [% loc('These will be sent to the council, but will never be shown online.') %] + (<a href="/faq#privacy">[% loc('See our privacy policy') %]</a>.) + [% ELSE %] + [% PROCESS 'report/new/councils_text_private.html' %] + [% END %] </p> [% IF c.user_exists %] - <div class="form-box"> - [% INCLUDE 'report/new/extra_name.html' %] - - [% names = c.user.split_name %] - <label for="form_first_name">[% loc('First Name') %]</label> - [% IF field_errors.first_name %] - <p class='form-error'>[% field_errors.first_name %]</p> - [% END %] - <input class="form-control js-form-name" type="text" value="[% ( first_name || names.first ) | html %]" name="first_name" id="form_first_name" placeholder="[% loc('Your first name') %]"> - - <label for="form_last_name">[% loc('Last Name') %]</label> - [% IF field_errors.last_name %] - <p class='form-error'>[% field_errors.last_name %]</p> - [% END %] - <input class="form-control js-form-name" type="text" value="[% ( last_name || names.last ) | html %]" name="last_name" id="form_last_name" placeholder="[% loc('Your last name') %]"> - - - [%# 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 %]> - <label class="inline" for="form_may_show_name">[% loc('Show my name publicly') %]</label> - </div> - - <label for="form_phone">[% loc('Phone number (optional)') %]</label> - <input class="form-control" type="text" value="[% report.user.phone | html %]" name="phone" id="form_phone" placeholder="[% loc('Your phone number') %]"> - - <div class="general-notes"> - <p>[% loc('We never show your email address or phone number.') %]</p> - </div> - - <div class="form-txt-submit-box"> - <input class="green-btn js-submit_register" type="submit" name="submit_register" value="[% loc('Submit') %]"> - </div> - </div> + [% PROCESS "report/new/form_user_loggedin.html" %] [% ELSE %] - - <label for="form_username">[% loc('Your email') %]</label> - [% IF field_errors.username %] - <p class='form-error'>[% field_errors.username %]</p> - [% END %] - <input class="form-control" type="email" value="[% report.user.email | html %]" name="username" id="form_username" placeholder="[% loc('Please enter your email address') %]" required> - - <div id="form_sign_in"> - - <p>To submit your report you now need to confirm it either by email or by using a FixMyStreet password.</p> - - <div id="form_sign_in_no" class="form-box"> - <h5>Confirm my report by email</h5> - - [% INCLUDE 'report/new/extra_name.html' %] - - <label for="form_first_name">[% loc('First Name') %]</label> - [% IF field_errors.first_name %] - <p class='form-error'>[% field_errors.first_name %]</p> - [% END %] - <input type="text" class="form-control form-focus-trigger js-form-name" value="[% first_name | html %]" name="first_name" id="form_first_name" placeholder="[% loc('Your first name') %]"> - - <label for="form_last_name">[% loc('Last Name') %]</label> - [% IF field_errors.last_name %] - <p class='form-error'>[% field_errors.last_name %]</p> - [% END %] - <input type="text" class="form-control form-focus-trigger js-form-name" value="[% last_name | html %]" name="last_name" id="form_last_name" placeholder="[% loc('Your last name') %]"> - - [%# 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 %]> - <label class="inline" for="form_may_show_name">[% loc('Show my name publicly') %]</label> - </div> - - <label class="form-focus-hidden" for="form_phone">[% loc('Phone number (optional)') %]</label> - <input class="form-control form-focus-hidden" type="text" value="[% report.user.phone | html %]" name="phone" id="form_phone" placeholder="[% loc('Your phone number') %]"> - - <div class="general-notes form-focus-hidden"> - <p>[% loc('We never show your email address or phone number.') %]</p> - </div> - - <label class="form-focus-hidden" for="password_register">[% loc('Password (optional)') %]</label> - [% IF field_errors.password_register %] - <p class='form-error'>[% field_errors.password_register %]</p> - [% END %] - - <div class="general-notes form-focus-hidden"> - <p>[% loc('Providing a password is optional, but doing so will allow you to more easily report future problems, leave updates and manage your reports.') %]</p> - </div> - - <div class="form-txt-submit-box form-focus-hidden"> - <input class="form-control js-password-validate" type="password" name="password_register" id="password_register" value="" placeholder="[% loc('Enter a password') %]"> - <input class="green-btn js-submit_register" type="submit" name="submit_register" value="[% loc('Submit') %]"> - </div> - - <div class="general-notes"> - <p>[% tprintf(loc('Your password should include %d or more characters.'), c.cobrand.password_minimum_length) %]</p> - </div> - - </div> - - <div id="form_sign_in_yes" class="form-box"> - - <h5>Confirm my report with my FixMyStreet password</h5> - - <label class="hidden-js n" for="password_sign_in">[% loc('Yes I have a password') %]</label> - <div class="form-txt-submit-box"> - [% IF field_errors.password %] - <p class='form-error'>[% field_errors.password %]</p> - [% END %] - <input class="form-control" type="password" name="password_sign_in" id="password_sign_in" placeholder="[% loc('Your password') %]" value=""> - <input class="green-btn js-submit_sign_in" type="submit" name="submit_sign_in" value="[% loc('Submit') %]"> - </div> - - <div class="checkbox-group"> - <input type="checkbox" id="remember_me" name="remember_me" value='1'[% ' checked' IF remember_me %]> - <label class="n inline" for="remember_me">[% loc('Keep me signed in on this computer') %]</label> - </div> - </div> - - </div> - + [% PROCESS "report/new/form_user_loggedout.html" %] [% END %] diff --git a/templates/web/bromley/report/new/form_user_loggedout.html b/templates/web/bromley/report/new/form_user_loggedout.html new file mode 100644 index 000000000..8d46e7b60 --- /dev/null +++ b/templates/web/bromley/report/new/form_user_loggedout.html @@ -0,0 +1,7 @@ +[% PROCESS 'report/new/form_user_loggedout_email.html' required = 1 %] + +<div id="form_sign_in"> + <p>To submit your report you now need to confirm it either by email or by using a FixMyStreet password.</p> + [% PROCESS 'report/new/form_user_loggedout_by_email.html' %] + [% PROCESS 'report/new/form_user_loggedout_password.html' %] +</div> diff --git a/templates/web/bromley/report/new/form_user_loggedout_by_email.html b/templates/web/bromley/report/new/form_user_loggedout_by_email.html new file mode 100644 index 000000000..aea672483 --- /dev/null +++ b/templates/web/bromley/report/new/form_user_loggedout_by_email.html @@ -0,0 +1,37 @@ +<div id="form_sign_in_no" class="form-box"> + <h5>Confirm my report by email</h5> + + [% INCLUDE 'report/new/extra_name.html' %] + [% PROCESS 'user/_anonymity.html' anonymous = report.anonymous %] + [% INCLUDE 'report/new/form_user_name.html' extra_class='form-focus-trigger' %] + [% INCLUDE 'report/_show_name_label.html' %] + + [% UNLESS c.cobrand.call_hook('disable_phone_number_entry') %] + <div id="js-hide-if-username-phone"> + <label class="form-focus-hidden" for="form_phone">[% loc('Phone number (optional)') %]</label> + <input class="form-control form-focus-hidden" type="text" value="[% report.user.phone_display | html %]" name="phone" id="form_phone"> + </div> + [% END %] + <div id="js-hide-if-username-email"> + <label class="form-focus-hidden" for="form_email">[% loc('Email address (optional)') %]</label> + <input class="form-control form-focus-hidden" type="text" value="[% report.user.email | html %]" name="email" id="form_email"> + </div> + + <label class="form-focus-hidden" for="password_register">[% loc('Password (optional)') %]</label> + [% IF field_errors.password_register %] + <p class='form-error'>[% field_errors.password_register %]</p> + [% END %] + <div class="general-notes form-focus-hidden"> + <p>[% loc('Providing a password is optional, but doing so will allow you to more easily report future problems, leave updates and manage your reports.') %]</p> + </div> + + <div class="form-txt-submit-box form-focus-hidden"> + <input class="form-control js-password-validate" type="password" name="password_register" id="password_register" value="" placeholder="[% loc('Enter a password') %]"> + <input class="green-btn js-submit_register" type="submit" name="submit_register" value="[% loc('Submit') %]"> + </div> + + <div class="general-notes"> + <p>[% tprintf(loc('Your password should include %d or more characters.'), c.cobrand.password_minimum_length) %]</p> + </div> + +</div> diff --git a/templates/web/bromley/report/new/form_user_loggedout_password.html b/templates/web/bromley/report/new/form_user_loggedout_password.html new file mode 100644 index 000000000..a4255f647 --- /dev/null +++ b/templates/web/bromley/report/new/form_user_loggedout_password.html @@ -0,0 +1,18 @@ +<div id="form_sign_in_yes" class="form-box"> + + <h5>Confirm my report with my FixMyStreet 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 class="form-control" type="password" name="password_sign_in" id="password_sign_in" placeholder="[% loc('Your password') %]" value=""> + <input class="green-btn js-submit_sign_in" type="submit" name="submit_sign_in" value="[% loc('Submit') %]"> + </div> + + <div class="checkbox-group"> + <input type="checkbox" id="remember_me" name="remember_me" value='1'[% ' checked' IF remember_me %]> + <label class="n inline" for="remember_me">[% loc('Keep me signed in on this computer') %]</label> + </div> +</div> diff --git a/templates/web/bromley/report/new/form_user_name.html b/templates/web/bromley/report/new/form_user_name.html new file mode 100644 index 000000000..8102c0ea7 --- /dev/null +++ b/templates/web/bromley/report/new/form_user_name.html @@ -0,0 +1,12 @@ +[% names = c.user.split_name %] +<label for="form_first_name">[% loc('First Name') %]</label> +[% IF field_errors.first_name %] + <p class='form-error'>[% field_errors.first_name %]</p> +[% END %] +<input class="form-control js-form-name [% extra_class %]" type="text" value="[% ( first_name || names.first ) | html %]" name="first_name" id="form_first_name" placeholder="[% loc('Your first name') %]"> + +<label for="form_last_name">[% loc('Last Name') %]</label> +[% IF field_errors.last_name %] + <p class='form-error'>[% field_errors.last_name %]</p> +[% END %] +<input class="form-control js-form-name [% extra_class %]" type="text" value="[% ( last_name || names.last ) | html %]" name="last_name" id="form_last_name" placeholder="[% loc('Your last name') %]"> diff --git a/templates/web/bromley/report/update-form.html b/templates/web/bromley/report/update-form.html index 9778a0db3..6c3ca9298 100644 --- a/templates/web/bromley/report/update-form.html +++ b/templates/web/bromley/report/update-form.html @@ -1,3 +1,6 @@ +[% allow_creation = !c.cobrand.only_authed_can_create || (c.user && c.user.from_body) %] +[% RETURN IF NOT allow_creation OR problem.extra.closed_updates %] + <div id="update_form"> [% UNLESS hide_header %] <h2[% IF two_column_sidebar %] class="hidden-js"[% END %]>[% loc('Provide an update') %]</h2> @@ -5,140 +8,33 @@ [% INCLUDE 'errors.html' %] - <form method="post" action="[% c.uri_for( '/report/update' ) %]" name="updateForm" class="validate"[% IF c.cobrand.allow_photo_upload %] enctype="multipart/form-data"[% END %]> + <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 %]> <input type="hidden" name="token" value="[% csrf_token %]"> <fieldset> - <input type="hidden" name="submit_update" value="1"> - <input type="hidden" name="id" value="[% problem.id | html %]"> - - [% IF c.cobrand.allow_photo_upload %] - <input type="hidden" name="upload_fileid" value="[% upload_fileid %]"> - <label for="form_photo"> - <span data-singular="[% loc('Photo') %]" data-plural="[% loc('Photos') %]">[% loc('Photo') %]</span> - </label> - - [% IF field_errors.photo %] - <p class='form-error'>[% field_errors.photo %]</p> - [% END %] - - <div id="form_photos"> - [% IF upload_fileid %] - <p>[% loc('You have already attached photos to this update. Note that you can attach a maximum of 3 to this update (if you try to upload more, the oldest will be removed).') %]</p> - [% FOREACH id IN upload_fileid.split(',') %] - <img align="right" src="/photo/temp.[% id %]" alt=""> - [% END %] - [% END %] - <input type="file" name="photo1" id="form_photo"> - <label for="form_photo2">[% loc('Photo') %]</label> - <input type="file" name="photo2" id="form_photo2"> - <label for="form_photo3">[% loc('Photo') %]</label> - <input type="file" name="photo3" id="form_photo3"> - </div> - [% END %] - - <div class="general-notes"> - <p>Please note that new and separate occurrences of issues - should be logged as new reports, to avoid conflicting - information or updates and ensure the information is passed - promptly to our teams. Please log any new issue via - <a href="https://www.bromley.gov.uk/report">https://www.bromley.gov.uk/report</a> - using the map marker and description to detail where the issue - is located.</p> - </div> - - <label for="form_update">[% loc( 'Update' ) %]</label> - [% IF field_errors.update %] - <div class='form-error'>[% field_errors.update %]</div> - [% END %] - <textarea class="form-control" 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_body( problem.bodies_str ) %] - <label for="state">[% loc( 'State' ) %]</label> - [% INCLUDE 'report/inspect/state_groups_select.html' %] - [% 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.user_exists %] - + [% IF NOT login_success AND NOT oauth_need_email %] + [% INCLUDE 'report/update/form_update.html' %] + [% END %] + [% IF c.user_exists %] [% INCLUDE 'report/update/form_name.html' %] - - <input class="final-submit green-btn js-submit_register" type="submit" name="submit_register" value="[% loc('Post') %]"> - - - [% ELSE %] - - <label for="form_username">[% loc('Email' ) %] - <span class="muted">([% loc('We never show your email') %])</span> - </label> - - [% IF field_errors.username %] - <p class='form-error'>[% field_errors.username %]</p> - [% END %] - <input class="form-control" type="email" name="username" id="form_username" value="[% update.user.email | html %]" placeholder="[% loc('Your email address' ) %]" required> - + <div class="clearfix"><input class="final-submit green-btn js-submit_register" type="submit" name="submit_register" value="[% loc('Post') %]"></div> + [% ELSIF oauth_need_email %] + [% INCLUDE 'report/update/form_user_loggedout_email.html' required = 1 %] <div id="form_sign_in"> - <p>To submit your update you now need to confirm it either by email or by using a FixMyStreet password.</p> - - <div id="form_sign_in_no" class="form-box"> - <h5>Confirm my report by email</h5> - - [% INCLUDE 'report/update/form_name.html' %] - - <label for="password_register">[% loc('Password (optional)') %]</label> - [% IF field_errors.password_register %] - <p class='form-error'>[% field_errors.password_register %]</p> - [% END %] - - <div class="general-notes"> - <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> - - <div class="form-txt-submit-box"> - <input type="password" class="form-control js-password-validate" name="password_register" id="password_register" value="" placeholder="[% loc('Enter a password') %]"> - <input class="green-btn js-submit_register" type="submit" name="submit_register" value="[% loc('Post') %]"> - </div> - - <div class="general-notes"> - <p>[% tprintf(loc('Your password should include %d or more characters.'), c.cobrand.password_minimum_length) %]</p> - </div> - - </div> - <div id="form_sign_in_yes" class="form-box"> - <h5>Confirm my report with my FixMyStreet 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" class="form-control" name="password_sign_in" id="password_sign_in" value="" placeholder="[% loc('Your password') %]"> - <input class="green-btn js-submit_sign_in" type="submit" name="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> + <h3>[% loc("Now to submit your update…") %]</h3> + <h2>[% tprintf(loc("Do you have a %s password?", "%s is the site name"), site_name) %]</h2> + [% INCLUDE 'report/update/form_user_loggedout_by_email.html' %] + [% INCLUDE 'report/update/form_user_loggedout_password.html' %] + <input type="hidden" name="oauth_need_email" value="1"> </div> + [% ELSE %] + [% INCLUDE 'report/update/form_user_loggedout.html' %] + [% END %] - [% END %] - - <p>Your information will only be used in accordance with our <a href="/faq#privacy">privacy policy</a>.</p> + <p>Your information will only be used in accordance with our <a href="/faq#privacy">privacy policy</a>.</p> + [% IF login_success OR oauth_need_email %] + [% INCLUDE 'report/update/form_update.html' %] + [% END %] </fieldset> </form> </div> diff --git a/templates/web/bromley/report/update/form_update.html b/templates/web/bromley/report/update/form_update.html new file mode 100644 index 000000000..06d7c455e --- /dev/null +++ b/templates/web/bromley/report/update/form_update.html @@ -0,0 +1,54 @@ +<input type="hidden" name="submit_update" value="1"> +<input type="hidden" name="id" value="[% problem.id | html %]"> + +[% IF c.cobrand.allow_photo_upload %] + <input type="hidden" name="upload_fileid" value="[% upload_fileid %]"> + <label for="form_photo"> + <span data-singular="[% loc('Photo') %]" data-plural="[% loc('Photos') %]">[% loc('Photo') %]</span> + </label> + + [% IF field_errors.photo %] + <p class='form-error'>[% field_errors.photo %]</p> + [% END %] + + <div id="form_photos"> + [% IF upload_fileid %] + <p>[% loc('You have already attached photos to this update. Note that you can attach a maximum of 3 to this update (if you try to upload more, the oldest will be removed).') %]</p> + [% FOREACH id IN upload_fileid.split(',') %] + <img align="right" src="/photo/temp.[% id %]" alt=""> + [% END %] + [% END %] + <input type="file" name="photo1" id="form_photo"> + <label for="form_photo2">[% loc('Photo') %]</label> + <input type="file" name="photo2" id="form_photo2"> + <label for="form_photo3">[% loc('Photo') %]</label> + <input type="file" name="photo3" id="form_photo3"> + </div> +[% END %] + +<div class="general-notes"> + <p>Please note that new and separate occurrences of issues + should be logged as new reports, to avoid conflicting + information or updates and ensure the information is passed + promptly to our teams. Please log any new issue via + <a href="https://www.bromley.gov.uk/report">https://www.bromley.gov.uk/report</a> + using the map marker and description to detail where the issue + is located.</p> +</div> + +<label for="form_update">[% loc( 'Update' ) %]</label> +[% IF c.user && c.user.belongs_to_body( problem.bodies_str ) %] + [% INCLUDE 'admin/response_templates_select.html' for='form_update' %] +[% END %] +[% IF field_errors.update %] + <div class='form-error'>[% field_errors.update %]</div> +[% END %] +<textarea rows="7" cols="30" name="update" class="form-control" id="form_update" placeholder="[% loc('Please write your update here') %]" required>[% update.text | html %]</textarea> + +[% IF c.user && c.user.belongs_to_body( problem.bodies_str ) %] + <label for="state">[% loc( 'State' ) %]</label> + [% INCLUDE 'report/inspect/state_groups_select.html' %] +[% ELSE %] + [% INCLUDE report/update/form_state_checkbox.html %] +[% END %] + diff --git a/templates/web/bromley/report/update/form_user_loggedout.html b/templates/web/bromley/report/update/form_user_loggedout.html new file mode 100644 index 000000000..f19238934 --- /dev/null +++ b/templates/web/bromley/report/update/form_user_loggedout.html @@ -0,0 +1,7 @@ +[% INCLUDE 'report/update/form_user_loggedout_email.html' required=1 %] + +<div id="form_sign_in"> + <p>To submit your update you now need to confirm it either by email or by using a FixMyStreet password.</p> + [% INCLUDE 'report/update/form_user_loggedout_by_email.html' %] + [% INCLUDE 'report/update/form_user_loggedout_password.html' %] +</div> diff --git a/templates/web/bromley/report/update/form_user_loggedout_by_email.html b/templates/web/bromley/report/update/form_user_loggedout_by_email.html new file mode 100644 index 000000000..393d8e4cc --- /dev/null +++ b/templates/web/bromley/report/update/form_user_loggedout_by_email.html @@ -0,0 +1,23 @@ +<div id="form_sign_in_no" class="form-box"> + <h5>Confirm my report by email</h5> + + [% INCLUDE 'report/update/form_name.html' %] + + <label for="password_register">[% loc('Password (optional)') %]</label> + [% IF field_errors.password_register %] + <p class='form-error'>[% field_errors.password_register %]</p> + [% END %] + <div class="general-notes"> + <p>[% loc('Providing a password is optional, but doing so will allow you to more easily report future problems, leave updates and manage your reports.') %]</p> + </div> + + <div class="form-txt-submit-box"> + <input class="form-control js-password-validate" type="password" name="password_register" id="password_register" value="" placeholder="[% loc('Enter a password') %]"> + <input class="green-btn js-submit_register" type="submit" name="submit_register" value="[% loc('Post') %]"> + </div> + + <div class="general-notes"> + <p>[% tprintf(loc('Your password should include %d or more characters.'), c.cobrand.password_minimum_length) %]</p> + </div> + +</div> diff --git a/templates/web/bromley/report/update/form_user_loggedout_email.html b/templates/web/bromley/report/update/form_user_loggedout_email.html new file mode 100644 index 000000000..228ca7509 --- /dev/null +++ b/templates/web/bromley/report/update/form_user_loggedout_email.html @@ -0,0 +1,8 @@ +<label for="form_username">[% loc('Email' ) %] + <span class="muted">([% loc('We never show your email') %])</span> +</label> + +[% IF field_errors.username %] + <p class='form-error'>[% field_errors.username %]</p> +[% END %] +<input class="form-control" type="email" name="username" id="form_username" value="[% update.user.email | html %]" placeholder="[% loc('Your email address' ) %]" required> diff --git a/templates/web/bromley/report/update/form_user_loggedout_password.html b/templates/web/bromley/report/update/form_user_loggedout_password.html new file mode 100644 index 000000000..3b7adb84e --- /dev/null +++ b/templates/web/bromley/report/update/form_user_loggedout_password.html @@ -0,0 +1,18 @@ +<div id="form_sign_in_yes" class="form-box"> + + <h5>Confirm my report with my FixMyStreet 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 class="form-control" type="password" name="password_sign_in" id="password_sign_in" placeholder="[% loc('Your password') %]" value=""> + <input class="green-btn js-submit_sign_in" type="submit" name="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="n inline" for="remember_me">[% loc('Keep me signed in on this computer') %]</label> + </div> +</div> diff --git a/templates/web/fixamingata/about/privacy.html b/templates/web/fixamingata/about/privacy.html index 805ca5f00..ced2c3b27 100755 --- a/templates/web/fixamingata/about/privacy.html +++ b/templates/web/fixamingata/about/privacy.html @@ -15,35 +15,48 @@ <h1>Offentlighet, kakor och tredjepartstjänster</h1> <p><strong>Vår användning av din information och vad du behöver veta.</strong></p> <p>Offentlighetsprincipen är en viktig del i det demokratiska samhället. Genom tryckfrihetsförordningen och offentlighetslagen har du rätt att ta del av allmänna offentliga handlingar hos statliga och kommunala myndigheter. Det kan ge dig insyn i hur förtroendevalda (politiker) och tjänstemän handlägger ärenden, vilka handlingar som kommit in till kommunens olika förvaltningar och vilka som skickats ut.</p> -<p>Lagen som reglerar hur personuppgifter samlas in, bearbetas och sprids heter Personuppgiftslagen (PuL). Lagen skyddar den enskildes integritet vid behandling av personuppgifter. Fr.o.m. 2018-05-25 införs ett nytt regelverk i EU för behandling av personuppgifter och ska börja tillämpas av medlemsstaterna i maj 2018.</p> -<p><a href="http://www.datainspektionen.se/dataskyddsreformen/dataskyddsforordningen/">Dataskyddsförordning</a></p> -<p>FixaMinGata använder kakor för att hjälpa oss att göra tjänsten bättre. Nedan beskrivs hur din data används.</p> +<p>Fr.o.m. 2018-05-25 tillämpas ett nytt regelverk inom EU för behandling av personuppgifter – i Sverige kallad Dataskyddsfördordningen.</p> +<p><strong>Laglig grund för behandling av personuppgifter</strong><br>FixaMinGata.se behandlar all data, inklusive personuppgifter, baserat på Dataskyddsförordningens Artikel 6.1f - Behandlingen är nödvändig för ändamål som rör den personuppgiftsansvariges eller en tredje parts berättigade intressen.</p> +<p> </p> +<p><a href="http://www.datainspektionen.se/dataskyddsreformen/dataskyddsforordningen/">Dataskyddsförordning</a>en</p> +<p>Förordningen innehåller regler om hur personuppgifter får behandlas. Förordningen gäller i alla EU:s medlemsländer och ersätter nationella regler, som till exempel Personuppgiftslagen i Sverige.</p> +<p>Dataskyddsförordningens syfte är dels att skydda enskildas grundläggande rättigheter och friheter, särskilt deras rätt till skydd av personuppgifter och dels att skapa en enhetlig och likvärdig nivå för skyddet av personuppgifter inom EU, så att det fria flödet av uppgifter inom unionen inte hindras.</p> +<p>En tillsynsmyndighet i varje EU-land ska övervaka att de som behandlar personuppgifter följer dataskyddsförordningen. Tillsynsmyndigheten ska vara fullständigt oberoende i utförandet av sina uppgifter och utövandet av sina befogenheter. I Sverige föreslås <u>Datainspektionen</u> få det uppdraget.</p> +<p>FixaMinGata använder s k kakor för att hjälpa oss att göra tjänsten bättre. Nedan beskrivs hur de data du rapporterar in via FixaMinGata – inklusive eventuella uppgifter om dig själv – används.</p> <h2>Offentlighet och personuppgifter</h2> +<p>För att Du som rapportör ska kunna rapportera ärenden behandlas och lagras personuppgifter i samband med skapande av konto. Inrapporterade ärenden kommer avidentifieras tre månader efter den senaste aktiviteten i ärendet. Det innebär att eventuella personuppgifter i ärendet kommer att raderas, medan uppgifterna om ärendet kan vara av allmänt intresse och kommer att finnas kvar som underlag för forskning, statistik o dyl. Konton som inte använts på 12 månader kommer att raderas och när Du återigen ska rapportera behöver ett nytt konto skapas.</p> <dl> - <dt>Hur hanteras mina personuppgifter?</dt> - <dd>Din e-postadress och namn lagras i vår databas. Du har rätt att begära att få ta del av de uppgifter som finns registrerade om dig genom att kontakta vårt personuppgiftsombud.</dd> - <dt>Hur hanteras min information hos FixaMinGata?</dt> - <dd>Vi kommer att visa en rapports ärende och information publikt, dock inte visa din e-postadress eller ditt namn, om du inte ger oss tillstånd.</dd> - <dt>Hur hanteras min information hos kommunen?</dt> - <dd>All information som du anger kring ett problem kommer att skickas till berörd kommun. Alla handlingar som inkommer till en kommun betraktas som offentliga och därmed kommer också alla rapporter från FixaMinGata att vara offentliga via den berörda kommunen.</dd> + <dt>Hur behandlas mina personuppgifter?</dt> + <dd>Din e-postadress och namn lagras i vår databas. Du har rätt att begära att få ta del av de uppgifter som finns registrerade om dig, begära rättning av uppgifter eller att uppgifter ska raderas genom att kontakta vårt personuppgiftsombud.<p>Konton som inte använts på 12 månader kommer att raderas.</p></dd> + <dt>Hur behandlas min information hos FixaMinGata?</dt> + <dd>Vi kommer att visa en rapports ärende och information publikt, dock inte visa din e-postadress eller ditt namn, om du inte samtycker till detta. Lösta ärenden kommer att avidentifieras tre månader efter den senaste aktiviteten i ärendet (se ovan).</dd> + <dt>Hur behandlas min information hos kommunen?</dt> + <dd>All information som du anger kring ett problem kommer att skickas till berörd kommun eller den part som behandlar en kommuns ärenden. Alla handlingar som inkommer till en kommun betraktas som offentliga och därmed kommer också alla rapporter från FixaMinGata att vara offentliga via den berörda kommunen.</dd> </dl> <h2>Sekretess</h2> <dl> - <dt>Vem ser min epostadress?</dt> - <dd>Om du rapporterar ett problem kommer vi att skicka - din information och upplysning om problemet - till den kommun som är ansvarig för det område där du lokaliserat problemet. Förutom kommunen, som ser din e-postadress, kommer personer som är ansvariga för tjänsten FixaMinGata att kunna se din e-postadress. Ingen kommer att använda din e-postadress för något annat än för att kunna administrera FixaMinGata. Vi kommer inte att ge ut eller sälja din e-postadress till någon annan om vi inte blir tvingade till det av domstol. Ditt namn, som du anger det, kommer inte att publiceras om du inte ger oss tillstånd. Observera dock att om du skriver ditt namn någon annanstans, exempelvis i rapportens information, kommer det att vara synligt.</dd> + <dt>Vem ser min e-postadress?</dt> + <dd>Om du rapporterar ett problem kommer vi att skicka din information och upplysning om problemet till den kommun, eller den part som behandlar en kommuns ärende, som är ansvarig för det område där du lokaliserat problemet. Förutom kommun/partner, som ser din e-postadress, kommer personer som är ansvariga för tjänsten FixaMinGata att kunna se din e-postadress.<p>Din e-postadress kommer <strong><em>bara</em></strong> användas för att kunna administrera FixaMinGata. Vi kommer inte att ge ut eller sälja din e-postadress till någon annan om vi inte blir tvingade till det av domstol. Ditt namn, som du anger det, kommer inte att publiceras om du inte ger samtycke. Observera dock att om du skriver ditt namn någon annanstans, exempelvis i rapportens information, kommer det att vara synligt.</p></dd> <dt>Kommer ni att skicka spam?</dt> <dd>Aldrig. Vi kommer att skicka ett e-postmeddelande till dig om någon lämnar en uppdatering på ett problem som du rapporterat, och fyra veckor efter din rapportering skickas ett frågeformulär. Vi kommer endast att skicka e-postmeddelande som relaterar till ditt problem.</dd> + <dt>Borttag av information, bilder e dyl.</dt> + <dd>Om du laddar upp bilder och annan information kring ett problem, bör du vara försiktig så att inte personer, bilar eller andra uppgifter som kan identifiera en annan person följer med.<p>Begäran om radering av personuppgift sker genom att kontakta vårt personuppgiftsombud.</p></dd> </dl> <h2>Kakor</h2> -<p>Kakor används för att ge en besökare tillgång till olika funktioner. För att göra tjänsten lättare och mer användbara skickas små datafiler till din dator eller mobiltelefon. Dessa kallas för kakor och de flesta webbplatser använder dem. Informationen används för att, till exempel, komma ihåg tidigare inloggning, och för att mäta hur tjänsten används som underlag för förbättringar.</p> -<p><a href="http://www.pts.se/sv/Bransch/Regler/Lagar/Lag-om-elektronisk-kommunikation/Cookies-kakor/">Om kakor och hur du kan hantera dem, Post- och telestyrelsen</a></p> +<p>S k kakor används för att ge en användare tillgång till olika funktioner. För att göra tjänsten lättare och mer användbara skickas små datafiler till din dator eller mobiltelefon. Dessa kallas för kakor och de flesta webbplatser använder dem. Informationen används för att, till exempel, komma ihåg tidigare inloggning, och för att mäta hur tjänsten används som underlag för förbättringar.</p> +<p><a href="http://www.pts.se/sv/Bransch/Regler/Lagar/Lag-om-elektronisk-kommunikation/Cookies-kakor/">Läs mer om kakor och hur du kan hantera dem på Post- och telestyrelsens webbplats.</a></p> <p>Nedan visas en lista med kakor som tjänsten använder.</p> <table cellpadding=5> <tr align="left"><th scope="col">Namn</th><th scope="col">Innehåll</th><th scope="col">Giltighet</th></tr> <tr><td>fixmystreet_app_session</td><td nowrap>A slumpvis sträng</td><td>Raderas när webbläsaren stängs, eller efter fyra veckor om “Håll mig inloggad” är valt</td></tr> </table> +<dl> + <dt>Vad är <em>INTE</em> FixaMinGata till för?</dt> + <dd>FixaMinGata är inte lämpligt för andra typer av problem än de som anges ovan. Du måste kontakta din kommun eller fastighetsägare direkt för problem i stil med:<ul><li>Brådskande och akuta problem</li><li>Oljud i din närmiljö</li><li>Brand och rök</li><li>Förslag på nya vägar, farthinder, etc.</li><li>Klaga på dina grannar</li><li>Klaga på din kommun</li><li>Droger, djurplågeri, stöld, eller andra kriminella aktiviteter.</li><li>Information kring brott/överträdelser eller misstanke om detsamma</li></ul></dd> +</dl> + [% INCLUDE 'footer.html' pagefooter = 'yes' %] |