aboutsummaryrefslogtreecommitdiffstats
path: root/perllib/FixMyStreet
diff options
context:
space:
mode:
Diffstat (limited to 'perllib/FixMyStreet')
-rw-r--r--perllib/FixMyStreet/App/Controller/Council.pm1
-rwxr-xr-xperllib/FixMyStreet/App/Controller/FakeMapit.pm53
-rw-r--r--perllib/FixMyStreet/App/Controller/Reports.pm4
-rw-r--r--perllib/FixMyStreet/Cobrand/Default.pm4
-rw-r--r--perllib/FixMyStreet/Cobrand/FixMyStreet.pm3
-rw-r--r--perllib/FixMyStreet/Cobrand/UKCouncils.pm3
-rw-r--r--perllib/FixMyStreet/TestMech.pm26
7 files changed, 69 insertions, 25 deletions
diff --git a/perllib/FixMyStreet/App/Controller/Council.pm b/perllib/FixMyStreet/App/Controller/Council.pm
index 48248e4fe..771603c22 100644
--- a/perllib/FixMyStreet/App/Controller/Council.pm
+++ b/perllib/FixMyStreet/App/Controller/Council.pm
@@ -37,6 +37,7 @@ there are no councils then return false.
sub load_and_check_councils : Private {
my ( $self, $c ) = @_;
+
my $latitude = $c->stash->{latitude};
my $longitude = $c->stash->{longitude};
diff --git a/perllib/FixMyStreet/App/Controller/FakeMapit.pm b/perllib/FixMyStreet/App/Controller/FakeMapit.pm
new file mode 100755
index 000000000..bc46df712
--- /dev/null
+++ b/perllib/FixMyStreet/App/Controller/FakeMapit.pm
@@ -0,0 +1,53 @@
+package FixMyStreet::App::Controller::FakeMapit;
+use Moose;
+use namespace::autoclean;
+
+BEGIN { extends 'Catalyst::Controller'; }
+
+=head1 NAME
+
+FixMyStreet::App::Controller::FakeMapit - Catalyst Controller
+
+=head1 DESCRIPTION
+
+A controller to fake mapit when we don't have it. If you set MAPIT_URL to
+.../fakemapit/ it should all just work, with a mapit that assumes the whole
+world is one area, with ID 161 and name "Default Area".
+
+=head1 METHODS
+
+=cut
+
+my $area = { "name" => "Default Area", "type" => "ZZZ", "id" => 161 };
+
+sub output : Private {
+ my ( $self, $c, $data ) = @_;
+ my $body = JSON->new->utf8(1)->encode( $data );
+ $c->res->content_type('application/json; charset=utf-8');
+ $c->res->body( $body );
+}
+
+sub point : Local {
+ my ( $self, $c ) = @_;
+ $c->detach( 'output', [ { 161 => $area } ] );
+}
+
+sub area : Local {
+ my ( $self, $c ) = @_;
+ $c->detach( 'output', [ $area ] );
+}
+
+sub areas : Local {
+ my ( $self, $c ) = @_;
+ $c->detach( 'output', [ { 161 => $area } ] );
+}
+
+sub children : Path('area/161/children') : Args(0) {
+ my ( $self, $c ) = @_;
+ $c->detach( 'output', [ {} ] );
+}
+
+__PACKAGE__->meta->make_immutable;
+
+1;
+
diff --git a/perllib/FixMyStreet/App/Controller/Reports.pm b/perllib/FixMyStreet/App/Controller/Reports.pm
index 9a7bb6192..3ef0410a9 100644
--- a/perllib/FixMyStreet/App/Controller/Reports.pm
+++ b/perllib/FixMyStreet/App/Controller/Reports.pm
@@ -43,6 +43,7 @@ sub index : Path : Args(0) {
$c->stash->{message} = _("Unable to look up areas in MaPit. Please try again later.") . ' ' .
sprintf(_('The error was: %s'), $@);
$c->stash->{template} = 'errors/generic.html';
+ return;
}
# For each area, add its link and perhaps alter its name if we need to for
@@ -70,6 +71,7 @@ sub index : Path : Args(0) {
$c->stash->{message} = _("There was a problem showing the All Reports page. Please try again later.") . ' ' .
sprintf(_('The error was: %s'), $@);
$c->stash->{template} = 'errors/generic.html';
+ return;
}
# Down here so that error pages aren't cached.
@@ -126,7 +128,7 @@ sub ward : Path : Args(2) {
# List of wards
unless ($c->stash->{ward}) {
- my $children = mySociety::MaPit::call('area/children', $c->stash->{council}->{id},
+ my $children = mySociety::MaPit::call('area/children', [ $c->stash->{council}->{id} ],
type => $mySociety::VotingArea::council_child_types,
);
foreach (values %$children) {
diff --git a/perllib/FixMyStreet/Cobrand/Default.pm b/perllib/FixMyStreet/Cobrand/Default.pm
index 5e8c9cb53..4ff0b922b 100644
--- a/perllib/FixMyStreet/Cobrand/Default.pm
+++ b/perllib/FixMyStreet/Cobrand/Default.pm
@@ -641,8 +641,8 @@ The MaPit types this site handles
=cut
-sub area_types { return qw(DIS LBO MTD UTA CTY COI); }
-sub area_min_generation { 10 }
+sub area_types { qw(ZZZ) }
+sub area_min_generation { '' }
=head2 contact_name, contact_email
diff --git a/perllib/FixMyStreet/Cobrand/FixMyStreet.pm b/perllib/FixMyStreet/Cobrand/FixMyStreet.pm
index d32e876bb..d838ec84b 100644
--- a/perllib/FixMyStreet/Cobrand/FixMyStreet.pm
+++ b/perllib/FixMyStreet/Cobrand/FixMyStreet.pm
@@ -1,6 +1,9 @@
package FixMyStreet::Cobrand::FixMyStreet;
use base 'FixMyStreet::Cobrand::Default';
+sub area_types { return qw(DIS LBO MTD UTA CTY COI); }
+sub area_min_generation { 10 }
+
# FixMyStreet should return all cobrands
sub restriction {
return {};
diff --git a/perllib/FixMyStreet/Cobrand/UKCouncils.pm b/perllib/FixMyStreet/Cobrand/UKCouncils.pm
index 6d324c68a..82cf3f343 100644
--- a/perllib/FixMyStreet/Cobrand/UKCouncils.pm
+++ b/perllib/FixMyStreet/Cobrand/UKCouncils.pm
@@ -7,6 +7,9 @@ use warnings;
use Carp;
use URI::Escape;
+sub area_types { return qw(DIS LBO MTD UTA CTY COI); }
+sub area_min_generation { 10 }
+
sub is_council {
1;
}
diff --git a/perllib/FixMyStreet/TestMech.pm b/perllib/FixMyStreet/TestMech.pm
index dc42c1aba..2a49cc2f8 100644
--- a/perllib/FixMyStreet/TestMech.pm
+++ b/perllib/FixMyStreet/TestMech.pm
@@ -211,26 +211,6 @@ sub get_email {
return $emails[0];
}
-=head2 form_errors
-
- my $arrayref = $mech->form_errors;
-
-Find all the form errors on the current page and return them in page order as an
-arrayref of TEXTs. If none found return empty arrayref.
-
-=cut
-
-sub form_errors {
- my $mech = shift;
- my $result = scraper {
- process 'div.form-error', 'errors[]', 'TEXT';
- process 'p.form-error', 'errors[]', 'TEXT';
- process 'p.error', 'errors[]', 'TEXT';
- }
- ->scrape( $mech->response );
- return $result->{errors} || [];
-}
-
=head2 page_errors
my $arrayref = $mech->page_errors;
@@ -243,8 +223,7 @@ arrayref of TEXTs. If none found return empty arrayref.
sub page_errors {
my $mech = shift;
my $result = scraper {
- process 'p.error', 'errors[]', 'TEXT';
- process 'ul.error li', 'errors[]', 'TEXT';
+ process 'div.form-error, p.form-error, p.error, ul.error li', 'errors[]', 'TEXT';
}
->scrape( $mech->response );
return $result->{errors} || [];
@@ -327,6 +306,7 @@ sub extract_problem_meta {
my $result = scraper {
process 'div#side p em', 'meta', 'TEXT';
+ process '.problem-header p em', 'meta', 'TEXT';
}
->scrape( $mech->response );
@@ -348,6 +328,7 @@ sub extract_problem_title {
my $result = scraper {
process 'div#side h1', 'title', 'TEXT';
+ process '.problem-header h1', 'title', 'TEXT';
}
->scrape( $mech->response );
@@ -388,6 +369,7 @@ sub extract_update_metas {
my $result = scraper {
process 'div#updates div.problem-update p em', 'meta[]', 'TEXT';
+ process '.update-text .meta-2', 'meta[]', 'TEXT';
}
->scrape( $mech->response );