diff options
author | Struan Donald <struan@exo.org.uk> | 2011-08-22 11:22:33 +0100 |
---|---|---|
committer | Struan Donald <struan@exo.org.uk> | 2011-08-22 11:22:33 +0100 |
commit | 44c31ab8efbd97086e17d26c819b1d5b4946ce43 (patch) | |
tree | 5a509a5006afd50f4c48f52fdf45ac9ac86ac054 | |
parent | f93ff062c986847f97aef76673c2ca7742f1f125 (diff) | |
parent | a9a4fed583d7467c9c1f1fa56d42bcb75b4b488c (diff) |
Merge branch 'master' of ssh://git.mysociety.org/data/git/public/fixmystreet into open311-consumer
Conflicts:
t/app/model/problem.t
templates/web/default/report/new/fill_in_details.html
web/css/core.css
72 files changed, 3844 insertions, 1228 deletions
diff --git a/db/schema.sql b/db/schema.sql index 991470f92..fcd137919 100644 --- a/db/schema.sql +++ b/db/schema.sql @@ -134,6 +134,7 @@ create table users ( name text, phone text, password text not null default '', + from_council integer, -- id of council user is from or null/0 if not flagged boolean not null default 'f' ); @@ -169,7 +170,13 @@ create table problem ( state text not null check ( state = 'unconfirmed' or state = 'confirmed' + or state = 'investigating' + or state = 'planned' + or state = 'in progress' + or state = 'closed' or state = 'fixed' + or state = 'fixed - council' + or state = 'fixed - user' or state = 'hidden' or state = 'partial' ), @@ -285,7 +292,17 @@ create table comment ( lang text not null default 'en-gb', cobrand_data text not null default '' check (cobrand_data ~* '^[a-z0-9]*$'), -- Extra data used in cobranded versions of the site mark_fixed boolean not null, - mark_open boolean not null default 'f' + mark_open boolean not null default 'f', + problem_state text check ( + problem_state = 'confirmed' + or problem_state = 'investigating' + or problem_state = 'planned' + or problem_state = 'in progress' + or problem_state = 'closed' + or problem_state = 'fixed' + or problem_state = 'fixed - council' + or problem_state = 'fixed - user' + ) -- other fields? one to indicate whether this was written by the council -- and should be highlighted in the display? ); @@ -384,6 +401,7 @@ create table admin_log ( object_type text not null check ( object_type = 'problem' or object_type = 'update' + or object_type = 'user' ), object_id integer not null, action text not null check ( diff --git a/db/schema_0005-add_council_user_flag.sql b/db/schema_0005-add_council_user_flag.sql new file mode 100644 index 000000000..1ab1579b7 --- /dev/null +++ b/db/schema_0005-add_council_user_flag.sql @@ -0,0 +1,6 @@ +begin; + +ALTER table users + ADD COLUMN from_council integer; + +commit; diff --git a/db/schema_0006-alter_problem_state.sql b/db/schema_0006-alter_problem_state.sql new file mode 100644 index 000000000..6fada1eb8 --- /dev/null +++ b/db/schema_0006-alter_problem_state.sql @@ -0,0 +1,19 @@ +begin; + + ALTER TABLE problem DROP CONSTRAINT problem_state_check; + + ALTER TABLE problem ADD CONSTRAINT problem_state_check CHECK ( + state = 'unconfirmed' + or state = 'confirmed' + or state = 'investigating' + or state = 'planned' + or state = 'in progress' + or state = 'closed' + or state = 'fixed' + or state = 'fixed - council' + or state = 'fixed - user' + or state = 'hidden' + or state = 'partial' + ); + +commit; diff --git a/db/schema_0007-add-comment-problem-state.sql b/db/schema_0007-add-comment-problem-state.sql new file mode 100644 index 000000000..2a3a95ada --- /dev/null +++ b/db/schema_0007-add-comment-problem-state.sql @@ -0,0 +1,16 @@ +begin; + + ALTER TABLE comment ADD column problem_state text; + + ALTER TABLE comment ADD CONSTRAINT comment_problem_state_check CHECK ( + problem_state = 'confirmed' + or problem_state = 'investigating' + or problem_state = 'planned' + or problem_state = 'in progress' + or problem_state = 'closed' + or problem_state = 'fixed' + or problem_state = 'fixed - council' + or problem_state = 'fixed - user' + ); + +commit; diff --git a/db/schema_0008-add_user_object_to_admin_log.sql b/db/schema_0008-add_user_object_to_admin_log.sql new file mode 100644 index 000000000..dd8f03645 --- /dev/null +++ b/db/schema_0008-add_user_object_to_admin_log.sql @@ -0,0 +1,12 @@ +begin; + + ALTER TABLE admin_log DROP CONSTRAINT admin_log_object_type_check; + + ALTER TABLE admin_log ADD CONSTRAINT admin_log_object_type_check CHECK ( + object_type = 'problem' + or object_type = 'update' + or object_type = 'user' + ); + + +commit; diff --git a/locale/FixMyStreet.po b/locale/FixMyStreet.po index e235c25cf..47c063ec3 100644 --- a/locale/FixMyStreet.po +++ b/locale/FixMyStreet.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: 1.0\n" "Report-Msgid-Bugs-To: matthew@mysociety.org\n" -"POT-Creation-Date: 2011-07-14 12:35+0100\n" +"POT-Creation-Date: 2011-08-18 11:07+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" "Language-Team: LANGUAGE <team@fixmystreet.com>\n" @@ -17,7 +17,7 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=INTEGER; plural=EXPRESSION;\n" -#: bin/send-reports:179 perllib/FixMyStreet/DB/Result/Problem.pm:376 +#: bin/send-reports:179 perllib/FixMyStreet/DB/Result/Problem.pm:378 msgid " and " msgstr "" @@ -25,7 +25,7 @@ msgstr "" msgid " and <strong>we will now send it to the council</strong>" msgstr "" -#: templates/web/default/report/new/all_councils_text.html:10 templates/web/default/report/new/all_councils_text.html:3 templates/web/default/report/new/no_councils_text.html:15 templates/web/default/report/new/no_councils_text.html:3 templates/web/default/report/new/some_councils_text.html:20 templates/web/default/report/new/some_councils_text.html:23 templates/web/default/report/new/some_councils_text.html:5 templates/web/emptyhomes/report/new/all_councils_text.html:2 +#: templates/web/default/report/new/councils_text_all.html:10 templates/web/default/report/new/councils_text_all.html:3 templates/web/default/report/new/councils_text_none.html:15 templates/web/default/report/new/councils_text_none.html:3 templates/web/default/report/new/councils_text_some.html:20 templates/web/default/report/new/councils_text_some.html:23 templates/web/default/report/new/councils_text_some.html:5 templates/web/emptyhomes/report/new/all_councils_text.html:2 msgid " or " msgstr "" @@ -89,30 +89,34 @@ msgstr "" msgid "%s - Summary reports" msgstr "" -#: perllib/FixMyStreet/Cobrand/Default.pm:836 perllib/FixMyStreet/Cobrand/Default.pm:850 +#: perllib/FixMyStreet/Cobrand/Default.pm:826 perllib/FixMyStreet/Cobrand/Default.pm:840 msgid "%s ward, %s" msgstr "" -#: perllib/FixMyStreet/DB/Result/Problem.pm:307 +#: perllib/FixMyStreet/DB/Result/Problem.pm:309 msgid "%s, reported anonymously at %s" msgstr "" -#: perllib/FixMyStreet/DB/Result/Problem.pm:309 +#: perllib/FixMyStreet/DB/Result/Problem.pm:311 msgid "%s, reported by %s at %s" msgstr "" -#: perllib/FixMyStreet/Cobrand/Default.pm:867 perllib/FixMyStreet/Cobrand/Default.pm:881 +#: perllib/FixMyStreet/Cobrand/Default.pm:857 perllib/FixMyStreet/Cobrand/Default.pm:871 msgid "%s, within %s ward" msgstr "" -#: perllib/FixMyStreet/Map/Tilma/Original.pm:82 -msgid "© Crown copyright. All rights reserved. Ministry of Justice 100037819 2008." +#: templates/web/default/admin/stats.html:5 +msgid "%sreports between %s and %s" msgstr "" #: templates/web/default/email_sent.html:28 msgid "(Don't worry — %s)" msgstr "" +#: templates/web/default/admin/report_blocks.html:11 +msgid "(Email in abuse table)" +msgstr "" + #: templates/web/default/alert/list.html:53 msgid "(a default distance which covers roughly 200,000 people)" msgstr "" @@ -133,7 +137,7 @@ msgstr "" msgid "(not sent to council)" msgstr "" -#: templates/web/default/report/new/fill_in_details.html:233 +#: templates/web/default/report/new/fill_in_details_form.html:208 msgid "(optional)" msgstr "" @@ -141,7 +145,7 @@ msgstr "" msgid "(sent to both)" msgstr "" -#: templates/web/default/report/new/fill_in_details.html:227 +#: templates/web/default/report/new/fill_in_details_form.html:202 msgid "(we never show your email address or phone number)" msgstr "" @@ -149,15 +153,15 @@ msgstr "" msgid "(we never show your email)" msgstr "" -#: perllib/FixMyStreet/App/Controller/Admin.pm:269 +#: perllib/FixMyStreet/App/Controller/Admin.pm:270 msgid "*unknown*" msgstr "" -#: perllib/FixMyStreet/App/Controller/Report/New.pm:477 perllib/FixMyStreet/App/Controller/Report/New.pm:505 perllib/FixMyStreet/DB/Result/Problem.pm:204 +#: perllib/FixMyStreet/App/Controller/Report/New.pm:504 perllib/FixMyStreet/App/Controller/Report/New.pm:532 perllib/FixMyStreet/DB/Result/Problem.pm:206 msgid "-- Pick a category --" msgstr "" -#: perllib/FixMyStreet/App/Controller/Report/New.pm:463 perllib/FixMyStreet/DB/Result/Problem.pm:210 +#: perllib/FixMyStreet/App/Controller/Report/New.pm:490 perllib/FixMyStreet/DB/Result/Problem.pm:212 msgid "-- Pick a property type --" msgstr "" @@ -213,7 +217,7 @@ msgid "" "site and leave an update.</p>" msgstr "" -#: templates/web/default/around/display_location.html:87 templates/web/default/around/display_location.html:89 +#: templates/web/default/around/display_location.html:71 templates/web/default/around/display_location.html:73 msgid "<small>If you cannot see the map, <a href='%s' rel='nofollow'>skip this step</a>.</small>" msgstr "" @@ -225,7 +229,7 @@ msgstr "" msgid "<strong>No</strong>, I do not, let me sign in by email:" msgstr "" -#: templates/web/default/report/new/fill_in_details.html:175 +#: templates/web/default/report/new/fill_in_details_form.html:154 msgid "<strong>No</strong>, let me confirm my report by email:" msgstr "" @@ -233,11 +237,11 @@ msgstr "" msgid "<strong>No</strong>, let me confirm my update by email:" msgstr "" -#: templates/web/default/auth/general.html:37 templates/web/default/report/display.html:142 templates/web/default/report/new/fill_in_details.html:157 +#: templates/web/default/auth/general.html:37 templates/web/default/report/display.html:142 templates/web/default/report/new/fill_in_details_form.html:136 msgid "<strong>Yes</strong>, I have a password:" msgstr "" -#: templates/web/default/static/about.html:1 templates/web/default/static/about.html:3 templates/web/emptyhomes/header.html:34 templates/web/emptyhomes/static/about.html:1 templates/web/emptyhomes/static/about.html:3 +#: templates/web/default/static/about.html:1 templates/web/default/static/about.html:3 templates/web/emptyhomes/header.html:32 templates/web/emptyhomes/static/about.html:1 templates/web/emptyhomes/static/about.html:3 msgid "About us" msgstr "" @@ -265,23 +269,27 @@ msgstr "" msgid "Alert me to future updates" msgstr "" +#: templates/web/default/admin/stats.html:5 +msgid "All" +msgstr "" + #: templates/web/default/admin/council_list.html:44 msgid "All confirmed" msgstr "" -#: templates/web/default/footer.html:8 templates/web/emptyhomes/header.html:31 templates/web/fiksgatami/footer.html:6 +#: templates/web/default/footer.html:8 templates/web/emptyhomes/header.html:29 templates/web/fiksgatami/footer.html:6 msgid "All reports" msgstr "" -#: templates/web/default/report/new/some_councils_text.html:2 +#: templates/web/default/report/new/councils_text_some.html:2 msgid "All the information you provide here will be sent to" msgstr "" -#: templates/web/default/report/new/all_councils_text.html:3 templates/web/default/report/new/all_councils_text.html:5 +#: templates/web/default/report/new/councils_text_all.html:3 templates/web/default/report/new/councils_text_all.html:5 msgid "All the information you provide here will be sent to <strong>%s</strong> or a relevant local body such as <strong>TfL</strong>, via the London Report-It system." msgstr "" -#: templates/web/default/report/new/all_councils_text.html:10 templates/web/default/report/new/all_councils_text.html:12 +#: templates/web/default/report/new/councils_text_all.html:10 templates/web/default/report/new/councils_text_all.html:12 templates/web/default/report/new/fill_in_details_form.html:11 templates/web/default/report/new/fill_in_details_form.html:13 msgid "All the information you provide here will be sent to <strong>%s</strong>." msgstr "" @@ -293,7 +301,7 @@ msgstr "" msgid "An update marked this problem as fixed." msgstr "" -#: templates/web/default/admin/list_updates.html:10 templates/web/default/admin/search_reports.html:18 +#: templates/web/default/admin/list_flagged.html:15 templates/web/default/admin/list_updates.html:10 templates/web/default/admin/search_reports.html:18 msgid "Anonymous" msgstr "" @@ -301,6 +309,26 @@ msgstr "" msgid "Anonymous:" msgstr "" +#: templates/web/default/footer.html:29 +msgid "Are you a developer? Would you like to contribute to FixMyStreet?" +msgstr "" + +#: templates/web/default/footer.html:26 +msgid "Are you from a council? Would you like better integration with FixMyStreet?" +msgstr "" + +#: templates/web/default/open311/index.html:17 +msgid "At most %d requests are returned in each query. The returned requests are ordered by requested_datetime, so to get all requests, do several searches with rolling start_date and end_date." +msgstr "" + +#: templates/web/default/open311/index.html:9 +msgid "At the moment only searching for and looking at reports work." +msgstr "" + +#: templates/web/default/admin/report_blocks.html:11 +msgid "Ban email address" +msgstr "" + #: templates/web/default/footer.html:16 msgid "Built by <a href=\"http://www.mysociety.org/\">mySociety</a>" msgstr "" @@ -309,7 +337,7 @@ msgstr "" msgid "Built by <a href=\"http://www.mysociety.org/\">mySociety</a> and maintained by <a href=\"http://www.nuug.no/\">NUUG</a>" msgstr "" -#: templates/web/default/admin/council_contacts.html:19 templates/web/default/admin/index.html:36 templates/web/default/admin/search_reports.html:17 +#: templates/web/default/admin/council_contacts.html:19 templates/web/default/admin/index.html:36 templates/web/default/admin/list_flagged.html:14 templates/web/default/admin/search_reports.html:17 msgid "Category" msgstr "" @@ -317,7 +345,7 @@ msgstr "" msgid "Category fix rate for problems > 4 weeks old" msgstr "" -#: perllib/FixMyStreet/App/Controller/Report/New.pm:480 perllib/FixMyStreet/App/Controller/Report/New.pm:506 templates/web/default/admin/council_contacts.html:56 templates/web/default/admin/council_edit.html:23 templates/web/default/admin/report_edit.html:26 +#: perllib/FixMyStreet/App/Controller/Report/New.pm:507 perllib/FixMyStreet/App/Controller/Report/New.pm:533 templates/web/default/admin/council_contacts.html:56 templates/web/default/admin/council_edit.html:23 templates/web/default/admin/report_edit.html:26 templates/web/default/report/new/fill_in_details_form.html:67 msgid "Category:" msgstr "" @@ -329,7 +357,7 @@ msgstr "" msgid "Change Password" msgstr "" -#: templates/web/default/around/display_location.html:105 templates/web/default/around/display_location.html:107 +#: templates/web/default/around/display_location.html:102 templates/web/default/around/display_location.html:104 msgid "Closest nearby problems <small>(within %skm)</small>" msgstr "" @@ -337,7 +365,7 @@ msgstr "" msgid "Co-ordinates:" msgstr "" -#: templates/web/default/admin/list_updates.html:11 templates/web/default/admin/search_reports.html:19 +#: templates/web/default/admin/list_flagged.html:16 templates/web/default/admin/list_updates.html:11 templates/web/default/admin/search_reports.html:19 msgid "Cobrand" msgstr "" @@ -361,11 +389,11 @@ msgstr "" msgid "Confirmation" msgstr "" -#: templates/web/default/admin/council_contacts.html:21 templates/web/default/admin/council_contacts.html:66 templates/web/default/admin/council_edit.html:28 templates/web/default/admin/council_edit.html:43 +#: templates/web/default/admin/council_contacts.html:21 templates/web/default/admin/council_contacts.html:66 templates/web/default/admin/council_edit.html:28 templates/web/default/admin/council_edit.html:43 templates/web/default/admin/stats.html:5 msgid "Confirmed" msgstr "" -#: templates/web/default/admin/report_edit.html:31 templates/web/default/admin/search_reports.html:47 +#: templates/web/default/admin/problem_row.html:23 templates/web/default/admin/report_edit.html:31 msgid "Confirmed:" msgstr "" @@ -373,7 +401,7 @@ msgstr "" msgid "Contact" msgstr "" -#: templates/web/default/footer.html:18 +#: templates/web/default/footer.html:17 msgid "Contact FixMyStreet" msgstr "" @@ -385,11 +413,15 @@ msgstr "" msgid "Contact the team" msgstr "" -#: templates/web/default/admin/search_reports.html:16 +#: perllib/FixMyStreet/App/Controller/Admin.pm:965 perllib/FixMyStreet/App/Controller/Admin.pm:993 +msgid "Could not find user" +msgstr "" + +#: templates/web/default/admin/list_flagged.html:13 templates/web/default/admin/search_reports.html:16 msgid "Council" msgstr "" -#: perllib/FixMyStreet/App/Controller/Admin.pm:612 templates/web/default/admin/council_list.html:1 +#: perllib/FixMyStreet/App/Controller/Admin.pm:839 templates/web/default/admin/council_list.html:1 msgid "Council contacts" msgstr "" @@ -401,6 +433,10 @@ msgstr "" msgid "Councils" msgstr "" +#: templates/web/default/admin/stats.html:10 +msgid "Count" +msgstr "" + #: templates/web/default/email_sent.html:1 msgid "Create a report" msgstr "" @@ -409,7 +445,7 @@ msgstr "" msgid "Create category" msgstr "" -#: templates/web/default/admin/list_updates.html:9 templates/web/default/admin/search_reports.html:20 +#: templates/web/default/admin/list_flagged.html:17 templates/web/default/admin/list_updates.html:9 templates/web/default/admin/search_reports.html:20 msgid "Created" msgstr "" @@ -417,6 +453,10 @@ msgstr "" msgid "Created:" msgstr "" +#: templates/web/default/admin/stats.html:9 +msgid "Current state" +msgstr "" + #: templates/web/default/admin/council_list.html:40 msgid "Currently has 1+ deleted" msgstr "" @@ -425,7 +465,7 @@ msgstr "" msgid "Deleted" msgstr "" -#: templates/web/default/admin/report_edit.html:14 templates/web/default/report/new/fill_in_details.html:99 +#: templates/web/default/admin/report_edit.html:14 templates/web/default/report/new/fill_in_details_form.html:61 msgid "Details:" msgstr "" @@ -441,7 +481,7 @@ msgstr "" msgid "Don’t know" msgstr "" -#: templates/web/default/admin/list_updates.html:31 templates/web/default/admin/search_reports.html:52 +#: templates/web/default/admin/list_updates.html:31 templates/web/default/admin/problem_row.html:28 msgid "Edit" msgstr "" @@ -457,11 +497,19 @@ msgstr "" msgid "Editor" msgstr "" -#: templates/web/default/admin/council_contacts.html:20 templates/web/default/admin/council_edit.html:42 templates/web/default/admin/list_updates.html:8 templates/web/default/admin/search_reports.html:15 +#: templates/web/default/admin/council_contacts.html:20 templates/web/default/admin/council_edit.html:42 templates/web/default/admin/list_flagged.html:12 templates/web/default/admin/list_flagged.html:35 templates/web/default/admin/list_updates.html:8 templates/web/default/admin/search_abuse.html:11 templates/web/default/admin/search_reports.html:15 msgid "Email" msgstr "" -#: templates/web/default/around/display_location.html:71 +#: perllib/FixMyStreet/App/Controller/Admin.pm:941 +msgid "Email added to abuse list" +msgstr "" + +#: perllib/FixMyStreet/App/Controller/Admin.pm:938 +msgid "Email already in abuse list" +msgstr "" + +#: templates/web/default/around/display_location.html:84 msgid "Email me new local problems" msgstr "" @@ -473,15 +521,15 @@ msgstr "" msgid "Email:" msgstr "" -#: perllib/FixMyStreet/App/Controller/Report/New.pm:465 +#: perllib/FixMyStreet/App/Controller/Report/New.pm:492 msgid "Empty flat or maisonette" msgstr "" -#: perllib/FixMyStreet/App/Controller/Report/New.pm:464 +#: perllib/FixMyStreet/App/Controller/Report/New.pm:491 msgid "Empty house or bungalow" msgstr "" -#: perllib/FixMyStreet/App/Controller/Report/New.pm:467 +#: perllib/FixMyStreet/App/Controller/Report/New.pm:494 msgid "Empty office or other commercial" msgstr "" @@ -489,23 +537,35 @@ msgstr "" msgid "Empty property details form" msgstr "" -#: perllib/FixMyStreet/App/Controller/Report/New.pm:468 +#: perllib/FixMyStreet/App/Controller/Report/New.pm:495 msgid "Empty pub or bar" msgstr "" -#: perllib/FixMyStreet/App/Controller/Report/New.pm:469 +#: perllib/FixMyStreet/App/Controller/Report/New.pm:496 msgid "Empty public building - school, hospital, etc." msgstr "" +#: templates/web/default/admin/stats.html:47 +msgid "End Year:" +msgstr "" + +#: templates/web/default/admin/stats.html:49 +msgid "End day:" +msgstr "" + +#: templates/web/default/admin/stats.html:48 +msgid "End month:" +msgstr "" + #: templates/web/default/around/around_index.html:10 templates/web/default/around/around_index.html:13 templates/web/default/index.html:24 templates/web/default/index.html:27 msgid "Enter a nearby GB postcode, or street name and area" msgstr "" -#: perllib/FixMyStreet/Cobrand/FiksGataMi.pm:27 +#: perllib/FixMyStreet/Cobrand/FiksGataMi.pm:32 msgid "Enter a nearby postcode, or street name and area" msgstr "" -#: templates/web/default/auth/general.html:64 templates/web/default/report/display.html:167 templates/web/default/report/new/fill_in_details.html:182 +#: templates/web/default/auth/general.html:64 templates/web/default/report/display.html:167 templates/web/default/report/new/fill_in_details_form.html:161 msgid "Enter a new password:" msgstr "" @@ -521,19 +581,27 @@ msgstr "" msgid "Example postcode %s" msgstr "" +#: templates/web/default/open311/index.html:27 +msgid "Examples:" +msgstr "" + #: templates/web/default/contact/submit.html:15 msgid "Failed to send message. Please try again, or <a href=\"mailto:%s\">email us</a>." msgstr "" +#: templates/web/default/footer.html:27 +msgid "Find out about FixMyStreet for councils" +msgstr "" + #: templates/web/default/questionnaire/index.html:81 msgid "First time" msgstr "" -#: templates/web/default/header.html:20 templates/web/fiksgatami/header.html:14 +#: templates/web/default/header.html:22 templates/web/fiksgatami/header.html:13 msgid "Fix<span id=\"my\">My</span>Street" msgstr "" -#: templates/web/default/admin/header.html:12 +#: templates/web/default/admin/header.html:13 msgid "FixMyStreet admin:" msgstr "" @@ -570,10 +638,18 @@ msgstr "" msgid "Fixed reports" msgstr "" -#: templates/web/default/admin/search_reports.html:48 +#: templates/web/default/admin/problem_row.html:24 msgid "Fixed:" msgstr "" +#: templates/web/default/admin/report_blocks.html:16 +msgid "Flag user" +msgstr "" + +#: templates/web/default/admin/report_edit.html:38 +msgid "Flagged:" +msgstr "" + #: templates/web/default/reports/council.html:23 msgid "Follow a ward link to view only reports within that ward." msgstr "" @@ -590,6 +666,10 @@ msgstr "" msgid "Further information about our work on empty homes." msgstr "" +#: templates/web/default/open311/index.html:69 +msgid "GeoRSS on Google Maps" +msgstr "" + #: templates/web/default/alert/list.html:112 msgid "Give me an RSS feed" msgstr "" @@ -618,7 +698,7 @@ msgstr "" msgid "Have you ever reported a problem to a council before, or is this your first time?" msgstr "" -#: templates/web/default/footer.html:10 templates/web/emptyhomes/header.html:33 templates/web/fiksgatami/footer.html:8 +#: templates/web/default/footer.html:10 templates/web/emptyhomes/header.html:31 templates/web/fiksgatami/footer.html:8 msgid "Help" msgstr "" @@ -630,11 +710,11 @@ msgstr "" msgid "Hidden" msgstr "" -#: templates/web/default/around/display_location.html:52 +#: templates/web/default/around/display_location.html:54 msgid "Hide pins" msgstr "" -#: templates/web/default/around/display_location.html:57 +#: templates/web/default/around/display_location.html:59 msgid "Hide stale reports" msgstr "" @@ -646,7 +726,7 @@ msgstr "" msgid "How to report a problem" msgstr "" -#: perllib/FixMyStreet/App/Controller/Admin.pm:530 +#: perllib/FixMyStreet/App/Controller/Admin.pm:546 msgid "I am afraid you cannot confirm unconfirmed reports." msgstr "" @@ -654,15 +734,19 @@ msgstr "" msgid "I'm afraid we couldn't locate your problem in the database.\n" msgstr "" -#: perllib/FixMyStreet/App/Controller/Tokens.pm:173 +#: perllib/FixMyStreet/App/Controller/Tokens.pm:43 +msgid "I'm afraid we couldn't validate that token, as the report was made too long ago." +msgstr "" + +#: perllib/FixMyStreet/App/Controller/Tokens.pm:232 msgid "I'm afraid we couldn't validate that token. If you've copied the URL from an email, please check that you copied it exactly.\n" msgstr "" -#: templates/web/default/admin/list_updates.html:5 templates/web/default/admin/search_reports.html:12 +#: templates/web/default/admin/list_flagged.html:9 templates/web/default/admin/list_updates.html:5 templates/web/default/admin/search_reports.html:12 msgid "ID" msgstr "" -#: templates/web/default/report/new/no_councils_text.html:11 templates/web/default/report/new/no_councils_text.html:3 +#: templates/web/default/report/new/councils_text_none.html:11 templates/web/default/report/new/councils_text_none.html:3 msgid "If you submit a problem here the subject and details of the problem will be public, but the problem will <strong>not</strong> be reported to the council." msgstr "" @@ -681,7 +765,7 @@ msgid "" "your experience of getting the problem fixed?" msgstr "" -#: perllib/FixMyStreet/App/Controller/Contact.pm:109 +#: perllib/FixMyStreet/App/Controller/Contact.pm:111 msgid "Illegal ID" msgstr "" @@ -689,15 +773,43 @@ msgstr "" msgid "Illegal feed selection" msgstr "" -#: templates/web/default/around/display_location.html:59 +#: templates/web/default/open311/index.html:21 +msgid "In addition, the following attributes that are not part of the Open311 v2 specification are returned: agency_sent_datetime, title (also returned as part of description), interface_used, comment_count, requestor_name (only present if requestor allowed the name to be shown on this site)." +msgstr "" + +#: templates/web/default/around/display_location.html:61 msgid "Include stale reports" msgstr "" +#: templates/web/default/admin/stats.html:53 +msgid "Include unconfirmed reports" +msgstr "" + +#: perllib/FixMyStreet/App/Controller/Open311.pm:355 +msgid "Incorrect has_photo value \"%s\"" +msgstr "" + +#: perllib/FixMyStreet/App/Controller/Open311.pm:340 +msgid "Invalid agency_responsible value %s" +msgstr "" + +#: perllib/FixMyStreet/App/Controller/Admin.pm:785 +msgid "Invalid end date" +msgstr "" + +#: perllib/FixMyStreet/App/Controller/Open311.pm:423 +msgid "Invalid format %s specified." +msgstr "" + +#: perllib/FixMyStreet/App/Controller/Admin.pm:775 +msgid "Invalid start date" +msgstr "" + #: templates/web/emptyhomes/tokens/confirm_problem.html:12 templates/web/emptyhomes/tokens/confirm_problem.html:14 msgid "It is worth noting however that the process can sometimes be slow, especially if the property is in very poor repair or the owner is unwilling to act. In most cases it can take six months or more before you can expect to see anything change and sometimes there may be considerable barries to a property being brought back into use. This doesn’t mean the council isn’t doing anything. We encourage councils to update the website so you can see what is happening. It may be a long process, but you reporting your concerns about this property to the council is a valuable first step." msgstr "" -#: templates/web/default/auth/general.html:44 templates/web/default/report/display.html:149 templates/web/default/report/new/fill_in_details.html:164 +#: templates/web/default/auth/general.html:44 templates/web/default/report/display.html:149 templates/web/default/report/new/fill_in_details_form.html:143 msgid "Keep me signed in on this computer" msgstr "" @@ -709,14 +821,22 @@ msgstr "" msgid "Last update:" msgstr "" -#: templates/web/default/admin/search_reports.html:49 +#: templates/web/default/admin/problem_row.html:25 msgid "Last update:" msgstr "" +#: perllib/FixMyStreet/App/Controller/Admin.pm:844 +msgid "List Flagged" +msgstr "" + #: templates/web/default/admin/council_contacts.html:11 msgid "List all reported problems" msgstr "" +#: templates/web/default/report/new/fill_in_details_form.html:68 +msgid "Loading..." +msgstr "" + #: templates/web/default/alert/choose.html:1 templates/web/default/alert/choose.html:3 templates/web/default/alert/index.html:1 templates/web/default/alert/index.html:3 templates/web/default/alert/list.html:1 templates/web/default/alert/list.html:5 templates/web/default/alert/updates.html:1 templates/web/default/tokens/confirm_alert.html:1 templates/web/default/tokens/confirm_alert.html:3 msgid "Local RSS feeds and email alerts" msgstr "" @@ -725,7 +845,7 @@ msgstr "" msgid "Local RSS feeds and email alerts for ‘%s’" msgstr "" -#: templates/web/default/footer.html:9 templates/web/emptyhomes/header.html:32 templates/web/fiksgatami/footer.html:7 +#: templates/web/default/footer.html:9 templates/web/emptyhomes/header.html:30 templates/web/fiksgatami/footer.html:7 msgid "Local alerts" msgstr "" @@ -749,11 +869,15 @@ msgstr "" msgid "Message:" msgstr "" +#: perllib/FixMyStreet/App/Controller/Open311.pm:431 +msgid "Missing jurisdiction_id" +msgstr "" + #: templates/web/default/report/display.html:38 msgid "More problems nearby" msgstr "" -#: templates/web/default/admin/list_updates.html:7 templates/web/default/admin/search_reports.html:14 templates/web/default/reports/index.html:10 templates/web/emptyhomes/reports/index.html:10 templates/web/fiksgatami/reports/index.html:9 +#: templates/web/default/admin/list_flagged.html:11 templates/web/default/admin/list_flagged.html:34 templates/web/default/admin/list_updates.html:7 templates/web/default/admin/search_reports.html:14 templates/web/default/reports/index.html:10 templates/web/emptyhomes/reports/index.html:10 templates/web/fiksgatami/reports/index.html:9 msgid "Name" msgstr "" @@ -781,7 +905,7 @@ msgstr "" msgid "Nearly Done! Now check your email..." msgstr "" -#: perllib/FixMyStreet/App/Controller/Admin.pm:299 +#: perllib/FixMyStreet/App/Controller/Admin.pm:300 msgid "New category contact added" msgstr "" @@ -845,11 +969,11 @@ msgstr "" msgid "New!" msgstr "" -#: templates/web/default/admin/council_contacts.html:32 templates/web/default/admin/council_contacts.html:33 templates/web/default/admin/council_edit.html:4 templates/web/default/admin/list_updates.html:28 templates/web/default/admin/report_edit.html:19 templates/web/default/admin/report_edit.html:37 templates/web/default/admin/search_reports.html:43 templates/web/default/admin/update_edit.html:16 templates/web/default/questionnaire/creator_fixed.html:16 templates/web/default/questionnaire/index.html:109 templates/web/default/questionnaire/index.html:70 +#: templates/web/default/admin/council_contacts.html:32 templates/web/default/admin/council_contacts.html:33 templates/web/default/admin/council_edit.html:4 templates/web/default/admin/list_updates.html:28 templates/web/default/admin/problem_row.html:19 templates/web/default/admin/report_edit.html:19 templates/web/default/admin/report_edit.html:37 templates/web/default/admin/update_edit.html:16 templates/web/default/questionnaire/creator_fixed.html:16 templates/web/default/questionnaire/index.html:109 templates/web/default/questionnaire/index.html:70 msgid "No" msgstr "" -#: perllib/FixMyStreet/DB/Result/Problem.pm:187 +#: perllib/FixMyStreet/DB/Result/Problem.pm:189 msgid "No council selected" msgstr "" @@ -857,6 +981,14 @@ msgstr "" msgid "No edits have yet been made." msgstr "" +#: templates/web/default/admin/list_flagged.html:26 +msgid "No flagged problems found" +msgstr "" + +#: templates/web/default/admin/list_flagged.html:47 +msgid "No flagged users found" +msgstr "" + #: templates/web/default/admin/council_list.html:38 msgid "No info at all" msgstr "" @@ -885,11 +1017,19 @@ msgstr "" msgid "Note" msgstr "" +#: templates/web/default/admin/stats.html:28 +msgid "Note that when including unconfirmed reports we use the date the report was created which may not be in the same month the report was confirmed so the numbers may jump about a little" +msgstr "" + #: templates/web/default/admin/council_contacts.html:73 templates/web/default/admin/council_edit.html:31 msgid "Note:" msgstr "" -#: templates/web/default/report/new/fill_in_details.html:148 +#: templates/web/default/open311/index.html:6 +msgid "Note: <strong>%s</strong>" +msgstr "" + +#: templates/web/default/report/new/fill_in_details_form.html:127 msgid "Now to submit your report… do you have a FixMyStreet password?" msgstr "" @@ -933,6 +1073,18 @@ msgstr "" msgid "Open reports" msgstr "" +#: templates/web/default/open311/index.html:3 +msgid "Open311 API for the mySociety FixMyStreet server" +msgstr "" + +#: templates/web/default/open311/index.html:13 +msgid "Open311 initiative web page" +msgstr "" + +#: templates/web/default/open311/index.html:14 +msgid "Open311 specification" +msgstr "" + #: templates/web/default/alert/list.html:87 msgid "Or problems reported to:" msgstr "" @@ -941,10 +1093,14 @@ msgstr "" msgid "Or you can subscribe to an alert based upon what ward or council you’re in:" msgstr "" -#: bin/send-reports:171 bin/send-reports:180 perllib/FixMyStreet/App/Controller/Report/New.pm:496 perllib/FixMyStreet/App/Controller/Report/New.pm:505 perllib/FixMyStreet/App/Controller/Report/New.pm:869 perllib/FixMyStreet/DB/Result/Problem.pm:316 perllib/FixMyStreet/DB/Result/Problem.pm:326 perllib/FixMyStreet/DB/Result/Problem.pm:336 perllib/FixMyStreet/DB/Result/Problem.pm:348 +#: bin/send-reports:171 bin/send-reports:180 perllib/FixMyStreet/App/Controller/Report/New.pm:523 perllib/FixMyStreet/App/Controller/Report/New.pm:532 perllib/FixMyStreet/App/Controller/Report/New.pm:903 perllib/FixMyStreet/DB/Result/Problem.pm:318 perllib/FixMyStreet/DB/Result/Problem.pm:328 perllib/FixMyStreet/DB/Result/Problem.pm:338 perllib/FixMyStreet/DB/Result/Problem.pm:350 msgid "Other" msgstr "" +#: templates/web/default/footer.html:30 +msgid "Our code is open source and <a href=\"http://github.com/mysociety/fixmystreet\">available on GitHub</a>." +msgstr "" + #: templates/web/default/errors/page_error_404_not_found.html:1 templates/web/default/errors/page_error_404_not_found.html:3 msgid "Page Not Found" msgstr "" @@ -957,11 +1113,11 @@ msgstr "" msgid "Password:" msgstr "" -#: bin/send-reports:68 templates/web/default/admin/report_edit.html:29 templates/web/default/report/new/fill_in_details.html:231 +#: bin/send-reports:68 templates/web/default/admin/report_edit.html:29 templates/web/default/report/new/fill_in_details_form.html:206 msgid "Phone:" msgstr "" -#: templates/web/default/questionnaire/index.html:97 templates/web/default/report/display.html:109 templates/web/default/report/new/fill_in_details.html:119 +#: templates/web/default/questionnaire/index.html:97 templates/web/default/report/display.html:109 templates/web/default/report/new/fill_in_details_form.html:98 msgid "Photo:" msgstr "" @@ -989,11 +1145,11 @@ msgstr "" msgid "Please check your email address is correct" msgstr "" -#: perllib/FixMyStreet/App/Controller/Report/New.pm:652 perllib/FixMyStreet/App/Controller/Report/New.pm:671 perllib/FixMyStreet/App/Controller/Report/New.pm:688 perllib/FixMyStreet/DB/Result/Problem.pm:206 +#: perllib/FixMyStreet/App/Controller/Report/New.pm:686 perllib/FixMyStreet/App/Controller/Report/New.pm:705 perllib/FixMyStreet/App/Controller/Report/New.pm:722 perllib/FixMyStreet/DB/Result/Problem.pm:208 msgid "Please choose a category" msgstr "" -#: perllib/FixMyStreet/DB/Result/Problem.pm:212 +#: perllib/FixMyStreet/DB/Result/Problem.pm:214 msgid "Please choose a property type" msgstr "" @@ -1016,31 +1172,31 @@ msgstr "" msgid "Please enter a password" msgstr "" -#: perllib/FixMyStreet/App/Controller/Contact.pm:95 perllib/FixMyStreet/DB/Result/Problem.pm:181 +#: perllib/FixMyStreet/App/Controller/Contact.pm:97 perllib/FixMyStreet/DB/Result/Problem.pm:183 msgid "Please enter a subject" msgstr "" -#: perllib/FixMyStreet/DB/Result/User.pm:92 +#: perllib/FixMyStreet/DB/Result/User.pm:94 msgid "Please enter a valid email" msgstr "" -#: perllib/FixMyStreet/App/Controller/Alert.pm:345 perllib/FixMyStreet/App/Controller/Contact.pm:105 +#: perllib/FixMyStreet/App/Controller/Alert.pm:345 perllib/FixMyStreet/App/Controller/Contact.pm:107 msgid "Please enter a valid email address" msgstr "" -#: perllib/FixMyStreet/DB/Result/Problem.pm:184 +#: perllib/FixMyStreet/DB/Result/Problem.pm:186 msgid "Please enter some details" msgstr "" -#: perllib/FixMyStreet/App/Controller/Contact.pm:94 perllib/FixMyStreet/DB/Result/User.pm:89 templates/web/default/auth/general.html:13 templates/web/default/auth/general.html:8 +#: perllib/FixMyStreet/App/Controller/Contact.pm:96 perllib/FixMyStreet/DB/Result/User.pm:91 templates/web/default/auth/general.html:13 templates/web/default/auth/general.html:8 msgid "Please enter your email" msgstr "" -#: perllib/FixMyStreet/DB/Result/Problem.pm:199 +#: perllib/FixMyStreet/DB/Result/Problem.pm:201 msgid "Please enter your full name, councils need this information - if you do not wish your name to be shown on the site, untick the box" msgstr "" -#: perllib/FixMyStreet/App/Controller/Contact.pm:93 perllib/FixMyStreet/DB/Result/Comment.pm:108 perllib/FixMyStreet/DB/Result/Problem.pm:192 perllib/FixMyStreet/DB/Result/User.pm:85 +#: perllib/FixMyStreet/App/Controller/Contact.pm:95 perllib/FixMyStreet/DB/Result/Comment.pm:108 perllib/FixMyStreet/DB/Result/Problem.pm:194 perllib/FixMyStreet/DB/Result/User.pm:87 msgid "Please enter your name" msgstr "" @@ -1066,7 +1222,7 @@ msgid "" "photo of the problem if you have one), etc." msgstr "" -#: templates/web/default/report/new/fill_in_details.html:48 +#: templates/web/default/report/new/fill_in_details_form.html:27 msgid "Please fill in the form below with details of the problem, and describe the location as precisely as possible in the details box." msgstr "" @@ -1078,7 +1234,7 @@ msgstr "" msgid "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>" msgstr "" -#: templates/web/default/report/new/fill_in_details.html:33 +#: templates/web/default/report/new/fill_in_details_form.html:5 msgid "Please note your report has <strong>not yet been sent</strong>. Choose a category and add further information below, then submit." msgstr "" @@ -1114,11 +1270,11 @@ msgstr "" msgid "Please take a look at the updates that have been left." msgstr "" -#: perllib/FixMyStreet/App/Controller/Report/New.pm:740 +#: perllib/FixMyStreet/App/Controller/Report/New.pm:774 msgid "Please upload a JPEG image only" msgstr "" -#: perllib/FixMyStreet/App/Controller/Contact.pm:96 +#: perllib/FixMyStreet/App/Controller/Contact.pm:98 msgid "Please write a message" msgstr "" @@ -1134,7 +1290,7 @@ msgstr "" msgid "Posted by %s at %s" msgstr "" -#: perllib/FixMyStreet/Map/Tilma/Original.pm:92 templates/web/default/maps/openlayers.html:89 templates/web/default/maps/tilma/original.html:63 +#: templates/web/default/maps/openlayers.html:89 msgid "Problem" msgstr "" @@ -1154,7 +1310,7 @@ msgstr "" msgid "Problem breakdown by state" msgstr "" -#: perllib/FixMyStreet/App/Controller/Admin.pm:759 +#: perllib/FixMyStreet/App/Controller/Admin.pm:703 msgid "Problem marked as open." msgstr "" @@ -1162,7 +1318,11 @@ msgstr "" msgid "Problem state change based on survey results" msgstr "" -#: templates/web/default/around/display_location.html:67 +#: templates/web/default/admin/list_flagged.html:5 +msgid "Problems" +msgstr "" + +#: templates/web/default/around/display_location.html:80 msgid "Problems in this area" msgstr "" @@ -1174,11 +1334,11 @@ msgstr "" msgid "Problems within %.1fkm of this location" msgstr "" -#: perllib/FixMyStreet/Cobrand/Default.pm:792 perllib/FixMyStreet/Cobrand/EmptyHomes.pm:162 perllib/FixMyStreet/Cobrand/FiksGataMi.pm:172 +#: perllib/FixMyStreet/Cobrand/Default.pm:782 perllib/FixMyStreet/Cobrand/EmptyHomes.pm:162 perllib/FixMyStreet/Cobrand/FiksGataMi.pm:177 msgid "Problems within %s" msgstr "" -#: perllib/FixMyStreet/Cobrand/Default.pm:801 perllib/FixMyStreet/Cobrand/EmptyHomes.pm:170 +#: perllib/FixMyStreet/Cobrand/Default.pm:791 perllib/FixMyStreet/Cobrand/EmptyHomes.pm:170 msgid "Problems within %s ward" msgstr "" @@ -1194,7 +1354,7 @@ msgstr "" msgid "Properties recently reported as put back to use on reportemptyhomes.com" msgstr "" -#: perllib/FixMyStreet/App/Controller/Report/New.pm:471 +#: perllib/FixMyStreet/App/Controller/Report/New.pm:498 msgid "Property type:" msgstr "" @@ -1202,7 +1362,7 @@ msgstr "" msgid "Provide an update" msgstr "" -#: templates/web/default/report/display.html:172 templates/web/default/report/new/fill_in_details.html:187 +#: templates/web/default/report/display.html:172 templates/web/default/report/new/fill_in_details_form.html:166 msgid "Providing a password is optional, but doing so will allow you to more easily report problems, leave updates and manage your reports." msgstr "" @@ -1226,19 +1386,19 @@ msgstr "" msgid "RSS feed" msgstr "" -#: perllib/FixMyStreet/Cobrand/Default.pm:830 perllib/FixMyStreet/Cobrand/Default.pm:844 +#: perllib/FixMyStreet/Cobrand/Default.pm:820 perllib/FixMyStreet/Cobrand/Default.pm:834 msgid "RSS feed for %s" msgstr "" -#: perllib/FixMyStreet/Cobrand/Default.pm:837 perllib/FixMyStreet/Cobrand/Default.pm:851 +#: perllib/FixMyStreet/Cobrand/Default.pm:827 perllib/FixMyStreet/Cobrand/Default.pm:841 msgid "RSS feed for %s ward, %s" msgstr "" -#: perllib/FixMyStreet/Cobrand/Default.pm:860 perllib/FixMyStreet/Cobrand/Default.pm:874 perllib/FixMyStreet/Cobrand/FiksGataMi.pm:188 perllib/FixMyStreet/Cobrand/FiksGataMi.pm:196 perllib/FixMyStreet/Cobrand/FiksGataMi.pm:206 perllib/FixMyStreet/Cobrand/FiksGataMi.pm:214 +#: perllib/FixMyStreet/Cobrand/Default.pm:850 perllib/FixMyStreet/Cobrand/Default.pm:864 perllib/FixMyStreet/Cobrand/FiksGataMi.pm:193 perllib/FixMyStreet/Cobrand/FiksGataMi.pm:201 perllib/FixMyStreet/Cobrand/FiksGataMi.pm:211 perllib/FixMyStreet/Cobrand/FiksGataMi.pm:219 msgid "RSS feed of %s" msgstr "" -#: perllib/FixMyStreet/Cobrand/Default.pm:866 perllib/FixMyStreet/Cobrand/Default.pm:880 +#: perllib/FixMyStreet/Cobrand/Default.pm:856 perllib/FixMyStreet/Cobrand/Default.pm:870 msgid "RSS feed of %s, within %s ward" msgstr "" @@ -1250,11 +1410,11 @@ msgstr "" msgid "RSS feed of problems in this %s" msgstr "" -#: perllib/FixMyStreet/Cobrand/Default.pm:793 perllib/FixMyStreet/Cobrand/EmptyHomes.pm:163 perllib/FixMyStreet/Cobrand/FiksGataMi.pm:171 +#: perllib/FixMyStreet/Cobrand/Default.pm:783 perllib/FixMyStreet/Cobrand/EmptyHomes.pm:163 perllib/FixMyStreet/Cobrand/FiksGataMi.pm:176 msgid "RSS feed of problems within %s" msgstr "" -#: perllib/FixMyStreet/Cobrand/Default.pm:800 perllib/FixMyStreet/Cobrand/EmptyHomes.pm:169 +#: perllib/FixMyStreet/Cobrand/Default.pm:790 perllib/FixMyStreet/Cobrand/EmptyHomes.pm:169 msgid "RSS feed of problems within %s ward" msgstr "" @@ -1286,7 +1446,11 @@ msgstr "" msgid "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." msgstr "" -#: templates/web/default/admin/report_edit.html:43 templates/web/default/admin/update_edit.html:33 +#: templates/web/default/admin/report_blocks.html:16 +msgid "Remove flag" +msgstr "" + +#: templates/web/default/admin/report_edit.html:44 templates/web/default/admin/update_edit.html:33 msgid "Remove photo (can't be undone!)" msgstr "" @@ -1294,11 +1458,11 @@ msgstr "" msgid "Report Empty Homes" msgstr "" -#: templates/web/default/footer.html:6 templates/web/emptyhomes/header.html:30 templates/web/fiksgatami/footer.html:5 +#: templates/web/default/footer.html:6 templates/web/emptyhomes/header.html:28 templates/web/fiksgatami/footer.html:5 msgid "Report a problem" msgstr "" -#: perllib/FixMyStreet/App/Controller/Rss.pm:252 +#: perllib/FixMyStreet/App/Controller/Rss.pm:268 msgid "Report on %s" msgstr "" @@ -1314,7 +1478,7 @@ msgstr "" msgid "Reported %s, to %s" msgstr "" -#: perllib/FixMyStreet/DB/Result/Problem.pm:331 templates/web/default/contact/index.html:45 +#: perllib/FixMyStreet/DB/Result/Problem.pm:333 templates/web/default/contact/index.html:45 msgid "Reported anonymously at %s" msgstr "" @@ -1322,39 +1486,39 @@ msgstr "" msgid "Reported before" msgstr "" -#: perllib/FixMyStreet/DB/Result/Problem.pm:323 +#: perllib/FixMyStreet/DB/Result/Problem.pm:325 msgid "Reported by %s anonymously at %s" msgstr "" -#: perllib/FixMyStreet/DB/Result/Problem.pm:354 templates/web/default/contact/index.html:47 +#: perllib/FixMyStreet/DB/Result/Problem.pm:356 templates/web/default/contact/index.html:47 msgid "Reported by %s at %s" msgstr "" -#: perllib/FixMyStreet/DB/Result/Problem.pm:345 +#: perllib/FixMyStreet/DB/Result/Problem.pm:347 msgid "Reported by %s by %s at %s" msgstr "" -#: perllib/FixMyStreet/DB/Result/Problem.pm:319 +#: perllib/FixMyStreet/DB/Result/Problem.pm:321 msgid "Reported by %s in the %s category anonymously at %s" msgstr "" -#: perllib/FixMyStreet/DB/Result/Problem.pm:339 +#: perllib/FixMyStreet/DB/Result/Problem.pm:341 msgid "Reported by %s in the %s category by %s at %s" msgstr "" -#: perllib/FixMyStreet/DB/Result/Problem.pm:327 +#: perllib/FixMyStreet/DB/Result/Problem.pm:329 msgid "Reported in the %s category anonymously at %s" msgstr "" -#: perllib/FixMyStreet/DB/Result/Problem.pm:349 +#: perllib/FixMyStreet/DB/Result/Problem.pm:351 msgid "Reported in the %s category by %s at %s" msgstr "" -#: templates/web/default/around/around_index.html:1 templates/web/default/report/new/fill_in_details.html:0 templates/web/default/report/new/fill_in_details.html:29 templates/web/default/report/new/fill_in_details.html:3 +#: templates/web/default/around/around_index.html:1 templates/web/default/report/new/fill_in_details.html:0 templates/web/default/report/new/fill_in_details.html:3 templates/web/default/report/new/fill_in_details_form.html:1 msgid "Reporting a problem" msgstr "" -#: templates/web/default/around/display_location.html:97 +#: templates/web/default/around/display_location.html:94 msgid "Reports on and around the map" msgstr "" @@ -1374,11 +1538,19 @@ msgstr "" msgid "Save changes" msgstr "" -#: perllib/FixMyStreet/App/Controller/Admin.pm:613 templates/web/default/admin/search_reports.html:1 +#: perllib/FixMyStreet/App/Controller/Admin.pm:843 +msgid "Search Abuse" +msgstr "" + +#: templates/web/default/admin/search_abuse.html:1 +msgid "Search Abuse Table" +msgstr "" + +#: perllib/FixMyStreet/App/Controller/Admin.pm:840 templates/web/default/admin/list_flagged.html:1 templates/web/default/admin/search_reports.html:1 msgid "Search Reports" msgstr "" -#: templates/web/default/admin/search_reports.html:5 +#: templates/web/default/admin/search_abuse.html:4 templates/web/default/admin/search_reports.html:5 msgid "Search:" msgstr "" @@ -1386,7 +1558,7 @@ msgstr "" msgid "Select which type of alert you'd like and click the button for an RSS feed, or enter your email address to subscribe to an email alert." msgstr "" -#: perllib/FixMyStreet/DB/Result/Problem.pm:396 +#: perllib/FixMyStreet/DB/Result/Problem.pm:398 msgid "Sent to %s %s later" msgstr "" @@ -1415,11 +1587,11 @@ msgid "" " significant contribution to the supply of affordable homes in Wales." msgstr "" -#: templates/web/default/report/display.html:205 templates/web/default/report/new/fill_in_details.html:226 +#: templates/web/default/report/display.html:205 templates/web/default/report/new/fill_in_details_form.html:201 msgid "Show my name publicly" msgstr "" -#: templates/web/default/around/display_location.html:50 +#: templates/web/default/around/display_location.html:52 msgid "Show pins" msgstr "" @@ -1435,11 +1607,11 @@ msgstr "" msgid "Sign in or create an account" msgstr "" -#: templates/web/default/auth/sign_out.html:1 templates/web/default/header.html:26 templates/web/emptyhomes/header.html:46 +#: templates/web/default/auth/sign_out.html:1 templates/web/default/header.html:28 templates/web/emptyhomes/header.html:44 templates/web/lichfielddc/header.html:174 msgid "Sign out" msgstr "" -#: templates/web/default/header.html:25 templates/web/emptyhomes/header.html:45 +#: templates/web/default/header.html:27 templates/web/emptyhomes/header.html:43 templates/web/lichfielddc/header.html:174 msgid "Signed in as %s" msgstr "" @@ -1447,7 +1619,7 @@ msgstr "" msgid "Some photos of recent reports" msgstr "" -#: perllib/FixMyStreet/App/View/Email.pm:32 perllib/FixMyStreet/App/View/Web.pm:41 +#: perllib/FixMyStreet/App/View/Email.pm:32 perllib/FixMyStreet/App/View/Web.pm:44 msgid "Some text to localize" msgstr "" @@ -1471,11 +1643,23 @@ msgstr "" msgid "Sorry, we could not parse that location. Please try again." msgstr "" -#: templates/web/default/footer.html:17 templates/web/fiksgatami/footer.html:15 +#: templates/web/fiksgatami/footer.html:15 msgid "Source code" msgstr "" -#: templates/web/default/admin/list_updates.html:6 templates/web/default/admin/search_reports.html:21 +#: templates/web/default/admin/stats.html:41 +msgid "Start Year:" +msgstr "" + +#: templates/web/default/admin/stats.html:43 +msgid "Start day:" +msgstr "" + +#: templates/web/default/admin/stats.html:42 +msgid "Start month:" +msgstr "" + +#: templates/web/default/admin/list_flagged.html:18 templates/web/default/admin/list_updates.html:6 templates/web/default/admin/search_reports.html:21 msgid "State" msgstr "" @@ -1483,15 +1667,19 @@ msgstr "" msgid "State:" msgstr "" -#: templates/web/default/admin/report_edit.html:13 templates/web/default/contact/index.html:83 templates/web/default/report/new/fill_in_details.html:90 +#: perllib/FixMyStreet/App/Controller/Admin.pm:845 templates/web/default/admin/stats.html:1 +msgid "Stats" +msgstr "" + +#: templates/web/default/admin/report_edit.html:13 templates/web/default/contact/index.html:83 templates/web/default/report/new/fill_in_details_form.html:52 msgid "Subject:" msgstr "" -#: templates/web/default/questionnaire/creator_fixed.html:19 templates/web/default/report/new/fill_in_details.html:131 templates/web/default/report/new/fill_in_details.html:169 templates/web/default/report/new/fill_in_details.html:190 +#: templates/web/default/questionnaire/creator_fixed.html:19 templates/web/default/report/new/fill_in_details_form.html:110 templates/web/default/report/new/fill_in_details_form.html:148 templates/web/default/report/new/fill_in_details_form.html:169 msgid "Submit" msgstr "" -#: templates/web/default/admin/report_edit.html:46 templates/web/default/admin/update_edit.html:36 +#: templates/web/default/admin/report_edit.html:47 templates/web/default/admin/update_edit.html:36 msgid "Submit changes" msgstr "" @@ -1507,7 +1695,7 @@ msgstr "" msgid "Subscribe me to an email alert" msgstr "" -#: perllib/FixMyStreet/App/Controller/Admin.pm:611 templates/web/default/admin/index.html:1 +#: perllib/FixMyStreet/App/Controller/Admin.pm:838 templates/web/default/admin/index.html:1 msgid "Summary" msgstr "" @@ -1515,7 +1703,7 @@ msgstr "" msgid "Summary reports" msgstr "" -#: perllib/FixMyStreet/App/Controller/Admin.pm:615 templates/web/default/admin/questionnaire.html:1 +#: perllib/FixMyStreet/App/Controller/Admin.pm:842 templates/web/default/admin/questionnaire.html:1 msgid "Survey Results" msgstr "" @@ -1567,7 +1755,7 @@ msgstr "" msgid "Thanks, glad to hear it's been fixed! Could we just ask if you have ever reported a problem to a council before?" msgstr "" -#: perllib/FixMyStreet/App/Controller/Report/New.pm:749 +#: perllib/FixMyStreet/App/Controller/Report/New.pm:783 msgid "That image doesn't appear to have uploaded correctly (%s), please try again." msgstr "" @@ -1579,11 +1767,11 @@ msgstr "" msgid "That location does not appear to be in Britain; please try again." msgstr "" -#: perllib/FixMyStreet/Cobrand/Default.pm:509 perllib/FixMyStreet/Cobrand/FiksGataMi.pm:73 +#: perllib/FixMyStreet/Cobrand/Default.pm:509 perllib/FixMyStreet/Cobrand/FiksGataMi.pm:78 msgid "That postcode was not recognised, sorry." msgstr "" -#: perllib/FixMyStreet/App/Controller/Admin.pm:512 +#: perllib/FixMyStreet/App/Controller/Admin.pm:517 msgid "That problem will now be resent." msgstr "" @@ -1610,6 +1798,10 @@ msgid "" " the UK." msgstr "" +#: templates/web/default/open311/index.html:23 +msgid "The Open311 v2 attribute agency_responsible is used to list the administrations that received the problem report, which is not quite the way the attribute is defined in the Open311 v2 specification." +msgstr "" + #: templates/web/default/auth/token.html:21 templates/web/default/email_sent.html:22 msgid "The confirmation email <strong>may</strong> take a few minutes to arrive — <em>please</em> be patient." msgstr "" @@ -1622,6 +1814,10 @@ msgstr "" msgid "The error was: %s" msgstr "" +#: templates/web/default/open311/index.html:19 +msgid "The following Open311 v2 attributes are returned for each request: service_request_id, description, lat, long, media_url, status, requested_datetime, updated_datetime, service_code and service_name." +msgstr "" + #: perllib/FixMyStreet/Geocode/OSM.pm:99 msgid "The following information about the nearest road might be inaccurate or irrelevant, if the problem is close to several roads or close to a road without a name registered in OpenStreetMap." msgstr "" @@ -1678,7 +1874,7 @@ msgstr "" msgid "The requested URL '%s' was not found on this server" msgstr "" -#: perllib/FixMyStreet/App/Controller/Admin.pm:493 perllib/FixMyStreet/App/Controller/Admin.pm:663 perllib/FixMyStreet/App/Controller/Admin.pm:702 perllib/FixMyStreet/App/Controller/Admin.pm:787 +#: perllib/FixMyStreet/App/Controller/Admin.pm:1039 perllib/FixMyStreet/App/Controller/Admin.pm:497 perllib/FixMyStreet/App/Controller/Admin.pm:630 perllib/FixMyStreet/App/Controller/Admin.pm:894 msgid "The requested URL was not found on this server." msgstr "" @@ -1686,7 +1882,7 @@ msgstr "" msgid "The simplest alert is our geographic one:" msgstr "" -#: templates/web/default/report/new/all_councils_text.html:18 templates/web/default/report/new/some_councils_text.html:10 templates/web/default/report/new/some_councils_text.html:11 +#: templates/web/default/report/new/councils_text_all.html:18 templates/web/default/report/new/councils_text_some.html:10 templates/web/default/report/new/councils_text_some.html:11 templates/web/default/report/new/fill_in_details_form.html:17 msgid "The subject and details of the problem will be public, plus your name if you give us permission." msgstr "" @@ -1698,7 +1894,7 @@ msgstr "" msgid "There was a problem showing the All Reports page. Please try again later." msgstr "" -#: perllib/FixMyStreet/App/Controller/Report/New.pm:578 perllib/FixMyStreet/App/Controller/Report/Update.pm:117 templates/web/default/auth/general.html:23 +#: perllib/FixMyStreet/App/Controller/Report/New.pm:605 perllib/FixMyStreet/App/Controller/Report/Update.pm:117 templates/web/default/auth/general.html:23 msgid "There was a problem with your email/password combination. Passwords and user accounts are a brand <strong>new</strong> service, so you probably do not have one yet – please fill in the right hand side of this form to get one." msgstr "" @@ -1706,7 +1902,7 @@ msgstr "" msgid "There was a problem with your email/password combination. Please try again." msgstr "" -#: perllib/FixMyStreet/App/Controller/Contact.pm:115 +#: perllib/FixMyStreet/App/Controller/Contact.pm:117 msgid "There were problems with your report. Please see below." msgstr "" @@ -1714,6 +1910,10 @@ msgstr "" msgid "There were problems with your update. Please see below." msgstr "" +#: templates/web/default/open311/index.html:10 +msgid "This API implementation is work in progress and not yet stabilized. It will change without warnings in the future." +msgstr "" + #: bin/send-reports:181 msgid "This email has been sent to both councils covering the location of the problem, as the user did not categorise it; please ignore it if you're not the correct council to deal with the issue, or let us know what category of problem this is so we can add it to our system." msgstr "" @@ -1738,7 +1938,7 @@ msgstr "" msgid "This is a summary of all reports on this site; select a particular council to see the reports sent there." msgstr "" -#: perllib/FixMyStreet/Cobrand/Default.pm:913 perllib/FixMyStreet/Cobrand/EmptyHomes.pm:117 templates/web/default/report/display.html:96 +#: perllib/FixMyStreet/Cobrand/Default.pm:903 perllib/FixMyStreet/Cobrand/EmptyHomes.pm:117 templates/web/default/report/display.html:96 msgid "This problem has been fixed" msgstr "" @@ -1746,15 +1946,15 @@ msgstr "" msgid "This problem has not been fixed" msgstr "" -#: perllib/FixMyStreet/Cobrand/Default.pm:909 +#: perllib/FixMyStreet/Cobrand/Default.pm:899 msgid "This problem is old and of unknown status." msgstr "" -#: perllib/FixMyStreet/DB/ResultSet/AlertType.pm:78 +#: perllib/FixMyStreet/DB/ResultSet/AlertType.pm:79 msgid "This report is currently marked as fixed." msgstr "" -#: perllib/FixMyStreet/DB/ResultSet/AlertType.pm:79 +#: perllib/FixMyStreet/DB/ResultSet/AlertType.pm:80 msgid "This report is currently marked as open." msgstr "" @@ -1762,36 +1962,32 @@ msgstr "" msgid "This web page also contains a photo of the problem, provided by the user." msgstr "" -#: perllib/FixMyStreet/App/Controller/Admin.pm:614 templates/web/default/admin/timeline.html:1 +#: perllib/FixMyStreet/App/Controller/Admin.pm:841 templates/web/default/admin/timeline.html:1 msgid "Timeline" msgstr "" -#: templates/web/default/admin/search_reports.html:13 +#: templates/web/default/admin/list_flagged.html:10 templates/web/default/admin/search_reports.html:13 msgid "Title" msgstr "" +#: templates/web/default/around/display_location.html:70 +msgid "To <strong>report a problem</strong>, simply click on the map at the correct location." +msgstr "" + #: templates/web/default/alert/index.html:21 msgid "" "To find out what local alerts we have for you, please enter your GB\n" "postcode or street name and area:" msgstr "" -#: templates/web/default/around/display_location.html:86 -msgid "To report a problem, simply <strong>click on the map</strong> at the correct location." -msgstr "" - #: bin/send-reports:76 msgid "To view a map of the precise location of this issue" msgstr "" -#: templates/web/default/admin/index.html:36 templates/web/default/admin/questionnaire.html:24 +#: templates/web/default/admin/index.html:36 templates/web/default/admin/questionnaire.html:24 templates/web/default/admin/stats.html:21 msgid "Total" msgstr "" -#: templates/web/default/maps/tilma/original.html:10 -msgid "Unable to fetch the map tiles from the tile server." -msgstr "" - #: perllib/FixMyStreet/App/Controller/Reports.pm:45 msgid "Unable to look up areas in MaPit. Please try again later." msgstr "" @@ -1800,7 +1996,7 @@ msgstr "" msgid "Unconfirmed" msgstr "" -#: perllib/FixMyStreet/App/Controller/Rss.pm:156 +#: perllib/FixMyStreet/App/Controller/Rss.pm:163 msgid "Unknown alert type" msgstr "" @@ -1836,7 +2032,7 @@ msgstr "" msgid "Update:" msgstr "" -#: perllib/FixMyStreet/App/Controller/Admin.pm:586 perllib/FixMyStreet/App/Controller/Admin.pm:749 +#: perllib/FixMyStreet/App/Controller/Admin.pm:606 perllib/FixMyStreet/App/Controller/Admin.pm:693 msgid "Updated!" msgstr "" @@ -1852,7 +2048,19 @@ msgstr "" msgid "Updates to this problem, FixMyStreet" msgstr "" -#: perllib/FixMyStreet/App/Controller/Admin.pm:294 perllib/FixMyStreet/App/Controller/Admin.pm:324 +#: perllib/FixMyStreet/App/Controller/Admin.pm:997 +msgid "User flag removed" +msgstr "" + +#: perllib/FixMyStreet/App/Controller/Admin.pm:969 +msgid "User flagged" +msgstr "" + +#: templates/web/default/admin/list_flagged.html:30 +msgid "Users" +msgstr "" + +#: perllib/FixMyStreet/App/Controller/Admin.pm:295 perllib/FixMyStreet/App/Controller/Admin.pm:325 msgid "Values updated" msgstr "" @@ -1920,14 +2128,18 @@ msgstr "" msgid "When edited" msgstr "" -#: templates/web/default/admin/search_reports.html:22 +#: templates/web/default/admin/list_flagged.html:19 templates/web/default/admin/search_reports.html:22 msgid "When sent" msgstr "" -#: perllib/FixMyStreet/App/Controller/Report/New.pm:466 +#: perllib/FixMyStreet/App/Controller/Report/New.pm:493 msgid "Whole block of empty flats" msgstr "" +#: templates/web/default/open311/index.html:25 +msgid "With request searches, it is also possible to search for agency_responsible to limit the requests to those sent to a single administration. The search term is the administration ID provided by <a href=\"%s\">MaPit</a>." +msgstr "" + #: templates/web/default/questionnaire/index.html:104 msgid "Would you like to receive another questionnaire in 4 weeks, reminding you to check the status?" msgstr "" @@ -1936,7 +2148,7 @@ msgstr "" msgid "Writing your message entirely in block capitals makes it hard to read, as does a lack of punctuation." msgstr "" -#: templates/web/default/admin/council_contacts.html:32 templates/web/default/admin/council_contacts.html:33 templates/web/default/admin/council_edit.html:5 templates/web/default/admin/list_updates.html:28 templates/web/default/admin/report_edit.html:18 templates/web/default/admin/report_edit.html:37 templates/web/default/admin/search_reports.html:43 templates/web/default/admin/update_edit.html:15 templates/web/default/questionnaire/creator_fixed.html:14 templates/web/default/questionnaire/index.html:107 templates/web/default/questionnaire/index.html:68 +#: templates/web/default/admin/council_contacts.html:32 templates/web/default/admin/council_contacts.html:33 templates/web/default/admin/council_edit.html:5 templates/web/default/admin/list_updates.html:28 templates/web/default/admin/problem_row.html:19 templates/web/default/admin/report_edit.html:18 templates/web/default/admin/report_edit.html:37 templates/web/default/admin/update_edit.html:15 templates/web/default/questionnaire/creator_fixed.html:14 templates/web/default/questionnaire/index.html:107 templates/web/default/questionnaire/index.html:68 msgid "Yes" msgstr "" @@ -1956,7 +2168,7 @@ msgstr "" msgid "You can <a href=\"/reports\">show all councils</a>." msgstr "" -#: templates/web/default/report/new/no_councils_text.html:14 templates/web/default/report/new/no_councils_text.html:3 templates/web/default/report/new/some_councils_text.html:20 templates/web/default/report/new/some_councils_text.html:22 +#: templates/web/default/report/new/councils_text_none.html:14 templates/web/default/report/new/councils_text_none.html:3 templates/web/default/report/new/councils_text_some.html:20 templates/web/default/report/new/councils_text_some.html:22 msgid "You can help us by finding a contact email address for local problems for %s and emailing it to us at <a href='mailto:%s'>%s</a>." msgstr "" @@ -1964,7 +2176,7 @@ msgstr "" msgid "You have already answered this questionnaire. If you have a question, please <a href='%s'>get in touch</a>, or <a href='%s'>view your problem</a>.\n" msgstr "" -#: templates/web/default/questionnaire/index.html:94 templates/web/default/report/new/fill_in_details.html:110 +#: templates/web/default/questionnaire/index.html:94 templates/web/default/report/new/fill_in_details_form.html:89 msgid "You have already attached a photo to this report, attaching another one will replace it." msgstr "" @@ -1976,7 +2188,7 @@ msgstr "" msgid "You have been signed out" msgstr "" -#: templates/web/default/report/new/fill_in_details.html:35 +#: templates/web/default/report/new/fill_in_details_form.html:7 msgid "You have located the problem at the point marked with a purple pin on the map. If this is not the correct location, simply click on the map again. " msgstr "" @@ -2000,7 +2212,7 @@ msgstr "" msgid "You have successfully deleted your alert." msgstr "" -#: perllib/FixMyStreet/App/Controller/Report/New.pm:584 perllib/FixMyStreet/App/Controller/Report/Update.pm:123 +#: perllib/FixMyStreet/App/Controller/Report/New.pm:611 perllib/FixMyStreet/App/Controller/Report/Update.pm:123 msgid "You have successfully signed in; please check and confirm your details are accurate:" msgstr "" @@ -2020,11 +2232,11 @@ msgstr "" msgid "Your email address:" msgstr "" -#: templates/web/default/alert/list.html:122 templates/web/default/report/display.html:128 templates/web/default/report/new/fill_in_details.html:141 +#: templates/web/default/alert/list.html:122 templates/web/default/report/display.html:128 templates/web/default/report/new/fill_in_details_form.html:120 msgid "Your email:" msgstr "" -#: templates/web/default/auth/general.html:59 templates/web/default/contact/index.html:68 templates/web/default/report/display.html:199 templates/web/default/report/new/fill_in_details.html:219 +#: templates/web/default/auth/general.html:59 templates/web/default/contact/index.html:68 templates/web/default/report/display.html:199 templates/web/default/report/new/fill_in_details_form.html:194 msgid "Your name:" msgstr "" @@ -2088,7 +2300,11 @@ msgstr "" msgid "reopened" msgstr "" -#: perllib/FixMyStreet/DB/Result/Problem.pm:361 +#: templates/web/default/report/new/fill_in_details_form.html:11 templates/web/default/report/new/fill_in_details_form.html:14 +msgid "the local council" +msgstr "" + +#: perllib/FixMyStreet/DB/Result/Problem.pm:363 msgid "the map was not used so pin location may be inaccurate" msgstr "" @@ -2139,7 +2355,7 @@ msgid_plural "<big>%s</big> reports recently" msgstr[0] "" msgstr[1] "" -#: templates/web/default/report/new/no_councils_text.html:5 +#: templates/web/default/report/new/councils_text_none.html:5 #, perl-format msgid "We do not yet have details for the council that covers this location." msgid_plural "We do not yet have details for the councils that cover this location." @@ -2167,7 +2383,7 @@ msgid_plural "<big>%s</big> updates on reports" msgstr[0] "" msgstr[1] "" -#: templates/web/default/report/new/some_councils_text.html:14 +#: templates/web/default/report/new/councils_text_some.html:14 #, perl-format msgid "We do <strong>not</strong> yet have details for the other council that covers this location." msgid_plural "We do <strong>not</strong> yet have details for the other councils that cover this location." diff --git a/locale/cy_GB.UTF-8/LC_MESSAGES/EmptyHomes.po b/locale/cy_GB.UTF-8/LC_MESSAGES/EmptyHomes.po index 0ff079889..be5260a1b 100644 --- a/locale/cy_GB.UTF-8/LC_MESSAGES/EmptyHomes.po +++ b/locale/cy_GB.UTF-8/LC_MESSAGES/EmptyHomes.po @@ -10,7 +10,7 @@ msgid "" msgstr "" "Project-Id-Version: 1.0\n" "Report-Msgid-Bugs-To: matthew@mysociety.org\n" -"POT-Creation-Date: 2011-07-14 12:35+0100\n" +"POT-Creation-Date: 2011-08-18 11:07+0100\n" "PO-Revision-Date: 2009-07-10 14:20-0000\n" "Last-Translator: Mark Smith <Mark.Smith@trosol.co.uk>\n" "Language-Team: mySociety\n" @@ -19,7 +19,7 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n != 1;\n" -#: bin/send-reports:179 perllib/FixMyStreet/DB/Result/Problem.pm:376 +#: bin/send-reports:179 perllib/FixMyStreet/DB/Result/Problem.pm:378 msgid " and " msgstr "" @@ -28,13 +28,13 @@ msgstr "" msgid " and <strong>we will now send it to the council</strong>" msgstr " a <strong>byddwn nawr yn ei anfon at y cyngor</strong>" -#: templates/web/default/report/new/all_councils_text.html:10 -#: templates/web/default/report/new/all_councils_text.html:3 -#: templates/web/default/report/new/no_councils_text.html:15 -#: templates/web/default/report/new/no_councils_text.html:3 -#: templates/web/default/report/new/some_councils_text.html:20 -#: templates/web/default/report/new/some_councils_text.html:23 -#: templates/web/default/report/new/some_councils_text.html:5 +#: templates/web/default/report/new/councils_text_all.html:10 +#: templates/web/default/report/new/councils_text_all.html:3 +#: templates/web/default/report/new/councils_text_none.html:15 +#: templates/web/default/report/new/councils_text_none.html:3 +#: templates/web/default/report/new/councils_text_some.html:20 +#: templates/web/default/report/new/councils_text_some.html:23 +#: templates/web/default/report/new/councils_text_some.html:5 #: templates/web/emptyhomes/report/new/all_councils_text.html:2 #, fuzzy msgid " or " @@ -111,36 +111,38 @@ msgstr "wythnos" msgid "%s - Summary reports" msgstr "%s - Adroddiadau cryno" -#: perllib/FixMyStreet/Cobrand/Default.pm:836 -#: perllib/FixMyStreet/Cobrand/Default.pm:850 +#: perllib/FixMyStreet/Cobrand/Default.pm:826 +#: perllib/FixMyStreet/Cobrand/Default.pm:840 msgid "%s ward, %s" msgstr "" -#: perllib/FixMyStreet/DB/Result/Problem.pm:307 +#: perllib/FixMyStreet/DB/Result/Problem.pm:309 msgid "%s, reported anonymously at %s" msgstr "Rhoddodd %s wybod yn ddi-enw am %s" -#: perllib/FixMyStreet/DB/Result/Problem.pm:309 +#: perllib/FixMyStreet/DB/Result/Problem.pm:311 msgid "%s, reported by %s at %s" msgstr "Adroddwyd am %s gan %s am %s" -#: perllib/FixMyStreet/Cobrand/Default.pm:867 -#: perllib/FixMyStreet/Cobrand/Default.pm:881 +#: perllib/FixMyStreet/Cobrand/Default.pm:857 +#: perllib/FixMyStreet/Cobrand/Default.pm:871 #, fuzzy msgid "%s, within %s ward" msgstr "Eiddo gwag yn ward %s" -#: perllib/FixMyStreet/Map/Tilma/Original.pm:82 +#: templates/web/default/admin/stats.html:5 #, fuzzy -msgid "" -"© Crown copyright. All rights reserved. Ministry of Justice " -"100037819 2008." -msgstr "Hawlfraint y Goron. Cedwir pob hawl. Y Weinyddiaeth Amddiffyn" +msgid "%sreports between %s and %s" +msgstr "Adroddwyd am %s gan %s am %s" #: templates/web/default/email_sent.html:28 msgid "(Don't worry — %s)" msgstr "" +#: templates/web/default/admin/report_blocks.html:11 +msgid "(Email in abuse table)" +msgstr "" + #: templates/web/default/alert/list.html:53 msgid "(a default distance which covers roughly 200,000 people)" msgstr "(pellter rhagosodedig sy'n cynnwys tua 200,000 o bobl)" @@ -163,7 +165,7 @@ msgstr " " msgid "(not sent to council)" msgstr "Ni roddwyd gwybod i'r cyngor am hyn" -#: templates/web/default/report/new/fill_in_details.html:233 +#: templates/web/default/report/new/fill_in_details_form.html:208 msgid "(optional)" msgstr "(dewisol)" @@ -172,7 +174,7 @@ msgstr "(dewisol)" msgid "(sent to both)" msgstr "Ni roddwyd gwybod i'r cyngor am hyn" -#: templates/web/default/report/new/fill_in_details.html:227 +#: templates/web/default/report/new/fill_in_details_form.html:202 msgid "(we never show your email address or phone number)" msgstr "(nid ydym byth yn dangos eich cyfeiriad e-bost na'ch rhif ffôn)" @@ -181,19 +183,19 @@ msgstr "(nid ydym byth yn dangos eich cyfeiriad e-bost na'ch rhif ffôn)" msgid "(we never show your email)" msgstr "(nid ydym byth yn dangos eich cyfeiriad e-bost na'ch rhif ffôn)" -#: perllib/FixMyStreet/App/Controller/Admin.pm:269 +#: perllib/FixMyStreet/App/Controller/Admin.pm:270 msgid "*unknown*" msgstr "" -#: perllib/FixMyStreet/App/Controller/Report/New.pm:477 -#: perllib/FixMyStreet/App/Controller/Report/New.pm:505 -#: perllib/FixMyStreet/DB/Result/Problem.pm:204 +#: perllib/FixMyStreet/App/Controller/Report/New.pm:504 +#: perllib/FixMyStreet/App/Controller/Report/New.pm:532 +#: perllib/FixMyStreet/DB/Result/Problem.pm:206 #, fuzzy msgid "-- Pick a category --" msgstr "-- Dewiswch fath o eiddo --" -#: perllib/FixMyStreet/App/Controller/Report/New.pm:463 -#: perllib/FixMyStreet/DB/Result/Problem.pm:210 +#: perllib/FixMyStreet/App/Controller/Report/New.pm:490 +#: perllib/FixMyStreet/DB/Result/Problem.pm:212 msgid "-- Pick a property type --" msgstr "-- Dewiswch fath o eiddo --" @@ -321,8 +323,8 @@ msgstr "" "mwy o wybodaeth am statws eich eiddo gwag, dewch yn ôl i'r safle\n" "a rhowch ddiweddariad yno.</p>\n" -#: templates/web/default/around/display_location.html:87 -#: templates/web/default/around/display_location.html:89 +#: templates/web/default/around/display_location.html:71 +#: templates/web/default/around/display_location.html:73 #, fuzzy msgid "" "<small>If you cannot see the map, <a href='%s' rel='nofollow'>skip this " @@ -340,7 +342,7 @@ msgstr "Adrodd am eiddo gwag a gweld y rhain" msgid "<strong>No</strong>, I do not, let me sign in by email:" msgstr "" -#: templates/web/default/report/new/fill_in_details.html:175 +#: templates/web/default/report/new/fill_in_details_form.html:154 #, fuzzy msgid "<strong>No</strong>, let me confirm my report by email:" msgstr "Adrodd am eiddo gwag a gweld y rhain" @@ -352,14 +354,14 @@ msgstr "Adrodd am eiddo gwag a gweld y rhain" #: templates/web/default/auth/general.html:37 #: templates/web/default/report/display.html:142 -#: templates/web/default/report/new/fill_in_details.html:157 +#: templates/web/default/report/new/fill_in_details_form.html:136 #, fuzzy msgid "<strong>Yes</strong>, I have a password:" msgstr "Adrodd am eiddo gwag a gweld y rhain" #: templates/web/default/static/about.html:1 #: templates/web/default/static/about.html:3 -#: templates/web/emptyhomes/header.html:34 +#: templates/web/emptyhomes/header.html:32 #: templates/web/emptyhomes/static/about.html:1 #: templates/web/emptyhomes/static/about.html:3 msgid "About us" @@ -389,21 +391,25 @@ msgstr "" msgid "Alert me to future updates" msgstr "Rhowch wybod i mi am ddiweddariadau yn y dyfodol" +#: templates/web/default/admin/stats.html:5 +msgid "All" +msgstr "" + #: templates/web/default/admin/council_list.html:44 msgid "All confirmed" msgstr "" -#: templates/web/default/footer.html:8 templates/web/emptyhomes/header.html:31 +#: templates/web/default/footer.html:8 templates/web/emptyhomes/header.html:29 #: templates/web/fiksgatami/footer.html:6 msgid "Reports" msgstr "Adroddiadau" -#: templates/web/default/report/new/some_councils_text.html:2 +#: templates/web/default/report/new/councils_text_some.html:2 msgid "All the information you provide here will be sent to" msgstr "" -#: templates/web/default/report/new/all_councils_text.html:3 -#: templates/web/default/report/new/all_councils_text.html:5 +#: templates/web/default/report/new/councils_text_all.html:3 +#: templates/web/default/report/new/councils_text_all.html:5 #, fuzzy msgid "" "All the information you provide here will be sent to <strong>%s</strong> or " @@ -415,8 +421,10 @@ msgstr "" "Ar y safle, byddwn yn dangos pwnc a manylion yr eiddo gwag,\n" "ynghyd â'ch enw os ydych yn rhoi caniatâd i ni." -#: templates/web/default/report/new/all_councils_text.html:10 -#: templates/web/default/report/new/all_councils_text.html:12 +#: templates/web/default/report/new/councils_text_all.html:10 +#: templates/web/default/report/new/councils_text_all.html:12 +#: templates/web/default/report/new/fill_in_details_form.html:11 +#: templates/web/default/report/new/fill_in_details_form.html:13 msgid "" "All the information you provide here will be sent to <strong>%s</strong>." msgstr "" @@ -440,6 +448,7 @@ msgstr "" "Fe wnaeth diweddariad gofnodi bod yr eiddo hwn wedi cael ei adfer i'w " "ddefnyddio." +#: templates/web/default/admin/list_flagged.html:15 #: templates/web/default/admin/list_updates.html:10 #: templates/web/default/admin/search_reports.html:18 msgid "Anonymous" @@ -451,6 +460,33 @@ msgstr "Di-enw" msgid "Anonymous:" msgstr "Di-enw" +#: templates/web/default/footer.html:29 +msgid "" +"Are you a developer? Would you like to contribute to reportemptyhomes.com?" +msgstr "" + +#: templates/web/default/footer.html:26 +msgid "" +"Are you from a council? Would you like better integration with " +"reportemptyhomes.com?" +msgstr "" + +#: templates/web/default/open311/index.html:17 +msgid "" +"At most %d requests are returned in each query. The returned requests are " +"ordered by requested_datetime, so to get all requests, do several searches " +"with rolling start_date and end_date." +msgstr "" + +#: templates/web/default/open311/index.html:9 +msgid "At the moment only searching for and looking at reports work." +msgstr "" + +#: templates/web/default/admin/report_blocks.html:11 +#, fuzzy +msgid "Ban email address" +msgstr "Eich cyfeiriad e-bost:" + #: templates/web/default/footer.html:16 msgid "Built by <a href=\"http://www.mysociety.org/\">mySociety</a>" msgstr "" @@ -463,6 +499,7 @@ msgstr "" #: templates/web/default/admin/council_contacts.html:19 #: templates/web/default/admin/index.html:36 +#: templates/web/default/admin/list_flagged.html:14 #: templates/web/default/admin/search_reports.html:17 #, fuzzy msgid "Category" @@ -472,11 +509,12 @@ msgstr "Categori:" msgid "Category fix rate for empty properties > 4 weeks old" msgstr "" -#: perllib/FixMyStreet/App/Controller/Report/New.pm:480 -#: perllib/FixMyStreet/App/Controller/Report/New.pm:506 +#: perllib/FixMyStreet/App/Controller/Report/New.pm:507 +#: perllib/FixMyStreet/App/Controller/Report/New.pm:533 #: templates/web/default/admin/council_contacts.html:56 #: templates/web/default/admin/council_edit.html:23 #: templates/web/default/admin/report_edit.html:26 +#: templates/web/default/report/new/fill_in_details_form.html:67 msgid "Category:" msgstr "Categori:" @@ -491,8 +529,8 @@ msgstr "Categori:" msgid "Change Password" msgstr "" -#: templates/web/default/around/display_location.html:105 -#: templates/web/default/around/display_location.html:107 +#: templates/web/default/around/display_location.html:102 +#: templates/web/default/around/display_location.html:104 msgid "Closest nearby empty properties <small>(within %skm)</small>" msgstr "Yr eiddo gwag cyfagos agosaf <small>(within %skm)</small>" @@ -500,6 +538,7 @@ msgstr "Yr eiddo gwag cyfagos agosaf <small>(within %skm)</small>" msgid "Co-ordinates:" msgstr "" +#: templates/web/default/admin/list_flagged.html:16 #: templates/web/default/admin/list_updates.html:11 #: templates/web/default/admin/search_reports.html:19 msgid "Cobrand" @@ -539,12 +578,13 @@ msgstr "Cadarnhau" #: templates/web/default/admin/council_contacts.html:66 #: templates/web/default/admin/council_edit.html:28 #: templates/web/default/admin/council_edit.html:43 +#: templates/web/default/admin/stats.html:5 #, fuzzy msgid "Confirmed" msgstr "Cadarnhau" +#: templates/web/default/admin/problem_row.html:23 #: templates/web/default/admin/report_edit.html:31 -#: templates/web/default/admin/search_reports.html:47 #, fuzzy msgid "Confirmed:" msgstr "Cadarnhau" @@ -553,7 +593,7 @@ msgstr "Cadarnhau" msgid "Contact" msgstr "Cysylltu" -#: templates/web/default/footer.html:18 +#: templates/web/default/footer.html:17 #, fuzzy msgid "Contact reportemptyhomes.com" msgstr "Adroddiadau newydd ar reportemptyhomes.com" @@ -569,12 +609,18 @@ msgstr "Cysylltwch â Ni" msgid "Contact the team" msgstr "Cysylltu â'r tîm" +#: perllib/FixMyStreet/App/Controller/Admin.pm:965 +#: perllib/FixMyStreet/App/Controller/Admin.pm:993 +msgid "Could not find user" +msgstr "" + +#: templates/web/default/admin/list_flagged.html:13 #: templates/web/default/admin/search_reports.html:16 #, fuzzy msgid "Council" msgstr "cyngor" -#: perllib/FixMyStreet/App/Controller/Admin.pm:612 +#: perllib/FixMyStreet/App/Controller/Admin.pm:839 #: templates/web/default/admin/council_list.html:1 #, fuzzy msgid "Council contacts" @@ -590,6 +636,11 @@ msgstr "" msgid "Councils" msgstr "cyngor" +#: templates/web/default/admin/stats.html:10 +#, fuzzy +msgid "Count" +msgstr "Cysylltu" + #: templates/web/default/email_sent.html:1 #, fuzzy msgid "Create a report" @@ -600,6 +651,7 @@ msgstr "Categori:" msgid "Create category" msgstr "Categori:" +#: templates/web/default/admin/list_flagged.html:17 #: templates/web/default/admin/list_updates.html:9 #: templates/web/default/admin/search_reports.html:20 msgid "Created" @@ -610,6 +662,10 @@ msgstr "" msgid "Created:" msgstr "" +#: templates/web/default/admin/stats.html:9 +msgid "Current state" +msgstr "" + #: templates/web/default/admin/council_list.html:40 msgid "Currently has 1+ deleted" msgstr "" @@ -622,7 +678,7 @@ msgid "Deleted" msgstr "" #: templates/web/default/admin/report_edit.html:14 -#: templates/web/default/report/new/fill_in_details.html:99 +#: templates/web/default/report/new/fill_in_details_form.html:61 msgid "Details:" msgstr "Manylion:" @@ -640,7 +696,7 @@ msgid "Don’t know" msgstr "Ddim yn gwybod" #: templates/web/default/admin/list_updates.html:31 -#: templates/web/default/admin/search_reports.html:52 +#: templates/web/default/admin/problem_row.html:28 msgid "Edit" msgstr "" @@ -660,13 +716,24 @@ msgstr "" #: templates/web/default/admin/council_contacts.html:20 #: templates/web/default/admin/council_edit.html:42 +#: templates/web/default/admin/list_flagged.html:12 +#: templates/web/default/admin/list_flagged.html:35 #: templates/web/default/admin/list_updates.html:8 +#: templates/web/default/admin/search_abuse.html:11 #: templates/web/default/admin/search_reports.html:15 #, fuzzy msgid "Email" msgstr "E-bost:" -#: templates/web/default/around/display_location.html:71 +#: perllib/FixMyStreet/App/Controller/Admin.pm:941 +msgid "Email added to abuse list" +msgstr "" + +#: perllib/FixMyStreet/App/Controller/Admin.pm:938 +msgid "Email already in abuse list" +msgstr "" + +#: templates/web/default/around/display_location.html:84 msgid "Email me new local empty properties" msgstr "Anfonwch fanylion eiddo gwag lleol newydd ataf i drwy'r e-bost" @@ -683,15 +750,15 @@ msgstr "Anfonwch ddiweddariadau ataf i drwy'r e-bost" msgid "Email:" msgstr "E-bost:" -#: perllib/FixMyStreet/App/Controller/Report/New.pm:465 +#: perllib/FixMyStreet/App/Controller/Report/New.pm:492 msgid "Empty flat or maisonette" msgstr "Fflat neu fflat deulawr gwag" -#: perllib/FixMyStreet/App/Controller/Report/New.pm:464 +#: perllib/FixMyStreet/App/Controller/Report/New.pm:491 msgid "Empty house or bungalow" msgstr "TÅ· neu fyngalo gwag" -#: perllib/FixMyStreet/App/Controller/Report/New.pm:467 +#: perllib/FixMyStreet/App/Controller/Report/New.pm:494 msgid "Empty office or other commercial" msgstr "Swyddfa wag neu fan masnachol gwag arall" @@ -699,28 +766,41 @@ msgstr "Swyddfa wag neu fan masnachol gwag arall" msgid "Empty property details form" msgstr "Ffurflen manylion eiddo gwag" -#: perllib/FixMyStreet/App/Controller/Report/New.pm:468 +#: perllib/FixMyStreet/App/Controller/Report/New.pm:495 msgid "Empty pub or bar" msgstr "Tafarn neu far gwag" -#: perllib/FixMyStreet/App/Controller/Report/New.pm:469 +#: perllib/FixMyStreet/App/Controller/Report/New.pm:496 msgid "Empty public building - school, hospital, etc." msgstr "Adeilad cyhoeddus gwag - ysgol, ysbyty, ac ati." +#: templates/web/default/admin/stats.html:47 +msgid "End Year:" +msgstr "" + +#: templates/web/default/admin/stats.html:49 +#, fuzzy +msgid "End day:" +msgstr "diwrnod" + +#: templates/web/default/admin/stats.html:48 +msgid "End month:" +msgstr "" + #: templates/web/default/around/around_index.html:10 #: templates/web/default/around/around_index.html:13 #: templates/web/default/index.html:24 templates/web/default/index.html:27 msgid "Enter a nearby GB postcode, or street name and area" msgstr "Cofnodwch god post Prydeinig, neu enw stryd ac ardal gerllaw" -#: perllib/FixMyStreet/Cobrand/FiksGataMi.pm:27 +#: perllib/FixMyStreet/Cobrand/FiksGataMi.pm:32 #, fuzzy msgid "Enter a nearby postcode, or street name and area" msgstr "Cofnodwch god post Prydeinig, neu enw stryd ac ardal gerllaw:" #: templates/web/default/auth/general.html:64 #: templates/web/default/report/display.html:167 -#: templates/web/default/report/new/fill_in_details.html:182 +#: templates/web/default/report/new/fill_in_details_form.html:161 #, fuzzy msgid "Enter a new password:" msgstr "Ychwanegwch neges" @@ -744,6 +824,10 @@ msgstr "Gwall" msgid "Example postcode %s" msgstr "" +#: templates/web/default/open311/index.html:27 +msgid "Examples:" +msgstr "" + #: templates/web/default/contact/submit.html:15 #, fuzzy msgid "" @@ -753,16 +837,21 @@ msgstr "" "Rhowch gynnig eto'n ddiweddarach, neu <a href=\"mailto:%s\">anfonwch neges e-" "bost atom</a>i roi gwybod inni." +#: templates/web/default/footer.html:27 +#, fuzzy +msgid "Find out about reportemptyhomes.com for councils" +msgstr "Adroddiadau newydd ar reportemptyhomes.com" + #: templates/web/default/questionnaire/index.html:81 msgid "First time" msgstr "Y tro cyntaf" -#: templates/web/default/header.html:20 -#: templates/web/fiksgatami/header.html:14 +#: templates/web/default/header.html:22 +#: templates/web/fiksgatami/header.html:13 msgid "Fix<span id=\"my\">My</span>Street" msgstr "Trwsio<span id=\"my\">Fy</span>Stryd" -#: templates/web/default/admin/header.html:12 +#: templates/web/default/admin/header.html:13 #, fuzzy msgid "reportemptyhomes.com admin:" msgstr "reportemptyhomes.com" @@ -823,10 +912,18 @@ msgstr "" msgid "Fixed reports" msgstr "Cuddio hen adroddiadau " -#: templates/web/default/admin/search_reports.html:48 +#: templates/web/default/admin/problem_row.html:24 msgid "Fixed:" msgstr "" +#: templates/web/default/admin/report_blocks.html:16 +msgid "Flag user" +msgstr "" + +#: templates/web/default/admin/report_edit.html:38 +msgid "Flagged:" +msgstr "" + #: templates/web/default/reports/council.html:23 msgid "Follow a ward link to view only reports within that ward." msgstr "" @@ -847,6 +944,10 @@ msgstr "Cwestiynau Cyffredin" msgid "Further information about our work on empty homes." msgstr "" +#: templates/web/default/open311/index.html:69 +msgid "GeoRSS on Google Maps" +msgstr "" + #: templates/web/default/alert/list.html:112 msgid "Give me an RSS feed" msgstr "Rhowch borthiant RSS i mi" @@ -884,7 +985,7 @@ msgstr "" "dyma'ch tro cyntaf?" #: templates/web/default/footer.html:10 -#: templates/web/emptyhomes/header.html:33 +#: templates/web/emptyhomes/header.html:31 #: templates/web/fiksgatami/footer.html:8 msgid "FAQs" msgstr "Cwestiynau Cyffredin" @@ -900,11 +1001,11 @@ msgstr "" msgid "Hidden" msgstr "Cuddio pinnau" -#: templates/web/default/around/display_location.html:52 +#: templates/web/default/around/display_location.html:54 msgid "Hide pins" msgstr "Cuddio pinnau" -#: templates/web/default/around/display_location.html:57 +#: templates/web/default/around/display_location.html:59 msgid "Hide stale reports" msgstr "Cuddio hen adroddiadau " @@ -916,7 +1017,7 @@ msgstr "" msgid "How to report an empty property" msgstr "Sut i roi gwybod am eiddo gwag" -#: perllib/FixMyStreet/App/Controller/Admin.pm:530 +#: perllib/FixMyStreet/App/Controller/Admin.pm:546 msgid "I am afraid you cannot confirm unconfirmed reports." msgstr "" @@ -925,7 +1026,16 @@ msgid "I'm afraid we couldn't locate your empty property in the database.\n" msgstr "" "Yn anffodus ni fu modd i ni ddod o hyd i'ch eiddo gwag yn y gronfa ddata.\n" -#: perllib/FixMyStreet/App/Controller/Tokens.pm:173 +#: perllib/FixMyStreet/App/Controller/Tokens.pm:43 +#, fuzzy +msgid "" +"I'm afraid we couldn't validate that token, as the report was made too long " +"ago." +msgstr "" +"Yn anffodus, ni fu modd i ni ddilysu'r dynodiad hwnnw. Os ydych wedi copïo'r " +"URL o neges e-bost, gwnewch yn siwr eich bod wedi'i gopïo'n union.\n" + +#: perllib/FixMyStreet/App/Controller/Tokens.pm:232 msgid "" "I'm afraid we couldn't validate that token. If you've copied the URL from an " "email, please check that you copied it exactly.\n" @@ -933,13 +1043,14 @@ msgstr "" "Yn anffodus, ni fu modd i ni ddilysu'r dynodiad hwnnw. Os ydych wedi copïo'r " "URL o neges e-bost, gwnewch yn siwr eich bod wedi'i gopïo'n union.\n" +#: templates/web/default/admin/list_flagged.html:9 #: templates/web/default/admin/list_updates.html:5 #: templates/web/default/admin/search_reports.html:12 msgid "ID" msgstr "" -#: templates/web/default/report/new/no_councils_text.html:11 -#: templates/web/default/report/new/no_councils_text.html:3 +#: templates/web/default/report/new/councils_text_none.html:11 +#: templates/web/default/report/new/councils_text_none.html:3 msgid "" "If you submit an empty property here the subject and details of the empty " "property will be public, but the empty property will <strong>not</strong> be " @@ -981,7 +1092,7 @@ msgstr "" "profiad\n" "o gael yr eiddo gwag yn ôl mewn defnydd?" -#: perllib/FixMyStreet/App/Controller/Contact.pm:109 +#: perllib/FixMyStreet/App/Controller/Contact.pm:111 msgid "Illegal ID" msgstr "ID Anghyfreithlon" @@ -989,10 +1100,44 @@ msgstr "ID Anghyfreithlon" msgid "Illegal feed selection" msgstr "Dewis porthiant annilys" -#: templates/web/default/around/display_location.html:59 +#: templates/web/default/open311/index.html:21 +msgid "" +"In addition, the following attributes that are not part of the Open311 v2 " +"specification are returned: agency_sent_datetime, title (also returned as " +"part of description), interface_used, comment_count, requestor_name (only " +"present if requestor allowed the name to be shown on this site)." +msgstr "" + +#: templates/web/default/around/display_location.html:61 msgid "Include stale reports" msgstr "Cynnwys hen adroddiadau" +#: templates/web/default/admin/stats.html:53 +#, fuzzy +msgid "Include unconfirmed reports" +msgstr "Cynnwys hen adroddiadau" + +#: perllib/FixMyStreet/App/Controller/Open311.pm:355 +msgid "Incorrect has_photo value \"%s\"" +msgstr "" + +#: perllib/FixMyStreet/App/Controller/Open311.pm:340 +msgid "Invalid agency_responsible value %s" +msgstr "" + +#: perllib/FixMyStreet/App/Controller/Admin.pm:785 +#, fuzzy +msgid "Invalid end date" +msgstr "Rhowch ddiweddariad" + +#: perllib/FixMyStreet/App/Controller/Open311.pm:423 +msgid "Invalid format %s specified." +msgstr "" + +#: perllib/FixMyStreet/App/Controller/Admin.pm:775 +msgid "Invalid start date" +msgstr "" + #: templates/web/emptyhomes/tokens/confirm_problem.html:12 #: templates/web/emptyhomes/tokens/confirm_problem.html:14 #, fuzzy @@ -1019,7 +1164,7 @@ msgstr "" #: templates/web/default/auth/general.html:44 #: templates/web/default/report/display.html:149 -#: templates/web/default/report/new/fill_in_details.html:164 +#: templates/web/default/report/new/fill_in_details_form.html:143 msgid "Keep me signed in on this computer" msgstr "" @@ -1032,15 +1177,23 @@ msgstr "" msgid "Last update:" msgstr "Anfonwch ddiweddariadau ataf i drwy'r e-bost" -#: templates/web/default/admin/search_reports.html:49 +#: templates/web/default/admin/problem_row.html:25 msgid "Last update:" msgstr "" +#: perllib/FixMyStreet/App/Controller/Admin.pm:844 +msgid "List Flagged" +msgstr "" + #: templates/web/default/admin/council_contacts.html:11 #, fuzzy msgid "List all reported empty properties" msgstr "Eiddo gwag yr adroddwyd amdanynt yn ddiweddar" +#: templates/web/default/report/new/fill_in_details_form.html:68 +msgid "Loading..." +msgstr "" + #: templates/web/default/alert/choose.html:1 #: templates/web/default/alert/choose.html:3 #: templates/web/default/alert/index.html:1 @@ -1061,7 +1214,7 @@ msgstr "Porthiannau RSS a hysbysiadau e-bost lleol" msgid "Local RSS feeds and email alerts for ‘%s’" msgstr "Porthiannau RSS a hysbysiadau e-bost lleol" -#: templates/web/default/footer.html:9 templates/web/emptyhomes/header.html:32 +#: templates/web/default/footer.html:9 templates/web/emptyhomes/header.html:30 #: templates/web/fiksgatami/footer.html:7 msgid "Get local reports" msgstr "Gweld adroddiadau lleol" @@ -1094,10 +1247,16 @@ msgstr "" msgid "Message:" msgstr "Neges:" +#: perllib/FixMyStreet/App/Controller/Open311.pm:431 +msgid "Missing jurisdiction_id" +msgstr "" + #: templates/web/default/report/display.html:38 msgid "More empty properties nearby" msgstr "Mwy o eiddo gwag cyfagos" +#: templates/web/default/admin/list_flagged.html:11 +#: templates/web/default/admin/list_flagged.html:34 #: templates/web/default/admin/list_updates.html:7 #: templates/web/default/admin/search_reports.html:14 #: templates/web/default/reports/index.html:10 @@ -1137,7 +1296,7 @@ msgstr "" msgid "Nearly Done! Now check your email..." msgstr "" -#: perllib/FixMyStreet/App/Controller/Admin.pm:299 +#: perllib/FixMyStreet/App/Controller/Admin.pm:300 msgid "New category contact added" msgstr "" @@ -1225,9 +1384,9 @@ msgstr "Newydd!" #: templates/web/default/admin/council_contacts.html:33 #: templates/web/default/admin/council_edit.html:4 #: templates/web/default/admin/list_updates.html:28 +#: templates/web/default/admin/problem_row.html:19 #: templates/web/default/admin/report_edit.html:19 #: templates/web/default/admin/report_edit.html:37 -#: templates/web/default/admin/search_reports.html:43 #: templates/web/default/admin/update_edit.html:16 #: templates/web/default/questionnaire/creator_fixed.html:16 #: templates/web/default/questionnaire/index.html:109 @@ -1235,7 +1394,7 @@ msgstr "Newydd!" msgid "No" msgstr "Nac ydw" -#: perllib/FixMyStreet/DB/Result/Problem.pm:187 +#: perllib/FixMyStreet/DB/Result/Problem.pm:189 msgid "No council selected" msgstr "Ni ddewiswyd cyngor" @@ -1243,6 +1402,15 @@ msgstr "Ni ddewiswyd cyngor" msgid "No edits have yet been made." msgstr "" +#: templates/web/default/admin/list_flagged.html:26 +#, fuzzy +msgid "No flagged empty properties found" +msgstr "Ni ddaethpwyd o hyd i unrhyw eiddo gwag." + +#: templates/web/default/admin/list_flagged.html:47 +msgid "No flagged users found" +msgstr "" + #: templates/web/default/admin/council_list.html:38 msgid "No info at all" msgstr "" @@ -1276,13 +1444,24 @@ msgstr "Ni roddwyd gwybod i'r cyngor am hyn" msgid "Note" msgstr "Nac ydw" +#: templates/web/default/admin/stats.html:28 +msgid "" +"Note that when including unconfirmed reports we use the date the report was " +"created which may not be in the same month the report was confirmed so the " +"numbers may jump about a little" +msgstr "" + #: templates/web/default/admin/council_contacts.html:73 #: templates/web/default/admin/council_edit.html:31 #, fuzzy msgid "Note:" msgstr "Nac ydw" -#: templates/web/default/report/new/fill_in_details.html:148 +#: templates/web/default/open311/index.html:6 +msgid "Note: <strong>%s</strong>" +msgstr "" + +#: templates/web/default/report/new/fill_in_details_form.html:127 msgid "" "Now to submit your report… do you have a reportemptyhomes.com " "password?" @@ -1344,6 +1523,19 @@ msgstr "" msgid "Open reports" msgstr "Cuddio hen adroddiadau " +#: templates/web/default/open311/index.html:3 +#, fuzzy +msgid "Open311 API for the mySociety reportemptyhomes.com server" +msgstr "Diweddariadau i'r eiddo gwag hwn, reportemptyhomes.com" + +#: templates/web/default/open311/index.html:13 +msgid "Open311 initiative web page" +msgstr "" + +#: templates/web/default/open311/index.html:14 +msgid "Open311 specification" +msgstr "" + #: templates/web/default/alert/list.html:87 msgid "Or empty properties reported to:" msgstr "Neu eiddo gwag y rhoddwyd gwybod amdanynt i:" @@ -1357,16 +1549,22 @@ msgstr "" "byw ynddo:" #: bin/send-reports:171 bin/send-reports:180 -#: perllib/FixMyStreet/App/Controller/Report/New.pm:496 -#: perllib/FixMyStreet/App/Controller/Report/New.pm:505 -#: perllib/FixMyStreet/App/Controller/Report/New.pm:869 -#: perllib/FixMyStreet/DB/Result/Problem.pm:316 -#: perllib/FixMyStreet/DB/Result/Problem.pm:326 -#: perllib/FixMyStreet/DB/Result/Problem.pm:336 -#: perllib/FixMyStreet/DB/Result/Problem.pm:348 +#: perllib/FixMyStreet/App/Controller/Report/New.pm:523 +#: perllib/FixMyStreet/App/Controller/Report/New.pm:532 +#: perllib/FixMyStreet/App/Controller/Report/New.pm:903 +#: perllib/FixMyStreet/DB/Result/Problem.pm:318 +#: perllib/FixMyStreet/DB/Result/Problem.pm:328 +#: perllib/FixMyStreet/DB/Result/Problem.pm:338 +#: perllib/FixMyStreet/DB/Result/Problem.pm:350 msgid "Other" msgstr "Arall" +#: templates/web/default/footer.html:30 +msgid "" +"Our code is open source and <a href=\"http://github.com/mysociety/fixmystreet" +"\">available on GitHub</a>." +msgstr "" + #: templates/web/default/errors/page_error_404_not_found.html:1 #: templates/web/default/errors/page_error_404_not_found.html:3 msgid "Page Not Found" @@ -1381,13 +1579,13 @@ msgid "Password:" msgstr "" #: bin/send-reports:68 templates/web/default/admin/report_edit.html:29 -#: templates/web/default/report/new/fill_in_details.html:231 +#: templates/web/default/report/new/fill_in_details_form.html:206 msgid "Phone:" msgstr "Rhif ffôn:" #: templates/web/default/questionnaire/index.html:97 #: templates/web/default/report/display.html:109 -#: templates/web/default/report/new/fill_in_details.html:119 +#: templates/web/default/report/new/fill_in_details_form.html:98 msgid "Photo:" msgstr "Ffotograff:" @@ -1419,14 +1617,14 @@ msgstr "Rhowch eich cyfeiriad e-bost" msgid "Please check your email address is correct" msgstr "Rhowch gyfeiriad e-bost dilys" -#: perllib/FixMyStreet/App/Controller/Report/New.pm:652 -#: perllib/FixMyStreet/App/Controller/Report/New.pm:671 -#: perllib/FixMyStreet/App/Controller/Report/New.pm:688 -#: perllib/FixMyStreet/DB/Result/Problem.pm:206 +#: perllib/FixMyStreet/App/Controller/Report/New.pm:686 +#: perllib/FixMyStreet/App/Controller/Report/New.pm:705 +#: perllib/FixMyStreet/App/Controller/Report/New.pm:722 +#: perllib/FixMyStreet/DB/Result/Problem.pm:208 msgid "Please choose a category" msgstr "Dewiswch gategori" -#: perllib/FixMyStreet/DB/Result/Problem.pm:212 +#: perllib/FixMyStreet/DB/Result/Problem.pm:214 msgid "Please choose a property type" msgstr "Dewiswch fath o eiddo" @@ -1461,32 +1659,32 @@ msgstr "Ychwanegwch neges" msgid "Please enter a password" msgstr "Ychwanegwch neges" -#: perllib/FixMyStreet/App/Controller/Contact.pm:95 -#: perllib/FixMyStreet/DB/Result/Problem.pm:181 +#: perllib/FixMyStreet/App/Controller/Contact.pm:97 +#: perllib/FixMyStreet/DB/Result/Problem.pm:183 msgid "Please enter a subject" msgstr "Rhowch enw'r pwnc" -#: perllib/FixMyStreet/DB/Result/User.pm:92 +#: perllib/FixMyStreet/DB/Result/User.pm:94 msgid "Please enter a valid email" msgstr "Cofnodwch gyfeiriad e-bost dilys" #: perllib/FixMyStreet/App/Controller/Alert.pm:345 -#: perllib/FixMyStreet/App/Controller/Contact.pm:105 +#: perllib/FixMyStreet/App/Controller/Contact.pm:107 msgid "Please enter a valid email address" msgstr "Cofnodwch gyfeiriad e-bost dilys" -#: perllib/FixMyStreet/DB/Result/Problem.pm:184 +#: perllib/FixMyStreet/DB/Result/Problem.pm:186 msgid "Please enter some details" msgstr "Cofnodwch fanylion" -#: perllib/FixMyStreet/App/Controller/Contact.pm:94 -#: perllib/FixMyStreet/DB/Result/User.pm:89 +#: perllib/FixMyStreet/App/Controller/Contact.pm:96 +#: perllib/FixMyStreet/DB/Result/User.pm:91 #: templates/web/default/auth/general.html:13 #: templates/web/default/auth/general.html:8 msgid "Please enter your email" msgstr "Cofnodwch eich cyfeiriad e-bost" -#: perllib/FixMyStreet/DB/Result/Problem.pm:199 +#: perllib/FixMyStreet/DB/Result/Problem.pm:201 msgid "" "Please enter your full name - if you do not wish your name to be shown on " "the site, untick the box" @@ -1494,10 +1692,10 @@ msgstr "" "Cofnodwch eich enw llawn - os nad ydych yn dymuno bod eich enw'n cael ei " "ddangos ar y safle, cliciwch i ddileu'r tic o'r bocs" -#: perllib/FixMyStreet/App/Controller/Contact.pm:93 +#: perllib/FixMyStreet/App/Controller/Contact.pm:95 #: perllib/FixMyStreet/DB/Result/Comment.pm:108 -#: perllib/FixMyStreet/DB/Result/Problem.pm:192 -#: perllib/FixMyStreet/DB/Result/User.pm:85 +#: perllib/FixMyStreet/DB/Result/Problem.pm:194 +#: perllib/FixMyStreet/DB/Result/User.pm:87 msgid "Please enter your name" msgstr "Cofnodwch eich enw" @@ -1538,7 +1736,7 @@ msgid "" "photo of the empty property if you have one), etc." msgstr "" -#: templates/web/default/report/new/fill_in_details.html:48 +#: templates/web/default/report/new/fill_in_details_form.html:27 #, fuzzy msgid "" "Please fill in the form below with details of the empty property, and " @@ -1558,7 +1756,7 @@ msgid "" "<a href=\"/faq#privacy\">privacy policy</a>" msgstr "" -#: templates/web/default/report/new/fill_in_details.html:33 +#: templates/web/default/report/new/fill_in_details_form.html:5 msgid "" "Please note your report has <strong>not yet been sent</strong>. Choose a " "category and add further information below, then submit." @@ -1602,11 +1800,11 @@ msgstr "" msgid "Please take a look at the updates that have been left." msgstr "Ewch i fwrw golwg ar y diweddariadau sydd wedi cael eu gadael." -#: perllib/FixMyStreet/App/Controller/Report/New.pm:740 +#: perllib/FixMyStreet/App/Controller/Report/New.pm:774 msgid "Please upload a JPEG image only" msgstr "Dim ond llun JPEG y dylech lwytho i fyny." -#: perllib/FixMyStreet/App/Controller/Contact.pm:96 +#: perllib/FixMyStreet/App/Controller/Contact.pm:98 msgid "Please write a message" msgstr "Ysgrifennwch neges" @@ -1625,9 +1823,7 @@ msgstr "Cofnodwyd yn ddi-enw am %s" msgid "Posted by %s at %s" msgstr "Cofnodwyd gan %s am %s" -#: perllib/FixMyStreet/Map/Tilma/Original.pm:92 #: templates/web/default/maps/openlayers.html:89 -#: templates/web/default/maps/tilma/original.html:63 msgid "Empty property" msgstr "Eiddo gwag" @@ -1651,7 +1847,7 @@ msgstr "Eiddo gwag yn %s" msgid "Empty property breakdown by state" msgstr "ni fydd eich eiddo gwag yn cael ei bostio" -#: perllib/FixMyStreet/App/Controller/Admin.pm:759 +#: perllib/FixMyStreet/App/Controller/Admin.pm:703 #, fuzzy msgid "Empty property marked as open." msgstr "Ffurflen manylion eiddo gwag" @@ -1660,7 +1856,12 @@ msgstr "Ffurflen manylion eiddo gwag" msgid "Empty property state change based on survey results" msgstr "" -#: templates/web/default/around/display_location.html:67 +#: templates/web/default/admin/list_flagged.html:5 +#, fuzzy +msgid "Empty properties" +msgstr "Eiddo gwag" + +#: templates/web/default/around/display_location.html:80 msgid "Empty properties in this area" msgstr "Eiddo gwag yn yr ardal hon" @@ -1677,13 +1878,13 @@ msgstr "" msgid "Empty properties within %.1fkm of this location" msgstr "Eiddo gwag o fewn %skm o'r lleoliad hwn" -#: perllib/FixMyStreet/Cobrand/Default.pm:792 +#: perllib/FixMyStreet/Cobrand/Default.pm:782 #: perllib/FixMyStreet/Cobrand/EmptyHomes.pm:162 -#: perllib/FixMyStreet/Cobrand/FiksGataMi.pm:172 +#: perllib/FixMyStreet/Cobrand/FiksGataMi.pm:177 msgid "Empty properties within %s" msgstr "Eiddo gwag yn %s" -#: perllib/FixMyStreet/Cobrand/Default.pm:801 +#: perllib/FixMyStreet/Cobrand/Default.pm:791 #: perllib/FixMyStreet/Cobrand/EmptyHomes.pm:170 msgid "Empty properties within %s ward" msgstr "Eiddo gwag yn ward %s" @@ -1703,7 +1904,7 @@ msgstr "" "Eiddo y cafwyd adroddiadau diweddar ar reportemptyhomes.com eu bod wedi cael " "eu hadfer i'w defnyddio" -#: perllib/FixMyStreet/App/Controller/Report/New.pm:471 +#: perllib/FixMyStreet/App/Controller/Report/New.pm:498 msgid "Property type:" msgstr "Math o eiddo:" @@ -1712,7 +1913,7 @@ msgid "Provide an update" msgstr "Rhowch ddiweddariad" #: templates/web/default/report/display.html:172 -#: templates/web/default/report/new/fill_in_details.html:187 +#: templates/web/default/report/new/fill_in_details_form.html:166 msgid "" "Providing a password is optional, but doing so will allow you to more easily " "report empty properties, leave updates and manage your reports." @@ -1748,29 +1949,29 @@ msgstr "Llenwyd yr holiadur gan yr unigolyn a roddodd wybod am yr eiddo gwag" msgid "RSS feed" msgstr "Porthiant RSS" -#: perllib/FixMyStreet/Cobrand/Default.pm:830 -#: perllib/FixMyStreet/Cobrand/Default.pm:844 +#: perllib/FixMyStreet/Cobrand/Default.pm:820 +#: perllib/FixMyStreet/Cobrand/Default.pm:834 #, fuzzy msgid "RSS feed for %s" msgstr "Porthiant RSS %s" -#: perllib/FixMyStreet/Cobrand/Default.pm:837 -#: perllib/FixMyStreet/Cobrand/Default.pm:851 +#: perllib/FixMyStreet/Cobrand/Default.pm:827 +#: perllib/FixMyStreet/Cobrand/Default.pm:841 #, fuzzy msgid "RSS feed for %s ward, %s" msgstr "Porthiant RSS %s" -#: perllib/FixMyStreet/Cobrand/Default.pm:860 -#: perllib/FixMyStreet/Cobrand/Default.pm:874 -#: perllib/FixMyStreet/Cobrand/FiksGataMi.pm:188 -#: perllib/FixMyStreet/Cobrand/FiksGataMi.pm:196 -#: perllib/FixMyStreet/Cobrand/FiksGataMi.pm:206 -#: perllib/FixMyStreet/Cobrand/FiksGataMi.pm:214 +#: perllib/FixMyStreet/Cobrand/Default.pm:850 +#: perllib/FixMyStreet/Cobrand/Default.pm:864 +#: perllib/FixMyStreet/Cobrand/FiksGataMi.pm:193 +#: perllib/FixMyStreet/Cobrand/FiksGataMi.pm:201 +#: perllib/FixMyStreet/Cobrand/FiksGataMi.pm:211 +#: perllib/FixMyStreet/Cobrand/FiksGataMi.pm:219 msgid "RSS feed of %s" msgstr "Porthiant RSS %s" -#: perllib/FixMyStreet/Cobrand/Default.pm:866 -#: perllib/FixMyStreet/Cobrand/Default.pm:880 +#: perllib/FixMyStreet/Cobrand/Default.pm:856 +#: perllib/FixMyStreet/Cobrand/Default.pm:870 #, fuzzy msgid "RSS feed of %s, within %s ward" msgstr "Porthiant RSS %s" @@ -1783,14 +1984,14 @@ msgstr "Porthiant RSS o eiddo gwag sydd gerllaw" msgid "RSS feed of empty properties in this %s" msgstr "Porthiant RSS o eiddo gwag yn yr %s hwn" -#: perllib/FixMyStreet/Cobrand/Default.pm:793 +#: perllib/FixMyStreet/Cobrand/Default.pm:783 #: perllib/FixMyStreet/Cobrand/EmptyHomes.pm:163 -#: perllib/FixMyStreet/Cobrand/FiksGataMi.pm:171 +#: perllib/FixMyStreet/Cobrand/FiksGataMi.pm:176 #, fuzzy msgid "RSS feed of empty properties within %s" msgstr "Porthiant RSS o eiddo gwag yn yr %s hwn" -#: perllib/FixMyStreet/Cobrand/Default.pm:800 +#: perllib/FixMyStreet/Cobrand/Default.pm:790 #: perllib/FixMyStreet/Cobrand/EmptyHomes.pm:169 #, fuzzy msgid "RSS feed of empty properties within %s ward" @@ -1837,7 +2038,11 @@ msgid "" "council directly using their own website." msgstr "" -#: templates/web/default/admin/report_edit.html:43 +#: templates/web/default/admin/report_blocks.html:16 +msgid "Remove flag" +msgstr "" + +#: templates/web/default/admin/report_edit.html:44 #: templates/web/default/admin/update_edit.html:33 msgid "Remove photo (can't be undone!)" msgstr "" @@ -1846,12 +2051,12 @@ msgstr "" msgid "Report Empty Homes" msgstr "Adrodd am Eiddo Gwag" -#: templates/web/default/footer.html:6 templates/web/emptyhomes/header.html:30 +#: templates/web/default/footer.html:6 templates/web/emptyhomes/header.html:28 #: templates/web/fiksgatami/footer.html:5 msgid "Report a property" msgstr "Rhoi gwybod am eiddo" -#: perllib/FixMyStreet/App/Controller/Rss.pm:252 +#: perllib/FixMyStreet/App/Controller/Rss.pm:268 #, fuzzy msgid "Report on %s" msgstr "Adroddiadau" @@ -1870,7 +2075,7 @@ msgstr "Adroddiadau" msgid "Reported %s, to %s" msgstr "Adroddwyd gan %s am %s" -#: perllib/FixMyStreet/DB/Result/Problem.pm:331 +#: perllib/FixMyStreet/DB/Result/Problem.pm:333 #: templates/web/default/contact/index.html:45 msgid "Reported anonymously at %s" msgstr "Adroddwyd yn ddi-enw am %s" @@ -1880,43 +2085,43 @@ msgstr "Adroddwyd yn ddi-enw am %s" msgid "Reported before" msgstr "Wedi adrodd o'r blaen" -#: perllib/FixMyStreet/DB/Result/Problem.pm:323 +#: perllib/FixMyStreet/DB/Result/Problem.pm:325 msgid "Reported by %s anonymously at %s" msgstr "Adroddwyd gan %s yn ddi-enw am %s" -#: perllib/FixMyStreet/DB/Result/Problem.pm:354 +#: perllib/FixMyStreet/DB/Result/Problem.pm:356 #: templates/web/default/contact/index.html:47 msgid "Reported by %s at %s" msgstr "Adroddwyd gan %s am %s" -#: perllib/FixMyStreet/DB/Result/Problem.pm:345 +#: perllib/FixMyStreet/DB/Result/Problem.pm:347 msgid "Reported by %s by %s at %s" msgstr "Adroddwyd gan %s trwy %s am %s" -#: perllib/FixMyStreet/DB/Result/Problem.pm:319 +#: perllib/FixMyStreet/DB/Result/Problem.pm:321 msgid "Reported by %s in the %s category anonymously at %s" msgstr "Adroddwyd am hyn gan %s yn y categori %s yn ddi-enw, am %s" -#: perllib/FixMyStreet/DB/Result/Problem.pm:339 +#: perllib/FixMyStreet/DB/Result/Problem.pm:341 msgid "Reported by %s in the %s category by %s at %s" msgstr "Adroddwyd gan %s yn y categori %s trwy %s am %s" -#: perllib/FixMyStreet/DB/Result/Problem.pm:327 +#: perllib/FixMyStreet/DB/Result/Problem.pm:329 msgid "Reported in the %s category anonymously at %s" msgstr "Adroddiwyd yn y categori %s yn ddi-enw am %s" -#: perllib/FixMyStreet/DB/Result/Problem.pm:349 +#: perllib/FixMyStreet/DB/Result/Problem.pm:351 msgid "Reported in the %s category by %s at %s" msgstr "Adroddwyd yn y categori %s gan %s am %s" #: templates/web/default/around/around_index.html:1 #: templates/web/default/report/new/fill_in_details.html:0 -#: templates/web/default/report/new/fill_in_details.html:29 #: templates/web/default/report/new/fill_in_details.html:3 +#: templates/web/default/report/new/fill_in_details_form.html:1 msgid "Reporting an empty property" msgstr "Adrodd am eiddo gwag" -#: templates/web/default/around/display_location.html:97 +#: templates/web/default/around/display_location.html:94 msgid "Reports on and around the map" msgstr "Adroddiadau ar ac yng nghyffiniau'r map" @@ -1939,12 +2144,23 @@ msgstr "" msgid "Save changes" msgstr "" -#: perllib/FixMyStreet/App/Controller/Admin.pm:613 +#: perllib/FixMyStreet/App/Controller/Admin.pm:843 +#, fuzzy +msgid "Search Abuse" +msgstr "Adroddiadau cryno" + +#: templates/web/default/admin/search_abuse.html:1 +msgid "Search Abuse Table" +msgstr "" + +#: perllib/FixMyStreet/App/Controller/Admin.pm:840 +#: templates/web/default/admin/list_flagged.html:1 #: templates/web/default/admin/search_reports.html:1 #, fuzzy msgid "Search Reports" msgstr "Adroddiadau cryno" +#: templates/web/default/admin/search_abuse.html:4 #: templates/web/default/admin/search_reports.html:5 msgid "Search:" msgstr "" @@ -1959,7 +2175,7 @@ msgstr "" "porthiant RSS,\n" "neu rhowch eich cyfeiriad e-bost i danysgrifio am hysbysiad e-bost." -#: perllib/FixMyStreet/DB/Result/Problem.pm:396 +#: perllib/FixMyStreet/DB/Result/Problem.pm:398 msgid "Sent to %s %s later" msgstr "Anfonwyd at %s %s yn ddiweddarach" @@ -2013,11 +2229,11 @@ msgstr "" "bellach am ein gwaith ar gartrefi gwag</a>.\n" #: templates/web/default/report/display.html:205 -#: templates/web/default/report/new/fill_in_details.html:226 +#: templates/web/default/report/new/fill_in_details_form.html:201 msgid "Show my name publicly" msgstr "" -#: templates/web/default/around/display_location.html:50 +#: templates/web/default/around/display_location.html:52 msgid "Show pins" msgstr "Dangos pinnau" @@ -2035,13 +2251,15 @@ msgid "Sign in or create an account" msgstr "" #: templates/web/default/auth/sign_out.html:1 -#: templates/web/default/header.html:26 -#: templates/web/emptyhomes/header.html:46 +#: templates/web/default/header.html:28 +#: templates/web/emptyhomes/header.html:44 +#: templates/web/lichfielddc/header.html:174 msgid "Sign out" msgstr "" -#: templates/web/default/header.html:25 -#: templates/web/emptyhomes/header.html:45 +#: templates/web/default/header.html:27 +#: templates/web/emptyhomes/header.html:43 +#: templates/web/lichfielddc/header.html:174 msgid "Signed in as %s" msgstr "" @@ -2050,7 +2268,7 @@ msgid "Some photos of recent reports" msgstr "Rhai ffotograffau o adroddiadau diweddar" #: perllib/FixMyStreet/App/View/Email.pm:32 -#: perllib/FixMyStreet/App/View/Web.pm:41 +#: perllib/FixMyStreet/App/View/Web.pm:44 msgid "Some text to localize" msgstr "" @@ -2078,11 +2296,25 @@ msgid "Sorry, we could not parse that location. Please try again." msgstr "" "Sori, ni fu modd i ni ddosrannu'r lleoliad hwnnw. Rhowch gynnig arall arni." -#: templates/web/default/footer.html:17 #: templates/web/fiksgatami/footer.html:15 msgid "Source code" msgstr "" +#: templates/web/default/admin/stats.html:41 +#, fuzzy +msgid "Start Year:" +msgstr "Diweddariad:" + +#: templates/web/default/admin/stats.html:43 +#, fuzzy +msgid "Start day:" +msgstr "Diweddariad:" + +#: templates/web/default/admin/stats.html:42 +msgid "Start month:" +msgstr "" + +#: templates/web/default/admin/list_flagged.html:18 #: templates/web/default/admin/list_updates.html:6 #: templates/web/default/admin/search_reports.html:21 #, fuzzy @@ -2095,20 +2327,26 @@ msgstr "Diweddariad:" msgid "State:" msgstr "Diweddariad:" +#: perllib/FixMyStreet/App/Controller/Admin.pm:845 +#: templates/web/default/admin/stats.html:1 +#, fuzzy +msgid "Stats" +msgstr "Diweddariad:" + #: templates/web/default/admin/report_edit.html:13 #: templates/web/default/contact/index.html:83 -#: templates/web/default/report/new/fill_in_details.html:90 +#: templates/web/default/report/new/fill_in_details_form.html:52 msgid "Subject:" msgstr "Pwnc:" #: templates/web/default/questionnaire/creator_fixed.html:19 -#: templates/web/default/report/new/fill_in_details.html:131 -#: templates/web/default/report/new/fill_in_details.html:169 -#: templates/web/default/report/new/fill_in_details.html:190 +#: templates/web/default/report/new/fill_in_details_form.html:110 +#: templates/web/default/report/new/fill_in_details_form.html:148 +#: templates/web/default/report/new/fill_in_details_form.html:169 msgid "Submit" msgstr "Anfon" -#: templates/web/default/admin/report_edit.html:46 +#: templates/web/default/admin/report_edit.html:47 #: templates/web/default/admin/update_edit.html:36 #, fuzzy msgid "Submit changes" @@ -2127,7 +2365,7 @@ msgstr "Tanysgrifio" msgid "Subscribe me to an email alert" msgstr "Dymunaf danysgrifio i rybuddion drwy e-bost" -#: perllib/FixMyStreet/App/Controller/Admin.pm:611 +#: perllib/FixMyStreet/App/Controller/Admin.pm:838 #: templates/web/default/admin/index.html:1 #, fuzzy msgid "Summary" @@ -2139,7 +2377,7 @@ msgstr "Adroddiadau cryno" msgid "Summary reports" msgstr "Adroddiadau cryno" -#: perllib/FixMyStreet/App/Controller/Admin.pm:615 +#: perllib/FixMyStreet/App/Controller/Admin.pm:842 #: templates/web/default/admin/questionnaire.html:1 msgid "Survey Results" msgstr "" @@ -2238,7 +2476,7 @@ msgstr "" "i ni'ch holi chi, a ydych erioed wedi rhoi gwybod i'r cyngor am eiddo gwag " "cyn hyn?" -#: perllib/FixMyStreet/App/Controller/Report/New.pm:749 +#: perllib/FixMyStreet/App/Controller/Report/New.pm:783 msgid "" "That image doesn't appear to have uploaded correctly (%s), please try again." msgstr "" @@ -2260,11 +2498,11 @@ msgstr "" "arni." #: perllib/FixMyStreet/Cobrand/Default.pm:509 -#: perllib/FixMyStreet/Cobrand/FiksGataMi.pm:73 +#: perllib/FixMyStreet/Cobrand/FiksGataMi.pm:78 msgid "That postcode was not recognised, sorry." msgstr "Ni chafodd y cod post hwnnw ei gydnabod, sori." -#: perllib/FixMyStreet/App/Controller/Admin.pm:512 +#: perllib/FixMyStreet/App/Controller/Admin.pm:517 #, fuzzy msgid "That empty property will now be resent." msgstr "ni fydd eich eiddo gwag yn cael ei bostio" @@ -2319,6 +2557,13 @@ msgstr "" "rydym yn gweithio ledled Lloegr. Rydym hefyd yn gweithio mewn partneriaeth " "ag elusennau eraill ledled y DU.</p>\n" +#: templates/web/default/open311/index.html:23 +msgid "" +"The Open311 v2 attribute agency_responsible is used to list the " +"administrations that received the empty property report, which is not quite " +"the way the attribute is defined in the Open311 v2 specification." +msgstr "" + #: templates/web/default/auth/token.html:21 #: templates/web/default/email_sent.html:22 msgid "" @@ -2338,6 +2583,13 @@ msgstr "Mae manylion eich eiddo gwag ar gael ar ochr dde'r dudalen hon." msgid "The error was: %s" msgstr "Testun y gwall oedd:" +#: templates/web/default/open311/index.html:19 +msgid "" +"The following Open311 v2 attributes are returned for each request: " +"service_request_id, description, lat, long, media_url, status, " +"requested_datetime, updated_datetime, service_code and service_name." +msgstr "" + #: perllib/FixMyStreet/Geocode/OSM.pm:99 msgid "" "The following information about the nearest road might be inaccurate or " @@ -2424,10 +2676,10 @@ msgstr "" msgid "The requested URL '%s' was not found on this server" msgstr "" -#: perllib/FixMyStreet/App/Controller/Admin.pm:493 -#: perllib/FixMyStreet/App/Controller/Admin.pm:663 -#: perllib/FixMyStreet/App/Controller/Admin.pm:702 -#: perllib/FixMyStreet/App/Controller/Admin.pm:787 +#: perllib/FixMyStreet/App/Controller/Admin.pm:1039 +#: perllib/FixMyStreet/App/Controller/Admin.pm:497 +#: perllib/FixMyStreet/App/Controller/Admin.pm:630 +#: perllib/FixMyStreet/App/Controller/Admin.pm:894 msgid "The requested URL was not found on this server." msgstr "" @@ -2435,9 +2687,10 @@ msgstr "" msgid "The simplest alert is our geographic one:" msgstr "Yr hysbysiad symlaf yw ein hysbysiad daearyddol:" -#: templates/web/default/report/new/all_councils_text.html:18 -#: templates/web/default/report/new/some_councils_text.html:10 -#: templates/web/default/report/new/some_councils_text.html:11 +#: templates/web/default/report/new/councils_text_all.html:18 +#: templates/web/default/report/new/councils_text_some.html:10 +#: templates/web/default/report/new/councils_text_some.html:11 +#: templates/web/default/report/new/fill_in_details_form.html:17 msgid "" "The subject and details of the empty property will be public, plus your name " "if you give us permission." @@ -2457,7 +2710,7 @@ msgid "" "later." msgstr "" -#: perllib/FixMyStreet/App/Controller/Report/New.pm:578 +#: perllib/FixMyStreet/App/Controller/Report/New.pm:605 #: perllib/FixMyStreet/App/Controller/Report/Update.pm:117 #: templates/web/default/auth/general.html:23 msgid "" @@ -2473,7 +2726,7 @@ msgid "" "again." msgstr "" -#: perllib/FixMyStreet/App/Controller/Contact.pm:115 +#: perllib/FixMyStreet/App/Controller/Contact.pm:117 msgid "There were problems with your report. Please see below." msgstr "Cafwyd anhawsterau gyda'ch adroddiad. Gweler isod." @@ -2481,6 +2734,12 @@ msgstr "Cafwyd anhawsterau gyda'ch adroddiad. Gweler isod." msgid "There were problems with your update. Please see below." msgstr "Cafwyd anhawsterau gyda'ch diweddariad. Gweler isod" +#: templates/web/default/open311/index.html:10 +msgid "" +"This API implementation is work in progress and not yet stabilized. It will " +"change without warnings in the future." +msgstr "" + #: bin/send-reports:181 msgid "" "This email has been sent to both councils covering the location of the empty " @@ -2521,7 +2780,7 @@ msgstr "" "Dyma grynodeb o'r holl adroddiadau ar y safle hwn; dewiswch gyngor penodol i " "weld yr adroddiadau a anfonwyd ato." -#: perllib/FixMyStreet/Cobrand/Default.pm:913 +#: perllib/FixMyStreet/Cobrand/Default.pm:903 #: perllib/FixMyStreet/Cobrand/EmptyHomes.pm:117 #: templates/web/default/report/display.html:96 msgid "This empty property has been returned to use" @@ -2532,16 +2791,16 @@ msgstr "Mae'r eiddo gwag hwn wedi cael ei adfer i'w ddefnyddio" msgid "This empty property has not been returned to use" msgstr "Mae'r eiddo gwag hwn wedi cael ei adfer i'w ddefnyddio" -#: perllib/FixMyStreet/Cobrand/Default.pm:909 +#: perllib/FixMyStreet/Cobrand/Default.pm:899 msgid "This empty property is old and of unknown status." msgstr "Mae'r eiddo gwag hwn yn hen ac nid yw ei statws yn hysbys." -#: perllib/FixMyStreet/DB/ResultSet/AlertType.pm:78 +#: perllib/FixMyStreet/DB/ResultSet/AlertType.pm:79 #, fuzzy msgid "This report is currently marked as returned to use." msgstr "Mae'r eiddo gwag hwn wedi cael ei adfer i'w ddefnyddio" -#: perllib/FixMyStreet/DB/ResultSet/AlertType.pm:79 +#: perllib/FixMyStreet/DB/ResultSet/AlertType.pm:80 msgid "This report is currently marked as open." msgstr "" @@ -2553,15 +2812,25 @@ msgstr "" "Mae'r dudalen we hon hefyd yn cynnwys ffotograff o'r eiddo gwag, wedi'i " "ddarparu gan y defnyddiwr." -#: perllib/FixMyStreet/App/Controller/Admin.pm:614 +#: perllib/FixMyStreet/App/Controller/Admin.pm:841 #: templates/web/default/admin/timeline.html:1 msgid "Timeline" msgstr "" +#: templates/web/default/admin/list_flagged.html:10 #: templates/web/default/admin/search_reports.html:13 msgid "Title" msgstr "" +#: templates/web/default/around/display_location.html:70 +#, fuzzy +msgid "" +"To <strong>report an empty property</strong>, simply click on the map at the " +"correct location." +msgstr "" +"Er mwyn rhoi gwybod am eiddo gwag\n" +" <strong>cliciwch ar y map</strong> wrth y lleoliad cywir." + #: templates/web/default/alert/index.html:21 msgid "" "To find out what local alerts we have in your area, council or ward, please " @@ -2572,28 +2841,16 @@ msgstr "" "ward chi,\n" "cofnodwch eich cod post Prydeinig neu enw stryd ac ardal:" -#: templates/web/default/around/display_location.html:86 -#, fuzzy -msgid "" -"To report an empty property, simply <strong>click on the map</strong> at the " -"correct location." -msgstr "" -"Er mwyn rhoi gwybod am eiddo gwag\n" -" <strong>cliciwch ar y map</strong> wrth y lleoliad cywir." - #: bin/send-reports:76 msgid "To view a map of the precise location of this issue" msgstr "Gweld map o union leoliad y broblem hon" #: templates/web/default/admin/index.html:36 #: templates/web/default/admin/questionnaire.html:24 +#: templates/web/default/admin/stats.html:21 msgid "Total" msgstr "" -#: templates/web/default/maps/tilma/original.html:10 -msgid "Unable to fetch the map tiles from the tile server." -msgstr "" - #: perllib/FixMyStreet/App/Controller/Reports.pm:45 msgid "Unable to look up areas in MaPit. Please try again later." msgstr "" @@ -2603,7 +2860,7 @@ msgstr "" msgid "Unconfirmed" msgstr "" -#: perllib/FixMyStreet/App/Controller/Rss.pm:156 +#: perllib/FixMyStreet/App/Controller/Rss.pm:163 #, fuzzy msgid "Unknown alert type" msgstr "ID eiddo gwag anhysbys" @@ -2643,8 +2900,8 @@ msgstr "Diweddariadau" msgid "Update:" msgstr "Diweddariad:" -#: perllib/FixMyStreet/App/Controller/Admin.pm:586 -#: perllib/FixMyStreet/App/Controller/Admin.pm:749 +#: perllib/FixMyStreet/App/Controller/Admin.pm:606 +#: perllib/FixMyStreet/App/Controller/Admin.pm:693 #, fuzzy msgid "Updated!" msgstr "Diweddariadau" @@ -2663,8 +2920,20 @@ msgstr "Diweddariadau am {{title}}" msgid "Updates to this empty property, reportemptyhomes.com" msgstr "Diweddariadau i'r eiddo gwag hwn, reportemptyhomes.com" -#: perllib/FixMyStreet/App/Controller/Admin.pm:294 -#: perllib/FixMyStreet/App/Controller/Admin.pm:324 +#: perllib/FixMyStreet/App/Controller/Admin.pm:997 +msgid "User flag removed" +msgstr "" + +#: perllib/FixMyStreet/App/Controller/Admin.pm:969 +msgid "User flagged" +msgstr "" + +#: templates/web/default/admin/list_flagged.html:30 +msgid "Users" +msgstr "" + +#: perllib/FixMyStreet/App/Controller/Admin.pm:295 +#: perllib/FixMyStreet/App/Controller/Admin.pm:325 #, fuzzy msgid "Values updated" msgstr "Anfonwch ddiweddariadau ataf i drwy'r e-bost" @@ -2772,14 +3041,22 @@ msgstr "" msgid "When edited" msgstr "" +#: templates/web/default/admin/list_flagged.html:19 #: templates/web/default/admin/search_reports.html:22 msgid "When sent" msgstr "" -#: perllib/FixMyStreet/App/Controller/Report/New.pm:466 +#: perllib/FixMyStreet/App/Controller/Report/New.pm:493 msgid "Whole block of empty flats" msgstr "Bloc cyfan o fflatiau gwag" +#: templates/web/default/open311/index.html:25 +msgid "" +"With request searches, it is also possible to search for agency_responsible " +"to limit the requests to those sent to a single administration. The search " +"term is the administration ID provided by <a href=\"%s\">MaPit</a>." +msgstr "" + #: templates/web/default/questionnaire/index.html:104 msgid "" "Would you like to receive another questionnaire in 4 weeks, reminding you to " @@ -2796,9 +3073,9 @@ msgstr "" #: templates/web/default/admin/council_contacts.html:33 #: templates/web/default/admin/council_edit.html:5 #: templates/web/default/admin/list_updates.html:28 +#: templates/web/default/admin/problem_row.html:19 #: templates/web/default/admin/report_edit.html:18 #: templates/web/default/admin/report_edit.html:37 -#: templates/web/default/admin/search_reports.html:43 #: templates/web/default/admin/update_edit.html:15 #: templates/web/default/questionnaire/creator_fixed.html:14 #: templates/web/default/questionnaire/index.html:107 @@ -2834,10 +3111,10 @@ msgstr "" msgid "You can <a href=\"/reports\">show all councils</a>." msgstr "Gallwch <a href=\"%s\">weld mwy o fanylion</a>." -#: templates/web/default/report/new/no_councils_text.html:14 -#: templates/web/default/report/new/no_councils_text.html:3 -#: templates/web/default/report/new/some_councils_text.html:20 -#: templates/web/default/report/new/some_councils_text.html:22 +#: templates/web/default/report/new/councils_text_none.html:14 +#: templates/web/default/report/new/councils_text_none.html:3 +#: templates/web/default/report/new/councils_text_some.html:20 +#: templates/web/default/report/new/councils_text_some.html:22 msgid "" "You can help us by finding a contact email address for local empty " "properties for %s and emailing it to us at <a href='mailto:%s'>%s</a>." @@ -2853,7 +3130,7 @@ msgstr "" "s'>cysylltwch â ni</a>, neu ewch i <a href='%s'>weld eich eiddo gwag</a>.\n" #: templates/web/default/questionnaire/index.html:94 -#: templates/web/default/report/new/fill_in_details.html:110 +#: templates/web/default/report/new/fill_in_details_form.html:89 msgid "" "You have already attached a photo to this report, attaching another one will " "replace it." @@ -2869,7 +3146,7 @@ msgstr "" msgid "You have been signed out" msgstr "" -#: templates/web/default/report/new/fill_in_details.html:35 +#: templates/web/default/report/new/fill_in_details_form.html:7 #, fuzzy msgid "" "You have located the empty property at the point marked with a purple pin on " @@ -2906,7 +3183,7 @@ msgstr "Rydych wedi dileu'ch hysbysiad yn llwyddiannus." msgid "You have successfully deleted your alert." msgstr "Rydych wedi dileu'ch hysbysiad yn llwyddiannus." -#: perllib/FixMyStreet/App/Controller/Report/New.pm:584 +#: perllib/FixMyStreet/App/Controller/Report/New.pm:611 #: perllib/FixMyStreet/App/Controller/Report/Update.pm:123 #, fuzzy msgid "" @@ -2937,14 +3214,14 @@ msgstr "Eich cyfeiriad e-bost:" #: templates/web/default/alert/list.html:122 #: templates/web/default/report/display.html:128 -#: templates/web/default/report/new/fill_in_details.html:141 +#: templates/web/default/report/new/fill_in_details_form.html:120 msgid "Your email:" msgstr "Eich cyfeiriad e-bost:" #: templates/web/default/auth/general.html:59 #: templates/web/default/contact/index.html:68 #: templates/web/default/report/display.html:199 -#: templates/web/default/report/new/fill_in_details.html:219 +#: templates/web/default/report/new/fill_in_details_form.html:194 msgid "Your name:" msgstr "Eich enw:" @@ -3013,7 +3290,13 @@ msgstr "" msgid "reopened" msgstr "wedi'i ailagor" -#: perllib/FixMyStreet/DB/Result/Problem.pm:361 +#: templates/web/default/report/new/fill_in_details_form.html:11 +#: templates/web/default/report/new/fill_in_details_form.html:14 +#, fuzzy +msgid "the local council" +msgstr "Ni roddwyd gwybod i'r cyngor am hyn" + +#: perllib/FixMyStreet/DB/Result/Problem.pm:363 msgid "the map was not used so pin location may be inaccurate" msgstr "" "ni ddefnyddiwyd y map felly mae'n bosibl na fydd lleoliad y pin yn gywir" @@ -3076,7 +3359,7 @@ msgid_plural "<big>%s</big> reports recently" msgstr[0] "<big>%s</big> adroddiad yn ddiweddar" msgstr[1] "<big>%s</big> o adroddiadau yn ddiweddar" -#: templates/web/default/report/new/no_councils_text.html:5 +#: templates/web/default/report/new/councils_text_none.html:5 #, perl-format msgid "We do not yet have details for the council that covers this location." msgid_plural "" @@ -3105,7 +3388,7 @@ msgid_plural "<big>%s</big> updates on reports" msgstr[0] "<big>%s</big> diweddariad ar adroddiadau" msgstr[1] "<big>%s</big> diweddariad ar adroddiadau" -#: templates/web/default/report/new/some_councils_text.html:14 +#: templates/web/default/report/new/councils_text_some.html:14 #, perl-format msgid "" "We do <strong>not</strong> yet have details for the other council that " @@ -3118,6 +3401,12 @@ msgstr[1] "" #, fuzzy #~ msgid "" +#~ "© Crown copyright. All rights reserved. Ministry of Justice " +#~ "100037819 2008." +#~ msgstr "Hawlfraint y Goron. Cedwir pob hawl. Y Weinyddiaeth Amddiffyn" + +#, fuzzy +#~ msgid "" #~ "Built by <a href=\"http://www.mysociety.org/\">mySociety</a> and " #~ "maintained by <a href=\"http://www.nuug.no/\">NUUG</a>, using some <a " #~ "href=\"http://github.com/mysociety/fixmystreet\">clever</a> <a href=" diff --git a/locale/nb_NO.UTF-8/LC_MESSAGES/FixMyStreet.po b/locale/nb_NO.UTF-8/LC_MESSAGES/FixMyStreet.po index bc136c74d..ae110af52 100644 --- a/locale/nb_NO.UTF-8/LC_MESSAGES/FixMyStreet.po +++ b/locale/nb_NO.UTF-8/LC_MESSAGES/FixMyStreet.po @@ -9,8 +9,8 @@ msgid "" msgstr "" "Project-Id-Version: FixMyStreet\n" "Report-Msgid-Bugs-To: matthew@mysociety.org\n" -"POT-Creation-Date: 2011-07-14 12:35+0100\n" -"PO-Revision-Date: 2011-07-13 20:42MET\n" +"POT-Creation-Date: 2011-08-18 11:07+0100\n" +"PO-Revision-Date: 2011-08-18 10:14MET\n" "Last-Translator: Petter Reinholdtsen <pere@hungry.com>\n" "Language-Team: Norwegian BokmÃ¥l <i18n-nb@lister.ping.uio.no>\n" "MIME-Version: 1.0\n" @@ -19,7 +19,7 @@ msgstr "" "Plural-Forms: nplurals=2; plural=n != 1;\n" "X-Generator: KBabel 1.11.4\n" -#: bin/send-reports:179 perllib/FixMyStreet/DB/Result/Problem.pm:376 +#: bin/send-reports:179 perllib/FixMyStreet/DB/Result/Problem.pm:378 msgid " and " msgstr " og " @@ -28,13 +28,13 @@ msgstr " og " msgid " and <strong>we will now send it to the council</strong>" msgstr " og <strong>vi sender det nÃ¥ til administrasjonen</strong>" -#: templates/web/default/report/new/all_councils_text.html:10 -#: templates/web/default/report/new/all_councils_text.html:3 -#: templates/web/default/report/new/no_councils_text.html:15 -#: templates/web/default/report/new/no_councils_text.html:3 -#: templates/web/default/report/new/some_councils_text.html:20 -#: templates/web/default/report/new/some_councils_text.html:23 -#: templates/web/default/report/new/some_councils_text.html:5 +#: templates/web/default/report/new/councils_text_all.html:10 +#: templates/web/default/report/new/councils_text_all.html:3 +#: templates/web/default/report/new/councils_text_none.html:15 +#: templates/web/default/report/new/councils_text_none.html:3 +#: templates/web/default/report/new/councils_text_some.html:20 +#: templates/web/default/report/new/councils_text_some.html:23 +#: templates/web/default/report/new/councils_text_some.html:5 #: templates/web/emptyhomes/report/new/all_councils_text.html:2 msgid " or " msgstr " eller " @@ -100,40 +100,40 @@ msgstr "%d uker" msgid "%s - Summary reports" msgstr "%s - oppsummeringsrapporter" -#: perllib/FixMyStreet/Cobrand/Default.pm:836 -#: perllib/FixMyStreet/Cobrand/Default.pm:850 +#: perllib/FixMyStreet/Cobrand/Default.pm:826 +#: perllib/FixMyStreet/Cobrand/Default.pm:840 msgid "%s ward, %s" msgstr "%s bydel, %s" -#: perllib/FixMyStreet/DB/Result/Problem.pm:307 +#: perllib/FixMyStreet/DB/Result/Problem.pm:309 msgid "%s, reported anonymously at %s" msgstr "%s, rapportert anonymt %s" -#: perllib/FixMyStreet/DB/Result/Problem.pm:309 +#: perllib/FixMyStreet/DB/Result/Problem.pm:311 msgid "%s, reported by %s at %s" msgstr "%s, rapportert av %s %s" -#: perllib/FixMyStreet/Cobrand/Default.pm:867 -#: perllib/FixMyStreet/Cobrand/Default.pm:881 -#, fuzzy +#: perllib/FixMyStreet/Cobrand/Default.pm:857 +#: perllib/FixMyStreet/Cobrand/Default.pm:871 msgid "%s, within %s ward" -msgstr "Problemer innenfor %s avdeling/etat" +msgstr "%s, innefor bydel %s" -#: perllib/FixMyStreet/Map/Tilma/Original.pm:82 -msgid "" -"© Crown copyright. All rights reserved. Ministry of Justice " -"100037819 2008." -msgstr "" -"© Crown copyright. Alle rettigheter reservert. Justisdepartementet " -"100037819 2008." +#: templates/web/default/admin/stats.html:5 +#, fuzzy +msgid "%sreports between %s and %s" +msgstr "%s, rapportert av %s %s" #: templates/web/default/email_sent.html:28 msgid "(Don't worry — %s)" -msgstr "(Slapp av — %s)" +msgstr "(Ingen grunn til bekymring — %s)" + +#: templates/web/default/admin/report_blocks.html:11 +msgid "(Email in abuse table)" +msgstr "" #: templates/web/default/alert/list.html:53 msgid "(a default distance which covers roughly 200,000 people)" -msgstr "(en default-avstand som dekker en befolkning pÃ¥ omtrent 200 000)" +msgstr "(en standardavstand som dekker en befolkning pÃ¥ omtrent 200 000)" #: templates/web/default/alert/list.html:58 msgid "(alternatively the RSS feed can be customised, within" @@ -146,47 +146,49 @@ msgstr "(løst)" #: templates/web/default/index.html:12 templates/web/default/index.html:8 msgid "(like graffiti, fly tipping, broken paving slabs, or street lighting)" -msgstr "(som tagging, søppel, hull i veien, eller manglende gatelys)" +msgstr "(som tagging, søppel, hull i veien, eller ødelagte gatelys)" #: templates/web/default/reports/council.html:133 msgid "(not sent to council)" msgstr "(ikke rapportert til administrasjonen)" -#: templates/web/default/report/new/fill_in_details.html:233 +#: templates/web/default/report/new/fill_in_details_form.html:208 msgid "(optional)" msgstr "(valgfritt)" +# Denne teksten er lite forklarende #: templates/web/default/reports/council.html:131 msgid "(sent to both)" msgstr "(sendt til begge)" -#: templates/web/default/report/new/fill_in_details.html:227 +#: templates/web/default/report/new/fill_in_details_form.html:202 msgid "(we never show your email address or phone number)" -msgstr "(vi viser aldri din epostadresse eller telefonnummer)" +msgstr "(vi viser aldri din e-postadresse eller telefonnummer)" #: templates/web/default/report/display.html:206 msgid "(we never show your email)" -msgstr "(vi viser aldri din epostadresse)" +msgstr "(vi viser aldri din e-postadresse)" -#: perllib/FixMyStreet/App/Controller/Admin.pm:269 +#: perllib/FixMyStreet/App/Controller/Admin.pm:270 msgid "*unknown*" msgstr "*ukjent*" -#: perllib/FixMyStreet/App/Controller/Report/New.pm:477 -#: perllib/FixMyStreet/App/Controller/Report/New.pm:505 -#: perllib/FixMyStreet/DB/Result/Problem.pm:204 +#: perllib/FixMyStreet/App/Controller/Report/New.pm:504 +#: perllib/FixMyStreet/App/Controller/Report/New.pm:532 +#: perllib/FixMyStreet/DB/Result/Problem.pm:206 msgid "-- Pick a category --" -msgstr "-- velg en kategori --" +msgstr "-- Velg en kategori --" -#: perllib/FixMyStreet/App/Controller/Report/New.pm:463 -#: perllib/FixMyStreet/DB/Result/Problem.pm:210 +#: perllib/FixMyStreet/App/Controller/Report/New.pm:490 +#: perllib/FixMyStreet/DB/Result/Problem.pm:212 msgid "-- Pick a property type --" -msgstr "-- velg en eiendomsstype --" +msgstr "-- Velg en eiendomsstype --" +# Bør "portalen" byttes ut med et annet ord? (trenger kontekst) #: templates/web/default/tokens/confirm_problem.html:14 #: templates/web/default/tokens/confirm_problem.html:6 msgid ". You can <a href=\"%s\">view the problem on this site</a>." -msgstr ". Du kan <a href=\"%s\">lese saken pÃ¥ portalen </a>." +msgstr ". Du kan <a href=\"%s\">lese om problemet pÃ¥ portalen </a>." #: templates/web/default/footer.html:13 msgid "" @@ -203,7 +205,7 @@ msgid "" "questionnaire; glad to hear it’s been fixed.</p>" msgstr "" "<p style=\"font-size:150%\">Tusen takk for at du fylte ut vÃ¥rt spørreskjema. " -"Veldig glad for Ã¥ høre at det er blitt fikset.</p>" +"Vi er glad for Ã¥ høre at ditt problem er blitt fikset.</p>" #: templates/web/default/questionnaire/completed.html:15 #, fuzzy @@ -260,20 +262,19 @@ msgid "" msgstr "" #: templates/web/default/questionnaire/completed.html:9 -#, fuzzy msgid "" "<p>Thank you very much for filling in our questionnaire; if you\n" "get some more information about the status of your problem, please come back " "to the\n" "site and leave an update.</p>" msgstr "" -"<p>Tusen takk for at du fylte ut vÃ¥rt spørreskjema. Hvis du\n" +"<p>Tusen takk for at du fylte ut vÃ¥rt spørreskjema. Hvis du\n" "fÃ¥r mer informasjon om status for ditt problem, vær sÃ¥ snill Ã¥ kom tilbake " "hit til\n" -"nettstedet og legg igjen en oppdatering.</p>\n" +"nettstedet og legg igjen en oppdatering.</p>" -#: templates/web/default/around/display_location.html:87 -#: templates/web/default/around/display_location.html:89 +#: templates/web/default/around/display_location.html:71 +#: templates/web/default/around/display_location.html:73 msgid "" "<small>If you cannot see the map, <a href='%s' rel='nofollow'>skip this " "step</a>.</small>" @@ -287,25 +288,25 @@ msgstr "<strong>%d</strong> aktive problemer" #: templates/web/default/auth/general.html:55 msgid "<strong>No</strong>, I do not, let me sign in by email:" -msgstr "<strong>Nei</strong>, det gjør jeg ikke. La meg logge inn med epost:" +msgstr "<strong>Nei</strong>, det gjør jeg ikke. La meg logge inn med e-post:" -#: templates/web/default/report/new/fill_in_details.html:175 +#: templates/web/default/report/new/fill_in_details_form.html:154 msgid "<strong>No</strong>, let me confirm my report by email:" -msgstr "<strong>No</strong>, la meg bekrefte min rapport med epost:" +msgstr "<strong>No</strong>, la meg bekrefte min rapport med e-post:" #: templates/web/default/report/display.html:160 msgid "<strong>No</strong>, let me confirm my update by email:" -msgstr "<strong>No</strong>, la meg bekrefte min oppdatering med epost:" +msgstr "<strong>No</strong>, la meg bekrefte min oppdatering med e-post:" #: templates/web/default/auth/general.html:37 #: templates/web/default/report/display.html:142 -#: templates/web/default/report/new/fill_in_details.html:157 +#: templates/web/default/report/new/fill_in_details_form.html:136 msgid "<strong>Yes</strong>, I have a password:" msgstr "<strong>Ja</strong>, jeg har et passord:" #: templates/web/default/static/about.html:1 #: templates/web/default/static/about.html:3 -#: templates/web/emptyhomes/header.html:34 +#: templates/web/emptyhomes/header.html:32 #: templates/web/emptyhomes/static/about.html:1 #: templates/web/emptyhomes/static/about.html:3 msgid "About us" @@ -321,7 +322,7 @@ msgstr "La til %s" #: templates/web/default/auth/change_password.html:31 msgid "Again:" -msgstr "Igjen:" +msgstr "Gjenta:" #: templates/web/default/admin/timeline.html:37 msgid "Alert %d created for %s, type %s, parameters %s / %s" @@ -335,34 +336,38 @@ msgstr "Varsel %d koblet ut (opprettet %s)" msgid "Alert me to future updates" msgstr "Send meg varsel ved fremtidige oppdateringer" +#: templates/web/default/admin/stats.html:5 +msgid "All" +msgstr "" + #: templates/web/default/admin/council_list.html:44 msgid "All confirmed" msgstr "Alle bekreftet" -#: templates/web/default/footer.html:8 templates/web/emptyhomes/header.html:31 +#: templates/web/default/footer.html:8 templates/web/emptyhomes/header.html:29 #: templates/web/fiksgatami/footer.html:6 msgid "All reports" msgstr "Alle rapporter" -#: templates/web/default/report/new/some_councils_text.html:2 +#: templates/web/default/report/new/councils_text_some.html:2 msgid "All the information you provide here will be sent to" msgstr "All informasjonen du har lagt inn her vil bli sendt til" -#: templates/web/default/report/new/all_councils_text.html:3 -#: templates/web/default/report/new/all_councils_text.html:5 -#, fuzzy +#: templates/web/default/report/new/councils_text_all.html:3 +#: templates/web/default/report/new/councils_text_all.html:5 msgid "" "All the information you provide here will be sent to <strong>%s</strong> or " "a relevant local body such as <strong>TfL</strong>, via the London Report-It " "system." msgstr "" "All informasjonen du gir oss her vil bli sendt til <strong>%s</strong> eller " -"en relevant lokal etat som TfL, via systemet London Report-It.\n" -"Tittelen og detaljene for problemet vil bli offentlig, pluss ditt navn hvis " -"du gir oss tillatelse." +"en relevant lokal etat som <strong>TfL</strong>, via systemet London Report-" +"It." -#: templates/web/default/report/new/all_councils_text.html:10 -#: templates/web/default/report/new/all_councils_text.html:12 +#: templates/web/default/report/new/councils_text_all.html:10 +#: templates/web/default/report/new/councils_text_all.html:12 +#: templates/web/default/report/new/fill_in_details_form.html:11 +#: templates/web/default/report/new/fill_in_details_form.html:13 msgid "" "All the information you provide here will be sent to <strong>%s</strong>." msgstr "" @@ -370,21 +375,21 @@ msgstr "" #: templates/web/emptyhomes/report/new/all_councils_text.html:2 #: templates/web/emptyhomes/report/new/all_councils_text.html:4 -#, fuzzy msgid "" "All the information you provide here will be sent to <strong>%s</strong>. On " "the site, we will show the subject and details of the problem, plus your " "name if you give us permission." msgstr "" "All informasjonen du legger inn her vil bli sendt til <strong>%s</strong>.\n" -"PÃ¥ dette nettestedet vil vi vise tema og detaljer om problemet, pluss ditt " -"navn\n" -"hvis du gir oss lov." +"PÃ¥ dette nettestedet vil vi vise tema og detaljer om problemet, inkludert " +"ditt navn\n" +"dersom du gir oss lov." #: templates/web/default/questionnaire/index.html:62 msgid "An update marked this problem as fixed." msgstr "En oppdatering markerte dette problemet som fikset." +#: templates/web/default/admin/list_flagged.html:15 #: templates/web/default/admin/list_updates.html:10 #: templates/web/default/admin/search_reports.html:18 msgid "Anonymous" @@ -395,6 +400,31 @@ msgstr "Anonym" msgid "Anonymous:" msgstr "Anonym:" +#: templates/web/default/footer.html:29 +msgid "Are you a developer? Would you like to contribute to FixMyStreet?" +msgstr "" + +#: templates/web/default/footer.html:26 +msgid "" +"Are you from a council? Would you like better integration with FixMyStreet?" +msgstr "" + +#: templates/web/default/open311/index.html:17 +msgid "" +"At most %d requests are returned in each query. The returned requests are " +"ordered by requested_datetime, so to get all requests, do several searches " +"with rolling start_date and end_date." +msgstr "" + +#: templates/web/default/open311/index.html:9 +msgid "At the moment only searching for and looking at reports work." +msgstr "" + +#: templates/web/default/admin/report_blocks.html:11 +#, fuzzy +msgid "Ban email address" +msgstr "Din e-postadresse:" + #: templates/web/default/footer.html:16 msgid "Built by <a href=\"http://www.mysociety.org/\">mySociety</a>" msgstr "Bygget av <a href=\"http://www.mysociety.org/\">mySociety</a>" @@ -409,20 +439,21 @@ msgstr "" #: templates/web/default/admin/council_contacts.html:19 #: templates/web/default/admin/index.html:36 +#: templates/web/default/admin/list_flagged.html:14 #: templates/web/default/admin/search_reports.html:17 msgid "Category" msgstr "Kategori" #: templates/web/default/admin/index.html:34 -#, fuzzy msgid "Category fix rate for problems > 4 weeks old" -msgstr "Oppdatering %s opprettet for problem %d, av %s" +msgstr "Løsningsrate fordelt pÃ¥ kategori for problemer > 4 uker gamle" -#: perllib/FixMyStreet/App/Controller/Report/New.pm:480 -#: perllib/FixMyStreet/App/Controller/Report/New.pm:506 +#: perllib/FixMyStreet/App/Controller/Report/New.pm:507 +#: perllib/FixMyStreet/App/Controller/Report/New.pm:533 #: templates/web/default/admin/council_contacts.html:56 #: templates/web/default/admin/council_edit.html:23 #: templates/web/default/admin/report_edit.html:26 +#: templates/web/default/report/new/fill_in_details_form.html:67 msgid "Category:" msgstr "Kategori:" @@ -436,15 +467,16 @@ msgstr "Kategori: %s" msgid "Change Password" msgstr "Bytt passord" -#: templates/web/default/around/display_location.html:105 -#: templates/web/default/around/display_location.html:107 +#: templates/web/default/around/display_location.html:102 +#: templates/web/default/around/display_location.html:104 msgid "Closest nearby problems <small>(within %skm)</small>" -msgstr "De nærmeste sakene <small>(innenfor %skm)</small>" +msgstr "De nærmeste problemene <small>(innenfor %skm)</small>" #: templates/web/default/admin/report_edit.html:15 msgid "Co-ordinates:" msgstr "Koordinater:" +#: templates/web/default/admin/list_flagged.html:16 #: templates/web/default/admin/list_updates.html:11 #: templates/web/default/admin/search_reports.html:19 msgid "Cobrand" @@ -462,7 +494,7 @@ msgstr "" #: templates/web/default/admin/council_contacts.html:26 msgid "Confirm" -msgstr "Bekreftet" +msgstr "Bekreft" #: templates/web/default/auth/token.html:1 msgid "Confirm account" @@ -482,11 +514,12 @@ msgstr "Bekreftelse" #: templates/web/default/admin/council_contacts.html:66 #: templates/web/default/admin/council_edit.html:28 #: templates/web/default/admin/council_edit.html:43 +#: templates/web/default/admin/stats.html:5 msgid "Confirmed" msgstr "Bekreftet" +#: templates/web/default/admin/problem_row.html:23 #: templates/web/default/admin/report_edit.html:31 -#: templates/web/default/admin/search_reports.html:47 msgid "Confirmed:" msgstr "Bekreftet:" @@ -494,7 +527,7 @@ msgstr "Bekreftet:" msgid "Contact" msgstr "Kontakt" -#: templates/web/default/footer.html:18 +#: templates/web/default/footer.html:17 msgid "Contact FixMyStreet" msgstr "Kontakt FiksGataMi" @@ -509,11 +542,17 @@ msgstr "Kontakt oss" msgid "Contact the team" msgstr "Kontakt prosjektgruppen" +#: perllib/FixMyStreet/App/Controller/Admin.pm:965 +#: perllib/FixMyStreet/App/Controller/Admin.pm:993 +msgid "Could not find user" +msgstr "" + +#: templates/web/default/admin/list_flagged.html:13 #: templates/web/default/admin/search_reports.html:16 msgid "Council" msgstr "Administrasjon" -#: perllib/FixMyStreet/App/Controller/Admin.pm:612 +#: perllib/FixMyStreet/App/Controller/Admin.pm:839 #: templates/web/default/admin/council_list.html:1 msgid "Council contacts" msgstr "Administrasjonskontakter" @@ -527,6 +566,11 @@ msgstr "Administrasjonskontakter for %s" msgid "Councils" msgstr "Administrasjoner" +#: templates/web/default/admin/stats.html:10 +#, fuzzy +msgid "Count" +msgstr "Kontakt" + #: templates/web/default/email_sent.html:1 msgid "Create a report" msgstr "Lag en rapport" @@ -535,6 +579,7 @@ msgstr "Lag en rapport" msgid "Create category" msgstr "Lag kategori" +#: templates/web/default/admin/list_flagged.html:17 #: templates/web/default/admin/list_updates.html:9 #: templates/web/default/admin/search_reports.html:20 msgid "Created" @@ -545,7 +590,13 @@ msgstr "Opprettet" msgid "Created:" msgstr "Opprettet:" +#: templates/web/default/admin/stats.html:9 +#, fuzzy +msgid "Current state" +msgstr "Ny tilstand" + #: templates/web/default/admin/council_list.html:40 +#, fuzzy msgid "Currently has 1+ deleted" msgstr "For tiden har 1+ slettet" @@ -557,13 +608,14 @@ msgid "Deleted" msgstr "Slettet" #: templates/web/default/admin/report_edit.html:14 -#: templates/web/default/report/new/fill_in_details.html:99 +#: templates/web/default/report/new/fill_in_details_form.html:61 msgid "Details:" msgstr "Detaljer:" +# Trenger kontekst / Needs context #: templates/web/default/admin/council_list.html:23 msgid "Diligency prize league table" -msgstr "Hvem har endret kontaktlista" +msgstr "" #: templates/web/default/auth/general.html:32 msgid "Do you have a FixMyStreet password?" @@ -574,7 +626,7 @@ msgid "Don’t know" msgstr "Vet ikke" #: templates/web/default/admin/list_updates.html:31 -#: templates/web/default/admin/search_reports.html:52 +#: templates/web/default/admin/problem_row.html:28 msgid "Edit" msgstr "Rediger" @@ -592,14 +644,25 @@ msgstr "Oppdatert av" #: templates/web/default/admin/council_contacts.html:20 #: templates/web/default/admin/council_edit.html:42 +#: templates/web/default/admin/list_flagged.html:12 +#: templates/web/default/admin/list_flagged.html:35 #: templates/web/default/admin/list_updates.html:8 +#: templates/web/default/admin/search_abuse.html:11 #: templates/web/default/admin/search_reports.html:15 msgid "Email" -msgstr "Epost" +msgstr "E-post" -#: templates/web/default/around/display_location.html:71 +#: perllib/FixMyStreet/App/Controller/Admin.pm:941 +msgid "Email added to abuse list" +msgstr "" + +#: perllib/FixMyStreet/App/Controller/Admin.pm:938 +msgid "Email already in abuse list" +msgstr "" + +#: templates/web/default/around/display_location.html:84 msgid "Email me new local problems" -msgstr "Send meg epost om lokale problemer" +msgstr "Send meg e-post om lokale problemer" #: templates/web/default/report/display.html:42 msgid "Email me updates" @@ -612,17 +675,18 @@ msgstr "Send meg oppdateringer" #: templates/web/default/alert/updates.html:13 #: templates/web/default/report/display.html:46 msgid "Email:" -msgstr "Epost:" +msgstr "E-post:" -#: perllib/FixMyStreet/App/Controller/Report/New.pm:465 +#: perllib/FixMyStreet/App/Controller/Report/New.pm:492 msgid "Empty flat or maisonette" msgstr "Tom leilighet" -#: perllib/FixMyStreet/App/Controller/Report/New.pm:464 +#: perllib/FixMyStreet/App/Controller/Report/New.pm:491 +#, fuzzy msgid "Empty house or bungalow" msgstr "Tomt hus eller bungalow" -#: perllib/FixMyStreet/App/Controller/Report/New.pm:467 +#: perllib/FixMyStreet/App/Controller/Report/New.pm:494 msgid "Empty office or other commercial" msgstr "Tomt kontor eller forretningsbygg" @@ -630,27 +694,40 @@ msgstr "Tomt kontor eller forretningsbygg" msgid "Empty property details form" msgstr "Tom eiendom detaljskjema" -#: perllib/FixMyStreet/App/Controller/Report/New.pm:468 +#: perllib/FixMyStreet/App/Controller/Report/New.pm:495 msgid "Empty pub or bar" msgstr "Tom pub eller bar" -#: perllib/FixMyStreet/App/Controller/Report/New.pm:469 +#: perllib/FixMyStreet/App/Controller/Report/New.pm:496 msgid "Empty public building - school, hospital, etc." msgstr "Tom offentlig bygning - skole, sykehos, etc." +#: templates/web/default/admin/stats.html:47 +msgid "End Year:" +msgstr "" + +#: templates/web/default/admin/stats.html:49 +#, fuzzy +msgid "End day:" +msgstr "%d dag" + +#: templates/web/default/admin/stats.html:48 +msgid "End month:" +msgstr "" + #: templates/web/default/around/around_index.html:10 #: templates/web/default/around/around_index.html:13 #: templates/web/default/index.html:24 templates/web/default/index.html:27 msgid "Enter a nearby GB postcode, or street name and area" msgstr "Skriv inn GB-postnummer i nærheten, eller veinavn og sted" -#: perllib/FixMyStreet/Cobrand/FiksGataMi.pm:27 +#: perllib/FixMyStreet/Cobrand/FiksGataMi.pm:32 msgid "Enter a nearby postcode, or street name and area" msgstr "Skriv inn postnummer i nærheten, eller veinavn og sted" #: templates/web/default/auth/general.html:64 #: templates/web/default/report/display.html:167 -#: templates/web/default/report/new/fill_in_details.html:182 +#: templates/web/default/report/new/fill_in_details_form.html:161 msgid "Enter a new password:" msgstr "Skriv inn et nytt passord:" @@ -673,27 +750,34 @@ msgstr "Feil" msgid "Example postcode %s" msgstr "Eksempel-postnummer %s" +#: templates/web/default/open311/index.html:27 +msgid "Examples:" +msgstr "" + #: templates/web/default/contact/submit.html:15 -#, fuzzy msgid "" "Failed to send message. Please try again, or <a href=\"mailto:%s\">email " "us</a>." msgstr "" -"Vær sÃ¥ snill Ã¥ forsøk igjen senere, eller <a href=\"mailto:%s\">send oss en " -"epost</a> og gi oss beskjed." +"Klarte ikke Ã¥ sende melding. Vennligst prøv igjen senere eller <a href=" +"\"mailto:%s\">send oss en e-post</a>." + +#: templates/web/default/footer.html:27 +msgid "Find out about FixMyStreet for councils" +msgstr "" #: templates/web/default/questionnaire/index.html:81 msgid "First time" msgstr "Første gang" -#: templates/web/default/header.html:20 -#: templates/web/fiksgatami/header.html:14 +#: templates/web/default/header.html:22 +#: templates/web/fiksgatami/header.html:13 msgid "Fix<span id=\"my\">My</span>Street" msgstr "Fiks<span id=\"my\">Gata</span>Mi" -#: templates/web/default/admin/header.html:12 +#: templates/web/default/admin/header.html:13 msgid "FixMyStreet admin:" -msgstr "FiksGataMi-admin:" +msgstr "FiksGataMi-administrator:" #: templates/web/default/admin/header.html:3 msgid "FixMyStreet administration" @@ -707,9 +791,9 @@ msgid "" "problems\n" "within a certain distance of a particular location." msgstr "" -"Fiksgatami har ulike RSS-strømmer og epostlister om lokale problemer, dette " -"inkluderer saker meldt innenfor en bestemt bydel eller administrasjon, eller " -"et omrÃ¥de med problemer\n" +"Fiksgatami har ulike RSS-strømmer og e-postlister om lokale problemer, dette " +"inkluderer problemer meldt innenfor en bestemt bydel eller administrasjon, " +"eller et omrÃ¥de med problemer\n" "innen en angitt distanse fra en bestemt posisjon." #: templates/web/default/alert/list.html:100 @@ -742,17 +826,25 @@ msgstr "Løst" msgid "Fixed reports" msgstr "Fiksede rapporter" -#: templates/web/default/admin/search_reports.html:48 +#: templates/web/default/admin/problem_row.html:24 msgid "Fixed:" msgstr "Løst:" +#: templates/web/default/admin/report_blocks.html:16 +msgid "Flag user" +msgstr "" + +#: templates/web/default/admin/report_edit.html:38 +msgid "Flagged:" +msgstr "" + #: templates/web/default/reports/council.html:23 msgid "Follow a ward link to view only reports within that ward." msgstr "Følg en bydelslenke for Ã¥ kun se rapporter innenfor den bydelen." #: templates/web/default/admin/report_edit.html:16 msgid "For council(s):" -msgstr "For administrasjon(er):" +msgstr "For administrasjon(ene):" #: templates/web/default/faq/faq-en-gb.html:1 #: templates/web/emptyhomes/faq/faq-cy.html:1 @@ -763,6 +855,10 @@ msgstr "Ofte spurte spørsmÃ¥l" #: templates/web/emptyhomes/static/about.html:34 msgid "Further information about our work on empty homes." +msgstr "Mer informasjon om vÃ¥rt arbeid med tomme hjem" + +#: templates/web/default/open311/index.html:69 +msgid "GeoRSS on Google Maps" msgstr "" #: templates/web/default/alert/list.html:112 @@ -791,37 +887,39 @@ msgstr "" #: templates/web/default/questionnaire/index.html:63 msgid "Has this problem been fixed?" -msgstr "Har denne saken blitt løst?" +msgstr "Har dette problemet blitt løst?" #: templates/web/default/questionnaire/index.html:76 msgid "" "Have you ever reported a problem to a council before, or is this your first " "time?" msgstr "" -"Har du sendt en sak til en administrasjon før, eller er dette første gangen?" +"Har du rapportert et problem til en administrasjon før, eller er dette " +"første gangen?" #: templates/web/default/footer.html:10 -#: templates/web/emptyhomes/header.html:33 +#: templates/web/emptyhomes/header.html:31 #: templates/web/fiksgatami/footer.html:8 msgid "Help" msgstr "Hjelp" #: templates/web/default/alert/list.html:39 msgid "Here are the types of local problem alerts for ‘%s’." -msgstr "Her er typene lokale problemvarsler for ‘%s’." +msgstr "" +"Her er de forskjellige typene lokale problemvarsler for ‘%s’." #: templates/web/default/admin/report_edit.html:22 #: templates/web/default/admin/update_edit.html:19 msgid "Hidden" -msgstr "Gjemt" +msgstr "Skjul" -#: templates/web/default/around/display_location.html:52 +#: templates/web/default/around/display_location.html:54 msgid "Hide pins" -msgstr "Gjem nÃ¥ler" +msgstr "Skjul nÃ¥ler" -#: templates/web/default/around/display_location.html:57 +#: templates/web/default/around/display_location.html:59 msgid "Hide stale reports" -msgstr "Gjem utdaterte rapporter" +msgstr "Skjul utdaterte rapporter" #: templates/web/default/admin/council_edit.html:38 msgid "History" @@ -831,7 +929,7 @@ msgstr "Historie" msgid "How to report a problem" msgstr "Hvordan rapportere et problem" -#: perllib/FixMyStreet/App/Controller/Admin.pm:530 +#: perllib/FixMyStreet/App/Controller/Admin.pm:546 msgid "I am afraid you cannot confirm unconfirmed reports." msgstr "Jeg er redd du ikke kan bekrefte ubekreftede rapporter." @@ -839,21 +937,31 @@ msgstr "Jeg er redd du ikke kan bekrefte ubekreftede rapporter." msgid "I'm afraid we couldn't locate your problem in the database.\n" msgstr "Jeg er redd vi ikke klarte Ã¥ finne ditt problem i databasen.\n" -#: perllib/FixMyStreet/App/Controller/Tokens.pm:173 +#: perllib/FixMyStreet/App/Controller/Tokens.pm:43 +#, fuzzy +msgid "" +"I'm afraid we couldn't validate that token, as the report was made too long " +"ago." +msgstr "" +"Jeg er redd vi ikke kunne verifisere den referansen. Hvis du kopierte " +"webadressen fra en e-post, sjekk at du har kopiert den korrekt.\n" + +#: perllib/FixMyStreet/App/Controller/Tokens.pm:232 msgid "" "I'm afraid we couldn't validate that token. If you've copied the URL from an " "email, please check that you copied it exactly.\n" msgstr "" -"Jeg er redd vi ikke kunne verifisere den referansen. Hvis du kopierte den " -"URLen fra en annen epost, sjekk at du har kopiert den korrekt.\n" +"Jeg er redd vi ikke kunne verifisere den referansen. Hvis du kopierte " +"webadressen fra en e-post, sjekk at du har kopiert den korrekt.\n" +#: templates/web/default/admin/list_flagged.html:9 #: templates/web/default/admin/list_updates.html:5 #: templates/web/default/admin/search_reports.html:12 msgid "ID" msgstr "ID" -#: templates/web/default/report/new/no_councils_text.html:11 -#: templates/web/default/report/new/no_councils_text.html:3 +#: templates/web/default/report/new/councils_text_none.html:11 +#: templates/web/default/report/new/councils_text_none.html:3 msgid "" "If you submit a problem here the subject and details of the problem will be " "public, but the problem will <strong>not</strong> be reported to the council." @@ -863,6 +971,7 @@ msgstr "" "administrasjonen." #: templates/web/emptyhomes/report/new/no_councils_text.html:9 +#, fuzzy msgid "" "If you submit a report here it will be left on the site, but not reported to " "the council – please still leave your report, so that we can show to " @@ -880,6 +989,8 @@ msgid "" "check your bulk/spam mail folders: sometimes, our messages are marked that " "way." msgstr "" +"Hvis du bruker web-basert e-post eller har filtre for søppel-e-post pÃ¥ din e-" +"postkonto, kan du i noen tilfellet mÃ¥tte se etter vÃ¥re meldinger der." #: templates/web/default/questionnaire/index.html:85 msgid "" @@ -887,12 +998,12 @@ msgid "" "(please note it will not be sent to the council). For example, what was\n" "your experience of getting the problem fixed?" msgstr "" -"Hvis du ønsker Ã¥ legge til en offentlig kommentar til saken, legg den til " +"Hvis du ønsker Ã¥ legge til en offentlig kommentar pÃ¥ problemet, legg den til " "her\n" -"(denne blir sendt til administrasjonen). Du kan for eksempel\n" -"dele din erfaring med hvordan din sak ble løst." +"(denne blir ikke sendt til administrasjonen). Du kan for eksempel\n" +"dele din erfaring med hvordan ditt problem ble løst." -#: perllib/FixMyStreet/App/Controller/Contact.pm:109 +#: perllib/FixMyStreet/App/Controller/Contact.pm:111 msgid "Illegal ID" msgstr "Ugyldig ID" @@ -900,9 +1011,43 @@ msgstr "Ugyldig ID" msgid "Illegal feed selection" msgstr "Ugyldig valg av feed" -#: templates/web/default/around/display_location.html:59 +#: templates/web/default/open311/index.html:21 +msgid "" +"In addition, the following attributes that are not part of the Open311 v2 " +"specification are returned: agency_sent_datetime, title (also returned as " +"part of description), interface_used, comment_count, requestor_name (only " +"present if requestor allowed the name to be shown on this site)." +msgstr "" + +#: templates/web/default/around/display_location.html:61 msgid "Include stale reports" -msgstr "Inkludert utdaterte rapporter" +msgstr "Inkludert utdaterte problemer" + +#: templates/web/default/admin/stats.html:53 +#, fuzzy +msgid "Include unconfirmed reports" +msgstr "Inkludert utdaterte problemer" + +#: perllib/FixMyStreet/App/Controller/Open311.pm:355 +msgid "Incorrect has_photo value \"%s\"" +msgstr "" + +#: perllib/FixMyStreet/App/Controller/Open311.pm:340 +msgid "Invalid agency_responsible value %s" +msgstr "" + +#: perllib/FixMyStreet/App/Controller/Admin.pm:785 +#, fuzzy +msgid "Invalid end date" +msgstr "Bidra med en oppdatering" + +#: perllib/FixMyStreet/App/Controller/Open311.pm:423 +msgid "Invalid format %s specified." +msgstr "" + +#: perllib/FixMyStreet/App/Controller/Admin.pm:775 +msgid "Invalid start date" +msgstr "" #: templates/web/emptyhomes/tokens/confirm_problem.html:12 #: templates/web/emptyhomes/tokens/confirm_problem.html:14 @@ -919,9 +1064,9 @@ msgstr "" #: templates/web/default/auth/general.html:44 #: templates/web/default/report/display.html:149 -#: templates/web/default/report/new/fill_in_details.html:164 +#: templates/web/default/report/new/fill_in_details_form.html:143 msgid "Keep me signed in on this computer" -msgstr "" +msgstr "Husk min innlogging pÃ¥ denne datamaskinen" #: templates/web/default/admin/council_contacts.html:23 msgid "Last editor" @@ -931,14 +1076,22 @@ msgstr "Sist redigert av" msgid "Last update:" msgstr "Siste oppdatering:" -#: templates/web/default/admin/search_reports.html:49 +#: templates/web/default/admin/problem_row.html:25 msgid "Last update:" -msgstr "Last oppdatering:" +msgstr "Siste oppdatering:" + +#: perllib/FixMyStreet/App/Controller/Admin.pm:844 +msgid "List Flagged" +msgstr "" #: templates/web/default/admin/council_contacts.html:11 msgid "List all reported problems" msgstr "List alle rapporterte problemer" +#: templates/web/default/report/new/fill_in_details_form.html:68 +msgid "Loading..." +msgstr "" + #: templates/web/default/alert/choose.html:1 #: templates/web/default/alert/choose.html:3 #: templates/web/default/alert/index.html:1 @@ -949,17 +1102,16 @@ msgstr "List alle rapporterte problemer" #: templates/web/default/tokens/confirm_alert.html:1 #: templates/web/default/tokens/confirm_alert.html:3 msgid "Local RSS feeds and email alerts" -msgstr "Lokal RSS-strøm og epostvarsel" +msgstr "Lokal RSS-strøm og e-postvarsel" #: templates/web/default/alert/list.html:1 #: templates/web/default/alert/list.html:12 #: templates/web/default/alert/list.html:14 #: templates/web/default/alert/list.html:3 -#, fuzzy msgid "Local RSS feeds and email alerts for ‘%s’" -msgstr "Lokal RSS-strøm og epostvarsel" +msgstr "Lokal RSS-strøm og e-postvarsel for ‘%s’" -#: templates/web/default/footer.html:9 templates/web/emptyhomes/header.html:32 +#: templates/web/default/footer.html:9 templates/web/emptyhomes/header.html:30 #: templates/web/fiksgatami/footer.html:7 msgid "Local alerts" msgstr "Lokale varsler" @@ -987,23 +1139,29 @@ msgstr "" "databaserettigheter 2010." #: perllib/FixMyStreet/Map/FMS.pm:24 -#, fuzzy msgid "" "Map contains Ordnance Survey data © Crown copyright and database right " "2010.<br>© 2011 <a href=\"http://www.bing.com/maps/\">Microsoft</a>. " "© AND, Navteq, Ordnance Survey." msgstr "" "Kartet inneholder data fra Ordnance Survey © Crown copyright og " -"databaserettigheter 2010. Microsoft" +"databaserettigheter 2010. <a href=\"http://www.bing.com/maps/\">Microsoft</" +"a>. © AND, Navteq, Ordnance Survey." #: templates/web/default/contact/index.html:90 msgid "Message:" msgstr "Melding:" +#: perllib/FixMyStreet/App/Controller/Open311.pm:431 +msgid "Missing jurisdiction_id" +msgstr "" + #: templates/web/default/report/display.html:38 msgid "More problems nearby" -msgstr "Flere saker i nærheten" +msgstr "Flere problemer i nærheten" +#: templates/web/default/admin/list_flagged.html:11 +#: templates/web/default/admin/list_flagged.html:34 #: templates/web/default/admin/list_updates.html:7 #: templates/web/default/admin/search_reports.html:14 #: templates/web/default/reports/index.html:10 @@ -1026,24 +1184,30 @@ msgid "" "Nearest named road to the pin placed on the map (automatically generated " "using OpenStreetMap): %s%s" msgstr "" +"Nærmeste navngitte vei til nÃ¥len plassert pÃ¥ kartet (automatisk generert ved " +"hjelp av OpenStreetMap): %s%s" #: perllib/FixMyStreet/Cobrand/Default.pm:570 msgid "" "Nearest postcode to the pin placed on the map (automatically generated): %s " "(%sm away)" msgstr "" +"Nærmeste postnummer til nÃ¥len plassert pÃ¥ kartet (automatisk generert): %s (%" +"sm unna)" #: perllib/FixMyStreet/Cobrand/Default.pm:558 msgid "" "Nearest road to the pin placed on the map (automatically generated by Bing " "Maps): %s" msgstr "" +"Nærmeste vei til nÃ¥len plassert pÃ¥ kartet (automatisk generert ved hjelp av " +"Bing Maps): %s" #: templates/web/default/email_sent.html:20 msgid "Nearly Done! Now check your email..." -msgstr "Nesten ferdig! NÃ¥ mÃ¥ du sjekke eposten din..." +msgstr "Nesten ferdig! NÃ¥ mÃ¥ du sjekke e-posten din..." -#: perllib/FixMyStreet/App/Controller/Admin.pm:299 +#: perllib/FixMyStreet/App/Controller/Admin.pm:300 msgid "New category contact added" msgstr "Ny kategorikontakt lagt til" @@ -1061,7 +1225,7 @@ msgstr "Nye lokale rapporter pÃ¥ reportemptyhomes.com" #: templates/web/emptyhomes/reports/index.html:11 #: templates/web/fiksgatami/reports/index.html:10 msgid "New problems" -msgstr "Nye saker" +msgstr "Nye problemer" #: db/alert_types.pl:38 msgid "New problems for {{COUNCIL}} within {{WARD}} ward on FixMyStreet" @@ -1069,7 +1233,7 @@ msgstr "Nye problemer for {{COUNCIL}} innenfor {{WARD}} bydel pÃ¥ FiksGataMi" #: db/alert_types.pl:26 db/alert_types.pl:30 msgid "New problems near {{POSTCODE}} on FixMyStreet" -msgstr "Nye problemer nær {{POSTCODE}} pÃ¥ FiksGataMi" +msgstr "Nye problemer nær postnummer {{POSTCODE}} pÃ¥ FiksGataMi" #: db/alert_types.pl:10 msgid "New problems on FixMyStreet" @@ -1080,16 +1244,14 @@ msgid "New problems to {{COUNCIL}} on FixMyStreet" msgstr "Nye problemer i {{COUNCIL}} pÃ¥ FiksGataMi" #: db/alert_types.pl:42 -#, fuzzy msgid "New problems within {{NAME}}'s boundary on FixMyStreet" -msgstr "Nye problemer i {{COUNCIL}} pÃ¥ FiksGataMi" +msgstr "Nye rapporter innenfor grensen til {{NAME}} pÃ¥ FiksGataMi" #: db/alert_types_eha.pl:23 msgid "" "New reports for {{COUNCIL}} within {{WARD}} ward on reportemptyhomes.com" msgstr "" -"Nye rapporter for {{COUNCIL}} innenfor {{WARD}} bydel pÃ¥ reportemptyhomes." -"com" +"Nye rapporter for {{COUNCIL}} innenfor {{WARD}} bydel pÃ¥ reportemptyhomes.com" #: db/alert_types_eha.pl:5 msgid "New reports on reportemptyhomes.com" @@ -1097,7 +1259,7 @@ msgstr "Nye rapporter pÃ¥ reportemptyhomes.com" #: db/alert_types_eha.pl:16 msgid "New reports on reportemptyhomes.com near {{POSTCODE}}" -msgstr "Nye rapporter pÃ¥ reportemptyhomes.com nær {{POSTCODE}}" +msgstr "Nye rapporter pÃ¥ reportemptyhomes.com nær postnummer {{POSTCODE}}" #: db/alert_types_eha.pl:19 msgid "New reports to {{COUNCIL}} on reportemptyhomes.com" @@ -1109,7 +1271,7 @@ msgstr "Nye rapporter innenfor grensen til {{NAME}} pÃ¥ reportemptyhomes.com" #: templates/web/default/admin/questionnaire.html:24 msgid "New state" -msgstr "" +msgstr "Ny tilstand" #: templates/web/default/front/news.html:8 #: templates/web/fiksgatami/front/news.html:9 @@ -1120,9 +1282,9 @@ msgstr "Ny!" #: templates/web/default/admin/council_contacts.html:33 #: templates/web/default/admin/council_edit.html:4 #: templates/web/default/admin/list_updates.html:28 +#: templates/web/default/admin/problem_row.html:19 #: templates/web/default/admin/report_edit.html:19 #: templates/web/default/admin/report_edit.html:37 -#: templates/web/default/admin/search_reports.html:43 #: templates/web/default/admin/update_edit.html:16 #: templates/web/default/questionnaire/creator_fixed.html:16 #: templates/web/default/questionnaire/index.html:109 @@ -1130,13 +1292,23 @@ msgstr "Ny!" msgid "No" msgstr "Nei" -#: perllib/FixMyStreet/DB/Result/Problem.pm:187 +#: perllib/FixMyStreet/DB/Result/Problem.pm:189 msgid "No council selected" msgstr "Ingen administrasjon er valgt" #: templates/web/default/admin/council_list.html:32 msgid "No edits have yet been made." -msgstr "Ingenting er redigert." +msgstr "Ingenting endringer har blitt gjort." + +#: templates/web/default/admin/list_flagged.html:26 +#, fuzzy +msgid "No flagged problems found" +msgstr "Ingen problemer ble funnet." + +#: templates/web/default/admin/list_flagged.html:47 +#, fuzzy +msgid "No flagged users found" +msgstr "Ingen problemer ble funnet." #: templates/web/default/admin/council_list.html:38 msgid "No info at all" @@ -1144,11 +1316,11 @@ msgstr "Helt uten informasjon" #: templates/web/default/around/around_map_list_items.html:15 msgid "No problems found." -msgstr "Ingen saker er funnet." +msgstr "Ingen problemer ble funnet." #: templates/web/default/around/on_map_list_items.html:12 msgid "No problems have been reported yet." -msgstr "Ingen saker er rapporter" +msgstr "Ingen problemer er rapportert" #: templates/web/default/admin/council_list.html:5 #: templates/web/default/admin/report_edit.html:16 @@ -1168,42 +1340,55 @@ msgstr "Ikke rapportert til administrasjonen" msgid "Note" msgstr "Merk" +#: templates/web/default/admin/stats.html:28 +msgid "" +"Note that when including unconfirmed reports we use the date the report was " +"created which may not be in the same month the report was confirmed so the " +"numbers may jump about a little" +msgstr "" + #: templates/web/default/admin/council_contacts.html:73 #: templates/web/default/admin/council_edit.html:31 msgid "Note:" msgstr "Merk:" -#: templates/web/default/report/new/fill_in_details.html:148 +#: templates/web/default/open311/index.html:6 +#, fuzzy +msgid "Note: <strong>%s</strong>" +msgstr "<strong>%d</strong> aktive problemer" + +#: templates/web/default/report/new/fill_in_details_form.html:127 msgid "Now to submit your report… do you have a FixMyStreet password?" -msgstr "" +msgstr "PÃ¥ tide Ã¥ sende din rapport… har du et FiksGataMi-passord?" #: templates/web/default/report/display.html:133 msgid "Now to submit your update… do you have a FixMyStreet password?" msgstr "" +"PÃ¥ tide Ã¥ registrere din oppdatering… har du et FiksGataMi-passord?" #: templates/web/default/report/display.html:33 #: templates/web/default/report/updates.html:19 msgid "Offensive? Unsuitable? Tell us" -msgstr "Støtende? Upassende? Gi oss beskjed" +msgstr "Støtende? Upassende? Gi oss beskjed" #: templates/web/default/reports/council.html:115 #: templates/web/default/reports/council.html:116 msgid "Old fixed" -msgstr "Eldre saker som er løst" +msgstr "Eldre problemer som er løst" #: templates/web/default/reports/council.html:109 #: templates/web/default/reports/council.html:110 msgid "Old problems, state unknown" -msgstr "Eldre saker med ukjent status" +msgstr "Eldre problemer med ukjent status" #: templates/web/default/reports/index.html:13 #: templates/web/fiksgatami/reports/index.html:12 msgid "Old problems,<br>state unknown" -msgstr "Eldre saker, <br>ukjent status" +msgstr "Eldre problemer med<br>ukjent status" #: templates/web/default/admin/questionnaire.html:24 msgid "Old state" -msgstr "" +msgstr "Gammel tilstand" #: templates/web/default/reports/index.html:15 #: templates/web/emptyhomes/reports/index.html:14 @@ -1219,7 +1404,7 @@ msgstr "Eldre løste" #: templates/web/emptyhomes/reports/index.html:12 #: templates/web/fiksgatami/reports/index.html:11 msgid "Older problems" -msgstr "Eldre saker" +msgstr "Eldre problemer" #: templates/web/default/admin/report_edit.html:22 #: templates/web/default/admin/update_edit.html:19 @@ -1230,6 +1415,18 @@ msgstr "Ã…pen" msgid "Open reports" msgstr "Ã…pne rapporter" +#: templates/web/default/open311/index.html:3 +msgid "Open311 API for the mySociety FixMyStreet server" +msgstr "" + +#: templates/web/default/open311/index.html:13 +msgid "Open311 initiative web page" +msgstr "" + +#: templates/web/default/open311/index.html:14 +msgid "Open311 specification" +msgstr "" + #: templates/web/default/alert/list.html:87 msgid "Or problems reported to:" msgstr "Eller problemer meldt til:" @@ -1243,16 +1440,22 @@ msgstr "" "hører inn under:" #: bin/send-reports:171 bin/send-reports:180 -#: perllib/FixMyStreet/App/Controller/Report/New.pm:496 -#: perllib/FixMyStreet/App/Controller/Report/New.pm:505 -#: perllib/FixMyStreet/App/Controller/Report/New.pm:869 -#: perllib/FixMyStreet/DB/Result/Problem.pm:316 -#: perllib/FixMyStreet/DB/Result/Problem.pm:326 -#: perllib/FixMyStreet/DB/Result/Problem.pm:336 -#: perllib/FixMyStreet/DB/Result/Problem.pm:348 +#: perllib/FixMyStreet/App/Controller/Report/New.pm:523 +#: perllib/FixMyStreet/App/Controller/Report/New.pm:532 +#: perllib/FixMyStreet/App/Controller/Report/New.pm:903 +#: perllib/FixMyStreet/DB/Result/Problem.pm:318 +#: perllib/FixMyStreet/DB/Result/Problem.pm:328 +#: perllib/FixMyStreet/DB/Result/Problem.pm:338 +#: perllib/FixMyStreet/DB/Result/Problem.pm:350 msgid "Other" msgstr "Annet" +#: templates/web/default/footer.html:30 +msgid "" +"Our code is open source and <a href=\"http://github.com/mysociety/fixmystreet" +"\">available on GitHub</a>." +msgstr "" + #: templates/web/default/errors/page_error_404_not_found.html:1 #: templates/web/default/errors/page_error_404_not_found.html:3 msgid "Page Not Found" @@ -1267,23 +1470,23 @@ msgid "Password:" msgstr "Passord:" #: bin/send-reports:68 templates/web/default/admin/report_edit.html:29 -#: templates/web/default/report/new/fill_in_details.html:231 +#: templates/web/default/report/new/fill_in_details_form.html:206 msgid "Phone:" msgstr "Telefon:" #: templates/web/default/questionnaire/index.html:97 #: templates/web/default/report/display.html:109 -#: templates/web/default/report/new/fill_in_details.html:119 +#: templates/web/default/report/new/fill_in_details_form.html:98 msgid "Photo:" msgstr "Bilde:" #: templates/web/default/alert/list.html:29 msgid "Photos of recent nearby reports" -msgstr "Bilder av nye saker i nærheten" +msgstr "Bilder av nye problemer i nærheten" #: templates/web/default/index.html:63 msgid "Photos of recent reports" -msgstr "Bilder av nylig meldte saker" +msgstr "Bilder av nylig meldte problemer" #: templates/web/default/report/new/notes.html:6 msgid "Please be polite, concise and to the point." @@ -1292,27 +1495,25 @@ msgstr "Vær høflig, poengtert og kortfattet." #: templates/web/default/auth/change_password.html:14 #: templates/web/default/auth/change_password.html:19 msgid "Please check the passwords and try again" -msgstr "" +msgstr "Vennligst sjekk passordene og prøv igjen" #: templates/web/default/auth/token.html:17 -#, fuzzy msgid "Please check your email" -msgstr "Skriv din epost" +msgstr "Vennligst sjekk e-posten du oppgav" #: templates/web/default/auth/general.html:14 #: templates/web/default/auth/general.html:8 -#, fuzzy msgid "Please check your email address is correct" -msgstr "Skriv en gyldig epostadresse" +msgstr "Vennligst sjekk at du har skrevet en gyldig e-postadresse" -#: perllib/FixMyStreet/App/Controller/Report/New.pm:652 -#: perllib/FixMyStreet/App/Controller/Report/New.pm:671 -#: perllib/FixMyStreet/App/Controller/Report/New.pm:688 -#: perllib/FixMyStreet/DB/Result/Problem.pm:206 +#: perllib/FixMyStreet/App/Controller/Report/New.pm:686 +#: perllib/FixMyStreet/App/Controller/Report/New.pm:705 +#: perllib/FixMyStreet/App/Controller/Report/New.pm:722 +#: perllib/FixMyStreet/DB/Result/Problem.pm:208 msgid "Please choose a category" msgstr "Velg en kategori" -#: perllib/FixMyStreet/DB/Result/Problem.pm:212 +#: perllib/FixMyStreet/DB/Result/Problem.pm:214 msgid "Please choose a property type" msgstr "Velg en type egenskap" @@ -1324,8 +1525,8 @@ msgid "" "please <a href=\"/\">go to the front page</a> and follow the instructions." msgstr "" "Vennligst <strong>ikke</strong> rapporter feil gjennom denne siden; " -"meldinger gÃ¥r til\n" -"gruppen som stÃ¥r bak fiksgatami, og ikke til en administrasjon. For Ã¥ " +"meldingene gÃ¥r til\n" +"gruppen som stÃ¥r bak FiksGataMi, og ikke til en administrasjon. For Ã¥ " "rapportere et problem,\n" "vennligst <a href=\"/\">gÃ¥ til forsiden</a> og følg instruksjonene." @@ -1339,51 +1540,50 @@ msgstr "" #: perllib/FixMyStreet/DB/Result/Comment.pm:111 msgid "Please enter a message" -msgstr "Legg til en melding" +msgstr "Vennligst legg til en melding" #: templates/web/default/auth/change_password.html:14 #: templates/web/default/auth/change_password.html:17 -#, fuzzy msgid "Please enter a password" -msgstr "Legg til en melding" +msgstr "Skriv inn et passord" -#: perllib/FixMyStreet/App/Controller/Contact.pm:95 -#: perllib/FixMyStreet/DB/Result/Problem.pm:181 +#: perllib/FixMyStreet/App/Controller/Contact.pm:97 +#: perllib/FixMyStreet/DB/Result/Problem.pm:183 msgid "Please enter a subject" -msgstr "Legg inn et tema" +msgstr "Vennligst legg inn et tema" -#: perllib/FixMyStreet/DB/Result/User.pm:92 +#: perllib/FixMyStreet/DB/Result/User.pm:94 msgid "Please enter a valid email" -msgstr "Legg til en gyldig epost" +msgstr "Legg til en gyldig e-post" #: perllib/FixMyStreet/App/Controller/Alert.pm:345 -#: perllib/FixMyStreet/App/Controller/Contact.pm:105 +#: perllib/FixMyStreet/App/Controller/Contact.pm:107 msgid "Please enter a valid email address" -msgstr "Legg inn din epost" +msgstr "Legg inn din e-post" -#: perllib/FixMyStreet/DB/Result/Problem.pm:184 +#: perllib/FixMyStreet/DB/Result/Problem.pm:186 msgid "Please enter some details" -msgstr "Legg inn opplysninger om saken" +msgstr "Legg inn opplysninger om problemet" -#: perllib/FixMyStreet/App/Controller/Contact.pm:94 -#: perllib/FixMyStreet/DB/Result/User.pm:89 +#: perllib/FixMyStreet/App/Controller/Contact.pm:96 +#: perllib/FixMyStreet/DB/Result/User.pm:91 #: templates/web/default/auth/general.html:13 #: templates/web/default/auth/general.html:8 msgid "Please enter your email" -msgstr "Legg inn din epost" +msgstr "Legg inn din e-post" -#: perllib/FixMyStreet/DB/Result/Problem.pm:199 +#: perllib/FixMyStreet/DB/Result/Problem.pm:201 msgid "" "Please enter your full name, councils need this information - if you do not " "wish your name to be shown on the site, untick the box" msgstr "" -"Legg inn ditt fulle navn, administrasjoner som mottar saken trenger dette - " -"hvis du ikke ønsker at ditt navn skal vises, fjern haken under" +"Legg inn ditt fulle navn, administrasjoner som mottar ditt problem trenger " +"dette - hvis du ikke ønsker at ditt navn skal vises, fjern haken under" -#: perllib/FixMyStreet/App/Controller/Contact.pm:93 +#: perllib/FixMyStreet/App/Controller/Contact.pm:95 #: perllib/FixMyStreet/DB/Result/Comment.pm:108 -#: perllib/FixMyStreet/DB/Result/Problem.pm:192 -#: perllib/FixMyStreet/DB/Result/User.pm:85 +#: perllib/FixMyStreet/DB/Result/Problem.pm:194 +#: perllib/FixMyStreet/DB/Result/User.pm:87 msgid "Please enter your name" msgstr "Legg inn ditt navn" @@ -1403,7 +1603,7 @@ msgstr "" #: templates/web/default/report/new/fill_in_details_text.html:1 #: templates/web/default/report/new/fill_in_details_text.html:8 msgid "Please fill in details of the problem below." -msgstr "Vennligst fyll ut detaljer om saken under" +msgstr "Vennligst fyll ut detaljer om problemet under" #: templates/web/default/report/new/fill_in_details_text.html:1 #: templates/web/default/report/new/fill_in_details_text.html:3 @@ -1420,20 +1620,19 @@ msgstr "" "til Ã¥ hjelpe med mindre du legger inn sÃ¥ mange detaljer som du kan. Beskriv\n" "eksakt plassering for problemet (f.eks. pÃ¥ en vegg), hva det er, hvor lenge " "det har\n" -"vært der, en beskrivelse (og et bilde av problemet hvis du har et), etc." +"vært der, en beskrivelse (og et bilde av problemet hvis du har et), osv." -#: templates/web/default/report/new/fill_in_details.html:48 -#, fuzzy +#: templates/web/default/report/new/fill_in_details_form.html:27 msgid "" "Please fill in the form below with details of the problem, and describe the " "location as precisely as possible in the details box." msgstr "" "Vennligst fyll inn skjemaet under med detaljene om problemet,\n" -"og beskriv stedet sÃ¥ nøyaktig som mulig i boksen for detaljer." +"og beskriv plasseringen sÃ¥ nøyaktig som mulig i boksen for detaljer." #: perllib/FixMyStreet/App/Controller/Questionnaire.pm:235 msgid "Please indicate whether you'd like to receive another questionnaire" -msgstr "Vennligst indiker om du ønsker Ã¥ motta et annet spørreskjema" +msgstr "Vennligst indiker om du ønsker Ã¥ motta et nytt spørreskjema" #: templates/web/default/report/display.html:69 msgid "" @@ -1446,7 +1645,7 @@ msgstr "" "informasjon vil kun bli brukt i henhold til vÃ¥re <a href=\"/faq#privacy" "\">personvernpolicy</a>" -#: templates/web/default/report/new/fill_in_details.html:33 +#: templates/web/default/report/new/fill_in_details_form.html:5 msgid "" "Please note your report has <strong>not yet been sent</strong>. Choose a " "category and add further information below, then submit." @@ -1473,7 +1672,7 @@ msgstr "Vennligst bidra med litt tekst i tilegg til et bilde" msgid "" "Please say whether you've ever reported a problem to your council before" msgstr "" -"Gi oss informasjon om du har rapportert en sak til din administrasjon " +"Gi oss informasjon om du har rapportert et problem til din administrasjon " "tidligere" #: perllib/FixMyStreet/App/Controller/Alert.pm:82 @@ -1490,13 +1689,13 @@ msgstr "Vennligs oppgi om dette problemet er blitt fikset eller ikke" #: templates/web/default/questionnaire/index.html:52 msgid "Please take a look at the updates that have been left." -msgstr "Vær sa snill Ã¥ ta en titt pÃ¥ oppdateringene som har blitt igjen." +msgstr "Vær sa snill Ã¥ ta en titt pÃ¥ oppdateringene som har blitt lagt inn." -#: perllib/FixMyStreet/App/Controller/Report/New.pm:740 +#: perllib/FixMyStreet/App/Controller/Report/New.pm:774 msgid "Please upload a JPEG image only" -msgstr "Vennligst last kun opp et JPEG-bilde" +msgstr "Vennligst last opp kun JPEG-bilder" -#: perllib/FixMyStreet/App/Controller/Contact.pm:96 +#: perllib/FixMyStreet/App/Controller/Contact.pm:98 msgid "Please write a message" msgstr "Skriv inn en melding" @@ -1515,9 +1714,7 @@ msgstr "Publisert anonymt %s" msgid "Posted by %s at %s" msgstr "Sendt inn av %s %s" -#: perllib/FixMyStreet/Map/Tilma/Original.pm:92 #: templates/web/default/maps/openlayers.html:89 -#: templates/web/default/maps/tilma/original.html:63 msgid "Problem" msgstr "Problem" @@ -1537,37 +1734,41 @@ msgstr "Problem %s sendt til administrasjon %s" msgid "Problem breakdown by state" msgstr "Tilstandsfordeling for problemer" -#: perllib/FixMyStreet/App/Controller/Admin.pm:759 +#: perllib/FixMyStreet/App/Controller/Admin.pm:703 msgid "Problem marked as open." msgstr "Problem markert som Ã¥pent." #: templates/web/default/admin/questionnaire.html:21 msgid "Problem state change based on survey results" -msgstr "" +msgstr "Problemtilstandsendring basert pÃ¥ spørreundersøkelsesresultater" + +#: templates/web/default/admin/list_flagged.html:5 +#, fuzzy +msgid "Problems" +msgstr "Problem" -#: templates/web/default/around/display_location.html:67 +#: templates/web/default/around/display_location.html:80 msgid "Problems in this area" -msgstr "Saker i dette omrÃ¥de" +msgstr "Problemer i dette omrÃ¥det" #: db/alert_types.pl:14 msgid "Problems recently reported fixed on FixMyStreet" msgstr "Problemer nylig rapportert fikset pÃ¥ FiksGataMi" #: templates/web/default/alert/list.html:52 -#, fuzzy msgid "Problems within %.1fkm of this location" -msgstr "Saker innen %skm av dette punktet" +msgstr "Problemer innenfor %.1fkm av denne posisjonen" -#: perllib/FixMyStreet/Cobrand/Default.pm:792 +#: perllib/FixMyStreet/Cobrand/Default.pm:782 #: perllib/FixMyStreet/Cobrand/EmptyHomes.pm:162 -#: perllib/FixMyStreet/Cobrand/FiksGataMi.pm:172 +#: perllib/FixMyStreet/Cobrand/FiksGataMi.pm:177 msgid "Problems within %s" msgstr "Problemer innenfor %s" -#: perllib/FixMyStreet/Cobrand/Default.pm:801 +#: perllib/FixMyStreet/Cobrand/Default.pm:791 #: perllib/FixMyStreet/Cobrand/EmptyHomes.pm:170 msgid "Problems within %s ward" -msgstr "Problemer innenfor %s avdeling/etat" +msgstr "Problemer innenfor %s bydel" #: templates/web/default/reports/council.html:0 #: templates/web/default/reports/council.html:16 @@ -1582,20 +1783,23 @@ msgstr "Problemer innenfor grensene av:" msgid "Properties recently reported as put back to use on reportemptyhomes.com" msgstr "" -#: perllib/FixMyStreet/App/Controller/Report/New.pm:471 +#: perllib/FixMyStreet/App/Controller/Report/New.pm:498 msgid "Property type:" msgstr "Type egenskap:" #: templates/web/default/report/display.html:64 msgid "Provide an update" -msgstr "Bidra med oppdatering" +msgstr "Bidra med en oppdatering" #: templates/web/default/report/display.html:172 -#: templates/web/default/report/new/fill_in_details.html:187 +#: templates/web/default/report/new/fill_in_details_form.html:166 msgid "" "Providing a password is optional, but doing so will allow you to more easily " "report problems, leave updates and manage your reports." msgstr "" +"Det er valgfritt Ã¥ oppgi et passord, men om du gjør det vil det bli enklere " +"for deg Ã¥ rapportere problemer, legge inn oppdateringer og holde oversikt " +"over dine rapporter" #: templates/web/default/questionnaire/completed.html:1 #: templates/web/default/questionnaire/completed.html:2 @@ -1625,32 +1829,29 @@ msgstr "Spørreskjema fylt inn av feilrapportøren" msgid "RSS feed" msgstr "RSS-strøm" -#: perllib/FixMyStreet/Cobrand/Default.pm:830 -#: perllib/FixMyStreet/Cobrand/Default.pm:844 -#, fuzzy +#: perllib/FixMyStreet/Cobrand/Default.pm:820 +#: perllib/FixMyStreet/Cobrand/Default.pm:834 msgid "RSS feed for %s" -msgstr "RSS-strøm fra %s" +msgstr "RSS-strøm for %s" -#: perllib/FixMyStreet/Cobrand/Default.pm:837 -#: perllib/FixMyStreet/Cobrand/Default.pm:851 -#, fuzzy +#: perllib/FixMyStreet/Cobrand/Default.pm:827 +#: perllib/FixMyStreet/Cobrand/Default.pm:841 msgid "RSS feed for %s ward, %s" -msgstr "RSS-strøm fra %s" +msgstr "RSS-strøm for %s bydel, %s" -#: perllib/FixMyStreet/Cobrand/Default.pm:860 -#: perllib/FixMyStreet/Cobrand/Default.pm:874 -#: perllib/FixMyStreet/Cobrand/FiksGataMi.pm:188 -#: perllib/FixMyStreet/Cobrand/FiksGataMi.pm:196 -#: perllib/FixMyStreet/Cobrand/FiksGataMi.pm:206 -#: perllib/FixMyStreet/Cobrand/FiksGataMi.pm:214 +#: perllib/FixMyStreet/Cobrand/Default.pm:850 +#: perllib/FixMyStreet/Cobrand/Default.pm:864 +#: perllib/FixMyStreet/Cobrand/FiksGataMi.pm:193 +#: perllib/FixMyStreet/Cobrand/FiksGataMi.pm:201 +#: perllib/FixMyStreet/Cobrand/FiksGataMi.pm:211 +#: perllib/FixMyStreet/Cobrand/FiksGataMi.pm:219 msgid "RSS feed of %s" msgstr "RSS-strøm fra %s" -#: perllib/FixMyStreet/Cobrand/Default.pm:866 -#: perllib/FixMyStreet/Cobrand/Default.pm:880 -#, fuzzy +#: perllib/FixMyStreet/Cobrand/Default.pm:856 +#: perllib/FixMyStreet/Cobrand/Default.pm:870 msgid "RSS feed of %s, within %s ward" -msgstr "RSS-strøm for problemer i denne %s" +msgstr "RSS-strøm av %s, innenfor %s bydel" #: templates/web/default/alert/list.html:54 msgid "RSS feed of nearby problems" @@ -1660,18 +1861,16 @@ msgstr "RSS-strøm med problemer i nærheten" msgid "RSS feed of problems in this %s" msgstr "RSS-strøm for problemer i denne %s" -#: perllib/FixMyStreet/Cobrand/Default.pm:793 +#: perllib/FixMyStreet/Cobrand/Default.pm:783 #: perllib/FixMyStreet/Cobrand/EmptyHomes.pm:163 -#: perllib/FixMyStreet/Cobrand/FiksGataMi.pm:171 -#, fuzzy +#: perllib/FixMyStreet/Cobrand/FiksGataMi.pm:176 msgid "RSS feed of problems within %s" -msgstr "RSS-strøm for problemer i denne %s" +msgstr "RSS-strøm for problemer innenfor %s" -#: perllib/FixMyStreet/Cobrand/Default.pm:800 +#: perllib/FixMyStreet/Cobrand/Default.pm:790 #: perllib/FixMyStreet/Cobrand/EmptyHomes.pm:169 -#, fuzzy msgid "RSS feed of problems within %s ward" -msgstr "RSS-strøm for problemer i denne %s" +msgstr "RSS-strøm for problemer innenfor %s bydel" #: templates/web/default/around/display_location.html:1 #: templates/web/default/around/display_location.html:4 @@ -1685,7 +1884,7 @@ msgstr "RSS-strøm med oppdateringer for dette problemet" #: templates/web/default/alert/updates.html:9 #: templates/web/default/report/display.html:45 msgid "Receive email when updates are left on this problem." -msgstr "Motta epost nÃ¥r det er uppdateringer pÃ¥ denne saken" +msgstr "Motta e-post nÃ¥r det er uppdateringer pÃ¥ dette problemet" #: templates/web/default/around/display_location.html:0 #: templates/web/default/around/display_location.html:34 @@ -1698,7 +1897,7 @@ msgstr "Nylig lokalt problem, FiksGataMi." #: templates/web/emptyhomes/reports/index.html:13 #: templates/web/fiksgatami/reports/index.html:13 msgid "Recently fixed" -msgstr "Nylig løste saker" +msgstr "Nylig løste problemer" #: templates/web/default/index.html:72 msgid "Recently reported problems" @@ -1716,7 +1915,11 @@ msgstr "" "tjenesten, husk at du kan kontakte administrasjonen direkte via deres egen " "nettside." -#: templates/web/default/admin/report_edit.html:43 +#: templates/web/default/admin/report_blocks.html:16 +msgid "Remove flag" +msgstr "" + +#: templates/web/default/admin/report_edit.html:44 #: templates/web/default/admin/update_edit.html:33 msgid "Remove photo (can't be undone!)" msgstr "Fjern bilde (kan ikke gjøres om!)" @@ -1725,12 +1928,12 @@ msgstr "Fjern bilde (kan ikke gjøres om!)" msgid "Report Empty Homes" msgstr "Rapporter tomme hjem" -#: templates/web/default/footer.html:6 templates/web/emptyhomes/header.html:30 +#: templates/web/default/footer.html:6 templates/web/emptyhomes/header.html:28 #: templates/web/fiksgatami/footer.html:5 msgid "Report a problem" msgstr "Rapporter et problem" -#: perllib/FixMyStreet/App/Controller/Rss.pm:252 +#: perllib/FixMyStreet/App/Controller/Rss.pm:268 msgid "Report on %s" msgstr "Rapport pÃ¥ %s" @@ -1746,7 +1949,7 @@ msgstr "Rapportert %s" msgid "Reported %s, to %s" msgstr "Rapportert %s, til %s" -#: perllib/FixMyStreet/DB/Result/Problem.pm:331 +#: perllib/FixMyStreet/DB/Result/Problem.pm:333 #: templates/web/default/contact/index.html:45 msgid "Reported anonymously at %s" msgstr "Rapportert anonymt %s" @@ -1756,45 +1959,45 @@ msgstr "Rapportert anonymt %s" msgid "Reported before" msgstr "Rapportert tidligere" -#: perllib/FixMyStreet/DB/Result/Problem.pm:323 +#: perllib/FixMyStreet/DB/Result/Problem.pm:325 msgid "Reported by %s anonymously at %s" msgstr "Publisert av %s anonymt %s" -#: perllib/FixMyStreet/DB/Result/Problem.pm:354 +#: perllib/FixMyStreet/DB/Result/Problem.pm:356 #: templates/web/default/contact/index.html:47 msgid "Reported by %s at %s" msgstr "Publisert av %s %s" -#: perllib/FixMyStreet/DB/Result/Problem.pm:345 +#: perllib/FixMyStreet/DB/Result/Problem.pm:347 msgid "Reported by %s by %s at %s" msgstr "Rapporter av %s av %s %s" -#: perllib/FixMyStreet/DB/Result/Problem.pm:319 +#: perllib/FixMyStreet/DB/Result/Problem.pm:321 msgid "Reported by %s in the %s category anonymously at %s" msgstr "Rapportert av %s i kategorien %s anonymt %s" -#: perllib/FixMyStreet/DB/Result/Problem.pm:339 +#: perllib/FixMyStreet/DB/Result/Problem.pm:341 msgid "Reported by %s in the %s category by %s at %s" msgstr "Rapportert av %s i kategorien %s av %s %s" -#: perllib/FixMyStreet/DB/Result/Problem.pm:327 +#: perllib/FixMyStreet/DB/Result/Problem.pm:329 msgid "Reported in the %s category anonymously at %s" msgstr "Rapportert i kategorien %s anonymt %s" -#: perllib/FixMyStreet/DB/Result/Problem.pm:349 +#: perllib/FixMyStreet/DB/Result/Problem.pm:351 msgid "Reported in the %s category by %s at %s" msgstr "Rapportert i kategorien %s av %s %s" #: templates/web/default/around/around_index.html:1 #: templates/web/default/report/new/fill_in_details.html:0 -#: templates/web/default/report/new/fill_in_details.html:29 #: templates/web/default/report/new/fill_in_details.html:3 +#: templates/web/default/report/new/fill_in_details_form.html:1 msgid "Reporting a problem" -msgstr "Legger til en sak" +msgstr "Legger til et problem" -#: templates/web/default/around/display_location.html:97 +#: templates/web/default/around/display_location.html:94 msgid "Reports on and around the map" -msgstr "Saker i og rundt kartet" +msgstr "Problemer i og rundt kartet" #: templates/web/default/admin/report_edit.html:32 msgid "Resend report" @@ -1805,20 +2008,33 @@ msgid "" "Road operator for this named road (derived from road reference number and " "type): %s" msgstr "" +"Veioperatør for denne navngitte veien (utledet fra veiens referansenummer og " +"type) %s" #: perllib/FixMyStreet/Geocode/OSM.pm:104 msgid "Road operator for this named road (from OpenStreetMap): %s" -msgstr "" +msgstr "Veioperatør for denne navngitte veien (fra OpenStreetMap): %s" #: templates/web/default/admin/council_edit.html:35 msgid "Save changes" msgstr "Lagre endringer" -#: perllib/FixMyStreet/App/Controller/Admin.pm:613 +#: perllib/FixMyStreet/App/Controller/Admin.pm:843 +#, fuzzy +msgid "Search Abuse" +msgstr "Søk:" + +#: templates/web/default/admin/search_abuse.html:1 +msgid "Search Abuse Table" +msgstr "" + +#: perllib/FixMyStreet/App/Controller/Admin.pm:840 +#: templates/web/default/admin/list_flagged.html:1 #: templates/web/default/admin/search_reports.html:1 msgid "Search Reports" msgstr "Søk i rapporter" +#: templates/web/default/admin/search_abuse.html:4 #: templates/web/default/admin/search_reports.html:5 msgid "Search:" msgstr "Søk:" @@ -1830,9 +2046,9 @@ msgid "" "or enter your email address to subscribe to an email alert." msgstr "" "Velg hvilken type varsel du ønsker og klikk pÃ¥ knappen for en RSS-strøm, " -"eller skriv inn din epostadresse for Ã¥ abonnere pÃ¥ et epostvarsel." +"eller skriv inn din e-postadresse for Ã¥ abonnere pÃ¥ et e-postvarsel." -#: perllib/FixMyStreet/DB/Result/Problem.pm:396 +#: perllib/FixMyStreet/DB/Result/Problem.pm:398 msgid "Sent to %s %s later" msgstr "Sendt til %s %s senere" @@ -1866,11 +2082,11 @@ msgid "" msgstr "" #: templates/web/default/report/display.html:205 -#: templates/web/default/report/new/fill_in_details.html:226 +#: templates/web/default/report/new/fill_in_details_form.html:201 msgid "Show my name publicly" msgstr "Vis mitt navn offentlig" -#: templates/web/default/around/display_location.html:50 +#: templates/web/default/around/display_location.html:52 msgid "Show pins" msgstr "Vis nÃ¥ler" @@ -1881,29 +2097,31 @@ msgstr "Logg inn" #: templates/web/default/auth/general.html:74 msgid "Sign in by email" -msgstr "" +msgstr "Logg inn via epost" #: templates/web/default/auth/general.html:1 msgid "Sign in or create an account" -msgstr "" +msgstr "Logg inn eller opprett en konto" #: templates/web/default/auth/sign_out.html:1 -#: templates/web/default/header.html:26 -#: templates/web/emptyhomes/header.html:46 +#: templates/web/default/header.html:28 +#: templates/web/emptyhomes/header.html:44 +#: templates/web/lichfielddc/header.html:174 msgid "Sign out" msgstr "Logg ut" -#: templates/web/default/header.html:25 -#: templates/web/emptyhomes/header.html:45 +#: templates/web/default/header.html:27 +#: templates/web/emptyhomes/header.html:43 +#: templates/web/lichfielddc/header.html:174 msgid "Signed in as %s" msgstr "Logget inn som %s" #: templates/web/default/alert/index.html:31 msgid "Some photos of recent reports" -msgstr "Noen bilder av nylig meldte saker" +msgstr "Noen bilder av nylig meldte problemer" #: perllib/FixMyStreet/App/View/Email.pm:32 -#: perllib/FixMyStreet/App/View/Web.pm:41 +#: perllib/FixMyStreet/App/View/Web.pm:44 msgid "Some text to localize" msgstr "" @@ -1920,7 +2138,9 @@ msgstr "" #: templates/web/default/tokens/abuse.html:5 msgid "Sorry, there has been an error confirming your problem." -msgstr "Beklager, det har oppstÃ¥tt problemer nÃ¥r vi under lagringen av saken" +msgstr "" +"Beklager, men det oppsto et problem nÃ¥r vi forsøkte Ã¥ bekrefte " +"problemrapporten din" #: perllib/FixMyStreet/Geocode.pm:27 perllib/FixMyStreet/Geocode/Bing.pm:51 #: perllib/FixMyStreet/Geocode/Google.pm:68 @@ -1932,11 +2152,25 @@ msgstr "Beklager, vi kunne ikke finne det stedet." msgid "Sorry, we could not parse that location. Please try again." msgstr "Beklager, vi kunne ikke tolke den posisjonen. Vennligst prøv pÃ¥ nytt." -#: templates/web/default/footer.html:17 #: templates/web/fiksgatami/footer.html:15 msgid "Source code" msgstr "Kildekode" +#: templates/web/default/admin/stats.html:41 +#, fuzzy +msgid "Start Year:" +msgstr "Tilstand:" + +#: templates/web/default/admin/stats.html:43 +#, fuzzy +msgid "Start day:" +msgstr "Tilstand:" + +#: templates/web/default/admin/stats.html:42 +msgid "Start month:" +msgstr "" + +#: templates/web/default/admin/list_flagged.html:18 #: templates/web/default/admin/list_updates.html:6 #: templates/web/default/admin/search_reports.html:21 msgid "State" @@ -1947,20 +2181,26 @@ msgstr "Tilstand" msgid "State:" msgstr "Tilstand:" +#: perllib/FixMyStreet/App/Controller/Admin.pm:845 +#: templates/web/default/admin/stats.html:1 +#, fuzzy +msgid "Stats" +msgstr "Tilstand" + #: templates/web/default/admin/report_edit.html:13 #: templates/web/default/contact/index.html:83 -#: templates/web/default/report/new/fill_in_details.html:90 +#: templates/web/default/report/new/fill_in_details_form.html:52 msgid "Subject:" msgstr "Tema:" #: templates/web/default/questionnaire/creator_fixed.html:19 -#: templates/web/default/report/new/fill_in_details.html:131 -#: templates/web/default/report/new/fill_in_details.html:169 -#: templates/web/default/report/new/fill_in_details.html:190 +#: templates/web/default/report/new/fill_in_details_form.html:110 +#: templates/web/default/report/new/fill_in_details_form.html:148 +#: templates/web/default/report/new/fill_in_details_form.html:169 msgid "Submit" msgstr "Send inn" -#: templates/web/default/admin/report_edit.html:46 +#: templates/web/default/admin/report_edit.html:47 #: templates/web/default/admin/update_edit.html:36 msgid "Submit changes" msgstr "Send inn endringer" @@ -1976,9 +2216,9 @@ msgstr "Abonner" #: templates/web/default/alert/list.html:128 msgid "Subscribe me to an email alert" -msgstr "Jeg ønsker Ã¥ abonnere pÃ¥ epostvarsel" +msgstr "Jeg ønsker Ã¥ abonnere pÃ¥ e-postvarsel" -#: perllib/FixMyStreet/App/Controller/Admin.pm:611 +#: perllib/FixMyStreet/App/Controller/Admin.pm:838 #: templates/web/default/admin/index.html:1 msgid "Summary" msgstr "Oppsummering" @@ -1989,7 +2229,7 @@ msgstr "Oppsummering" msgid "Summary reports" msgstr "Oppsummeringsrapporter" -#: perllib/FixMyStreet/App/Controller/Admin.pm:615 +#: perllib/FixMyStreet/App/Controller/Admin.pm:842 #: templates/web/default/admin/questionnaire.html:1 msgid "Survey Results" msgstr "Resultater fra spørreundersøkelsen" @@ -2036,17 +2276,14 @@ msgid "" msgstr "" #: templates/web/default/tokens/error.html:7 -#, fuzzy msgid "" "Thank you for trying to confirm your update or problem. We seem to have an " "error ourselves though, so <a href=\"%s\">please let us know what went on</" "a> and we'll look into it." msgstr "" "Takk for at du forsøker Ã¥ bekrefte din oppdatering eller ditt problem. Vi " -"ser ut til Ã¥ ha en\n" -"feil hos oss, sÃ¥ <a href=\"%s\">vær sÃ¥ snill Ã¥ fortell oss hva som skjedde</" -"a>\n" -"sÃ¥ skal vi se pÃ¥ saken.\n" +"ser ut til Ã¥ ha en feil hos oss, sÃ¥ <a href=\"%s\">vær sÃ¥ snill Ã¥ fortell " +"oss hva som skjedde</a> sÃ¥ skal vi se pÃ¥ saken." #: templates/web/emptyhomes/tokens/confirm_problem.html:24 #: templates/web/emptyhomes/tokens/confirm_problem.html:26 @@ -2077,7 +2314,7 @@ msgstr "" "Takk, glad for Ã¥ høre at problemet er fikset! Vi vil gjerne spørre deg om " "du har rapportert et problem til en administrasjon tidligere?" -#: perllib/FixMyStreet/App/Controller/Report/New.pm:749 +#: perllib/FixMyStreet/App/Controller/Report/New.pm:783 msgid "" "That image doesn't appear to have uploaded correctly (%s), please try again." msgstr "Bildet ser ikke ut til Ã¥ blitt lastet opp riktig (%s), prøv pÃ¥ nytt." @@ -2095,11 +2332,11 @@ msgid "That location does not appear to be in Britain; please try again." msgstr "Det stedet virker ikke Ã¥ være i storbritannia. Vennligst prøv igjen." #: perllib/FixMyStreet/Cobrand/Default.pm:509 -#: perllib/FixMyStreet/Cobrand/FiksGataMi.pm:73 +#: perllib/FixMyStreet/Cobrand/FiksGataMi.pm:78 msgid "That postcode was not recognised, sorry." msgstr "Det postnummeret ble ikke gjenkjent, beklager." -#: perllib/FixMyStreet/App/Controller/Admin.pm:512 +#: perllib/FixMyStreet/App/Controller/Admin.pm:517 msgid "That problem will now be resent." msgstr "Det problemet vil nÃ¥ bli sendt pÃ¥ nytt." @@ -2108,20 +2345,18 @@ msgid "That report has been removed from FixMyStreet." msgstr "Den rapporten har blitt fjernet fra FiksGataMi." #: templates/web/default/around/around_index.html:27 -#, fuzzy msgid "" "That spot does not appear to be covered by a council. If you have tried to " "report an issue past the shoreline, for example, please specify the closest " "point on land." msgstr "" -"Punktet ser ikke ut til Ã¥ være dekket av en administrasjon.\n" -"Hvis du har forsøkt Ã¥ rapportere en sak utenfor kysten, for eksempel,\n" -"sÃ¥ marker nærmeste punkt pÃ¥ land." +"Punktet ser ikke ut til Ã¥ være dekket av en administrasjon. Hvis du for " +"eksempel har forsøkt Ã¥ rapportere et problem utenfor kysten, marker nærmeste " +"punkt pÃ¥ land." #: templates/web/emptyhomes/static/about.html:7 -#, fuzzy msgid "The Empty Homes Agency" -msgstr "Rapporter tomme hjem" +msgstr "" #: templates/web/emptyhomes/static/about.html:9 msgid "" @@ -2139,12 +2374,21 @@ msgid "" " the UK." msgstr "" +#: templates/web/default/open311/index.html:23 +msgid "" +"The Open311 v2 attribute agency_responsible is used to list the " +"administrations that received the problem report, which is not quite the way " +"the attribute is defined in the Open311 v2 specification." +msgstr "" + #: templates/web/default/auth/token.html:21 #: templates/web/default/email_sent.html:22 msgid "" "The confirmation email <strong>may</strong> take a few minutes to arrive " "— <em>please</em> be patient." msgstr "" +"Bekreftelsese-posten <strong>kan</strong>bruke noen minutter før den kommer " +"frem — sÃ¥ vær tÃ¥lmodig." #: templates/web/default/questionnaire/index.html:51 msgid "" @@ -2156,6 +2400,13 @@ msgstr "" #: perllib/FixMyStreet/App/Controller/Reports.pm:46 #: perllib/FixMyStreet/App/Controller/Reports.pm:73 msgid "The error was: %s" +msgstr "Feilen var: %s" + +#: templates/web/default/open311/index.html:19 +msgid "" +"The following Open311 v2 attributes are returned for each request: " +"service_request_id, description, lat, long, media_url, status, " +"requested_datetime, updated_datetime, service_code and service_name." msgstr "" #: perllib/FixMyStreet/Geocode/OSM.pm:99 @@ -2164,6 +2415,9 @@ msgid "" "irrelevant, if the problem is close to several roads or close to a road " "without a name registered in OpenStreetMap." msgstr "" +"Følgende informasjon om nærmeste vei kan være unøyaktig eller irrelevant, " +"hvis problemet er nær flere veier eller nær en vei uten navn registrert i " +"OpenStreetmap." #: db/alert_types.pl:19 db/alert_types.pl:23 db/alert_types.pl:27 #: db/alert_types.pl:31 @@ -2194,9 +2448,8 @@ msgid "The latest problems reported fixed by users" msgstr "De siste problemer rapporter fikset av brukere" #: db/alert_types.pl:43 -#, fuzzy msgid "The latest problems within {{NAME}}'s boundary reported by users" -msgstr "De siste rapporter innenfor grensen til {{NAME}} rapportert av brukere" +msgstr "De siste problemer innenfor grensen til {{NAME}} rapportert av brukere" #: db/alert_types_eha.pl:9 msgid "The latest properties reported back to use by users" @@ -2227,10 +2480,10 @@ msgstr "Passordene er ikke like" msgid "The requested URL '%s' was not found on this server" msgstr "Den forespurte URL '%s' ble ikke funnet pÃ¥ denne tjeneren" -#: perllib/FixMyStreet/App/Controller/Admin.pm:493 -#: perllib/FixMyStreet/App/Controller/Admin.pm:663 -#: perllib/FixMyStreet/App/Controller/Admin.pm:702 -#: perllib/FixMyStreet/App/Controller/Admin.pm:787 +#: perllib/FixMyStreet/App/Controller/Admin.pm:1039 +#: perllib/FixMyStreet/App/Controller/Admin.pm:497 +#: perllib/FixMyStreet/App/Controller/Admin.pm:630 +#: perllib/FixMyStreet/App/Controller/Admin.pm:894 msgid "The requested URL was not found on this server." msgstr "Den forespurte URL-en ble ikke funnet pÃ¥ denne tjeneren" @@ -2238,9 +2491,10 @@ msgstr "Den forespurte URL-en ble ikke funnet pÃ¥ denne tjeneren" msgid "The simplest alert is our geographic one:" msgstr "Den enkleste meldingen er vÃ¥r geografiske:" -#: templates/web/default/report/new/all_councils_text.html:18 -#: templates/web/default/report/new/some_councils_text.html:10 -#: templates/web/default/report/new/some_councils_text.html:11 +#: templates/web/default/report/new/councils_text_all.html:18 +#: templates/web/default/report/new/councils_text_some.html:10 +#: templates/web/default/report/new/councils_text_some.html:11 +#: templates/web/default/report/new/fill_in_details_form.html:17 msgid "" "The subject and details of the problem will be public, plus your name if you " "give us permission." @@ -2257,12 +2511,13 @@ msgstr "" "stedet de skrev inn" #: perllib/FixMyStreet/App/Controller/Reports.pm:72 -#, fuzzy msgid "" "There was a problem showing the All Reports page. Please try again later." -msgstr "Det var problemer med din rapport. Vennligst se under." +msgstr "" +"Det var problemer med Ã¥ vise 'Alle rapporter'-siden. Vennligst prøv igjen " +"senere." -#: perllib/FixMyStreet/App/Controller/Report/New.pm:578 +#: perllib/FixMyStreet/App/Controller/Report/New.pm:605 #: perllib/FixMyStreet/App/Controller/Report/Update.pm:117 #: templates/web/default/auth/general.html:23 msgid "" @@ -2271,14 +2526,19 @@ msgid "" "have one yet – please fill in the right hand side of this form to get " "one." msgstr "" +"Det var problemer med din epost/passord-kombinasjon. Passord og " +"brukerkontoer er en helt <strong>ny</strong> tjeneste, sÃ¥ du har antagelig " +"ikke en konto ennÃ¥. – vær sÃ¥ snill Ã¥ fyll inn høyresiden av dette " +"skjemaet for Ã¥ skaffe deg en." #: perllib/FixMyStreet/App/Controller/Alert.pm:354 -#, fuzzy msgid "" "There was a problem with your email/password combination. Please try again." -msgstr "Det var problemer med din rapport. Vennligst se under." +msgstr "" +"Det var problemer med din epost/passord-kombinasjon. Vær sÃ¥ snill Ã¥ forsøk " +"igjen." -#: perllib/FixMyStreet/App/Controller/Contact.pm:115 +#: perllib/FixMyStreet/App/Controller/Contact.pm:117 msgid "There were problems with your report. Please see below." msgstr "Det var problemer med din rapport. Vennligst se under." @@ -2286,6 +2546,12 @@ msgstr "Det var problemer med din rapport. Vennligst se under." msgid "There were problems with your update. Please see below." msgstr "Det var problemer med din oppdatering. Vennligst se under." +#: templates/web/default/open311/index.html:10 +msgid "" +"This API implementation is work in progress and not yet stabilized. It will " +"change without warnings in the future." +msgstr "" + #: bin/send-reports:181 msgid "" "This email has been sent to both councils covering the location of the " @@ -2293,7 +2559,7 @@ msgid "" "the correct council to deal with the issue, or let us know what category of " "problem this is so we can add it to our system." msgstr "" -"Denne eposten har blitt sendt til begge administrasjonene som dekker stedet " +"Denne e-posten har blitt sendt til begge administrasjonene som dekker stedet " "for problemet, da brukeren ikke kategoriserte det. Vær sÃ¥ snill Ã¥ ignorere " "den hvis dere ikke er korrekt administrasjon for Ã¥ hÃ¥ndtere denne saken, " "eller gi oss beskjed om hvilken kategori av problemer dette er sÃ¥ vi kan " @@ -2305,9 +2571,9 @@ msgid "" "problem, as the category selected is provided for all of them; please ignore " "it if you're not the correct council to deal with the issue." msgstr "" -"Denne eposten har blitt sendt til flere administrasjoner som dekker stedet " +"Denne e-posten har blitt sendt til flere administrasjoner som dekker stedet " "for problemet, da den valgte kategorien er tilgjengelig for disse. Vær sÃ¥ " -"snill Ã¥ ignorere eposten hvis dere ikke er korrekt administrasjon for Ã¥ " +"snill Ã¥ ignorere e-posten hvis dere ikke er korrekt administrasjon for Ã¥ " "hÃ¥ndtere denne saken." #: templates/web/default/debug_header.html:3 @@ -2333,28 +2599,28 @@ msgid "" "This is a summary of all reports on this site; select a particular council " "to see the reports sent there." msgstr "" -"Dette er en opplisting av alle sakene i denne tjenesten; velg en bestemt " -"administrasjon for Ã¥ se saker som er sendt dit." +"Dette er en opplisting av alle problemene i denne tjenesten; velg en bestemt " +"administrasjon for Ã¥ se problemer som er sendt dit." -#: perllib/FixMyStreet/Cobrand/Default.pm:913 +#: perllib/FixMyStreet/Cobrand/Default.pm:903 #: perllib/FixMyStreet/Cobrand/EmptyHomes.pm:117 #: templates/web/default/report/display.html:96 msgid "This problem has been fixed" -msgstr "Denne saken er løst" +msgstr "Dette problemet er løst" #: templates/web/default/report/display.html:91 msgid "This problem has not been fixed" -msgstr "Denne saken har ikke blitt løst" +msgstr "Dette problemet har ikke blitt løst" -#: perllib/FixMyStreet/Cobrand/Default.pm:909 +#: perllib/FixMyStreet/Cobrand/Default.pm:899 msgid "This problem is old and of unknown status." -msgstr "Denne saken er gammel og med ukjent status." +msgstr "Dette problemet er gammel og med ukjent status." -#: perllib/FixMyStreet/DB/ResultSet/AlertType.pm:78 +#: perllib/FixMyStreet/DB/ResultSet/AlertType.pm:79 msgid "This report is currently marked as fixed." msgstr "Denne rapporten er for tiden markert som fikset." -#: perllib/FixMyStreet/DB/ResultSet/AlertType.pm:79 +#: perllib/FixMyStreet/DB/ResultSet/AlertType.pm:80 msgid "This report is currently marked as open." msgstr "Denne rapporten er for tiden markert som Ã¥pen." @@ -2364,59 +2630,53 @@ msgid "" msgstr "" "Denne nettsiden inneholder ogsÃ¥ et bilde av problemet, sendt inn av brukeren." -#: perllib/FixMyStreet/App/Controller/Admin.pm:614 +#: perllib/FixMyStreet/App/Controller/Admin.pm:841 #: templates/web/default/admin/timeline.html:1 msgid "Timeline" msgstr "Tidslinje" +#: templates/web/default/admin/list_flagged.html:10 #: templates/web/default/admin/search_reports.html:13 msgid "Title" msgstr "Tittel" -#: templates/web/default/alert/index.html:21 +#: templates/web/default/around/display_location.html:70 +#, fuzzy msgid "" -"To find out what local alerts we have for you, please enter your GB\n" -"postcode or street name and area:" +"To <strong>report a problem</strong>, simply click on the map at the correct " +"location." msgstr "" -"Du finner lokale saker ved Ã¥ søke pÃ¥ ditt postnummer, veinavn eller sted:" +"For Ã¥ rapportere et problem, <strong>klikk pÃ¥ kartet</strong> pÃ¥ riktig sted." -#: templates/web/default/around/display_location.html:86 -#, fuzzy +#: templates/web/default/alert/index.html:21 msgid "" -"To report a problem, simply <strong>click on the map</strong> at the correct " -"location." +"To find out what local alerts we have for you, please enter your GB\n" +"postcode or street name and area:" msgstr "" -"For Ã¥ lage en sak, \n" -" <strong>klikk pÃ¥ kartet</strong> pÃ¥ riktig sted." +"Du finner lokale problemer ved Ã¥ søke pÃ¥ ditt postnummer, veinavn eller sted:" #: bin/send-reports:76 msgid "To view a map of the precise location of this issue" -msgstr "For Ã¥ se en kart med den presise plasseringen for denne saken." +msgstr "For Ã¥ se en kart med en mer presis plassering for dette problemet." #: templates/web/default/admin/index.html:36 #: templates/web/default/admin/questionnaire.html:24 -#, fuzzy +#: templates/web/default/admin/stats.html:21 msgid "Total" -msgstr "Tittel" - -#: templates/web/default/maps/tilma/original.html:10 -msgid "Unable to fetch the map tiles from the tile server." -msgstr "Klarte ikke hente kartfliser fra filtjeneren." +msgstr "Totalt" #: perllib/FixMyStreet/App/Controller/Reports.pm:45 -#, fuzzy msgid "Unable to look up areas in MaPit. Please try again later." -msgstr "Det var problemer med din rapport. Vennligst se under." +msgstr "Klarte ikke slÃ¥ opp omrÃ¥der i MaPit. Vennligst forsøk igjen senere." #: templates/web/default/admin/report_edit.html:22 #: templates/web/default/admin/update_edit.html:19 msgid "Unconfirmed" msgstr "Ubekreftet" -#: perllib/FixMyStreet/App/Controller/Rss.pm:156 -#, fuzzy +#: perllib/FixMyStreet/App/Controller/Rss.pm:163 msgid "Unknown alert type" -msgstr "Ukjent problem-Id" +msgstr "Ukjent varsel-type" #: perllib/FixMyStreet/App/Controller/Report.pm:70 msgid "Unknown problem ID" @@ -2427,13 +2687,12 @@ msgid "Update %s created for problem %d; by %s" msgstr "Oppdatering %s opprettet for problem %d, av %s" #: templates/web/default/contact/index.html:21 -#, fuzzy msgid "Update below added anonymously at %s" -msgstr "Rapportert anonymt %s" +msgstr "Oppdateringen under lagt inn anonymt %s" #: templates/web/default/contact/index.html:23 msgid "Update below added by %s at %s" -msgstr "" +msgstr "Oppdateringen under lagt til av %s %s" #: templates/web/default/admin/index.html:30 msgid "Update breakdown by state" @@ -2451,8 +2710,8 @@ msgstr "Oppdater tilstanden" msgid "Update:" msgstr "Oppdatering:" -#: perllib/FixMyStreet/App/Controller/Admin.pm:586 -#: perllib/FixMyStreet/App/Controller/Admin.pm:749 +#: perllib/FixMyStreet/App/Controller/Admin.pm:606 +#: perllib/FixMyStreet/App/Controller/Admin.pm:693 msgid "Updated!" msgstr "Oppdatert!" @@ -2470,8 +2729,20 @@ msgstr "Oppdateringer av {{title}}" msgid "Updates to this problem, FixMyStreet" msgstr "Oppdateringer til dette problemet, FiksGataMi" -#: perllib/FixMyStreet/App/Controller/Admin.pm:294 -#: perllib/FixMyStreet/App/Controller/Admin.pm:324 +#: perllib/FixMyStreet/App/Controller/Admin.pm:997 +msgid "User flag removed" +msgstr "" + +#: perllib/FixMyStreet/App/Controller/Admin.pm:969 +msgid "User flagged" +msgstr "" + +#: templates/web/default/admin/list_flagged.html:30 +msgid "Users" +msgstr "" + +#: perllib/FixMyStreet/App/Controller/Admin.pm:295 +#: perllib/FixMyStreet/App/Controller/Admin.pm:325 msgid "Values updated" msgstr "Verdier oppdatert" @@ -2491,11 +2762,11 @@ msgstr "Ser pÃ¥ et sted" #: templates/web/default/report/display.html:0 msgid "Viewing a problem" -msgstr "Ser pÃ¥ en sak" +msgstr "Ser pÃ¥ et problem" #: templates/web/default/reports/council.html:22 msgid "Wards of this council" -msgstr "" +msgstr "Bydeler innenfor denne administrasjonen" #: perllib/FixMyStreet/Geocode/Bing.pm:46 msgid "" @@ -2508,7 +2779,7 @@ msgstr "" #: perllib/FixMyStreet/Cobrand/Default.pm:520 #: perllib/FixMyStreet/Geocode/Google.pm:63 msgid "We do not currently cover Northern Ireland, I'm afraid." -msgstr "" +msgstr "Vi dekker desverre ikke Nord-Irland." #: templates/web/default/alert/choose.html:6 #: templates/web/default/around/around_index.html:33 @@ -2522,10 +2793,10 @@ msgstr "" #: templates/web/default/auth/token.html:19 msgid "We have sent you an email containing a link to confirm your account." msgstr "" +"Vi har sendt deg en epost som inneholder link for Ã¥ bekrefte din konto." #: templates/web/emptyhomes/tokens/confirm_problem.html:18 #: templates/web/emptyhomes/tokens/confirm_problem.html:20 -#, fuzzy msgid "" "We may contact you periodically to ask if anything has changed with the " "property you reported." @@ -2573,21 +2844,29 @@ msgid "" "send an email to <a href='mailto:%s'>%s</a>:" msgstr "" "Vi ønsker Ã¥ fÃ¥ din tilbakemelding om hva du mener om denne tjenesten. Bare " -"fyll ut skjemaet, eller send en epost <a href='mailto:%s'>%s</a>:" +"fyll ut skjemaet, eller send en e-post <a href='mailto:%s'>%s</a>:" #: templates/web/default/admin/council_contacts.html:25 #: templates/web/default/admin/council_edit.html:41 msgid "When edited" msgstr "NÃ¥r redigert" +#: templates/web/default/admin/list_flagged.html:19 #: templates/web/default/admin/search_reports.html:22 msgid "When sent" msgstr "NÃ¥r sendt" -#: perllib/FixMyStreet/App/Controller/Report/New.pm:466 +#: perllib/FixMyStreet/App/Controller/Report/New.pm:493 msgid "Whole block of empty flats" msgstr "Hel blokk med tomme leiligheter" +#: templates/web/default/open311/index.html:25 +msgid "" +"With request searches, it is also possible to search for agency_responsible " +"to limit the requests to those sent to a single administration. The search " +"term is the administration ID provided by <a href=\"%s\">MaPit</a>." +msgstr "" + #: templates/web/default/questionnaire/index.html:104 msgid "" "Would you like to receive another questionnaire in 4 weeks, reminding you to " @@ -2608,9 +2887,9 @@ msgstr "" #: templates/web/default/admin/council_contacts.html:33 #: templates/web/default/admin/council_edit.html:5 #: templates/web/default/admin/list_updates.html:28 +#: templates/web/default/admin/problem_row.html:19 #: templates/web/default/admin/report_edit.html:18 #: templates/web/default/admin/report_edit.html:37 -#: templates/web/default/admin/search_reports.html:43 #: templates/web/default/admin/update_edit.html:15 #: templates/web/default/questionnaire/creator_fixed.html:14 #: templates/web/default/questionnaire/index.html:107 @@ -2647,16 +2926,16 @@ msgstr "" msgid "You can <a href=\"/reports\">show all councils</a>." msgstr "Du kan <a href=\"/reports/\">se alle administrasjoner</a>." -#: templates/web/default/report/new/no_councils_text.html:14 -#: templates/web/default/report/new/no_councils_text.html:3 -#: templates/web/default/report/new/some_councils_text.html:20 -#: templates/web/default/report/new/some_councils_text.html:22 +#: templates/web/default/report/new/councils_text_none.html:14 +#: templates/web/default/report/new/councils_text_none.html:3 +#: templates/web/default/report/new/councils_text_some.html:20 +#: templates/web/default/report/new/councils_text_some.html:22 msgid "" "You can help us by finding a contact email address for local problems for %s " "and emailing it to us at <a href='mailto:%s'>%s</a>." msgstr "" -"Du kan hjelpe oss ved Ã¥ finne en kontakt-epostadresse for lokale problemer i " -"%s, og sende den via epost til oss pÃ¥ <a href='mailto:%s'>%s</a>." +"Du kan hjelpe oss ved Ã¥ finne en kontakt-e-post for lokale problemer i %s, " +"og sende den via e-post til oss pÃ¥ <a href='mailto:%s'>%s</a>." #: perllib/FixMyStreet/App/Controller/Questionnaire.pm:38 msgid "" @@ -2668,12 +2947,12 @@ msgstr "" "problem</a>.\n" #: templates/web/default/questionnaire/index.html:94 -#: templates/web/default/report/new/fill_in_details.html:110 +#: templates/web/default/report/new/fill_in_details_form.html:89 msgid "" "You have already attached a photo to this report, attaching another one will " "replace it." msgstr "" -"Du har allerede lagt ved et bilde til denne rapporten. Ã… legge ved et annet " +"Du har allerede lagt ved et bilde til dette problemet. Ã… legge ved et annet " "vil bytte ut dette." #: templates/web/default/report/display.html:106 @@ -2688,15 +2967,15 @@ msgstr "" msgid "You have been signed out" msgstr "Du er allerede logget ut" -#: templates/web/default/report/new/fill_in_details.html:35 +#: templates/web/default/report/new/fill_in_details_form.html:7 #, fuzzy msgid "" "You have located the problem at the point marked with a purple pin on the " "map. If this is not the correct location, simply click on the map again. " msgstr "" "Du har plassert problemet ved punktet i kartet som er markert med en lilla " -"nÃ¥l. Hvis dette ikke er korrekt plassering kan du ganske enkelt klikke pÃ¥ " -"kartet pÃ¥ nytt." +"nÃ¥l. Hvis dette ikke er korrekt plassering kan du klikke i kartet pÃ¥ nytt " +"for Ã¥ flytte problemet." #: templates/web/default/tokens/confirm_alert.html:7 msgid "You have successfully confirmed your alert." @@ -2705,39 +2984,44 @@ msgstr "Du har nÃ¥ lykkes med Ã¥ bekrefte ditt varsel." #: templates/web/default/tokens/confirm_problem.html:6 #: templates/web/default/tokens/confirm_problem.html:7 msgid "You have successfully confirmed your problem" -msgstr "Du har nÃ¥ oppdatert din sak" +msgstr "Du har nÃ¥ lykkes med Ã¥ bekrefte ditt problem" +# "portalen" ? #: templates/web/default/tokens/confirm_update.html:11 #: templates/web/default/tokens/confirm_update.html:12 +#, fuzzy msgid "" "You have successfully confirmed your update and you can now <a href=\"%s" "\">view it on the site</a>." msgstr "" -"Du har nÃ¥ bekreftet din oppdatering <a href=\"%s\">les om saken pÃ¥ portalen</" -"a>." +"Du har nÃ¥ bekreftet din oppdatering <a href=\"%s\">og kan lese om problemet " +"pÃ¥ portalen</a>." #: templates/web/default/tokens/confirm_alert.html:11 #, fuzzy msgid "You have successfully created your alert." -msgstr "Sletting av ditt varsel var vellykket." +msgstr "Opprettelsen av ditt varsel var vellykket." #: templates/web/default/tokens/confirm_alert.html:9 msgid "You have successfully deleted your alert." msgstr "Sletting av ditt varsel var vellykket." -#: perllib/FixMyStreet/App/Controller/Report/New.pm:584 +#: perllib/FixMyStreet/App/Controller/Report/New.pm:611 #: perllib/FixMyStreet/App/Controller/Report/Update.pm:123 #, fuzzy msgid "" "You have successfully signed in; please check and confirm your details are " "accurate:" -msgstr "Du har nÃ¥ lykkes med Ã¥ bekrefte ditt varsel." +msgstr "" +"Du er nÃ¥ logget pÃ¥; vennligst sjekk og bekreft at detaljene er riktige:" #: templates/web/default/email_sent.html:26 msgid "" "You must now click the link in the email we've just sent you — if you " "do not, %s." msgstr "" +"Du mÃ¥ nÃ¥ Ã¥pne lenken i e-posten vi akkurat sendte deg — dersom du ikke " +"gjør det, %s" #: templates/web/default/admin/report_edit.html:32 msgid "You really want to resend?" @@ -2750,24 +3034,24 @@ msgstr "Dine rapporter" #: templates/web/default/auth/general.html:27 msgid "Your email address:" -msgstr "Din epostadresse:" +msgstr "Din e-postadresse:" #: templates/web/default/alert/list.html:122 #: templates/web/default/report/display.html:128 -#: templates/web/default/report/new/fill_in_details.html:141 +#: templates/web/default/report/new/fill_in_details_form.html:120 msgid "Your email:" -msgstr "Din epost" +msgstr "Din e-post" #: templates/web/default/auth/general.html:59 #: templates/web/default/contact/index.html:68 #: templates/web/default/report/display.html:199 -#: templates/web/default/report/new/fill_in_details.html:219 +#: templates/web/default/report/new/fill_in_details_form.html:194 msgid "Your name:" msgstr "Ditt navn:" #: templates/web/default/auth/change_password.html:6 msgid "Your password has been changed" -msgstr "Ditt passord har blitt byttet" +msgstr "Ditt passord har blitt endret" #: templates/web/default/footer.html:7 msgid "Your reports" @@ -2779,7 +3063,7 @@ msgstr "Dine oppdateringer" #: templates/web/default/contact/index.html:76 msgid "Your email:" -msgstr "Din epost:" +msgstr "Din e-post:" #: templates/web/default/admin/timeline.html:6 msgid "by %s" @@ -2796,7 +3080,7 @@ msgstr "brukte ikke kart" #: templates/web/default/admin/index.html:15 msgid "from %d different users" -msgstr "" +msgstr "fra %d forskjellige brukere" #: perllib/Utils.pm:247 msgid "less than a minute" @@ -2828,7 +3112,13 @@ msgstr "andre omrÃ¥der:" msgid "reopened" msgstr "Ã¥pnet pÃ¥ nytt" -#: perllib/FixMyStreet/DB/Result/Problem.pm:361 +#: templates/web/default/report/new/fill_in_details_form.html:11 +#: templates/web/default/report/new/fill_in_details_form.html:14 +#, fuzzy +msgid "the local council" +msgstr "(ikke rapportert til administrasjonen)" + +#: perllib/FixMyStreet/DB/Result/Problem.pm:363 msgid "the map was not used so pin location may be inaccurate" msgstr "kartet ble ikke brukt, sÃ¥ nÃ¥leposisjon kan være unøyaktig" @@ -2852,22 +3142,22 @@ msgstr "bydel" #: templates/web/default/email_sent.html:15 #: templates/web/default/email_sent.html:3 msgid "we'll hang on to your alert while you're checking your email." -msgstr "vi holder pÃ¥ ditt varsel mens du sjekker din epost." +msgstr "vi tar vare pÃ¥ ditt varsel mens du sjekker din e-post." #: templates/web/default/email_sent.html:3 #: templates/web/default/email_sent.html:7 msgid "we'll hang on to your problem report while you're checking your email." -msgstr "vi holder pÃ¥ rapporten din mens du sjekker epost." +msgstr "vi tar vare pÃ¥ rapporten din mens du sjekker e-post." #: templates/web/default/email_sent.html:11 #: templates/web/default/email_sent.html:3 msgid "we'll hang on to your update while you're checking your email." -msgstr "vi holder pÃ¥ din oppdatering mens du sjekker din epost." +msgstr "vi tar vare pÃ¥ din oppdatering mens du sjekker din e-post." #: templates/web/default/email_sent.html:14 #: templates/web/default/email_sent.html:3 msgid "your alert will not be activated" -msgstr "vil ditt varsel ikke bli aktivisert" +msgstr "ditt varsel vil ikke bli aktivert" #: templates/web/default/email_sent.html:3 #: templates/web/default/email_sent.html:6 @@ -2880,13 +3170,13 @@ msgid "your update will not be posted" msgstr "din oppdatering vil ikke bli publisert" #: templates/web/default/front/stats.html:19 -#, perl-format +#, fuzzy, perl-format msgid "<big>%s</big> report recently" msgid_plural "<big>%s</big> reports recently" msgstr[0] "<big>%s</big> rapportert<br>nylig" msgstr[1] "<big>%s</big> rapportert<br>nylig" -#: templates/web/default/report/new/no_councils_text.html:5 +#: templates/web/default/report/new/councils_text_none.html:5 #, perl-format msgid "We do not yet have details for the council that covers this location." msgid_plural "" @@ -2917,7 +3207,7 @@ msgid_plural "<big>%s</big> updates on reports" msgstr[0] "<big>%s</big> rapport-<br>oppdatering" msgstr[1] "<big>%s</big> rapport-<br>oppdateringer" -#: templates/web/default/report/new/some_councils_text.html:14 +#: templates/web/default/report/new/councils_text_some.html:14 #, perl-format msgid "" "We do <strong>not</strong> yet have details for the other council that " @@ -2931,3 +3221,16 @@ msgstr[0] "" msgstr[1] "" "Vi har ennÃ¥ <strong>ikke</strong> detaljene for de andre administrasjonene " "som dekker dette stedet." + +# I de tilfeller denne teksten blir brukt, er det vel +# det britiske Ministry of Justice som har copyright, +# ikke det norske Justisdepartementet? +#~ msgid "" +#~ "© Crown copyright. All rights reserved. Ministry of Justice " +#~ "100037819 2008." +#~ msgstr "" +#~ "© Crown copyright. Alle rettigheter reservert. Justisdepartementet " +#~ "100037819 2008." + +#~ msgid "Unable to fetch the map tiles from the tile server." +#~ msgstr "Klarte ikke hente kartfliser fra filtjeneren." diff --git a/notes/states.txt b/notes/states.txt new file mode 100644 index 000000000..b885b252b --- /dev/null +++ b/notes/states.txt @@ -0,0 +1,74 @@ +Problems exist in four broad state categories: + unconfirmed - the report has been made but the user hasn't clicked +the confirmation link. + open - the report has been confirmed + fixed - exactly what it says + closed - a registered user from a council has marked the problem as +closed + +When a problem is created it will be unconfirmed, The problem +becomes confirmed when the user clicks on the link sent to them in +the confirmation email. At this point the problem is confirmed. + +If a problem is uploaded from a mobile app then it is initally +created with a state of partial. + +If a user is logged in then any problem they create is confirmed +automatically. + +If a council user is logged in then they can change the state of the +problem to one of the following provifing they are from the council that +the problem has been reported to: + Open ( a synonym for confirmed ) + Investigating + Planned + In Progress + Fixed + Closed + +Updates from council users will have the name of the council they +are from included in the meta information for that update. + +Any user of the sytem can mark a problem as fixed. + +If a problem has been marked as fixed then the user who created the +problem can reopen the problem by checking the 'This problem has not +been fixed' checkbox when submitting an update. + +If a problem has been closed it may only be re-opened by a council +user although it can still be updated. + +Internally there are three states for fixed problems: + fixed : problems marked as fixed before the addition of extra states + fixed - user : marked as fixed by a standard site user + fixed - council : marked as fixed by a council user + +At the moment there is no visible difference between these fixed states. + +If you need to check the state of a problem then there are a set of +utility functions in DB/Result/Problem.pm to do that. If you have a +problem object then these can be called directly on it: + + $problem->is_visible + $problem->is_fixed + $problem->is_open + $problem->is_closed + +The is_visible method returns true if a problem should be displayed +on the site - i.e it has been confirmed. + +You can also get a list of the states in a particular category by +calling one of the following class methods: + + visible_states + open_states + closed_states + fixed_states + +Which will return a list of state strings in list context or a +hash reference in scalar context which you can use like this: + + if ( FixMyStreet::App->model('DB::Problem')->open_states->{$state} +) { + print "$state is open\n"; + } diff --git a/perllib/FixMyStreet/App/Controller/Admin.pm b/perllib/FixMyStreet/App/Controller/Admin.pm index b55d02e5f..f7942c45a 100644 --- a/perllib/FixMyStreet/App/Controller/Admin.pm +++ b/perllib/FixMyStreet/App/Controller/Admin.pm @@ -56,10 +56,12 @@ sub index : Path : Args(0) { %prob_counts = map { $_ => $prob_counts{$_} || 0 } - qw(confirmed fixed unconfirmed hidden partial); + ('confirmed', 'investigating', 'in progress', 'closed', 'fixed - council', + 'fixed - user', 'fixed', 'unconfirmed', 'hidden', + 'partial', 'planned'); $c->stash->{problems} = \%prob_counts; - $c->stash->{total_problems_live} = - $prob_counts{confirmed} + $prob_counts{fixed}; + $c->stash->{total_problems_live} += $prob_counts{$_} + for ( FixMyStreet::DB::Result::Problem->visible_states() ); $c->stash->{total_problems_users} = $c->cobrand->problems->unique_users; my $comments = $c->model('DB::Comment')->summary_count( $site_restriction ); @@ -646,6 +648,36 @@ sub report_edit : Path('report_edit') : Args(1) { return 1; } +sub search_users: Path('search_users') : Args(0) { + my ( $self, $c ) = @_; + + $c->forward('check_page_allowed'); + + if (my $search = $c->req->param('search')) { + $c->stash->{searched} = 1; + + my $search = $c->req->param('search'); + my $isearch = '%' . $search . '%'; + + my $search_n = 0; + $search_n = int($search) if $search =~ /^\d+$/; + + my $users = $c->model('DB::User')->search( + { + -or => [ + email => { ilike => $isearch }, + name => { ilike => $isearch }, + from_council => $search_n, + ] + } + ); + + $c->stash->{users} = [ $users->all ]; + } + + return 1; +} + sub update_edit : Path('update_edit') : Args(1) { my ( $self, $c, $id ) = @_; @@ -769,6 +801,51 @@ sub search_abuse : Path('search_abuse') : Args(0) { return 1; } +sub user_edit : Path('user_edit') : Args(1) { + my ( $self, $c, $id ) = @_; + + $c->forward('check_page_allowed'); + $c->forward('get_token'); + + my $user = $c->model('DB::User')->find( { id => $id } ); + $c->stash->{user} = $user; + + my @area_types = $c->cobrand->area_types; + my $areas = mySociety::MaPit::call('areas', \@area_types); + + my @councils_ids = sort { strcoll($areas->{$a}->{name}, $areas->{$b}->{name}) } keys %$areas; + @councils_ids = $c->cobrand->filter_all_council_ids_list( @councils_ids ); + + $c->stash->{council_ids} = \@councils_ids; + $c->stash->{council_details} = $areas; + + if ( $c->req->param('submit') ) { + $c->forward('check_token'); + + my $edited = 0; + + if ( $user->email ne $c->req->param('email') || + $user->name ne $c->req->param('name' ) || + $user->from_council != $c->req->param('council') ) { + $edited = 1; + } + + $user->name( $c->req->param('name') ); + $user->email( $c->req->param('email') ); + $user->from_council( $c->req->param('council') || undef ); + $user->update; + + if ($edited) { + $c->forward( 'log_edit', [ $id, 'user', 'edit' ] ); + } + + $c->stash->{status_message} = + '<p><em>' . _('Updated!') . '</em></p>'; + } + + return 1; +} + sub list_flagged : Path('list_flagged') : Args(0) { my ( $self, $c ) = @_; @@ -872,9 +949,11 @@ sub set_allowed_pages : Private { 'search_reports' => [_('Search Reports'), 2], 'timeline' => [_('Timeline'), 3], 'questionnaire' => [_('Survey Results'), 4], + 'search_users' => [_('Search Users'), 5], 'search_abuse' => [_('Search Abuse'), 5], 'list_flagged' => [_('List Flagged'), 6], 'stats' => [_('Stats'), 6], + 'user_edit' => [undef, undef], 'council_contacts' => [undef, undef], 'council_edit' => [undef, undef], 'report_edit' => [undef, undef], @@ -922,7 +1001,7 @@ not then display 404 page sub check_token : Private { my ( $self, $c ) = @_; - if ( $c->req->param('token' ) ne $c->stash->{token} ) { + if ( !$c->req->param('token') || $c->req->param('token' ) ne $c->stash->{token} ) { $c->detach( '/page_error_404_not_found', [ _('The requested URL was not found on this server.') ] ); } diff --git a/perllib/FixMyStreet/App/Controller/Around.pm b/perllib/FixMyStreet/App/Controller/Around.pm index c93ca7334..d3a4500c6 100644 --- a/perllib/FixMyStreet/App/Controller/Around.pm +++ b/perllib/FixMyStreet/App/Controller/Around.pm @@ -189,7 +189,7 @@ sub display_location : Private { { latitude => $p->latitude, longitude => $p->longitude, - colour => $p->state eq 'fixed' ? 'green' : 'red', + colour => $p->is_fixed ? 'green' : 'red', id => $p->id, title => $p->title, } @@ -269,7 +269,7 @@ sub ajax : Path('/ajax') { ); # JSON encode the response - my $body = JSON->new->utf8(1)->pretty(1)->encode( + my $body = JSON->new->utf8(1)->encode( { pins => $pins, current => $on_map_list_html, diff --git a/perllib/FixMyStreet/App/Controller/JSON.pm b/perllib/FixMyStreet/App/Controller/JSON.pm index a89fb3e6c..f3607341a 100644 --- a/perllib/FixMyStreet/App/Controller/JSON.pm +++ b/perllib/FixMyStreet/App/Controller/JSON.pm @@ -71,12 +71,12 @@ sub problems : Local { } # query the database - my ( $state, $date_col ); + my ( @state, $date_col ); if ( $type eq 'new_problems' ) { - $state = 'confirmed'; + @state = FixMyStreet::DB::Result::Problem->open_states(); $date_col = 'confirmed'; } elsif ( $type eq 'fixed_problems' ) { - $state = 'fixed'; + @state = FixMyStreet::DB::Result::Problem->fixed_states(); $date_col = 'lastupdate'; } @@ -86,7 +86,7 @@ sub problems : Local { '>=' => $start_dt, '<=' => $end_dt + $one_day, }, - state => $state, + state => [ @state ], }; $query->{category} = $category if $category; my @problems = $c->cobrand->problems->search( $query, { diff --git a/perllib/FixMyStreet/App/Controller/My.pm b/perllib/FixMyStreet/App/Controller/My.pm index 1021f7056..60e9dd09f 100644 --- a/perllib/FixMyStreet/App/Controller/My.pm +++ b/perllib/FixMyStreet/App/Controller/My.pm @@ -31,7 +31,7 @@ sub my : Path : Args(0) { my $pins = []; my $problems = {}; my $rs = $c->user->problems->search( { - state => [ 'confirmed', 'fixed' ], + state => [ FixMyStreet::DB::Result::Problem->visible_states() ], }, { order_by => { -desc => 'confirmed' }, rows => 50 @@ -41,11 +41,12 @@ sub my : Path : Args(0) { push @$pins, { latitude => $problem->latitude, longitude => $problem->longitude, - colour => $problem->state eq 'fixed' ? 'green' : 'red', + colour => $problem->is_fixed ? 'green' : 'red', id => $problem->id, title => $problem->title, }; - push @{ $problems->{$problem->state} }, $problem; + my $state = $problem->is_fixed ? 'fixed' : $problem->is_closed ? 'closed' : 'confirmed'; + push @{ $problems->{$state} }, $problem; } $c->stash->{problems_pager} = $rs->pager; $c->stash->{problems} = $problems; diff --git a/perllib/FixMyStreet/App/Controller/Open311.pm b/perllib/FixMyStreet/App/Controller/Open311.pm index 459ce12c9..46d7801f6 100644 --- a/perllib/FixMyStreet/App/Controller/Open311.pm +++ b/perllib/FixMyStreet/App/Controller/Open311.pm @@ -216,8 +216,11 @@ sub output_requests : Private { # Look up categories for this council or councils my $problems = $c->cobrand->problems->search( $criteria, $attr ); - my %statusmap = ( 'fixed' => 'closed', - 'confirmed' => 'open'); + my %statusmap = ( + map( { $_ => 'open' } FixMyStreet::DB::Result::Problem->open_states() ), + map( { $_ => 'closed' } FixMyStreet::DB::Result::Problem->fixed_states() ), + 'closed' => 'closed' + ); my @problemlist; my @councils; @@ -309,13 +312,13 @@ sub get_requests : Private { # Only provide access to the published reports my $criteria = { - state => [ 'fixed', 'confirmed' ] + state => [ FixMyStreet::DB::Result::Problem->visible_states() ] }; my %rules = ( service_request_id => [ '=', 'id' ], service_code => [ '=', 'category' ], - status => [ '=', 'state' ], + status => [ 'IN', 'state' ], start_date => [ '>=', 'confirmed' ], end_date => [ '<', 'confirmed' ], agency_responsible => [ '~', 'council' ], @@ -329,8 +332,8 @@ sub get_requests : Private { my $key = $rules{$param}[1]; if ( 'status' eq $param ) { $value = { - 'open' => 'confirmed', - 'closed' => 'fixed' + 'open' => [ FixMyStreet::DB::Result::Problem->open_states() ], + 'closed' => [ FixMyStreet::DB::Result::Problem->fixed_states(), 'closed' ], }->{$value}; } elsif ( 'agency_responsible' eq $param ) { my @valuelist; @@ -403,7 +406,7 @@ sub get_request : Private { } my $criteria = { - state => [ 'fixed', 'confirmed' ], + state => [ FixMyStreet::DB::Result::Problem->visible_states() ], id => $id, }; $c->forward( 'output_requests', [ $criteria ] ); diff --git a/perllib/FixMyStreet/App/Controller/Photo.pm b/perllib/FixMyStreet/App/Controller/Photo.pm index 17862aa0a..b4fa3a457 100644 --- a/perllib/FixMyStreet/App/Controller/Photo.pm +++ b/perllib/FixMyStreet/App/Controller/Photo.pm @@ -48,7 +48,7 @@ sub index :Path :Args(0) { $c->detach( 'no_photo' ) if $id =~ /\D/; @photo = $c->cobrand->problems->search( { id => $id, - state => [ 'confirmed', 'fixed', 'partial' ], + state => [ FixMyStreet::DB::Result::Problem->visible_states(), 'partial' ], photo => { '!=', undef }, } ); } diff --git a/perllib/FixMyStreet/App/Controller/Questionnaire.pm b/perllib/FixMyStreet/App/Controller/Questionnaire.pm index a87aff330..f0cb02115 100755 --- a/perllib/FixMyStreet/App/Controller/Questionnaire.pm +++ b/perllib/FixMyStreet/App/Controller/Questionnaire.pm @@ -41,7 +41,7 @@ sub check_questionnaire : Private { $c->detach; } - unless ( $questionnaire->problem->state eq 'confirmed' || $questionnaire->problem->state eq 'fixed' ) { + unless ( $questionnaire->problem->is_visible ) { $c->detach('missing_problem'); } @@ -121,13 +121,19 @@ sub submit_creator_fixed : Private { my $questionnaire = $c->model( 'DB::Questionnaire' )->find_or_new( { problem_id => $c->stash->{problem}, - old_state => 'confirmed', - new_state => 'fixed', + # we want to look for any previous questionnaire here rather than one for + # this specific open state -> fixed transistion + old_state => [ FixMyStreet::DB::Result::Problem->open_states() ], + new_state => 'fixed - user', } ); unless ( $questionnaire->in_storage ) { + my $old_state = $c->flash->{old_state}; + $old_state = 'confirmed' unless FixMyStreet::DB::Result::Problem->open_states->{$old_state}; + $questionnaire->ever_reported( $c->stash->{reported} eq 'Yes' ? 1 : 0 ); + $questionnaire->old_state( $old_state ); $questionnaire->whensent( \'ms_current_timestamp()' ); $questionnaire->whenanswered( \'ms_current_timestamp()' ); $questionnaire->insert; @@ -149,8 +155,10 @@ sub submit_standard : Private { my $problem = $c->stash->{problem}; my $old_state = $problem->state; my $new_state = ''; - $new_state = 'fixed' if $c->stash->{been_fixed} eq 'Yes' && $old_state eq 'confirmed'; - $new_state = 'confirmed' if $c->stash->{been_fixed} eq 'No' && $old_state eq 'fixed'; + $new_state = 'fixed - user' if $c->stash->{been_fixed} eq 'Yes' && + FixMyStreet::DB::Result::Problem->open_states()->{$old_state}; + $new_state = 'confirmed' if $c->stash->{been_fixed} eq 'No' && + FixMyStreet::DB::Result::Problem->fixed_states()->{$old_state}; # Record state change, if there was one if ( $new_state ) { @@ -159,7 +167,8 @@ sub submit_standard : Private { } # If it's not fixed and they say it's still not been fixed, record time update - if ( $c->stash->{been_fixed} eq 'No' && $old_state eq 'confirmed' ) { + if ( $c->stash->{been_fixed} eq 'No' && + FixMyStreet::DB::Result::Problem->open_states->{$old_state} ) { $problem->lastupdate( \'ms_current_timestamp()' ); } @@ -186,7 +195,7 @@ sub submit_standard : Private { user => $problem->user, text => $update, state => 'confirmed', - mark_fixed => $new_state eq 'fixed' ? 1 : 0, + mark_fixed => $new_state eq 'fixed - user' ? 1 : 0, mark_open => $new_state eq 'confirmed' ? 1 : 0, lang => $c->stash->{lang_code}, cobrand => $c->cobrand->moniker, @@ -236,7 +245,7 @@ sub process_questionnaire : Private { if ($c->stash->{been_fixed} eq 'No' || $c->stash->{been_fixed} eq 'Unknown') && !$c->stash->{another}; push @errors, _('Please provide some explanation as to why you\'re reopening this report') - if $c->stash->{been_fixed} eq 'No' && $c->stash->{problem}->state eq 'fixed' && !$c->stash->{update}; + if $c->stash->{been_fixed} eq 'No' && $c->stash->{problem}->is_fixed() && !$c->stash->{update}; $c->forward('/report/new/process_photo'); push @errors, $c->stash->{photo_error} @@ -288,7 +297,7 @@ sub display : Private { pins => [ { latitude => $problem->latitude, longitude => $problem->longitude, - colour => $problem->state eq 'fixed' ? 'green' : 'red', + colour => $problem->is_fixed() ? 'green' : 'red', } ], ); } diff --git a/perllib/FixMyStreet/App/Controller/Report/New.pm b/perllib/FixMyStreet/App/Controller/Report/New.pm index aa919d882..3c63d5c07 100644 --- a/perllib/FixMyStreet/App/Controller/Report/New.pm +++ b/perllib/FixMyStreet/App/Controller/Report/New.pm @@ -99,6 +99,33 @@ sub report_new : Path : Args(0) { $c->forward('redirect_or_confirm_creation'); } +sub report_form_ajax : Path('ajax') : Args(0) { + my ( $self, $c ) = @_; + + $c->forward('initialize_report'); + + # work out the location for this report and do some checks + # XXX We don't want to do this here if this actually happens! + return $c->forward('redirect_to_around') + unless $c->forward('determine_location'); + + $c->forward('setup_categories_and_councils'); + + # render templates to get the html + my $category = $c->view('Web')->render( $c, 'report/new/category.html'); + my $councils_text = $c->view('Web')->render( $c, 'report/new/councils_text.html'); + + my $body = JSON->new->utf8(1)->encode( + { + councils_text => $councils_text, + category => $category, + } + ); + + $c->res->content_type('application/json; charset=utf-8'); + $c->res->body($body); +} + =head2 report_import Action to accept report creations from iPhones and other mobile apps. URL is @@ -935,7 +962,7 @@ sub generate_map : Private { ( $c->stash->{latitude}, $c->stash->{longitude} ); # Don't do anything if the user skipped the map - unless ( $c->req->param('skipped') ) { + if ( $c->stash->{report}->used_map ) { $c->stash->{page} = 'new'; FixMyStreet::Map::display_map( $c, diff --git a/perllib/FixMyStreet/App/Controller/Report/Update.pm b/perllib/FixMyStreet/App/Controller/Report/Update.pm index 501dd2b41..add9d1371 100644 --- a/perllib/FixMyStreet/App/Controller/Report/Update.pm +++ b/perllib/FixMyStreet/App/Controller/Report/Update.pm @@ -51,8 +51,11 @@ sub update_problem : Private { my $update = $c->stash->{update}; my $problem = $c->stash->{problem} || $update->problem; + # we may need this if we display the questionnaire + my $old_state = $problem->state; + if ( $update->mark_fixed ) { - $problem->state('fixed'); + $problem->state('fixed - user'); if ( $update->user->id == $problem->user->id ) { $problem->send_questionnaire(0); @@ -65,6 +68,10 @@ sub update_problem : Private { } } + if ( $update->problem_state ) { + $problem->state( $update->problem_state ); + } + if ( $update->mark_open && $update->user->id == $problem->user->id ) { $problem->state('confirmed'); } @@ -75,6 +82,7 @@ sub update_problem : Private { $c->stash->{problem_id} = $problem->id; if ($display_questionnaire) { + $c->flash->{old_state} = $old_state; $c->detach('/questionnaire/creator_fixed'); } @@ -145,7 +153,7 @@ sub process_update : Private { my ( $self, $c ) = @_; my %params = - map { $_ => scalar $c->req->param($_) } ( 'update', 'name', 'fixed', 'reopen' ); + map { $_ => scalar $c->req->param($_) } ( 'update', 'name', 'fixed', 'state', 'reopen' ); $params{update} = Utils::cleanup_text( $params{update}, { allow_multiline => 1 } ); @@ -170,6 +178,12 @@ sub process_update : Private { } ); + if ( $params{state} ) { + $params{state} = 'fixed - council' + if $params{state} eq 'fixed' && $c->user && $c->user->belongs_to_council( $update->problem->council ); + $update->problem_state( $params{state} ); + } + $c->stash->{update} = $update; $c->stash->{add_alert} = $c->req->param('add_alert'); @@ -187,6 +201,22 @@ return false. sub check_for_errors : Private { my ( $self, $c ) = @_; + # they have to be an authority user to update the state + if ( $c->req->param('state') ) { + my $error = 0; + $error = 1 unless $c->user && $c->user->belongs_to_council( $c->stash->{update}->problem->council ); + + my $state = $c->req->param('state'); + $error = 1 unless ( grep { $state eq $_ } ( qw/confirmed closed fixed investigating planned/, 'in progress', 'fixed', 'fixed - user', 'fixed - council' ) ); + + if ( $error ) { + $c->stash->{errors} ||= []; + push @{ $c->stash->{errors} }, _('There was a problem with your update. Please try again.'); + return; + } + + } + # let the model check for errors $c->stash->{field_errors} ||= {}; my %field_errors = ( diff --git a/perllib/FixMyStreet/App/Controller/Reports.pm b/perllib/FixMyStreet/App/Controller/Reports.pm index feafc4b77..f7fb5dec5 100644 --- a/perllib/FixMyStreet/App/Controller/Reports.pm +++ b/perllib/FixMyStreet/App/Controller/Reports.pm @@ -315,7 +315,7 @@ sub load_and_group_problems : Private { my $page = $c->req->params->{p} || 1; my $where = { - state => [ 'confirmed', 'fixed' ] + state => [ FixMyStreet::DB::Result::Problem->visible_states() ] }; if ($c->stash->{ward}) { $where->{areas} = { 'like', '%,' . $c->stash->{ward}->{id} . ',%' }; @@ -411,14 +411,16 @@ sub add_row { ? 'unknown' : ($problem->{age} > $fourweeks ? 'older' : 'new'); # Fixed problems are either old or new - push @{$fixed->{$council}{$duration_str}}, $problem if $problem->{state} eq 'fixed'; + push @{$fixed->{$council}{$duration_str}}, $problem if + exists FixMyStreet::DB::Result::Problem->fixed_states()->{$problem->{state}}; # Open problems are either unknown, older, or new - push @{$open->{$council}{$type}}, $problem if $problem->{state} eq 'confirmed'; + push @{$open->{$council}{$type}}, $problem if + exists FixMyStreet::DB::Result::Problem->open_states->{$problem->{state}}; push @$pins, { latitude => $problem->{latitude}, longitude => $problem->{longitude}, - colour => $problem->{state} eq 'fixed' ? 'green' : 'red', + colour => FixMyStreet::DB::Result::Problem->fixed_states()->{$problem->{state}} ? 'green' : 'red', id => $problem->{id}, title => $problem->{title}, }; diff --git a/perllib/FixMyStreet/App/Controller/Tokens.pm b/perllib/FixMyStreet/App/Controller/Tokens.pm index 26a1a1459..10f994d9f 100644 --- a/perllib/FixMyStreet/App/Controller/Tokens.pm +++ b/perllib/FixMyStreet/App/Controller/Tokens.pm @@ -75,7 +75,7 @@ sub confirm_problem : Path('/P') { $c->authenticate( { email => $problem->user->email }, 'no_password' ); $c->set_session_cookie_expire(0); - if ( $old_state eq 'confirmed' || $old_state eq 'fixed' ) { + if ( FixMyStreet::DB::Result::Problem->visible_states()->{$old_state} ) { my $report_uri = $c->uri_for( '/report', $problem->id ); $c->res->redirect($report_uri); } diff --git a/perllib/FixMyStreet/App/View/Web.pm b/perllib/FixMyStreet/App/View/Web.pm index 44f80e375..5579d0d53 100644 --- a/perllib/FixMyStreet/App/View/Web.pm +++ b/perllib/FixMyStreet/App/View/Web.pm @@ -23,6 +23,7 @@ __PACKAGE__->config( ], FILTERS => { escape_js => \&escape_js, + html => \&html_filter, }, COMPILE_EXT => '.ttc', STAT_TTL => FixMyStreet->config('STAGING_SITE') ? 1 : 86400, @@ -144,5 +145,25 @@ sub escape_js { return $text; } +=head2 html_filter + +Same as Template Toolkit's html_filter, but escapes ' too, as we don't (and +shouldn't have to) know whether we'll be used inbetween single or double +quotes. + +=cut + +sub html_filter { + my $text = shift; + for ($text) { + s/&/&/g; + s/</</g; + s/>/>/g; + s/"/"/g; + s/'/'/g; + } + return $text; +} + 1; diff --git a/perllib/FixMyStreet/Cobrand/Default.pm b/perllib/FixMyStreet/Cobrand/Default.pm index 134111076..69718f613 100644 --- a/perllib/FixMyStreet/Cobrand/Default.pm +++ b/perllib/FixMyStreet/Cobrand/Default.pm @@ -894,14 +894,24 @@ sub generate_problem_banner { my ( $self, $problem ) = @_; my $banner = {}; - if ($problem->state eq 'confirmed' && time() - $problem->lastupdate_local->epoch > 8*7*24*60*60) { - $banner->{id} = 'unknown'; + if ( $problem->is_open && time() - $problem->lastupdate_local->epoch > 8 * 7 * 24 * 60 * 60 ) + { + $banner->{id} = 'unknown'; $banner->{text} = _('This problem is old and of unknown status.'); } - if ($problem->state eq 'fixed') { + if ($problem->is_fixed) { $banner->{id} = 'fixed'; $banner->{text} = _('This problem has been fixed') . '.'; } + if ($problem->is_closed) { + $banner->{id} = 'closed'; + $banner->{text} = _('This problem has been closed') . '.'; + } + + if ( grep { $problem->state eq $_ } ( 'investigating', 'in progress', 'planned' ) ) { + $banner->{id} = 'progress'; + $banner->{text} = _('This problem is in progress') . '.'; + } return $banner; } diff --git a/perllib/FixMyStreet/Cobrand/EmptyHomes.pm b/perllib/FixMyStreet/Cobrand/EmptyHomes.pm index eda0b2882..189daee0c 100644 --- a/perllib/FixMyStreet/Cobrand/EmptyHomes.pm +++ b/perllib/FixMyStreet/Cobrand/EmptyHomes.pm @@ -112,7 +112,7 @@ sub generate_problem_banner { my ( $self, $problem ) = @_; my $banner = {}; - if ($problem->state eq 'fixed') { + if ($problem->is_fixed ) { $banner->{id} = 'fixed'; $banner->{text} = _('This problem has been fixed') . '.'; } diff --git a/perllib/FixMyStreet/DB/Result/Comment.pm b/perllib/FixMyStreet/DB/Result/Comment.pm index ae152eb31..958194eb8 100644 --- a/perllib/FixMyStreet/DB/Result/Comment.pm +++ b/perllib/FixMyStreet/DB/Result/Comment.pm @@ -52,6 +52,8 @@ __PACKAGE__->add_columns( { data_type => "integer", is_foreign_key => 1, is_nullable => 0 }, "anonymous", { data_type => "boolean", is_nullable => 0 }, + "problem_state", + { data_type => "text", is_nullable => 1 }, ); __PACKAGE__->set_primary_key("id"); __PACKAGE__->belongs_to( @@ -68,8 +70,8 @@ __PACKAGE__->belongs_to( ); -# Created by DBIx::Class::Schema::Loader v0.07010 @ 2011-06-23 15:49:48 -# DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:TYFusbxkOkAewaiZYZVJUA +# Created by DBIx::Class::Schema::Loader v0.07010 @ 2011-06-27 10:07:32 +# DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:ilLn3dlagg5COdpZDmzrVQ use DateTime::TimeZone; use Image::Size; @@ -147,6 +149,22 @@ sub get_photo_params { return $photo; } +=head2 meta_problem_state + +Returns a string suitable for display in the update meta section. +Mostly removes the '- council/user' bit from fixed states + +=cut + +sub meta_problem_state { + my $self = shift; + + my $state = $self->problem_state; + $state =~ s/ -.*$//; + + return $state; +} + # we need the inline_constructor bit as we don't inherit from Moose __PACKAGE__->meta->make_immutable( inline_constructor => 0 ); diff --git a/perllib/FixMyStreet/DB/Result/Problem.pm b/perllib/FixMyStreet/DB/Result/Problem.pm index 034c5d60d..9ff19efb6 100644 --- a/perllib/FixMyStreet/DB/Result/Problem.pm +++ b/perllib/FixMyStreet/DB/Result/Problem.pm @@ -143,6 +143,92 @@ use RABX; with 'FixMyStreet::Roles::Abuser'; +=head2 + + @states = FixMyStreet::DB::Problem::open_states(); + +Get a list or states that are regarded as open. If called in +array context then returns an array of names, otherwise returns a +HASHREF. + +=cut + +sub open_states { + my $states = { + 'confirmed' => 1, + 'investigating' => 1, + 'planned' => 1, + 'in progress' => 1, + }; + + return wantarray ? keys %{$states} : $states; +} + +=head2 + + @states = FixMyStreet::DB::Problem::fixed_states(); + +Get a list or states that should be regarded as fixed. If called in +array context then returns an array of names, otherwise returns a +HASHREF. + +=cut + +sub fixed_states { + my $states = { + 'fixed' => 1, + 'fixed - user' => 1, + 'fixed - council' => 1, + }; + + return wantarray ? keys %{ $states } : $states; +} + +=head2 + + @states = FixMyStreet::DB::Problem::closed_states(); + +Get a list or states that should be regarded as closed. If called in +array context then returns an array of names, otherwise returns a +HASHREF. + +=cut + +sub closed_states { + my $states = { + 'closed' => 1, + }; + + return wantarray ? keys %{$states} : $states; +} + + +=head2 + + @states = FixMyStreet::DB::Problem::visible_states(); + +Get a list or states that should be visible on the site. If called in +array context then returns an array of names, otherwise returns a +HASHREF. + +=cut + +sub visible_states { + my $states = { + 'confirmed' => 1, + 'planned' => 1, + 'investigating' => 1, + 'in progress' => 1, + 'fixed' => 1, + 'fixed - council' => 1, + 'fixed - user' => 1, + 'closed' => 1, + }; + + return wantarray ? keys %{$states} : $states; +} + + my $tz = DateTime::TimeZone->new( name => "local" ); sub confirmed_local { @@ -308,6 +394,55 @@ sub get_photo_params { return $photo; } +=head2 is_open + +Returns 1 if the problem is in a open state otherwise 0. + +=cut + +sub is_open { + my $self = shift; + + return exists $self->open_states->{ $self->state } ? 1 : 0; +} + + +=head2 is_fixed + +Returns 1 if the problem is in a fixed state otherwise 0. + +=cut + +sub is_fixed { + my $self = shift; + + return exists $self->fixed_states->{ $self->state } ? 1 : 0; +} + +=head2 is_closed + +Returns 1 if the problem is in a closed state otherwise 0. + +=cut + +sub is_closed { + my $self = shift; + + return exists $self->closed_states->{ $self->state } ? 1 : 0; +} + +=head2 is_visible + +Returns 1 if the problem should be displayed on the site otherwise 0. + +=cut + +sub is_visible { + my $self = shift; + + return exists $self->visible_states->{ $self->state } ? 1 : 0; +} + =head2 meta_line Returns a string to be used on a problem report page, describing some of the diff --git a/perllib/FixMyStreet/DB/Result/User.pm b/perllib/FixMyStreet/DB/Result/User.pm index cf4fc56d5..56d726a8d 100644 --- a/perllib/FixMyStreet/DB/Result/User.pm +++ b/perllib/FixMyStreet/DB/Result/User.pm @@ -26,6 +26,8 @@ __PACKAGE__->add_columns( { data_type => "text", is_nullable => 1 }, "password", { data_type => "text", default_value => "", is_nullable => 0 }, + "from_council", + { data_type => "integer", is_nullable => 1 }, "flagged", { data_type => "boolean", default_value => \"false", is_nullable => 0 }, ); @@ -51,8 +53,8 @@ __PACKAGE__->has_many( ); -# Created by DBIx::Class::Schema::Loader v0.07010 @ 2011-06-23 15:49:48 -# DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:T2JK+KyfoE2hkCLgreq1XQ +# Created by DBIx::Class::Schema::Loader v0.07010 @ 2011-06-27 10:25:21 +# DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:9IHuqRTcHZCqJeBAaiQxzw __PACKAGE__->add_columns( "password" => { @@ -134,4 +136,40 @@ sub alert_for_problem { } ); } +sub council { + my $self = shift; + + return '' unless $self->from_council; + + my $key = 'council_name:' . $self->from_council; + my $result = Memcached::get($key); + + unless ($result) { + my $area_info = mySociety::MaPit::call('area', $self->from_council); + $result = $area_info->{name}; + Memcached::set($key, $result, 86400); + } + + return $result; +} + +=head2 belongs_to_council + + $belongs_to_council = $user->belongs_to_council( $council_list ); + +Returns true if the user belongs to the comma seperated list of council ids passed in + +=cut + +sub belongs_to_council { + my $self = shift; + my $council = shift; + + my %councils = map { $_ => 1 } split ',', $council; + + return 1 if $self->from_council && $councils{ $self->from_council }; + + return 0; +} + 1; diff --git a/perllib/FixMyStreet/DB/ResultSet/AlertType.pm b/perllib/FixMyStreet/DB/ResultSet/AlertType.pm index 46009cb85..bf085e32a 100644 --- a/perllib/FixMyStreet/DB/ResultSet/AlertType.pm +++ b/perllib/FixMyStreet/DB/ResultSet/AlertType.pm @@ -50,6 +50,7 @@ sub email_alerts ($) { # XXX Ugh - needs work $query =~ s/\?/alert.parameter/ if ($query =~ /\?/); $query =~ s/\?/alert.parameter2/ if ($query =~ /\?/); + $query = dbh()->prepare($query); $query->execute(); my $last_alert_id; @@ -74,10 +75,13 @@ sub email_alerts ($) { } # create problem status message for the templates - $data{state_message} = - $row->{state} eq 'fixed' - ? _("This report is currently marked as fixed.") - : _("This report is currently marked as open."); + if ( FixMyStreet::DB::Result::Problem::fixed_states()->{$row->{state}} ) { + $data{state_message} = _("This report is currently marked as fixed."); + } elsif ( FixMyStreet::DB::Result::Problem::closed_states()->{$row->{state}} ) { + $data{state_message} = _("This report is currently marked as closed.") + } else { + $data{state_message} = _("This report is currently marked as open."); + } my $url = $cobrand->base_url_for_emails( $row->{alert_cobrand_data} ); if ($row->{item_text}) { @@ -130,11 +134,12 @@ sub email_alerts ($) { $d = mySociety::Locale::in_gb_locale { sprintf("%f", int($d*10+0.5)/10); }; + my $states = "'" . join( "', '", FixMyStreet::DB::Result::Problem::visible_states() ) . "'"; my %data = ( template => $template, data => '', alert_id => $alert->id, alert_email => $alert->user->email, lang => $alert->lang, cobrand => $alert->cobrand, cobrand_data => $alert->cobrand_data ); my $q = "select problem.id, problem.title from problem_find_nearby(?, ?, ?) as nearby, problem, users where nearby.problem_id = problem.id and problem.user_id = users.id - and problem.state in ('confirmed', 'fixed') + and problem.state in ($states) and problem.confirmed >= ? and problem.confirmed >= ms_current_timestamp() - '7 days'::interval and (select whenqueued from alert_sent where alert_sent.alert_id = ? and alert_sent.parameter::integer = problem.id) is null and users.email <> ? diff --git a/perllib/FixMyStreet/DB/ResultSet/Nearby.pm b/perllib/FixMyStreet/DB/ResultSet/Nearby.pm index 3b3a3d90b..04089096e 100644 --- a/perllib/FixMyStreet/DB/ResultSet/Nearby.pm +++ b/perllib/FixMyStreet/DB/ResultSet/Nearby.pm @@ -8,7 +8,7 @@ sub nearby { my ( $rs, $c, $dist, $ids, $limit, $mid_lat, $mid_lon, $interval ) = @_; my $params = { - state => [ 'confirmed', 'fixed' ], + state => [ FixMyStreet::DB::Result::Problem::visible_states() ], }; $params->{'current_timestamp-lastupdate'} = { '<', \"'$interval'::interval" } if $interval; diff --git a/perllib/FixMyStreet/DB/ResultSet/Problem.pm b/perllib/FixMyStreet/DB/ResultSet/Problem.pm index ca329ab59..8c1f95bae 100644 --- a/perllib/FixMyStreet/DB/ResultSet/Problem.pm +++ b/perllib/FixMyStreet/DB/ResultSet/Problem.pm @@ -21,7 +21,7 @@ sub recent_fixed { my $result = Memcached::get($key); unless ($result) { $result = $rs->search( { - state => 'fixed', + state => [ FixMyStreet::DB::Result::Problem->fixed_states() ], lastupdate => { '>', \"current_timestamp-'1 month'::interval" }, } )->count; Memcached::set($key, $result, 3600); @@ -50,7 +50,7 @@ sub recent_new { my $result = Memcached::get($key); unless ($result) { $result = $rs->search( { - state => [ 'confirmed', 'fixed' ], + state => [ FixMyStreet::DB::Result::Problem->visible_states() ], confirmed => { '>', \"current_timestamp-'$interval'::interval" }, } )->count; Memcached::set($key, $result, 3600); @@ -66,7 +66,7 @@ sub recent { my $result = Memcached::get($key); unless ($result) { $result = [ $rs->search( { - state => [ 'confirmed', 'fixed' ] + state => [ FixMyStreet::DB::Result::Problem->visible_states() ] }, { columns => [ 'id', 'title' ], order_by => { -desc => 'confirmed' }, @@ -81,7 +81,7 @@ sub recent_photos { my ( $rs, $num, $lat, $lon, $dist ) = @_; my $probs; my $query = { - state => [ 'confirmed', 'fixed' ], + state => [ FixMyStreet::DB::Result::Problem->visible_states() ], photo => { '!=', undef }, }; my $attrs = { @@ -125,7 +125,7 @@ sub around_map { $attr->{rows} = $limit if $limit; my $q = { - state => [ 'confirmed', 'fixed' ], + state => [ FixMyStreet::DB::Result::Problem->visible_states() ], latitude => { '>=', $min_lat, '<', $max_lat }, longitude => { '>=', $min_lon, '<', $max_lon }, }; @@ -177,7 +177,7 @@ sub unique_users { my ( $rs ) = @_; return $rs->search( { - state => [ 'confirmed', 'fixed' ], + state => [ FixMyStreet::DB::Result::Problem->visible_states() ], }, { select => [ { count => { distinct => 'user_id' } } ], as => [ 'count' ] @@ -187,11 +187,12 @@ sub unique_users { sub categories_summary { my ( $rs ) = @_; + my $fixed_case = "case when state IN ( '" . join( "', '", FixMyStreet::DB::Result::Problem->fixed_states() ) . "' ) then 1 else null end"; my $categories = $rs->search( { - state => [ 'confirmed', 'fixed' ], + state => [ FixMyStreet::DB::Result::Problem->visible_states() ], whensent => { '<' => \"NOW() - INTERVAL '4 weeks'" }, }, { - select => [ 'category', { count => 'id' }, { count => \"case when state='fixed' then 1 else null end" } ], + select => [ 'category', { count => 'id' }, { count => \$fixed_case } ], as => [ 'category', 'c', 'fixed' ], group_by => [ 'category' ], result_class => 'DBIx::Class::ResultClass::HashRefInflator' diff --git a/perllib/FixMyStreet/DB/ResultSet/Questionnaire.pm b/perllib/FixMyStreet/DB/ResultSet/Questionnaire.pm index e490c77a6..665e0e3e0 100644 --- a/perllib/FixMyStreet/DB/ResultSet/Questionnaire.pm +++ b/perllib/FixMyStreet/DB/ResultSet/Questionnaire.pm @@ -19,7 +19,7 @@ sub send_questionnaires_period { # Select all problems that need a questionnaire email sending my $q_params = { - state => [ 'confirmed', 'fixed' ], + state => [ FixMyStreet::DB::Result::Problem::visible_states() ], whensent => [ '-and', { '!=', undef }, diff --git a/perllib/FixMyStreet/Map/OSM.pm b/perllib/FixMyStreet/Map/OSM.pm index c848c9e5e..be185c35c 100644 --- a/perllib/FixMyStreet/Map/OSM.pm +++ b/perllib/FixMyStreet/Map/OSM.pm @@ -116,7 +116,7 @@ sub map_pins { # id => $p->id, # title => $p->title, #} - [ $p->latitude, $p->longitude, $p->state eq 'fixed' ? 'green' : 'red', $p->id, $p->title ] + [ $p->latitude, $p->longitude, $p->is_fixed ? 'green' : 'red', $p->id, $p->title ] } @$around_map, @$nearby; return (\@pins, $around_map_list, $nearby, $dist); diff --git a/t/app/controller/admin.t b/t/app/controller/admin.t index 160e99785..be3b74cf5 100644 --- a/t/app/controller/admin.t +++ b/t/app/controller/admin.t @@ -77,11 +77,13 @@ my $alert = FixMyStreet::App->model('DB::Alert')->find_or_create( ); subtest 'check summary counts' => sub { - my $problems = FixMyStreet::App->model('DB::Problem')->search( { state => { -in => [qw/confirmed fixed/] } } ); + my $problems = FixMyStreet::App->model('DB::Problem')->search( { state => { -in => [qw/confirmed fixed closed investigating planned/, 'in progress', 'fixed - user', 'fixed - council'] } } ); my $problem_count = $problems->count; $problems->update( { cobrand => '' } ); + FixMyStreet::App->model('DB::Problem')->search( { council => 2489 } )->update( { council => 1 } ); + my $q = FixMyStreet::App->model('DB::Questionnaire')->find_or_new( { problem => $report, }); $q->whensent( \'ms_current_timestamp()' ); $q->in_storage ? $q->update : $q->insert; @@ -130,6 +132,7 @@ subtest 'check summary counts' => sub { $alert->cobrand(''); $alert->update; + FixMyStreet::App->model('DB::Problem')->search( { council => 1 } )->update( { council => 2489 } ); ok $mech->host('fixmystreet.com'); }; @@ -782,6 +785,76 @@ for my $test ( }; } +for my $test ( + { + desc => 'user is problem owner', + problem_user => $user, + update_user => $user, + update_fixed => 0, + update_reopen => 0, + update_state => undef, + user_council => undef, + content => 'user is problem owner', + }, + { + desc => 'user is council user', + problem_user => $user, + update_user => $user2, + update_fixed => 0, + update_reopen => 0, + update_state => undef, + user_council => 2504, + content => 'user is from same council as problem - 2504', + }, + { + desc => 'update changed problem state', + problem_user => $user, + update_user => $user2, + update_fixed => 0, + update_reopen => 0, + update_state => 'planned', + user_council => 2504, + content => 'Update changed problem state to planned', + }, + { + desc => 'update marked problem as fixed', + problem_user => $user, + update_user => $user3, + update_fixed => 1, + update_reopen => 0, + update_state => undef, + user_council => undef, + content => 'Update marked problem as fixed', + }, + { + desc => 'update reopened problem', + problem_user => $user, + update_user => $user, + update_fixed => 0, + update_reopen => 1, + update_state => undef, + user_council => undef, + content => 'Update reopened problem', + }, +) { + subtest $test->{desc} => sub { + $report->user( $test->{problem_user} ); + $report->update; + + $update->user( $test->{update_user} ); + $update->problem_state( $test->{update_state} ); + $update->mark_fixed( $test->{update_fixed} ); + $update->mark_open( $test->{update_reopen} ); + $update->update; + + $test->{update_user}->from_council( $test->{user_council} ); + $test->{update_user}->update; + + $mech->get_ok('/admin/update_edit/' . $update->id ); + $mech->content_contains( $test->{content} ); + }; +} + subtest 'editing update email creates new user if required' => sub { my $user = FixMyStreet::App->model('DB::User')->find( { email => 'test4@example.com' } @@ -944,6 +1017,97 @@ subtest 'show flagged entries' => sub { $mech->content_contains( $user->email ); }; +subtest 'user search' => sub { + $mech->get_ok('/admin/search_users'); + $mech->get_ok('/admin/search_users?search=' . $user->name); + + $mech->content_contains( $user->name); + my $u_id = $user->id; + $mech->content_like( qr{user_edit/$u_id">Edit</a>} ); + + $mech->get_ok('/admin/search_users?search=' . $user->email); + + $mech->content_like( qr{user_edit/$u_id">Edit</a>} ); + + $user->from_council(2509); + $user->update; + $mech->get_ok('/admin/search_users?search=2509' ); + $mech->content_contains(2509); +}; + +$log_entries = FixMyStreet::App->model('DB::AdminLog')->search( + { + object_type => 'user', + object_id => $user->id + }, + { + order_by => { -desc => 'id' }, + } +); + +is $log_entries->count, 0, 'no admin log entries'; + +for my $test ( + { + desc => 'edit user name', + fields => { + name => 'Test User', + email => 'test@example.com', + council => 2509, + }, + changes => { + name => 'Changed User', + }, + log_count => 1, + log_entries => [qw/edit/], + }, + { + desc => 'edit user email', + fields => { + name => 'Changed User', + email => 'test@example.com', + council => 2509, + }, + changes => { + email => 'changed@example.com', + }, + log_count => 2, + log_entries => [qw/edit edit/], + }, + { + desc => 'edit user council', + fields => { + name => 'Changed User', + email => 'changed@example.com', + council => 2509, + }, + changes => { + council => 2607, + }, + log_count => 3, + log_entries => [qw/edit edit edit/], + }, +) { + subtest $test->{desc} => sub { + $mech->get_ok( '/admin/user_edit/' . $user->id ); + + my $visible = $mech->visible_form_values; + is_deeply $visible, $test->{fields}, 'expected user'; + + my $expected = { + %{ $test->{fields} }, + %{ $test->{changes} } + }; + + $mech->submit_form_ok( { with_fields => $expected } ); + + $visible = $mech->visible_form_values; + is_deeply $visible, $expected, 'user updated'; + + $mech->content_contains( 'Updated!' ); + }; +} + $mech->delete_user( $user ); $mech->delete_user( $user2 ); $mech->delete_user( $user3 ); diff --git a/t/app/controller/questionnaire.t b/t/app/controller/questionnaire.t index e56734bfc..af3b373ac 100644 --- a/t/app/controller/questionnaire.t +++ b/t/app/controller/questionnaire.t @@ -204,7 +204,12 @@ foreach my $test ( } my $result; - $result = 'fixed' if $test->{fields}{been_fixed} eq 'Yes'; + $result = 'fixed - user' + if $test->{fields}{been_fixed} eq 'Yes' + && $test->{problem_state} ne 'fixed'; + $result = 'fixed' + if $test->{fields}{been_fixed} eq 'Yes' + && $test->{problem_state} eq 'fixed'; $result = 'confirmed' if $test->{fields}{been_fixed} eq 'No'; $result = 'unknown' if $test->{fields}{been_fixed} eq 'Unknown'; @@ -214,7 +219,7 @@ foreach my $test ( # Check the right HTML page has been returned $mech->content_like( qr/<title>[^<]*Questionnaire/m ); $mech->content_contains( 'glad to hear it’s been fixed' ) - if $result eq 'fixed'; + if $result =~ /fixed/; $mech->content_contains( 'get some more information about the status of your problem' ) if $result eq 'unknown'; $mech->content_contains( "sorry to hear that" ) @@ -235,6 +240,16 @@ foreach my $test ( { problem_id => $report->id } ); is $c->text, $test->{fields}{update} || $test->{comment}; + if ( $result =~ /fixed/ ) { + ok $c->mark_fixed, 'comment marked as fixed'; + ok !$c->mark_open, 'comment not marked as open'; + } elsif ( $result eq 'confirmed' ) { + ok $c->mark_open, 'comment marked as open'; + ok !$c->mark_fixed, 'comment not marked as fixed'; + } elsif ( $result eq 'unknown' ) { + ok !$c->mark_open, 'comment not marked as open'; + ok !$c->mark_fixed, 'comment not marked as fixed'; + } } # Reset questionnaire for next test @@ -250,6 +265,55 @@ foreach my $test ( }; } + +for my $test ( + { + state => 'confirmed', + fixed => 0 + }, + { + state => 'planned', + fixed => 0 + }, + { + state => 'in progress', + fixed => 0 + }, + { + state => 'investigating', + fixed => 0 + }, + { + state => 'closed', + fixed => 0 + }, + { + state => 'fixed', + fixed => 1 + }, + { + state => 'fixed - council', + fixed => 1 + }, + { + state => 'fixed - user', + fixed => 1 + }, +) { + subtest "correct fixed text for state $test->{state}" => sub { + $report->state ( $test->{state} ); + $report->update; + + $mech->get_ok("/Q/" . $token->token); + $mech->title_like( qr/Questionnaire/ ); + if ( $test->{fixed} ) { + $mech->content_contains('An update marked this problem as fixed'); + } else { + $mech->content_lacks('An update marked this problem as fixed'); + } + }; +} + # EHA extra checking ok $mech->host("reportemptyhomes.com"), 'change host to reportemptyhomes'; diff --git a/t/app/controller/report_display.t b/t/app/controller/report_display.t index 1f857a387..a70d5b9e9 100644 --- a/t/app/controller/report_display.t +++ b/t/app/controller/report_display.t @@ -235,6 +235,54 @@ for my $test ( banner_text => 'This problem has been fixed.', fixed => 1 }, + { + description => 'user fixed report', + date => DateTime->now, + state => 'fixed - user', + banner_id => 'fixed', + banner_text => 'This problem has been fixed.', + fixed => 1 + }, + { + description => 'council fixed report', + date => DateTime->now, + state => 'fixed - council', + banner_id => 'fixed', + banner_text => 'This problem has been fixed.', + fixed => 1 + }, + { + description => 'closed report', + date => DateTime->now, + state => 'closed', + banner_id => 'closed', + banner_text => 'This problem has been closed.', + fixed => 0 + }, + { + description => 'investigating report', + date => DateTime->now, + state => 'investigating', + banner_id => 'progress', + banner_text => 'This problem is in progress.', + fixed => 0 + }, + { + description => 'planned report', + date => DateTime->now, + state => 'planned', + banner_id => 'progress', + banner_text => 'This problem is in progress.', + fixed => 0 + }, + { + description => 'in progressreport', + date => DateTime->now, + state => 'in progress', + banner_id => 'progress', + banner_text => 'This problem is in progress.', + fixed => 0 + }, ) { subtest "banner for $test->{description}" => sub { $report->confirmed( $test->{date}->ymd . ' ' . $test->{date}->hms ); @@ -260,6 +308,55 @@ for my $test ( }; } +for my $test ( + { + desc => 'no state dropdown if user not from authority', + from_council => 0, + no_state => 1, + report_council => '2504', + }, + { + desc => 'state dropdown if user from authority', + from_council => 2504, + no_state => 0, + report_council => '2504', + }, + { + desc => 'no state dropdown if user not from same council as problem', + from_council => 2505, + no_state => 1, + report_council => '2504', + }, + { + desc => 'state dropdown if user from authority and problem sent to multiple councils', + from_council => 2504, + no_state => 0, + report_council => '2504,2506', + }, +) { + subtest $test->{desc} => sub { + $mech->log_in_ok( $user->email ); + $user->from_council( $test->{from_council} ); + $user->update; + + $report->discard_changes; + $report->council( $test->{report_council} ); + $report->update; + + $mech->get_ok("/report/$report_id"); + my $fields = $mech->visible_form_values( 'updateForm' ); + if ( $test->{no_state} ) { + ok !$fields->{state}; + } else { + ok $fields->{state}; + } + }; +} + +$report->discard_changes; +$report->council( 2504 ); +$report->update; + # tidy up $mech->delete_user('test@example.com'); done_testing(); diff --git a/t/app/controller/report_import.t b/t/app/controller/report_import.t index 385445565..d6bff240c 100644 --- a/t/app/controller/report_import.t +++ b/t/app/controller/report_import.t @@ -264,69 +264,71 @@ subtest "Submit a correct entry (with location)" => sub { subtest "Submit a correct entry (with location) to cobrand" => sub { - skip( "Need 'fiksgatami' in ALLOWED_COBRANDS config", 8 ) - unless FixMyStreet::App->config->{ALLOWED_COBRANDS} =~ m{fiksgatami}; - mySociety::MaPit::configure('http://mapit.nuug.no/'); - ok $mech->host("fiksgatami.no"), 'change host to fiksgatami'; + SKIP: { + skip( "Need 'fiksgatami' in ALLOWED_COBRANDS config", 20 ) + unless FixMyStreet::App->config->{ALLOWED_COBRANDS} =~ m{fiksgatami}; + mySociety::MaPit::configure('http://mapit.nuug.no/'); + ok $mech->host("fiksgatami.no"), 'change host to fiksgatami'; - $mech->get_ok('/import'); - - $mech->submit_form_ok( # - { - with_fields => { - service => 'test-script', - lat => '59', - lon => '10', - name => 'Test User ll', - email => 'test-ll@example.com', - subject => 'Test report ll', - detail => 'This is a test report ll', - photo => $sample_file, - } - }, - "fill in form" - ); - - is_deeply( $mech->import_errors, [], "got no errors" ); - is $mech->content, 'SUCCESS', "Got success response"; - - # check that we have received the email - $mech->email_count_is(1); - my $email = $mech->get_email; - $mech->clear_emails_ok; - - my ($token_url) = $email->body =~ m{(http://\S+)}; - ok $token_url, "Found a token url $token_url"; - - # go to the token url - $mech->get_ok($token_url); - - # check that we are on '/report/new' - is $mech->uri->path, '/report/new', "sent to /report/new"; - - # check that fields are prefilled for us - is_deeply $mech->visible_form_values, - { - name => 'Test User ll', - title => 'Test report ll', - detail => 'This is a test report ll', - photo => '', - phone => '', - may_show_name => '1', - }, - "check imported fields are shown"; - - my $user = - FixMyStreet::App->model('DB::User') - ->find( { email => 'test-ll@example.com' } ); - ok $user, "Found a user"; + $mech->get_ok('/import'); - my $report = $user->problems->first; - is $report->state, 'partial', 'is still partial'; - is $report->title, 'Test report ll', 'title is correct'; - is $report->lang, 'nb', 'language is correct'; + $mech->submit_form_ok( # + { + with_fields => { + service => 'test-script', + lat => '59', + lon => '10', + name => 'Test User ll', + email => 'test-ll@example.com', + subject => 'Test report ll', + detail => 'This is a test report ll', + photo => $sample_file, + } + }, + "fill in form" + ); - $mech->delete_user($user); + is_deeply( $mech->import_errors, [], "got no errors" ); + is $mech->content, 'SUCCESS', "Got success response"; + + # check that we have received the email + $mech->email_count_is(1); + my $email = $mech->get_email; + $mech->clear_emails_ok; + + my ($token_url) = $email->body =~ m{(http://\S+)}; + ok $token_url, "Found a token url $token_url"; + + # go to the token url + $mech->get_ok($token_url); + + # check that we are on '/report/new' + is $mech->uri->path, '/report/new', "sent to /report/new"; + + # check that fields are prefilled for us + is_deeply $mech->visible_form_values, + { + name => 'Test User ll', + title => 'Test report ll', + detail => 'This is a test report ll', + photo => '', + phone => '', + may_show_name => '1', + }, + "check imported fields are shown"; + + my $user = + FixMyStreet::App->model('DB::User') + ->find( { email => 'test-ll@example.com' } ); + ok $user, "Found a user"; + + my $report = $user->problems->first; + is $report->state, 'partial', 'is still partial'; + is $report->title, 'Test report ll', 'title is correct'; + is $report->lang, 'nb', 'language is correct'; + + $mech->delete_user($user); + } }; done_testing(); diff --git a/t/app/controller/report_updates.t b/t/app/controller/report_updates.t index 856e7d763..993c6758e 100644 --- a/t/app/controller/report_updates.t +++ b/t/app/controller/report_updates.t @@ -404,6 +404,203 @@ for my $test ( }; } +$report->state('confirmed'); +$report->update; + +subtest 'check non authority user cannot change set state' => sub { + $mech->log_in_ok( $user->email ); + $user->from_council( 0 ); + $user->update; + + $mech->get_ok("/report/$report_id"); + $mech->submit_form_ok( { + form_number => 2, + fields => { + submit_update => 1, + id => $report_id, + name => $user->name, + rznvy => $user->email, + may_show_name => 1, + add_alert => 0, + photo => '', + update => 'this is a forbidden update', + state => 'fixed - council', + }, + }, + 'submitted with state', + ); + + is $mech->uri->path, "/report/update", "at /report/update"; + + my $errors = $mech->page_errors; + is_deeply $errors, [ 'There was a problem with your update. Please try again.' ], 'error message'; + + is $report->state, 'confirmed', 'state unchanged'; +}; + +for my $state ( qw/unconfirmed hidden partial/ ) { + subtest "check that update cannot set state to $state" => sub { + $mech->log_in_ok( $user->email ); + $user->from_council( 2504 ); + $user->update; + + $mech->get_ok("/report/$report_id"); + $mech->submit_form_ok( { + form_number => 2, + fields => { + submit_update => 1, + id => $report_id, + name => $user->name, + rznvy => $user->email, + may_show_name => 1, + add_alert => 0, + photo => '', + update => 'this is a forbidden update', + state => $state, + }, + }, + 'submitted with state', + ); + + is $mech->uri->path, "/report/update", "at /report/update"; + + my $errors = $mech->page_errors; + is_deeply $errors, [ 'There was a problem with your update. Please try again.' ], 'error message'; + + is $report->state, 'confirmed', 'state unchanged'; + }; +} + +for my $test ( + { + desc => 'from authority user marks report as investigating', + fields => { + name => $user->name, + may_show_name => 1, + add_alert => 0, + photo => '', + update => 'Set state to investigating', + state => 'investigating', + }, + state => 'investigating', + }, + { + desc => 'from authority user marks report as planned', + fields => { + name => $user->name, + may_show_name => 1, + add_alert => 0, + photo => '', + update => 'Set state to planned', + state => 'planned', + }, + state => 'planned', + }, + { + desc => 'from authority user marks report as in progress', + fields => { + name => $user->name, + may_show_name => 1, + add_alert => 0, + photo => '', + update => 'Set state to in progress', + state => 'in progress', + }, + state => 'in progress', + }, + { + desc => 'from authority user marks report as closed', + fields => { + name => $user->name, + may_show_name => 1, + add_alert => 0, + photo => '', + update => 'Set state to closed', + state => 'closed', + }, + state => 'closed', + }, + { + desc => 'from authority user marks report as fixed', + fields => { + name => $user->name, + may_show_name => 1, + add_alert => 0, + photo => '', + update => 'Set state to fixed', + state => 'fixed', + }, + state => 'fixed - council', + }, + { + desc => 'from authority user marks report as confirmed', + fields => { + name => $user->name, + may_show_name => 1, + add_alert => 0, + photo => '', + update => 'Set state to confirmed', + state => 'confirmed', + }, + state => 'confirmed', + }, + { + desc => 'from authority user marks report sent to two councils as fixed', + fields => { + name => $user->name, + may_show_name => 1, + add_alert => 0, + photo => '', + update => 'Set state to fixed', + state => 'fixed', + }, + state => 'fixed - council', + report_councils => '2504,2505', + }, +) { + subtest $test->{desc} => sub { + $report->comments->delete; + if ( $test->{ report_councils } ) { + $report->council( $test->{ report_councils } ); + $report->update; + } + + $mech->log_in_ok( $user->email ); + $user->from_council( 2504 ); + $user->update; + + $mech->get_ok("/report/$report_id"); + + $mech->submit_form_ok( + { + with_fields => $test->{fields}, + }, + 'submit update' + ); + + $report->discard_changes; + my $update = $report->comments->first; + ok $update, 'found update'; + is $update->text, $test->{fields}->{update}, 'update text'; + is $update->problem_state, $test->{state}, 'problem state set'; + + my $update_meta = $mech->extract_update_metas; + like $update_meta->[0], qr/marked as $test->{fields}->{state}$/, 'update meta includes state change'; + like $update_meta->[0], qr{Test User \(Westminster City Council\)}, 'update meta includes council name'; + $mech->content_contains( 'Test User (<strong>Westminster City Council</strong>)', 'council name in bold'); + + $report->discard_changes; + is $report->state, $test->{state}, 'state set'; + }; +} + +$user->from_council(0); +$user->update; + +$report->state('confirmed'); +$report->council('2504'); +$report->update; + for my $test ( { desc => 'submit an update for a registered user, signing in with wrong password', @@ -738,6 +935,34 @@ foreach my $test ( }, changed => { update => 'Update from owner' }, initial_banner => '', + initial_state => 'confirmed', + alert => 1, # we signed up for alerts before, do not unsign us + anonymous => 0, + answered => 0, + path => '/report/update', + content => +"Thanks, glad to hear it's been fixed! Could we just ask if you have ever reported a problem to a council before?", + }, + { + desc => 'logged in reporter submits update and marks in progress problem fixed', + initial_values => { + name => 'Test User', + may_show_name => 1, + add_alert => 1, + photo => '', + update => '', + fixed => undef, + }, + email => 'test@example.com', + fields => { + submit_update => 1, + update => 'update from owner', + add_alert => undef, + fixed => 1, + }, + changed => { update => 'Update from owner' }, + initial_banner => ' This problem is in progress. ', + initial_state => 'in progress', alert => 1, # we signed up for alerts before, do not unsign us anonymous => 0, answered => 0, @@ -765,6 +990,7 @@ foreach my $test ( }, changed => { update => 'Update from owner' }, initial_banner => '', + initial_state => 'confirmed', alert => 1, # we signed up for alerts before, do not unsign us anonymous => 0, answered => 1, @@ -783,7 +1009,7 @@ foreach my $test ( ok( $_->delete, 'deleted comment ' . $_->id ) for $report->comments; $report->discard_changes; - $report->state('confirmed'); + $report->state( $test->{initial_state} ); $report->update; my $questionnaire; @@ -825,6 +1051,8 @@ foreach my $test ( my $results = { %{ $test->{fields} }, %{ $test->{changed} }, }; + $report->discard_changes; + my $update = $report->comments->first; ok $update, 'found update'; is $update->text, $results->{update}, 'update text'; @@ -832,6 +1060,8 @@ foreach my $test ( is $update->state, 'confirmed', 'update confirmed'; is $update->anonymous, $test->{anonymous}, 'user anonymous'; + is $report->state, 'fixed - user', 'report state'; + SKIP: { skip( 'not answering questionnaire', 5 ) if $questionnaire; @@ -851,6 +1081,8 @@ foreach my $test ( ok $questionnaire, 'questionnaire exists'; ok $questionnaire->ever_reported, 'ever reported is yes'; + is $questionnaire->old_state(), $test->{initial_state}, 'questionnaire old state'; + is $questionnaire->new_state(), 'fixed - user', 'questionnaire new state'; }; if ($questionnaire) { diff --git a/t/app/model/alert_type.t b/t/app/model/alert_type.t new file mode 100644 index 000000000..c7bfe171c --- /dev/null +++ b/t/app/model/alert_type.t @@ -0,0 +1,144 @@ +use strict; +use warnings; +use Test::More; +use FixMyStreet::TestMech; + +mySociety::Locale::gettext_domain( 'FixMyStreet' ); + +my $mech = FixMyStreet::TestMech->new(); + +# this is the easiest way to make sure we're not going +# to get any emails sent by data kicking about in the database +FixMyStreet::App->model('DB::AlertType')->email_alerts(); +$mech->clear_emails_ok; + +my $user = + FixMyStreet::App->model('DB::User') + ->find_or_create( { email => 'test@example.com', name => 'Test User' } ); +ok $user, "created test user"; + +my $user2 = + FixMyStreet::App->model('DB::User') + ->find_or_create( { email => 'commenter@example.com', name => 'Commenter' } ); +ok $user2, "created comment user"; + + +my $dt = DateTime->new( + year => 2011, + month => 04, + day => 16, + hour => 15, + minute => 47, + second => 23 +); + +my $report = FixMyStreet::App->model('DB::Problem')->find_or_create( + { + postcode => 'SW1A 1AA', + council => '2504', + areas => ',105255,11806,11828,2247,2504,', + category => 'Other', + title => 'Test 2', + detail => 'Test 2 Detail', + used_map => 't', + name => 'Test User', + anonymous => 'f', + state => 'closed', + confirmed => $dt->ymd . ' ' . $dt->hms, + lang => 'en-gb', + service => '', + cobrand => 'default', + cobrand_data => '', + send_questionnaire => 't', + latitude => '51.5016605453401', + longitude => '-0.142497580865087', + user_id => $user->id, + } +); +my $report_id = $report->id; +ok $report, "created test report - $report_id"; + +my $comment = FixMyStreet::App->model('DB::Comment')->find_or_create( + { + problem_id => $report_id, + user_id => $user2->id, + name => 'Other User', + mark_fixed => 'false', + text => 'This is some update text', + state => 'confirmed', + confirmed => $dt->ymd . ' ' . $dt->hms, + anonymous => 'f', + } +); +my $comment2 = FixMyStreet::App->model('DB::Comment')->find_or_create( + { + problem_id => $report_id, + user_id => $user2->id, + name => 'Other User', + mark_fixed => 'false', + text => 'This is other update text', + state => 'confirmed', + confirmed => $dt->ymd . ' ' . $dt->hms, + anonymous => 'f', + } +); + +$comment->confirmed( \"ms_current_timestamp() - '3 days'::interval" ); +$comment->update; + +my $alert = FixMyStreet::App->model('DB::Alert')->find_or_create( + { + user => $user, + parameter => $report_id, + alert_type => 'new_updates', + whensubscribed => $dt->ymd . ' ' . $dt->hms, + confirmed => 1, + } +); + +for my $test ( + { + state => 'closed', + msg => 'This report is currently marked as closed', + }, + { + state => 'fixed', + msg => 'This report is currently marked as fixed', + }, + { + state => 'confirmed', + msg => 'This report is currently marked as open', + }, +) { + subtest "correct summary for state of $test->{state}" => sub { + $mech->clear_emails_ok; + + my $sent = FixMyStreet::App->model('DB::AlertSent')->search( + { + alert_id => $alert->id, + parameter => $comment->id, + } + )->delete; + + $report->state( $test->{state} ); + $report->update; + + FixMyStreet::App->model('DB::AlertType')->email_alerts(); + + $mech->email_count_is( 1 ); + my $email = $mech->get_email; + my $msg = $test->{msg}; + my $body = $email->body; + + like $body, qr/$msg/, 'email says problem is ' . $test->{state}; + like $body, qr{report/$report_id}, 'contains problem url'; + like $body, qr/This is some update text/, 'contains update text'; + unlike $body, qr/This is other update text/, 'does not contains other update text'; + + my $comments = $body =~ s/(------)//gs; + is $comments, 1, 'only 1 update'; + }; +} + +done_testing(); + diff --git a/t/app/model/problem.t b/t/app/model/problem.t index ed5207c2b..ad42c5fdf 100644 --- a/t/app/model/problem.t +++ b/t/app/model/problem.t @@ -257,6 +257,94 @@ for my $test ( }; } +for my $test ( + { + state => 'partial', + is_visible => 0, + is_fixed => 0, + is_open => 0, + is_closed => 0, + }, + { + state => 'hidden', + is_visible => 0, + is_fixed => 0, + is_open => 0, + is_closed => 0, + }, + { + state => 'unconfirmed', + is_visible => 0, + is_fixed => 0, + is_open => 0, + is_closed => 0, + }, + { + state => 'confirmed', + is_visible => 1, + is_fixed => 0, + is_open => 1, + is_closed => 0, + }, + { + state => 'investigating', + is_visible => 1, + is_fixed => 0, + is_open => 1, + is_closed => 0, + }, + { + state => 'planned', + is_visible => 1, + is_fixed => 0, + is_open => 1, + is_closed => 0, + }, + { + state => 'in progress', + is_visible => 1, + is_fixed => 0, + is_open => 1, + is_closed => 0, + }, + { + state => 'fixed', + is_visible => 1, + is_fixed => 1, + is_open => 0, + is_closed => 0, + }, + { + state => 'fixed - council', + is_visible => 1, + is_fixed => 1, + is_open => 0, + is_closed => 0, + }, + { + state => 'fixed - user', + is_visible => 1, + is_fixed => 1, + is_open => 0, + is_closed => 0, + }, + { + state => 'closed', + is_visible => 1, + is_fixed => 0, + is_open => 0, + is_closed => 1, + }, +) { + subtest $test->{state} . ' is fixed/open/closed/visible' => sub { + $problem->state( $test->{state} ); + is $problem->is_visible, $test->{is_visible}, 'is_visible'; + is $problem->is_fixed, $test->{is_fixed}, 'is_fixed'; + is $problem->is_closed, $test->{is_closed}, 'is_closed'; + is $problem->is_open, $test->{is_open}, 'is_open'; + }; +} + $problem->comments->delete; $problem->delete; $user->delete; diff --git a/t/app/model/questionnaire.t b/t/app/model/questionnaire.t new file mode 100644 index 000000000..60b52043a --- /dev/null +++ b/t/app/model/questionnaire.t @@ -0,0 +1,106 @@ +#!/usr/bin/perl + +use strict; +use warnings; + +use Test::More; + +use FixMyStreet; +use FixMyStreet::TestMech; + +my $user = FixMyStreet::App->model('DB::User')->find_or_create( { email => 'test@example.com' } ); + +my $problem = FixMyStreet::App->model('DB::Problem')->create( + { + postcode => 'EH99 1SP', + latitude => 1, + longitude => 1, + areas => 1, + title => 'to be sent', + detail => 'detail', + used_map => 1, + user_id => 1, + name => 'A Name', + state => 'confirmed', + service => '', + cobrand => 'default', + cobrand_data => '', + confirmed => \"ms_current_timestamp() - '5 weeks'::interval", + whensent => \"ms_current_timestamp() - '5 weeks'::interval", + user => $user, + anonymous => 0, + } +); + +diag $problem->id; + +my $mech = FixMyStreet::TestMech->new; + +for my $test ( + { + state => 'unconfirmed', + send_email => 0, + }, + { + state => 'partial', + send_email => 0, + }, + { + state => 'hidden', + send_email => 0, + }, + { + state => 'confirmed', + send_email => 1, + }, + { + state => 'investigating', + send_email => 1, + }, + { + state => 'planned', + send_email => 1, + }, + { + state => 'in progress', + send_email => 1, + }, + { + state => 'fixed', + send_email => 1, + }, + { + state => 'fixed - council', + send_email => 1, + }, + { + state => 'fixed - user', + send_email => 1, + }, + { + state => 'closed', + send_email => 1, + }, +) { + subtest "correct questionnaire behviour for state $test->{state}" => sub { + $problem->discard_changes; + $problem->state( $test->{state} ); + $problem->send_questionnaire( 1 ); + $problem->update; + + $problem->questionnaires->delete; + + $mech->email_count_is(0); + + FixMyStreet::App->model('DB::Questionnaire') + ->send_questionnaires( { site => 'fixmystreet' } ); + + $mech->email_count_is( $test->{send_email} ); + + $mech->clear_emails_ok(); + } +} + +$mech->delete_user( $user ); + +done_testing(); diff --git a/t/map/tilma/original.t b/t/map/tilma/original.t new file mode 100644 index 000000000..3add7719e --- /dev/null +++ b/t/map/tilma/original.t @@ -0,0 +1,108 @@ +#!/usr/bin/perl + +use strict; +use warnings; +use Test::More; +use FixMyStreet::App; +use FixMyStreet::Map; +use FixMyStreet::TestMech; +use DateTime; +use mySociety::Locale; + +my $mech = FixMyStreet::TestMech->new; + +mySociety::Locale::gettext_domain('FixMyStreet'); + +FixMyStreet::Map::set_map_class(); +my $r = Catalyst::Request->new( { base => URI->new('/'), uri => URI->new('http://fixmystreet.com/test'), parameters => { bbox => '-7.6,49.7,-7.5,49.8' } } ); + +my $c = FixMyStreet::App->new( { + request => $r, +}); + +$mech->delete_user('test@example.com'); +my $user = + FixMyStreet::App->model('DB::User') + ->find_or_create( { email => 'test@example.com', name => 'Test User' } ); +ok $user, "created test user"; + +my $dt = DateTime->now(); + + +my $report = FixMyStreet::App->model('DB::Problem')->find_or_create( + { + postcode => 'SW1A 1AA', + council => '2504', + areas => ',105255,11806,11828,2247,2504,', + category => 'Other', + title => 'Test 2', + detail => 'Test 2 Detail', + used_map => 't', + name => 'Test User', + anonymous => 'f', + state => 'fixed', + confirmed => $dt->ymd . ' ' . $dt->hms, + lang => 'en-gb', + service => '', + cobrand => 'default', + cobrand_data => '', + send_questionnaire => 't', + latitude => '49.7668057243776', + longitude => '-7.55715980363992', + user_id => $user->id, + } +); + +for my $test ( + { + state => 'fixed', + colour => 'green', + }, + { + state => 'fixed - user', + colour => 'green', + }, + { + state => 'fixed - council', + colour => 'green', + }, + { + state => 'confirmed', + colour => 'red', + }, + { + state => 'investigating', + colour => 'red', + }, + { + state => 'planned', + colour => 'red', + }, + { + state => 'in progress', + colour => 'red', + }, +) { + subtest "pin colour for state $test->{state}" => sub { + $report->state($test->{state}); + $report->update; + + my ( $pins, $around_map_list, $nearby, $dist ) = + FixMyStreet::Map::map_pins( $c, 0, 0, 0, 0 ); + + ok $pins; + ok $around_map_list; + ok $nearby; + ok $dist; + + my $id = $report->id; + my $colour = $test->{colour}; + + is $pins->[0][2], $colour, 'pin colour'; + }; +} + +$mech->delete_user( $user ); + + +done_testing(); diff --git a/templates/web/default/admin/list_updates.html b/templates/web/default/admin/list_updates.html index 92f41f348..4f27b9595 100644 --- a/templates/web/default/admin/list_updates.html +++ b/templates/web/default/admin/list_updates.html @@ -8,6 +8,8 @@ <th>[% loc('Email') %]</th> <th>[% loc('Created') %]</th> <th>[% loc('Anonymous') %]</th> + <th>[% loc('Owner') %]</th> + <th>[% loc('Council') %]</th> <th>[% loc('Cobrand') %]</th> <th>[% loc('Text') %]</th> <th>*</th> @@ -26,6 +28,8 @@ <td>[% update.user.email | html %]</td> <td>[% PROCESS format_time time=update.created %]</td> <td>[% IF update.anonymous %][% loc('Yes') %][% ELSE %][% loc('No') %][% END %]</td> + <td>[% IF update.user.id == update.problem.user_id %][% loc('Yes') %][% ELSE %][% loc('No') %][% END %]</td> + <td>[% IF update.user.belongs_to_council( update.problem.council ) %][% loc('Yes') %][% ELSE %][% loc('No') %][% END %]</td> <td>[% update.cobrand %]<br>[% update.cobrand_data | html %]</td> <td>[% update.text | html %]</td> <td><a href="[% c.uri_for( 'update_edit', update.id ) %]">[% loc('Edit') %]</a></td> diff --git a/templates/web/default/admin/report_edit.html b/templates/web/default/admin/report_edit.html index 69d5d0b11..470ad311a 100644 --- a/templates/web/default/admin/report_edit.html +++ b/templates/web/default/admin/report_edit.html @@ -19,7 +19,10 @@ <option [% 'selected ' IF !problem.anonymous %]value="0">[% loc('No') %]</option> </select></li> <li><label for="state">[% loc('State:') %]</label> <select name="state" id="state"> - [% FOREACH state IN [ ['confirmed', loc('Open')], ['fixed', loc('Fixed')], ['hidden', loc('Hidden')], ['partial', loc('Partial')],['unconfirmed',loc('Unconfirmed')] ] %] + [% FOREACH state IN [ ['confirmed', loc('Open')], ['investigating', + loc('Investigating')], ['planned', loc('Planned')], ['in progress', + loc('In Progress')], ['closed', loc('Closed')], ['fixed', loc('Fixed')], ['fixed - user', + loc('Fixed - User')], ['fixed - council', loc('Fixed - Council')], ['hidden', loc('Hidden')], ['partial', loc('Partial')],['unconfirmed',loc('Unconfirmed')] ] %] <option [% 'selected ' IF state.0 == problem.state %] value="[% state.0 %]">[% state.1 %]</option> [% END %] </select></li> diff --git a/templates/web/default/admin/search_users.html b/templates/web/default/admin/search_users.html new file mode 100644 index 000000000..43fdebf2b --- /dev/null +++ b/templates/web/default/admin/search_users.html @@ -0,0 +1,29 @@ +[% INCLUDE 'admin/header.html' title=loc('Search Users') %] +[% PROCESS 'admin/report_blocks.html' %] + +<form method="get" action="[% c.uri_for('search_users') %]" enctype="application/x-www-form-urlencoded" accept-charset="utf-8"> + <label for="search">[% loc('Search:') %]</label> <input type="text" name="search" size="30" id="search"> +</form> + + +[% IF searched %] +<table cellspacing="0" cellpadding="2" border="1"> + <tr> + <th>[% loc('Name') %]</th> + <th>[% loc('Email') %]</th> + <th>[% loc('Council') %]</th> + <th>*</th> + </tr> +[%- FOREACH user IN users %] + <tr> + <td>[% PROCESS value_or_nbsp value=user.name %]</td> + <td>[% PROCESS value_or_nbsp value=user.email %]</td> + <td>[% PROCESS value_or_nbsp value=user.from_council %]</td> + <td><a href="[% c.uri_for( 'user_edit', user.id ) %]">[% loc('Edit') %]</a></td> + </tr> +[%- END -%] +</table> + +[% END %] + +[% INCLUDE 'admin/footer.html' %] diff --git a/templates/web/default/admin/update_edit.html b/templates/web/default/admin/update_edit.html index d4ac1b440..e1783fd7c 100644 --- a/templates/web/default/admin/update_edit.html +++ b/templates/web/default/admin/update_edit.html @@ -21,7 +21,22 @@ [% END %] </select></li> <li>[% loc('Name:') %] <input type='text' name='name' id='name' value='[% update.name | html %]'></li> -<li>[% loc('Email:') %] <input type='text' id='email' name='email' value='[% update.user.email | html %]'> [% PROCESS abuse_button %] [% PROCESS flag_button user=update.user %]</li> +<li>[% loc('Email:') %] <input type='text' id='email' name='email' value='[% update.user.email | html %]'> +[%- IF update.user.from_council && update.user.from_council == update.problem.council %] +[% ' (' _ tprintf(loc('user is from same council as problem - %d'), update.user.from_council ) _')' %] +[% END -%] +[%- IF update.user.id == update.problem.user.id %] +[% ' (' _ loc('user is problem owner') _')' %] +[% END -%] +</li> +[% IF update.problem_state %] +<li>[% tprintf(loc('Update changed problem state to %s'), update.problem_state) %]</li> +[% ELSIF update.mark_fixed %] +<li>[% loc('Update marked problem as fixed') %]</li> +[% ELSIF update.user.id == update.problem.user.id && update.mark_open %] +<li>[% loc('Update reopened problem') %]</li> +[% END %] +[% PROCESS abuse_button %] [% PROCESS flag_button user=update.user %]</li> <li>[% loc('Cobrand:') %] [% update.cobrand %]</li> <li>[% loc('Cobrand data:') %] [% update.cobrand_data %]</li> <li>[% loc('Created:') %] [% PROCESS format_time time=update.created %]</li> diff --git a/templates/web/default/admin/user_edit.html b/templates/web/default/admin/user_edit.html new file mode 100644 index 000000000..7db8f5c63 --- /dev/null +++ b/templates/web/default/admin/user_edit.html @@ -0,0 +1,21 @@ +[% INCLUDE 'admin/header.html' title=tprintf(loc('Editing user %d'), user.id ) -%] +[% PROCESS 'admin/report_blocks.html' %] + +[% status_message %] + +<form method="post" action="[% c.uri_for( 'user_edit', user.id ) %]" enctype="application/x-www-form-urlencoded" accept-charset="utf-8"> + <input type="hidden" name="token" value="[% token %]" > + <input type="hidden" name="submit" value="1" > +<ul> +<li>[% loc('Name:') %] <input type='text' name='name' id='name' value='[% user.name | html %]'></li> +<li>[% loc('Email:') %] <input type='text' id='email' name='email' value='[% user.email | html %]'></li> +<li>[% loc('Council:') %] <select id='council' name='council'> + <option value=''>[% loc('No council') %]</option> +[% FOR council IN council_ids %] + <option value="[% council %]"[% ' selected' IF council == user.from_council %]>[% council_details.$council.name %]</option> +[% END %] +</select> +</ul> +<input type="submit" name="Submit changes" value="[% loc('Submit changes') %]" ></form> + +[% INCLUDE 'admin/footer.html' %] diff --git a/templates/web/default/around/around_map_list_items.html b/templates/web/default/around/around_map_list_items.html index a98f25dbe..e248ce3ed 100644 --- a/templates/web/default/around/around_map_list_items.html +++ b/templates/web/default/around/around_map_list_items.html @@ -6,7 +6,7 @@ <li> <a href="[% c.uri_for('/report', p.problem.id ) %]">[% p.problem.title | html %]</a> <small>[% prettify_epoch( p.problem.confirmed_local.epoch, 1 ) %], [% dist %]km</small> - [% IF p.problem.state == 'fixed' %] + [% IF p.problem.is_fixed %] <small>[% loc('(fixed)') %]</small> [% END %] </li> diff --git a/templates/web/default/around/display_location.html b/templates/web/default/around/display_location.html index 395054645..bef8954ba 100755 --- a/templates/web/default/around/display_location.html +++ b/templates/web/default/around/display_location.html @@ -66,6 +66,17 @@ </div> <div id="side"> +<p id="text_map"> + [% loc( 'To <strong>report a problem</strong>, simply click on the map at the correct location.' ) %] + [% + tprintf( + loc("<small>If you cannot see the map, <a href='%s' rel='nofollow'>skip this step</a>.</small>"), + url_skip + ) + %] + <span id="text_map_arrow"></span> +</p> + <h1>[% loc('Problems in this area') %]</h1> <p id="alert_links_area"> @@ -78,22 +89,6 @@ </a> </p> -[% IF location_error %] - <ul class="error"> - <li>[% location_error | html %]</li> - </ul> -[% END %] - -<p id="text_map"> - [% loc( 'To report a problem, simply <strong>click on the map</strong> at the correct location.' ) %] - [% - tprintf( - loc("<small>If you cannot see the map, <a href='%s' rel='nofollow'>skip this step</a>.</small>"), - url_skip - ) - %] -</p> - <div id="nearby_lists"> <h2>[% loc('Reports on and around the map') %]</h2> @@ -119,6 +114,14 @@ </div> </div> + +<div style="display:none" id="side-form"> +[% INCLUDE "report/new/fill_in_details_form.html" + js = 1, + report.used_map = 1 +%] +</div> + </form> [% INCLUDE 'footer.html' %] diff --git a/templates/web/default/around/on_map_list_items.html b/templates/web/default/around/on_map_list_items.html index 2db7d00d2..245be7190 100644 --- a/templates/web/default/around/on_map_list_items.html +++ b/templates/web/default/around/on_map_list_items.html @@ -3,7 +3,7 @@ <li> <a href="[% c.uri_for('/report', p.id ) %]">[% p.title | html %]</a> <small>[% prettify_epoch( p.confirmed_local.epoch, 1 ) %]</small> - [% IF p.state == 'fixed' %] + [% IF p.is_fixed %] <small>[% loc('(fixed)') %]</small> [% END %] </li> diff --git a/templates/web/default/maps/fms.html b/templates/web/default/maps/fms.html index 172fa9e7f..2b322849b 100644 --- a/templates/web/default/maps/fms.html +++ b/templates/web/default/maps/fms.html @@ -3,6 +3,7 @@ <script type="text/javascript" src="/js/OpenLayers.fixmystreet.js"></script> <script type="text/javascript" src="/js/map-OpenLayers.js"></script> <script type="text/javascript" src="/js/map-bing-ol.js"></script> +<script type="text/javascript" src="/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]--> diff --git a/templates/web/default/maps/openlayers.html b/templates/web/default/maps/openlayers.html index b84799fdd..3cf615306 100644 --- a/templates/web/default/maps/openlayers.html +++ b/templates/web/default/maps/openlayers.html @@ -9,7 +9,7 @@ var fixmystreet = { 'page': '[% page %]', 'area': '[% map.area %]', - 'all_pins': [% all_pins || "''" | html %], + 'all_pins': '[% all_pins %]', 'latitude': [% map.latitude %], 'longitude': [% map.longitude %], [% IF map.any_zoom -%] diff --git a/templates/web/default/maps/osm-streetview.html b/templates/web/default/maps/osm-streetview.html index 3c97af5b9..fd889e6ee 100644 --- a/templates/web/default/maps/osm-streetview.html +++ b/templates/web/default/maps/osm-streetview.html @@ -2,6 +2,7 @@ <script type="text/javascript" src="/js/OpenLayers.fixmystreet.js"></script> <script type="text/javascript" src="/js/map-OpenLayers.js"></script> <script type="text/javascript" src="/js/map-streetview.js"></script> +<script type="text/javascript" src="/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]--> diff --git a/templates/web/default/maps/osm.html b/templates/web/default/maps/osm.html index b0607220f..f583dd227 100644 --- a/templates/web/default/maps/osm.html +++ b/templates/web/default/maps/osm.html @@ -2,6 +2,7 @@ <script type="text/javascript" src="/js/OpenLayers.fixmystreet.js"></script> <script type="text/javascript" src="/js/map-OpenLayers.js"></script> <script type="text/javascript" src="/js/map-OpenStreetMap.js"></script> +<script type="text/javascript" src="/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]--> diff --git a/templates/web/default/my/my.html b/templates/web/default/my/my.html index 2147ef5f2..b96823df2 100644 --- a/templates/web/default/my/my.html +++ b/templates/web/default/my/my.html @@ -28,6 +28,11 @@ [% INCLUDE problem %] [% END %] +[% FOREACH p = problems.closed %] + [% IF loop.first %]<h2>[% loc('Closed reports') %]</h2>[% END %] + [% INCLUDE problem %] +[% END %] + [%# FOREACH p = problems.unconfirmed; IF loop.first; '<h2>' _ loc('Unconfirmed reports') _ '</h2>'; diff --git a/templates/web/default/questionnaire/completed.html b/templates/web/default/questionnaire/completed.html index 3762b25d0..fe896b383 100644 --- a/templates/web/default/questionnaire/completed.html +++ b/templates/web/default/questionnaire/completed.html @@ -10,7 +10,7 @@ get some more information about the status of your problem, please come back to the site and leave an update.</p>') %] -[% ELSIF new_state == 'confirmed' OR (!new_state AND problem.state == 'confirmed') %] +[% ELSIF new_state == 'confirmed' OR (!new_state AND problem.is_open) %] [% tprintf( loc('<p style="font-size:150%%">We’re sorry to hear that. We have two suggestions: why not try <a href="%s">writing direct to your councillor(s)</a> diff --git a/templates/web/default/questionnaire/index.html b/templates/web/default/questionnaire/index.html index d463ff2f9..a7e5ad60c 100644 --- a/templates/web/default/questionnaire/index.html +++ b/templates/web/default/questionnaire/index.html @@ -59,7 +59,7 @@ href="http://www.emptyhomes.com/getinvolved/campaign.html">http://www.emptyhomes [% END %] <p> -[% loc('An update marked this problem as fixed.') IF problem.state == 'fixed' %] +[% loc('An update marked this problem as fixed.') IF problem.is_fixed %] [% loc('Has this problem been fixed?') %] </p> diff --git a/templates/web/default/report/display.html b/templates/web/default/report/display.html index 4948f8808..fe26ec60d 100644 --- a/templates/web/default/report/display.html +++ b/templates/web/default/report/display.html @@ -85,16 +85,29 @@ <textarea name="update" id="form_update" rows="7" cols="30">[% update.text | html %]</textarea> </div> - [% IF problem.state == '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.state != '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> + [% 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 %] diff --git a/templates/web/default/report/new/category.html b/templates/web/default/report/new/category.html new file mode 100644 index 000000000..6ec0eb19f --- /dev/null +++ b/templates/web/default/report/new/category.html @@ -0,0 +1,10 @@ +[% FILTER collapse %] +[% IF category_options.size %] + <label for='form_category'>[% category_label | html %]</label> + <select name='category' id='form_category'> + [% FOREACH cat_op IN category_options %] + <option value='[% cat_op | html %]'[% ' selected' IF report.category == cat_op %]>[% cat_op | html %]</option> + [% END %] + </select> +[% END %] +[% END -%] diff --git a/templates/web/default/report/new/councils_text.html b/templates/web/default/report/new/councils_text.html new file mode 100644 index 000000000..1da5746c1 --- /dev/null +++ b/templates/web/default/report/new/councils_text.html @@ -0,0 +1,9 @@ +[% FILTER collapse %] +[% IF area_ids_to_list.size == 0 %] + [% PROCESS 'report/new/councils_text_none.html' %] +[% ELSIF area_ids_to_list.size == all_councils.size %] + [% PROCESS 'report/new/councils_text_all.html' %] +[% ELSE %] + [% PROCESS 'report/new/councils_text_some.html' %] +[% END %] +[% END -%] diff --git a/templates/web/default/report/new/all_councils_text.html b/templates/web/default/report/new/councils_text_all.html index 8514e0b0a..8514e0b0a 100644 --- a/templates/web/default/report/new/all_councils_text.html +++ b/templates/web/default/report/new/councils_text_all.html diff --git a/templates/web/default/report/new/no_councils_text.html b/templates/web/default/report/new/councils_text_none.html index f991e031f..f991e031f 100644 --- a/templates/web/default/report/new/no_councils_text.html +++ b/templates/web/default/report/new/councils_text_none.html diff --git a/templates/web/default/report/new/some_councils_text.html b/templates/web/default/report/new/councils_text_some.html index 042e89914..042e89914 100644 --- a/templates/web/default/report/new/some_councils_text.html +++ b/templates/web/default/report/new/councils_text_some.html diff --git a/templates/web/default/report/new/fill_in_details.html b/templates/web/default/report/new/fill_in_details.html index 874445abd..a9a113283 100644 --- a/templates/web/default/report/new/fill_in_details.html +++ b/templates/web/default/report/new/fill_in_details.html @@ -28,240 +28,10 @@ <div id="skipped-map"> [% END %] -<h1>[% loc('Reporting a problem') %]</h1> - -[% 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 purple pin on the map. If this is not the correct location, simply click on the map again. ') %]</p> -[% END %] - -[% IF area_ids_to_list.size == 0 %] - [% INCLUDE 'report/new/no_councils_text.html' %] -[% ELSIF area_ids_to_list.size == all_councils.size %] - [% INCLUDE 'report/new/all_councils_text.html' %] -[% ELSE %] - [% INCLUDE 'report/new/some_councils_text.html' %] -[% END %] - -<p> -[% IF skipped %] - [% loc('Please fill in the form below with details of the problem, and describe the location as precisely as possible in the details box.') %] -[% ELSE %] - [% INCLUDE 'report/new/fill_in_details_text.html' %] -[% END %] -</p> - -[% INCLUDE 'errors.html' %] - -<div id="problem_form"> - -[% INCLUDE 'report/new/form_heading.html' %] - -<div id="fieldset"> - - - - - -[% IF field_errors.council %] - <div class='form-error'>[% field_errors.council %]</div> -[% END %] - -[% IF category_options.size %] - [% IF field_errors.category %] - <div class='form-error'>[% field_errors.category %]</div> - [% END %] - - <div class="form-field"> - <label for="form_category">[% category_label | html %]</label> - <select name="category" id="form_category"> - [%- FOREACH cat_op IN category_options %] - <option value="[% cat_op | html %]"[% ' selected' IF report.category == cat_op %]>[% cat_op | html %]</option> - [%- END %] - </select> - </div> -[% END %] - -[% IF field_errors.title %] - <div class='form-error'>[% field_errors.title %]</div> -[% END %] - -<div class="form-field"> - <label for="form_title">[% loc('Subject:') %]</label> - <input type="text" value="[% report.title | html %]" name="title" id="form_title" size="25"> -</div> - -[% IF field_errors.detail %] - <div class='form-error'>[% field_errors.detail %]</div> -[% END %] - -<div class="form-field"> - <label for="form_detail">[% loc('Details:') %]</label> - <textarea name="detail" id="form_detail" rows="7" cols="26">[% report.detail | html %]</textarea> -</div> - -[%- IF category_extras %] -<div id="category_meta"> - [%- IF report_meta %] - [%- category = report.category %] - <h4>Additional Information</h4> - [%- FOR meta IN category_extras.$category %] - [%- meta_name = meta.code -%] - -[% IF field_errors.$meta_name %] - <div class='form-error'>[% field_errors.$meta_name %]</div> -[% END -%] - - <div class="form-field"> - <label for="form_[% meta_name %]">[% meta.description _ ':' %]</label> - [% IF meta.exists('values') %] - <select name="[% meta_name %]" id="form_[% meta_name %]"> - [% FOR option IN meta.values.value.keys %] - <option value="[% meta.values.value.$option.key %]">[% option %]</option> - [% END %] - </select> - [% ELSE %] - <input type="text" value="[% report_meta.$meta_name | html %]" name="[% meta_name %]" id="form_[% meta_name %]"> - [% END %] - </div> - [%- END %] - [%- END %] -</div> -[%- END %] - -[% IF c.cobrand.allow_photo_upload %] - [% IF field_errors.photo %] - <div class='form-error'>[% field_errors.photo %]</div> - [% END %] - - <div class='form-field'> - [% IF upload_fileid || report.photo %] - <p>[% loc('You have already attached a photo to this report, attaching another one will replace it.') %]</p> - [% IF upload_fileid %] - <input type="hidden" name="upload_fileid" value="[% upload_fileid %]" /> - [% END %] - [% IF report.photo %] - <img align="right" src="/photo?id=[% report.id %]" hspace="5"> - [% END %] - [% 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_phone %] - - [% INCLUDE 'report/new/notes.html' %] - - <p id="problem_submit"> - <input type="submit" value="[% loc('Submit') %]"> - </p> - -[% ELSE %] - - [% IF field_errors.email %] - <div class='form-error'>[% field_errors.email %]</div> - [% END %] - - <div class="form-field"> - <label for="form_email">[% loc('Your email:') %]</label> - <input type="email" value="[% report.user.email | html %]" name="email" id="form_email" size="25"> - </div> - -[% INCLUDE 'report/new/notes.html' %] - -<div id="form_sign_in"> - <h3>[% loc("Now to submit your report… 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> - - <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" value="[% loc('Submit') %]"> - </p> - - </div> - <div id="form_sign_in_no"> - - <p>[% loc('<strong>No</strong>, let me confirm my report by email:') %]</p> - - <div id="fieldset"> - - [% INCLUDE name_phone %] - - <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> - </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" value="[% loc('Submit') %]"> - </p> - - </div> - -</div> - -[% END %] - -[% IF partial_token %] - <input type="hidden" name="partial" value="[% partial_token.token %]"> -[% END %] - -<input type="hidden" name="submit_problem" value="1"> - -</div> -</div> +[% PROCESS 'report/new/fill_in_details_form.html' %] </div> </form> [% INCLUDE 'footer.html' %] -[% BLOCK name_phone %] - [% IF field_errors.name %] - <div class='form-error'>[% field_errors.name %]</div> - [% END %] - - <div class="form-field"> - <label for="form_name">[% loc('Your name:') %]</label> - <input type="text" value="[% report.name | html %]" name="name" id="form_name" size="25"> - </div> - - <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 || !report.name %]> - <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> - - <div> - <label for="form_phone">[% loc('Phone:') %]</label> - <input type="text" value="[% report.user.phone | html %]" name="phone" id="form_phone" size="15"> - <small>[% loc('(optional)') %]</small> - </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 new file mode 100644 index 000000000..a0c50d5af --- /dev/null +++ b/templates/web/default/report/new/fill_in_details_form.html @@ -0,0 +1,240 @@ +<h1>[% loc('Reporting a problem') %]</h1> + +[% 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 purple pin on the map. If this is not the correct location, simply click on the map again. ') %]</p> +[% END %] + +[% 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 %] + +<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> + +[% INCLUDE 'errors.html' %] + +<div id="problem_form"> + +[% INCLUDE 'report/new/form_heading.html' %] + +<div id="fieldset"> + + + + + +[% IF field_errors.council %] + <div class='form-error'>[% field_errors.council %]</div> +[% END %] + +[% IF field_errors.title %] + <div class='form-error'>[% field_errors.title %]</div> +[% END %] + +<div class="form-field"> + <label for="form_title">[% loc('Subject:') %]</label> + <input type="text" value="[% report.title | html %]" name="title" id="form_title" size="25"> +</div> + +[% IF field_errors.detail %] + <div class='form-error'>[% field_errors.detail %]</div> +[% END %] + +<div class="form-field"> + <label for="form_detail">[% loc('Details:') %]</label> + <textarea name="detail" id="form_detail" rows="7" cols="26">[% report.detail | html %]</textarea> +</div> + +[% IF js %] + <div class="form-field" id="form_category_row"> + <label for="form_category">[% loc('Category:') %]</label> + <select name="category" id="form_category"><option>[% loc('Loading...') %]</option></select> + </div> +[% ELSE %] + [% IF category_options.size %] + [% IF field_errors.category %] + <div class='form-error'>[% field_errors.category %]</div> + [% END %] + + <div class="form-field"> + [% PROCESS "report/new/category.html" %] + </div> + [% END %] +[% END %] + +[%- IF category_extras %] +<div id="category_meta"> + [%- IF report_meta %] + [%- category = report.category %] + <h4>Additional Information</h4> + [%- FOR meta IN category_extras.$category %] + [%- meta_name = meta.code -%] + +[% IF field_errors.$meta_name %] + <div class='form-error'>[% field_errors.$meta_name %]</div> +[% END -%] + + <div class="form-field"> + <label for="form_[% meta_name %]">[% meta.description _ ':' %]</label> + [% IF meta.exists('values') %] + <select name="[% meta_name %]" id="form_[% meta_name %]"> + [% FOR option IN meta.values.value.keys %] + <option value="[% meta.values.value.$option.key %]">[% option %]</option> + [% END %] + </select> + [% ELSE %] + <input type="text" value="[% report_meta.$meta_name | html %]" name="[% meta_name %]" id="form_[% meta_name %]"> + [% END %] + </div> + [%- END %] + [%- END %] +</div> +[%- END %] + +[% IF c.cobrand.allow_photo_upload %] + [% IF field_errors.photo %] + <div class='form-error'>[% field_errors.photo %]</div> + [% END %] + + <div class='form-field'> + [% IF upload_fileid || report.photo %] + <p>[% loc('You have already attached a photo to this report, attaching another one will replace it.') %]</p> + [% IF upload_fileid %] + <input type="hidden" name="upload_fileid" value="[% upload_fileid %]" /> + [% END %] + [% IF report.photo %] + <img align="right" src="/photo?id=[% report.id %]" hspace="5"> + [% END %] + [% 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_phone %] + + [% INCLUDE 'report/new/notes.html' %] + + <p id="problem_submit"> + <input type="submit" value="[% loc('Submit') %]"> + </p> + +[% ELSE %] + + [% IF field_errors.email %] + <div class='form-error'>[% field_errors.email %]</div> + [% END %] + + <div class="form-field"> + <label for="form_email">[% loc('Your email:') %]</label> + <input type="email" value="[% report.user.email | html %]" name="email" id="form_email" size="25"> + </div> + +[% INCLUDE 'report/new/notes.html' %] + +<div id="form_sign_in"> + <h3>[% loc("Now to submit your report… 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> + + <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" value="[% loc('Submit') %]"> + </p> + + </div> + <div id="form_sign_in_no"> + + <p>[% loc('<strong>No</strong>, let me confirm my report by email:') %]</p> + + <div id="fieldset"> + + [% INCLUDE name_phone %] + + <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> + </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" value="[% loc('Submit') %]"> + </p> + + </div> + +</div> + +[% END %] + +[% IF partial_token %] + <input type="hidden" name="partial" value="[% partial_token.token %]"> +[% END %] + +<input type="hidden" name="submit_problem" value="1"> + +</div> +</div> + + +[% BLOCK name_phone %] + [% IF field_errors.name %] + <div class='form-error'>[% field_errors.name %]</div> + [% END %] + + <div class="form-field"> + <label for="form_name">[% loc('Your name:') %]</label> + <input type="text" value="[% report.name | html %]" name="name" id="form_name" size="25"> + </div> + + <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 || !report.name %]> + <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> + + <div> + <label for="form_phone">[% loc('Phone:') %]</label> + <input type="text" value="[% report.user.phone | html %]" name="phone" id="form_phone" size="15"> + <small>[% loc('(optional)') %]</small> + </div> +[% END %] + diff --git a/templates/web/default/report/new/fill_in_details_text.html b/templates/web/default/report/new/fill_in_details_text.html index d55ec5826..5d9716915 100644 --- a/templates/web/default/report/new/fill_in_details_text.html +++ b/templates/web/default/report/new/fill_in_details_text.html @@ -1,5 +1,5 @@ [% - IF details != 'none'; + IF area_ids_to_list.size != 0; loc('Please fill in details of the problem below. The council won\'t be able to help unless you leave as much detail as you can, so 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 diff --git a/templates/web/default/report/updates.html b/templates/web/default/report/updates.html index 910430114..803ed197e 100644 --- a/templates/web/default/report/updates.html +++ b/templates/web/default/report/updates.html @@ -6,12 +6,16 @@ <div><div class="problem-update"><p><a name="update_[% update.id %]"></a><em> [% IF update.anonymous || update.name == '' %] [% tprintf( loc( 'Posted anonymously at %s' ), prettify_epoch( update.confirmed_local.epoch ) ) -%] + [%- ELSIF update.user.from_council %] + [% user_name = update.user.name | html %] + [% tprintf( loc( 'Posted by %s (<strong>%s</strong>) at %s' ), user_name, update.user.council, prettify_epoch( update.confirmed_local.epoch ) ) -%] [%- ELSE %] [% tprintf( loc( 'Posted by %s at %s' ), update.name, prettify_epoch( update.confirmed_local.epoch ) ) | html -%] [%- END -%] [%- c.cobrand.extra_update_meta_text(update) -%] [%- ", " _ loc( 'marked as fixed' ) IF update.mark_fixed %] [%- ", " _ loc( 'reopened' ) IF update.mark_open %] + [%- ", " _ tprintf(loc( 'marked as %s' ), update.meta_problem_state) IF update.problem_state %] </em></p> [% IF c.cobrand.allow_update_reporting %] diff --git a/web/cobrands/fiksgatami/css.css b/web/cobrands/fiksgatami/css.css index 54513fb34..6c2a4e16b 100644 --- a/web/cobrands/fiksgatami/css.css +++ b/web/cobrands/fiksgatami/css.css @@ -43,6 +43,13 @@ select, input, textarea { #mysociety #front_stats div { background-color: #99bfe1; } +#mysociety p.promo { + border-top: 1px solid #bbb; + border-bottom: 1px solid #bbb; + background-color: #eee; + text-align: center; + padding: 0 0.5em; +} #header { font-size: 200%; @@ -73,11 +80,28 @@ select, input, textarea { position: relative; margin: 0 auto; max-width: 60em; + overflow: auto; } /* Can't put the margin in #mysociety because of above IE craziness */ #wrapper { - margin: 2em; + margin: 1em 2em; +} + +#meta { + list-style-type: none; + margin: 0.25em 0 0 1em; + padding: 0; + font-size: 0.875em; +} +#meta li { + display: inline; + margin: 0; + padding: 0 0 0 0.25em; + border-left: solid 1px #1a4f7f; +} +#meta li:first-child { + border-left: none; } .v { @@ -108,6 +132,12 @@ select, input, textarea { #navigation a:hover, #navigation a:active { background-color: #1a4f7f; color: #99bfe1; + -moz-border-radius-topleft: 0.5em; + -webkit-border-top-left-radius: 0.5em; + border-radius-top-left: 0.5em; + -moz-border-radius-topright: 0.5em; + -webkit-border-top-right-radius: 0.5em; + border-radius-top-right: 0.5em; } #nav_new a { @@ -125,12 +155,23 @@ select, input, textarea { #footer { clear: both; - text-align: right; - font-size: 83%; - border-top: solid 1px #1a4f7f; - display: table; - margin: 2em 0 1em auto; - padding: 2px 4px; + text-align: center; + border-top: solid 2px #ccc; + width: 50%; + margin: 1em auto 0; + padding: 0; + color: #333333; +} +#footer .l, #footer .r { + margin-top: 0; + text-align: left; + width: 45%; +} +#footer .l { + float: left; +} +#footer .r { + float: right; } body { diff --git a/web/css/_main.scss b/web/css/_main.scss index 19d9b5a40..b4e4a13f0 100644 --- a/web/css/_main.scss +++ b/web/css/_main.scss @@ -161,11 +161,11 @@ select, input, textarea { #footer { clear: both; text-align: center; - border-top: solid 2px $header_back; + border-top: solid 2px #ccc; width: 50%; margin: 1em auto 0; padding: 0; - color: $header_darker; + color: #333333; .l, .r { margin-top: 0; diff --git a/web/css/core.css b/web/css/core.css index ac29dfe7a..88181e3e8 100644 --- a/web/css/core.css +++ b/web/css/core.css @@ -172,21 +172,38 @@ #mysociety form#mapForm #map { cursor: pointer; } #mysociety form#mapForm .olTileImage { - cursor: crosshair; } -#mysociety #compass { - background-color: #ffffff; - border: solid 1px #000000; - border-width: 0 1px 1px 0; - color: #000000; - position: absolute; - top: 0px; - left: 0px; } - #mysociety #compass img { - border: 0; } + cursor: crosshair; +} #mysociety #text_map { - margin-top: 0.5em; - margin-bottom: 1em; - font-size: 110%; } + margin: 0 530px 1em 0; + padding: 5px; + text-align: center; + position: relative; + padding-left: 0.5em; + text-align: left; + margin-top: 0; + font-size: 110%; + background-color: #eeeeee; + -moz-border-radius-topleft: 1em; + -moz-border-radius-bottomleft: 1em; + -webkit-border-top-left-radius: 1em; + -webkit-border-bottom-left-radius: 1em; + border-top-left-radius: 1em; + border-bottom-left-radius: 1em; +} +#mysociety #text_map_arrow { + display: block; + position: absolute; + top: 0; + right: -28px; + width: 0; + height: 0; + line-height: 0; + font-size: 0; + border-style: solid; + border-width: 26px 14px 26px 14px; + border-color: #fff #fff #fff #eee; +} #mysociety #text_no_map { margin-top: 0; } #mysociety #sub_map_links { @@ -206,7 +223,24 @@ text-align: center; position: relative; background-color: #ffcccc; - border: solid 2px #990000; } + border: solid 2px #990000; +} +#mysociety #closed { + margin: 0 530px 1em 0; + padding: 5px; + text-align: center; + position: relative; + background-color: #ccccff; + border: solid 2px #000099; +} +#mysociety #progress { + margin: 0 530px 1em 0; + padding: 5px; + text-align: center; + position: relative; + background-color: #ffffcc; + border: solid 2px #999900; +} #mysociety #updates div { padding: 0 0 0.5em; margin: 0 0 0.25em; @@ -218,18 +252,19 @@ #mysociety #updates p { margin: 0; } #mysociety #nearby_lists h2 { - margin-top: 0.5em; - margin-bottom: 0; } + margin-top: 1em; + margin-bottom: 0; +} #mysociety #nearby_lists li small { color: #666666; } #mysociety #alert_links { float: right; } #mysociety #alert_links_area { - background-color: #ffeecc; - border: solid 1px #ff9900; - border-width: 1px 0; - padding: 3px 10px; - margin: 0; } + padding-left: 0.5em; + margin: 0; + color: #666; + font-size: smaller; +} #mysociety #rss_alert { text-decoration: none; } #mysociety #rss_alert span { @@ -303,6 +338,11 @@ bottom: 3px !important; left: 3px; } +.olControlPermalink { + bottom: 3px !important; + right: 3px; +} + @media print { #mysociety #map_box { float: none; diff --git a/web/css/core.scss b/web/css/core.scss index 4e8d732d5..b962b38ae 100644 --- a/web/css/core.scss +++ b/web/css/core.scss @@ -276,24 +276,34 @@ $map_width: 500px; cursor: crosshair; } - #compass { - background-color: #ffffff; - border: solid 1px #000000; - border-width: 0 1px 1px 0; - color: #000000; - position: absolute; - top: 0px; - left: 0px; - img { - border: 0; - } - } - #text_map { - margin-top: 0.5em; - margin-bottom: 1em; + @include problem-banner; + padding-left: 0.5em; + text-align: left; + margin-top: 0; font-size: 110%; + background-color: #eeeeee; + -moz-border-radius-topleft: 1em; + -moz-border-radius-bottomleft: 1em; + -webkit-border-top-left-radius: 1em; + -webkit-border-bottom-left-radius: 1em; + border-top-left-radius: 1em; + border-bottom-left-radius: 1em; + } + #text_map_arrow { + display: block; + position: absolute; + top: 0; + right: -28px; + width: 0; + height: 0; + line-height: 0; + font-size: 0; + border-style: solid; + border-width: 26px 14px 26px 14px; + border-color: #fff #fff #fff #eee; } + #text_no_map { margin-top: 0; // background-color: #ffeecc; @@ -320,6 +330,18 @@ $map_width: 500px; border: solid 2px #990000; } + #closed { + @include problem-banner; + background-color: #ccccff; + border: solid 2px #000099; + } + + #progress { + @include problem-banner; + background-color: #ffffcc; + border: solid 2px #999900; + } + #updates { div { padding: 0 0 0.5em; @@ -339,7 +361,7 @@ $map_width: 500px; } #nearby_lists h2 { - margin-top: 0.5em; + margin-top: 1em; margin-bottom: 0; } @@ -351,12 +373,10 @@ $map_width: 500px; float: right; } #alert_links_area { - background-color: #ffeecc; - border: solid 1px #ff9900; - border-width: 1px 0; - padding: 3px 10px; - // padding: 0 3px; + padding-left: 0.5em; margin: 0; + color: #666; + font-size: smaller; } #rss_alert { text-decoration: none; @@ -517,6 +537,10 @@ $map_width: 500px; bottom: 3px !important; left: 3px; } +.olControlPermalink { + bottom: 3px !important; + right: 3px; +} // Printing, SCSS doesn't handle @media nesting diff --git a/web/css/main.css b/web/css/main.css index 65fd5eae3..a3fe3b400 100644 --- a/web/css/main.css +++ b/web/css/main.css @@ -156,11 +156,11 @@ select, input, textarea { #footer { clear: both; text-align: center; - border-top: solid 2px #e3d595; + border-top: solid 2px #ccc; width: 50%; margin: 1em auto 0; padding: 0; - color: #4e451b; + color: #333333; } #footer .l, #footer .r { margin-top: 0; diff --git a/web/js/jquery.ba-hashchange.min.js b/web/js/jquery.ba-hashchange.min.js new file mode 100644 index 000000000..3c607bae3 --- /dev/null +++ b/web/js/jquery.ba-hashchange.min.js @@ -0,0 +1,9 @@ +/* + * jQuery hashchange event - v1.3 - 7/21/2010 + * http://benalman.com/projects/jquery-hashchange-plugin/ + * + * Copyright (c) 2010 "Cowboy" Ben Alman + * Dual licensed under the MIT and GPL licenses. + * http://benalman.com/about/license/ + */ +(function($,e,b){var c="hashchange",h=document,f,g=$.event.special,i=h.documentMode,d="on"+c in e&&(i===b||i>7);function a(j){j=j||location.href;return"#"+j.replace(/^[^#]*#?(.*)$/,"$1")}$.fn[c]=function(j){return j?this.bind(c,j):this.trigger(c)};$.fn[c].delay=50;g[c]=$.extend(g[c],{setup:function(){if(d){return false}$(f.start)},teardown:function(){if(d){return false}$(f.stop)}});f=(function(){var j={},p,m=a(),k=function(q){return q},l=k,o=k;j.start=function(){p||n()};j.stop=function(){p&&clearTimeout(p);p=b};function n(){var r=a(),q=o(m);if(r!==m){l(m=r,q);$(e).trigger(c)}else{if(q!==m){location.href=location.href.replace(/#.*/,"")+q}}p=setTimeout(n,$.fn[c].delay)}$.browser.msie&&!d&&(function(){var q,r;j.start=function(){if(!q){r=$.fn[c].src;r=r&&r+a();q=$('<iframe tabindex="-1" title="empty"/>').hide().one("load",function(){r||l(a());n()}).attr("src",r||"javascript:0").insertAfter("body")[0].contentWindow;h.onpropertychange=function(){try{if(event.propertyName==="title"){q.document.title=h.title}}catch(s){}}}};j.stop=k;o=function(){return a(q.location.href)};l=function(v,s){var u=q.document,t=$.fn[c].domain;if(v!==s){u.title=h.title;u.open();t&&u.write('<script>document.domain="'+t+'"<\/script>');u.close();q.location.hash=v}}})();return j})()})(jQuery,this);
\ No newline at end of file diff --git a/web/js/map-OpenLayers.js b/web/js/map-OpenLayers.js index f8bd9c31e..d3914a128 100644 --- a/web/js/map-OpenLayers.js +++ b/web/js/map-OpenLayers.js @@ -41,6 +41,17 @@ $(function(){ return false; }); + $(window).hashchange(function(){ + if (location.hash) return; + // Okay, back to around view. + fixmystreet.bbox_strategy.activate(); + fixmystreet.markers.refresh( { force: true } ); + fixmystreet.drag.deactivate(); + $('#side-form').hide(); + $('#side').show(); + fixmystreet.page = 'around'; + }); + // Vector layers must be added onload as IE sucks if ($.browser.msie) { $(window).load(fixmystreet_onload); @@ -79,7 +90,8 @@ function fixmystreet_onload() { }) }; if (fixmystreet.page == 'around') { - pin_layer_options.strategies = [ new OpenLayers.Strategy.BBOX() ]; + fixmystreet.bbox_strategy = new OpenLayers.Strategy.BBOX(); + pin_layer_options.strategies = [ fixmystreet.bbox_strategy ]; pin_layer_options.protocol = new OpenLayers.Protocol.HTTP({ url: '/ajax', params: fixmystreet.all_pins ? { all_pins: 1 } : { }, @@ -92,20 +104,16 @@ function fixmystreet_onload() { fixmystreet.markers.addFeatures( markers ); if (fixmystreet.page == 'around' || fixmystreet.page == 'reports' || fixmystreet.page == 'my') { fixmystreet.markers.events.register( 'featureselected', fixmystreet.markers, function(evt) { - window.location = '/report/' + evt.feature.attributes.id; + if (evt.feature.attributes.id) { + window.location = '/report/' + evt.feature.attributes.id; + } OpenLayers.Event.stop(evt); }); var select = new OpenLayers.Control.SelectFeature( fixmystreet.markers ); fixmystreet.map.addControl( select ); select.activate(); } else if (fixmystreet.page == 'new') { - var drag = new OpenLayers.Control.DragFeature( fixmystreet.markers, { - onComplete: function(feature, e) { - fixmystreet_update_pin( feature.geometry.clone() ); - } - } ); - fixmystreet.map.addControl( drag ); - drag.activate(); + fixmystreet_activate_drag(); } fixmystreet.map.addLayer(fixmystreet.markers); @@ -287,13 +295,30 @@ OpenLayers.Control.Click = OpenLayers.Class(OpenLayers.Control, { trigger: function(e) { var lonlat = fixmystreet.map.getLonLatFromViewPortPx(e.xy); if (fixmystreet.page == 'new') { + /* Already have a purple pin */ fixmystreet.markers.features[0].move(lonlat); + } else { + var markers = fms_markers_list( [ [ lonlat.lat, lonlat.lon, 'purple' ] ], false ); + fixmystreet.bbox_strategy.deactivate(); + fixmystreet.markers.removeAllFeatures(); + fixmystreet.markers.addFeatures( markers ); + fixmystreet_activate_drag(); } fixmystreet_update_pin(lonlat); if (fixmystreet.page == 'new') { return; } - document.getElementById('mapForm').submit(); + $.getJSON('/report/new/ajax', { + latitude: $('#fixmystreet\\.latitude').val(), + longitude: $('#fixmystreet\\.longitude').val() + }, function(data) { + $('#councils_text').html(data.councils_text); + $('#form_category_row').html(data.category); + }); + $('#side-form').show(); + $('#side').hide(); + fixmystreet.page = 'new'; + location.hash = 'report'; } }); @@ -307,3 +332,14 @@ function fixmystreet_update_pin(lonlat) { document.getElementById('fixmystreet.latitude').value = lonlat.lat || lonlat.y; document.getElementById('fixmystreet.longitude').value = lonlat.lon || lonlat.x; } + +function fixmystreet_activate_drag() { + fixmystreet.drag = new OpenLayers.Control.DragFeature( fixmystreet.markers, { + onComplete: function(feature, e) { + fixmystreet_update_pin( feature.geometry.clone() ); + } + } ); + fixmystreet.map.addControl( fixmystreet.drag ); + fixmystreet.drag.activate(); +} + |