From ed850c6d928acfa6898d67a9220b00ade64b45ea Mon Sep 17 00:00:00 2001 From: Matthew Somerville Date: Fri, 31 Mar 2017 14:23:02 +0100 Subject: [SeeSomething] Remove cobrand. --- .gitignore | 1 - perllib/FixMyStreet/App/Controller/Admin.pm | 2 +- perllib/FixMyStreet/Cobrand/SeeSomething.pm | 135 --------------------- perllib/FixMyStreet/SendReport/Email.pm | 9 +- t/app/controller/report_new.t | 115 ------------------ t/cobrand/seesomething.t | 87 ------------- templates/web/seesomething/admin/footer.html | 7 -- templates/web/seesomething/admin/header.html | 2 - templates/web/seesomething/admin/stats.html | 63 ---------- .../web/seesomething/around/display_location.html | 52 -------- templates/web/seesomething/around/index.html | 24 ---- .../web/seesomething/around/postcode_form.html | 17 --- templates/web/seesomething/auth/general.html | 46 ------- templates/web/seesomething/auth/sign_out.html | 7 -- templates/web/seesomething/footer.html | 15 --- templates/web/seesomething/front/stats.html | 0 templates/web/seesomething/front/tips.html | 5 - templates/web/seesomething/header_extra.html | 1 - templates/web/seesomething/index.html | 42 ------- .../web/seesomething/js/translation_strings.html | 15 --- templates/web/seesomething/main_nav_items.html | 3 - templates/web/seesomething/report/display.html | 9 -- .../web/seesomething/report/new/category.html | 15 --- .../report/new/fill_in_details_form.html | 106 ---------------- templates/web/seesomething/set_body_class.html | 1 - templates/web/seesomething/site-name.html | 1 - .../web/seesomething/tokens/confirm_problem.html | 33 ----- 27 files changed, 2 insertions(+), 811 deletions(-) delete mode 100644 perllib/FixMyStreet/Cobrand/SeeSomething.pm delete mode 100644 t/cobrand/seesomething.t delete mode 100644 templates/web/seesomething/admin/footer.html delete mode 100644 templates/web/seesomething/admin/header.html delete mode 100644 templates/web/seesomething/admin/stats.html delete mode 100644 templates/web/seesomething/around/display_location.html delete mode 100644 templates/web/seesomething/around/index.html delete mode 100644 templates/web/seesomething/around/postcode_form.html delete mode 100644 templates/web/seesomething/auth/general.html delete mode 100644 templates/web/seesomething/auth/sign_out.html delete mode 100644 templates/web/seesomething/footer.html delete mode 100644 templates/web/seesomething/front/stats.html delete mode 100644 templates/web/seesomething/front/tips.html delete mode 100644 templates/web/seesomething/header_extra.html delete mode 100644 templates/web/seesomething/index.html delete mode 100644 templates/web/seesomething/js/translation_strings.html delete mode 100644 templates/web/seesomething/main_nav_items.html delete mode 100644 templates/web/seesomething/report/display.html delete mode 100644 templates/web/seesomething/report/new/category.html delete mode 100644 templates/web/seesomething/report/new/fill_in_details_form.html delete mode 100644 templates/web/seesomething/set_body_class.html delete mode 100644 templates/web/seesomething/site-name.html delete mode 100644 templates/web/seesomething/tokens/confirm_problem.html diff --git a/.gitignore b/.gitignore index 0885b0361..fc1d063c6 100644 --- a/.gitignore +++ b/.gitignore @@ -19,7 +19,6 @@ FixMyBarangay.po /web/css/main.css /web/cobrands/*/*.css /web/cobrands/*/*.css.map -/web/cobrands/seesomething *.auto.min.js # Photo upload cache diff --git a/perllib/FixMyStreet/App/Controller/Admin.pm b/perllib/FixMyStreet/App/Controller/Admin.pm index 87a4191af..d37e0b39c 100644 --- a/perllib/FixMyStreet/App/Controller/Admin.pm +++ b/perllib/FixMyStreet/App/Controller/Admin.pm @@ -1484,7 +1484,7 @@ sub stats : Path('stats') : Args(0) { $selected_body = $c->user->from_body->id; } - if ( $c->cobrand->moniker eq 'seesomething' || $c->cobrand->moniker eq 'zurich' ) { + if ( $c->cobrand->moniker eq 'zurich' ) { return $c->cobrand->admin_stats(); } diff --git a/perllib/FixMyStreet/Cobrand/SeeSomething.pm b/perllib/FixMyStreet/Cobrand/SeeSomething.pm deleted file mode 100644 index 4d4dd000e..000000000 --- a/perllib/FixMyStreet/Cobrand/SeeSomething.pm +++ /dev/null @@ -1,135 +0,0 @@ -package FixMyStreet::Cobrand::SeeSomething; -use parent 'FixMyStreet::Cobrand::UKCouncils'; - -use strict; -use warnings; - -sub council_id { return [ 2520, 2522, 2514, 2546, 2519, 2538, 2535 ]; } -sub council_area { return 'West Midlands'; } -sub council_name { return 'See Something Say Something'; } -sub council_url { return 'seesomething'; } -sub area_types { [ 'MTD' ] } - -sub area_check { - my ( $self, $params, $context ) = @_; - - my $councils = $params->{all_areas}; - my $council_match = grep { $councils->{$_} } @{ $self->council_id }; - - if ($council_match) { - return 1; - } - - return ( 0, "That location is not covered by See Something, Say Something" ); -} - -sub disambiguate_location { - my $self = shift; - my $string = shift; - - my $town = 'West Midlands'; - - return { - %{ $self->SUPER::disambiguate_location() }, - town => $town, - centre => '52.4803101685267,-2.2708272758854', - span => '1.4002794815887,2.06340043925997', - bounds => [ 51.8259444771676, -3.23554082684068, 53.2262239587563, -1.17214038758071 ], - }; -} - -sub example_places { - return ( 'WS1 4NH', 'Austin Drive, Coventry' ); -} - -sub send_questionnaires { - return 0; -} - -sub ask_ever_reported { - return 0; -} - -sub report_sent_confirmation_email { 1; } - -sub report_check_for_errors { return (); } - -sub never_confirm_reports { 1; } - -sub allow_anonymous_reports { 1; } - -sub anonymous_account { return { name => 'Anonymous Submission', email => FixMyStreet->config('DO_NOT_REPLY_EMAIL') }; } - -sub admin_allow_user { - my ( $self, $user ) = @_; - return 1 if ( $user->from_body || $user->is_superuser ); -} - -sub admin_pages { - my $self = shift; - - return { - 'stats' => ['Reports', 0], - }; -}; - -sub admin_stats { - my $self = shift; - my $c = $self->{c}; - - my %filters = (); - - # XXX The below lookup assumes a body ID === MapIt area ID - my %councils = - map { - my $name = $_->name; - $name =~ s/(?:Borough|City) Council//; - ($_->id => $name); - } - $c->model('DB::Body')->search({ id => $self->council_id }); - - $c->stash->{council_details} = \%councils; - - if ( !$c->user_exists || !grep { $_ == $c->user->from_body->id } @{ $self->council_id } ) { - $c->detach( '/page_error_404_not_found' ); - } - - if ( $c->get_param('category') ) { - $filters{category} = $c->get_param('category'); - $c->stash->{category} = $c->get_param('category'); - } - - if ( $c->get_param('subcategory') ) { - $filters{subcategory} = $c->get_param('subcategory'); - $c->stash->{subcategory} = $c->get_param('subcategory'); - } - - if ( $c->get_param('service') ) { - $filters{service} = { -ilike => $c->get_param('service') }; - $c->stash->{service} = $c->get_param('service'); - } - - my $page = $c->get_param('p') || 1; - - my $p = $c->model('DB::Problem')->search( - { - confirmed => { not => undef }, - %filters - }, - { - columns => [ qw( - service category subcategory confirmed bodies_str - ) ], - order_by => { -desc=> [ 'confirmed' ] }, - rows => 20, - } - )->page( $page ); - - $c->stash->{reports} = $p; - $c->stash->{pager} = $p->pager; - - return 1; -} - -1; - diff --git a/perllib/FixMyStreet/SendReport/Email.pm b/perllib/FixMyStreet/SendReport/Email.pm index 9abccf510..28f3411d0 100644 --- a/perllib/FixMyStreet/SendReport/Email.pm +++ b/perllib/FixMyStreet/SendReport/Email.pm @@ -29,13 +29,6 @@ sub build_recipient_list { $self->unconfirmed_notes->{$body_email}{$row->category} = $note; } - my $body_name = $body->name; - # see something uses council areas but doesn't send to councils so just use a - # generic name here to minimise confusion - if ( $row->cobrand eq 'seesomething' ) { - $body_name = 'See Something, Say Something'; - } - my @emails; # allow multiple emails per contact if ( $body_email =~ /,/ ) { @@ -44,7 +37,7 @@ sub build_recipient_list { @emails = ( $body_email ); } for my $email ( @emails ) { - push @{ $self->to }, [ $email, $body_name ]; + push @{ $self->to }, [ $email, $body->name ]; } } diff --git a/t/app/controller/report_new.t b/t/app/controller/report_new.t index fd3108438..71090cd26 100644 --- a/t/app/controller/report_new.t +++ b/t/app/controller/report_new.t @@ -1363,121 +1363,6 @@ subtest "test Hart" => sub { } }; -subtest "test SeeSomething" => sub { - $mech->host('seesomething.fixmystreet.com'); - $mech->clear_emails_ok; - $mech->log_out_ok; - - my $cobrand = FixMyStreet::Cobrand::SeeSomething->new(); - - my $body_ss = $mech->create_body_ok(2535, 'Sandwell Borough Council', id => 2535); - my $bus_contact = $mech->create_contact_ok( - body_id => $body_ss->id, - category => 'Bus', - email => 'bus@example.com', - non_public => 1, - ); - - for my $test ( { - desc => 'report with no user details works', - pc => 'WS1 4NH', - fields => { - detail => 'Test report details', - category => 'Bus', - subcategory => 'Smoking', - }, - email => $cobrand->anonymous_account->{email}, - }, - { - desc => 'report with user details works', - pc => 'WS1 4NH', - fields => { - detail => 'Test report details', - category => 'Bus', - subcategory => 'Smoking', - email => 'non_anon_user@example.com', - name => 'Non Anon', - }, - email => 'non_anon_user@example.com', - }, - { - desc => 'report with public category', - pc => 'WS1 4NH', - fields => { - detail => 'Test report details', - category => 'Bus', - subcategory => 'Smoking', - }, - email => $cobrand->anonymous_account->{email}, - public => 1, - } - ) { - subtest $test->{desc} => sub { - $mech->clear_emails_ok; - my $user = - FixMyStreet::App->model('DB::User')->find( { email => $test->{email} } ); - - if ( $user ) { - $user->alerts->delete; - $user->problems->delete; - $user->delete; - } - - if ( $test->{public} ) { - $bus_contact->non_public(0); - $bus_contact->update; - } else { - $bus_contact->non_public(1); - $bus_contact->update; - } - - $mech->get_ok( '/around' ); - FixMyStreet::override_config { - ALLOWED_COBRANDS => [ 'seesomething' ], - MAPIT_URL => 'http://mapit.uk/', - }, sub { - $mech->submit_form_ok( - { - with_fields => { - pc => $test->{pc}, - }, - }, - 'submit around form', - ); - $mech->follow_link_ok( { text_regex => qr/skip this step/i, }, "follow 'skip this step' link" ); - - $mech->submit_form_ok( - { - with_fields => $test->{fields}, - }, - 'Submit form details with no user details', - ); - }; - is_deeply $mech->page_errors, [], "check there were no errors"; - - $user = - FixMyStreet::App->model('DB::User')->find( { email => $test->{email} } ); - ok $user, "user found"; - - my $report = $user->problems->first; - ok $report, "Found the report"; - - $mech->email_count_is(0); - - ok $report->confirmed, 'Report is confirmed automatically'; - - is $mech->uri->path, '/report/new', 'stays on report/new page'; - $mech->content_contains( 'Your report has been sent', 'use report created template' ); - - $user->alerts->delete; - $user->problems->delete; - $user->delete; - }; - } - - $bus_contact->delete; -}; - subtest "categories from deleted bodies shouldn't be visible for new reports" => sub { FixMyStreet::override_config { ALLOWED_COBRANDS => [ { fixmystreet => '.' } ], diff --git a/t/cobrand/seesomething.t b/t/cobrand/seesomething.t deleted file mode 100644 index 4da1c9c6e..000000000 --- a/t/cobrand/seesomething.t +++ /dev/null @@ -1,87 +0,0 @@ -use strict; -use warnings; -use DateTime; -use Test::More; - -use FixMyStreet; -use FixMyStreet::TestMech; - -my $EMAIL = 'seesomething@example.com'; - -my $mech = FixMyStreet::TestMech->new; -my $db = FixMyStreet::DB->storage->schema; -my $dt_parser = $db->storage->datetime_parser; - -$db->txn_begin; - -$db->resultset('Comment')->delete; -$db->resultset('Problem')->delete; - -my $user = $mech->create_user_ok( $EMAIL ); - -my $body = $mech->create_body_ok( 2520, 'Coventry City Council', id => 2520 ); -$mech->create_body_ok( 2522, 'Dudley Borough Council' ); -$mech->create_body_ok( 2514, 'Birmingham City Council' ); -$mech->create_body_ok( 2546, 'Walsall Borough Council' ); -$mech->create_body_ok( 2519, 'Wolverhampton City Council' ); -$mech->create_body_ok( 2538, 'Solihull Borough Council' ); -$mech->create_body_ok( 2535, 'Sandwell Borough Council' ); - -$user->update({ from_body => $body }); - -my $date = $dt_parser->format_datetime(DateTime->now); - -my $report = FixMyStreet::DB->resultset('Problem')->find_or_create( { - postcode => 'EH1 1BB', - bodies_str => '2520', - areas => ',2520,', - service => 'Android', - category => 'Bus', - subcategory => 'Loud Music', - title => 'Loud Music', - detail => 'Loud Music', - used_map => 1, - name => 'SeeSomething Test User', - anonymous => 0, - state => 'confirmed', - confirmed => $date, - lang => 'en-gb', - cobrand => 'default', - cobrand_data => '', - send_questionnaire => 1, - latitude => '52.4081', - longitude => '-1.5106', - user_id => $user->id, -} ); - -subtest 'admin/stats' => sub { - FixMyStreet::override_config { - ALLOWED_COBRANDS => [ 'seesomething' ], - }, sub { - my $user = $mech->log_in_ok( $EMAIL ); - - $mech->get( '/admin/stats' ); - if (ok $mech->success) { - - $date =~s/ / /; - $date =~s/\+0000//; - my $xml = < - Android - Bus - Loud Music - Coventry - $date - -EOXML - $mech->content_contains($xml); - } - else { - diag $mech->content; - diag $mech->status; - }; - } -}; - -$db->txn_rollback; -done_testing; diff --git a/templates/web/seesomething/admin/footer.html b/templates/web/seesomething/admin/footer.html deleted file mode 100644 index bdd42e2e4..000000000 --- a/templates/web/seesomething/admin/footer.html +++ /dev/null @@ -1,7 +0,0 @@ - - - - - - - diff --git a/templates/web/seesomething/admin/header.html b/templates/web/seesomething/admin/header.html deleted file mode 100644 index 40bea25bf..000000000 --- a/templates/web/seesomething/admin/header.html +++ /dev/null @@ -1,2 +0,0 @@ -[% INCLUDE 'header.html' admin = 1, bodyclass = 'admin fullwidthpage' %] -

[% title %]

diff --git a/templates/web/seesomething/admin/stats.html b/templates/web/seesomething/admin/stats.html deleted file mode 100644 index 155bff472..000000000 --- a/templates/web/seesomething/admin/stats.html +++ /dev/null @@ -1,63 +0,0 @@ -[% INCLUDE 'admin/header.html' title=loc('Reports') %] -[% PROCESS 'admin/report_blocks.html' %] - -[% BLOCK options %] - [% FOR option IN option_list %] -