aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--db/schema.sql20
-rw-r--r--db/schema_0005-add_council_user_flag.sql6
-rw-r--r--db/schema_0006-alter_problem_state.sql19
-rw-r--r--db/schema_0007-add-comment-problem-state.sql16
-rw-r--r--db/schema_0008-add_user_object_to_admin_log.sql12
-rw-r--r--locale/FixMyStreet.po532
-rw-r--r--locale/cy_GB.UTF-8/LC_MESSAGES/EmptyHomes.po705
-rw-r--r--locale/nb_NO.UTF-8/LC_MESSAGES/FixMyStreet.po1117
-rw-r--r--notes/states.txt74
-rw-r--r--perllib/FixMyStreet/App/Controller/Admin.pm87
-rw-r--r--perllib/FixMyStreet/App/Controller/Around.pm4
-rw-r--r--perllib/FixMyStreet/App/Controller/JSON.pm8
-rw-r--r--perllib/FixMyStreet/App/Controller/My.pm7
-rw-r--r--perllib/FixMyStreet/App/Controller/Open311.pm17
-rw-r--r--perllib/FixMyStreet/App/Controller/Photo.pm2
-rwxr-xr-xperllib/FixMyStreet/App/Controller/Questionnaire.pm27
-rw-r--r--perllib/FixMyStreet/App/Controller/Report/New.pm29
-rw-r--r--perllib/FixMyStreet/App/Controller/Report/Update.pm34
-rw-r--r--perllib/FixMyStreet/App/Controller/Reports.pm10
-rw-r--r--perllib/FixMyStreet/App/Controller/Tokens.pm2
-rw-r--r--perllib/FixMyStreet/App/View/Web.pm21
-rw-r--r--perllib/FixMyStreet/Cobrand/Default.pm16
-rw-r--r--perllib/FixMyStreet/Cobrand/EmptyHomes.pm2
-rw-r--r--perllib/FixMyStreet/DB/Result/Comment.pm22
-rw-r--r--perllib/FixMyStreet/DB/Result/Problem.pm135
-rw-r--r--perllib/FixMyStreet/DB/Result/User.pm42
-rw-r--r--perllib/FixMyStreet/DB/ResultSet/AlertType.pm15
-rw-r--r--perllib/FixMyStreet/DB/ResultSet/Nearby.pm2
-rw-r--r--perllib/FixMyStreet/DB/ResultSet/Problem.pm17
-rw-r--r--perllib/FixMyStreet/DB/ResultSet/Questionnaire.pm2
-rw-r--r--perllib/FixMyStreet/Map/OSM.pm2
-rw-r--r--t/app/controller/admin.t166
-rw-r--r--t/app/controller/questionnaire.t68
-rw-r--r--t/app/controller/report_display.t97
-rw-r--r--t/app/controller/report_import.t122
-rw-r--r--t/app/controller/report_updates.t234
-rw-r--r--t/app/model/alert_type.t144
-rw-r--r--t/app/model/problem.t88
-rw-r--r--t/app/model/questionnaire.t106
-rw-r--r--t/map/tilma/original.t108
-rw-r--r--templates/web/default/admin/list_updates.html4
-rw-r--r--templates/web/default/admin/report_edit.html5
-rw-r--r--templates/web/default/admin/search_users.html29
-rw-r--r--templates/web/default/admin/update_edit.html17
-rw-r--r--templates/web/default/admin/user_edit.html21
-rw-r--r--templates/web/default/around/around_map_list_items.html2
-rwxr-xr-xtemplates/web/default/around/display_location.html35
-rw-r--r--templates/web/default/around/on_map_list_items.html2
-rw-r--r--templates/web/default/maps/fms.html1
-rw-r--r--templates/web/default/maps/openlayers.html2
-rw-r--r--templates/web/default/maps/osm-streetview.html1
-rw-r--r--templates/web/default/maps/osm.html1
-rw-r--r--templates/web/default/my/my.html5
-rw-r--r--templates/web/default/questionnaire/completed.html2
-rw-r--r--templates/web/default/questionnaire/index.html2
-rw-r--r--templates/web/default/report/display.html31
-rw-r--r--templates/web/default/report/new/category.html10
-rw-r--r--templates/web/default/report/new/councils_text.html9
-rw-r--r--templates/web/default/report/new/councils_text_all.html (renamed from templates/web/default/report/new/all_councils_text.html)0
-rw-r--r--templates/web/default/report/new/councils_text_none.html (renamed from templates/web/default/report/new/no_councils_text.html)0
-rw-r--r--templates/web/default/report/new/councils_text_some.html (renamed from templates/web/default/report/new/some_councils_text.html)0
-rw-r--r--templates/web/default/report/new/fill_in_details.html232
-rw-r--r--templates/web/default/report/new/fill_in_details_form.html240
-rw-r--r--templates/web/default/report/new/fill_in_details_text.html2
-rw-r--r--templates/web/default/report/updates.html4
-rw-r--r--web/cobrands/fiksgatami/css.css55
-rw-r--r--web/css/_main.scss4
-rw-r--r--web/css/core.css84
-rw-r--r--web/css/core.scss66
-rw-r--r--web/css/main.css4
-rw-r--r--web/js/jquery.ba-hashchange.min.js9
-rw-r--r--web/js/map-OpenLayers.js56
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 "&copy; Crown copyright. All rights reserved. Ministry of Justice 100037819&nbsp;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 &mdash; %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&nbsp;%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&rsquo;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&rsquo;t mean the council isn&rsquo;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&nbsp;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&hellip; 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&rsquo;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 &mdash; <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 &ndash; 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 ""
-"&copy; Crown copyright. All rights reserved. Ministry of Justice "
-"100037819&nbsp;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 &mdash; %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&nbsp;%skm)</small>"
msgstr "Yr eiddo gwag cyfagos agosaf <small>(within&nbsp;%skm)</small>"
@@ -500,6 +538,7 @@ msgstr "Yr eiddo gwag cyfagos agosaf <small>(within&nbsp;%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&rsquo;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&nbsp;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&hellip; 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 ""
+#~ "&copy; Crown copyright. All rights reserved. Ministry of Justice "
+#~ "100037819&nbsp;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>&nbsp;<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 ""
-"&copy; Crown copyright. All rights reserved. Ministry of Justice "
-"100037819&nbsp;2008."
-msgstr ""
-"&copy; Crown copyright. Alle rettigheter reservert. Justisdepartementet "
-"100037819&nbsp;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 &mdash; %s)"
-msgstr "(Slapp av &mdash; %s)"
+msgstr "(Ingen grunn til bekymring &mdash; %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&rsquo;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&nbsp;%skm)</small>"
-msgstr "De nærmeste sakene <small>(innenfor&nbsp;%skm)</small>"
+msgstr "De nærmeste problemene <small>(innenfor&nbsp;%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&rsquo;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 &lsquo;%s&rsquo;."
-msgstr "Her er typene lokale problemvarsler for &lsquo;%s&rsquo;."
+msgstr ""
+"Her er de forskjellige typene lokale problemvarsler for &lsquo;%s&rsquo;."
#: 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 &ndash; 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&nbsp;update:"
-msgstr "Last&nbsp;oppdatering:"
+msgstr "Siste&nbsp;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 &copy; Crown copyright and database right "
"2010.<br>&copy; 2011 <a href=\"http://www.bing.com/maps/\">Microsoft</a>. "
"&copy; AND, Navteq, Ordnance Survey."
msgstr ""
"Kartet inneholder data fra Ordnance Survey &copy; Crown copyright og "
-"databaserettigheter 2010. Microsoft"
+"databaserettigheter 2010. <a href=\"http://www.bing.com/maps/\">Microsoft</"
+"a>. &copy; 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&hellip; do you have a FixMyStreet password?"
-msgstr ""
+msgstr "På tide å sende din rapport&hellip; har du et FiksGataMi-passord?"
#: templates/web/default/report/display.html:133
msgid "Now to submit your update&hellip; do you have a FixMyStreet password?"
msgstr ""
+"På tide å registrere din oppdatering&hellip; 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 "
"&mdash; <em>please</em> be patient."
msgstr ""
+"Bekreftelsese-posten <strong>kan</strong>bruke noen minutter før den kommer "
+"frem &mdash; 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 &ndash; 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å. &ndash; 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 &mdash; if you "
"do not, %s."
msgstr ""
+"Du må nå åpne lenken i e-posten vi akkurat sendte deg &mdash; 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&nbsp;email:"
-msgstr "Din&nbsp;epost:"
+msgstr "Din&nbsp;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 ""
+#~ "&copy; Crown copyright. All rights reserved. Ministry of Justice "
+#~ "100037819&nbsp;2008."
+#~ msgstr ""
+#~ "&copy; Crown copyright. Alle rettigheter reservert. Justisdepartementet "
+#~ "100037819&nbsp;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/&/&amp;/g;
+ s/</&lt;/g;
+ s/>/&gt;/g;
+ s/"/&quot;/g;
+ s/'/&#39;/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&rsquo;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&rsquo;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&hellip; do you have a FixMyStreet password?") %]</h3>
-
- <div id="form_sign_in_yes">
-
- [% IF field_errors.password %]
- <div class='form-error'>[% field_errors.password %]</div>
- [% END %]
-
- <p>
- <label class="n" for="password_sign_in">[% loc('<strong>Yes</strong>, I have a password:') %]</label>
- <input type="password" name="password_sign_in" id="password_sign_in" value="" size="25">
- </p>
-
- <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&hellip; do you have a FixMyStreet password?") %]</h3>
+
+ <div id="form_sign_in_yes">
+
+ [% IF field_errors.password %]
+ <div class='form-error'>[% field_errors.password %]</div>
+ [% END %]
+
+ <p>
+ <label class="n" for="password_sign_in">[% loc('<strong>Yes</strong>, I have a password:') %]</label>
+ <input type="password" name="password_sign_in" id="password_sign_in" value="" size="25">
+ </p>
+
+ <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();
+}
+