diff options
author | Dave Arter <davea@mysociety.org> | 2017-02-08 18:01:35 +0000 |
---|---|---|
committer | Dave Arter <davea@mysociety.org> | 2017-02-09 12:34:17 +0000 |
commit | 8d0430990845f3949985c4539d31f55f4441c238 (patch) | |
tree | 5a7523d20039055b9c73970d2d1616a4de57ea24 /perllib/FixMyStreet | |
parent | 312df7e5b0224d9aff0767148879a854089e4ee1 (diff) |
[Harrogate] Remove unused cobrand
Diffstat (limited to 'perllib/FixMyStreet')
-rw-r--r-- | perllib/FixMyStreet/Cobrand/Harrogate.pm | 290 |
1 files changed, 0 insertions, 290 deletions
diff --git a/perllib/FixMyStreet/Cobrand/Harrogate.pm b/perllib/FixMyStreet/Cobrand/Harrogate.pm deleted file mode 100644 index 8f4a6e2ea..000000000 --- a/perllib/FixMyStreet/Cobrand/Harrogate.pm +++ /dev/null @@ -1,290 +0,0 @@ -package FixMyStreet::Cobrand::Harrogate; -use base 'FixMyStreet::Cobrand::UKCouncils'; - -use strict; -use warnings; -use feature 'say'; - -sub council_id { return 2407; } -sub council_area { return 'Harrogate'; } -sub council_name { return 'Harrogate Borough Council'; } -sub council_url { return 'harrogate'; } -sub is_two_tier { return 1; } # with North Yorkshire CC 2235 - -sub base_url { - my $self = shift; - return $self->next::method() if FixMyStreet->config('STAGING_SITE'); - return 'http://fix.harrogate.gov.uk'; -} - -sub disambiguate_location { - my $self = shift; - my $string = shift; - - my $town = 'Harrogate'; - - # as it's the requested example location, try to avoid a disambiguation page - $town .= ', HG1 1DH' if $string =~ /^\s*king'?s\s+r(?:oa)?d\s*(?:,\s*har\w+\s*)?$/i; - - return { - %{ $self->SUPER::disambiguate_location() }, - town => $town, - centre => '54.0671557690306,-1.59581319536637', - span => '0.370193897090822,0.829517054931808', - bounds => [ 53.8914112467619, -2.00450542308575, 54.2616051438527, -1.17498836815394 ], - }; -} - -sub example_places { - return ( 'HG1 2SG', "King's Road" ); -} - -sub enter_postcode_text { - my ($self) = @_; - return 'Enter a Harrogate district postcode, or street name and area'; -} - -# increase map zoom level so street names are visible -sub default_map_zoom { return 3; } - - -=head2 temp_email_to_update, temp_update_contacts - -Temporary helper routines to update the extra for potholes (temporary setup -hack, cargo-culted from ESCC, may in future be superseded either by -Open311/integration or a better mechanism for manually creating rich contacts). - -Can run with a script or command line like: - - bin/cron-wrapper perl -MFixMyStreet::App -MFixMyStreet::Cobrand::Harrogate -e \ - 'FixMyStreet::Cobrand::Harrogate->new({c => FixMyStreet::App->new})->temp_update_contacts' - -=cut - -sub temp_email_to_update { - return 'CustomerServices@harrogate.gov.uk'; -} - -sub temp_update_contacts { - my $self = shift; - - my $contact_rs = $self->{c}->model('DB::Contact'); - - my $email = $self->temp_email_to_update; - my $_update = sub { - my ($category, $field, $category_details) = @_; - # NB: we're accepting just 1 field, but supply as array [ $field ] - - my $contact = $contact_rs->find_or_create( - { - body_id => $self->council_id, - category => $category, - - confirmed => 1, - deleted => 0, - email => $email, - editor => 'automated script', - note => '', - send_method => '', - whenedited => \'NOW()', - %{ $category_details || {} }, - }, - { - key => 'contacts_body_id_category_idx' - } - ); - - say "Editing category: $category"; - - my %default = ( - variable => 'true', - order => '1', - required => 'no', - datatype => 'string', - datatype_description => 'a string', - ); - - if ($field->{datatype} || '' eq 'boolean') { - my $description = $field->{description}; - %default = ( - %default, - datatype => 'singlevaluelist', - datatype_description => 'Yes or No', - values => { value => [ - { key => ['No'], name => ['No'] }, - { key => ['Yes'], name => ['Yes'] }, - ] }, - ); - } - - $contact->update({ - # XXX: we're just setting extra with the expected layout, - # this could be encapsulated more nicely - extra => { _fields => [ { %default, %$field } ] }, - confirmed => 1, - deleted => 0, - editor => 'automated script', - whenedited => \'NOW()', - note => 'Edited by script as per requirements Dec 2014', - }); - }; - - $_update->( 'Abandoned vehicles', { - code => 'registration', - description => 'Vehicle Registration number:', - }); - - $_update->( 'Dead animals', { - code => 'INFO_TEXT', - variable => 'false', - description => 'We do not remove small species, e.g. squirrels, rabbits, and small birds.', - }); - - $_update->( 'Flyposting', { - code => 'offensive', - description => 'Is it offensive?', - datatype => 'boolean', # mapped onto singlevaluelist - }); - - $_update->( 'Flytipping', { - code => 'size', - description => 'Size?', - datatype => 'singlevaluelist', - values => { value => [ - { key => ['Single Item'], name => ['Single item'] }, - { key => ['Car boot load'], name => ['Car boot load'] }, - { key => ['Small van load'], name => ['Small van load'] }, - { key => ['Transit van load'], name => ['Transit van load'] }, - { key => ['Tipper lorry load'], name => ['Tipper lorry load'] }, - { key => ['Significant load'], name => ['Significant load'] }, - ] }, - }); - - $_update->( 'Graffiti', { - code => 'offensive', - description => 'Is it offensive?', - datatype => 'boolean', # mapped onto singlevaluelist - }); - - $_update->( 'Parks and playgrounds', { - code => 'dangerous', - description => 'Is it dangerous or could cause injury?', - datatype => 'boolean', # mapped onto singlevaluelist - }); - - $_update->( 'Trees', { - code => 'dangerous', - description => 'Is it dangerous or could cause injury?', - datatype => 'boolean', # mapped onto singlevaluelist - }); - - # also ensure that the following categories are created: - for my $category ( - 'Car parking', - 'Dog and litter bins', - 'Dog fouling', - 'Other', - 'Rubbish (refuse and recycling)', - 'Street cleaning', - 'Street lighting', - 'Street nameplates', - ) { - say "Creating $category if required"; - my $contact = $contact_rs->find_or_create( - { - body_id => $self->council_id, - category => $category, - confirmed => 1, - deleted => 0, - email => $email, - editor => 'automated script', - note => 'Created by script as per requirements Dec 2014', - send_method => '', - whenedited => \'NOW()', - } - ); - } - - my @to_delete = ( - 'Parks/landscapes', # delete in favour of to parks and playgrounds - 'Public toilets', # as no longer in specs - ); - say sprintf "Deleting: %s (if present)", join ',' => @to_delete; - $contact_rs->search({ - body_id => $self->council_id, - category => \@to_delete, - deleted => 0 - })->update({ - deleted => 1, - editor => 'automated script', - whenedited => \'NOW()', - note => 'Deleted by script as per requirements Dec 2014', - }); -} - -sub contact_email { - my $self = shift; - return join( '@', 'customerservices', 'harrogate.gov.uk' ); -} - -sub process_additional_metadata_for_email { - my ($self, $problem, $h) = @_; - - my $additional = ''; - if (my $extra = $problem->get_extra_fields) { - $additional = join "\n\n", map { - if ($_->{name} eq 'INFO_TEXT') { - (); - } - else { - sprintf '%s: %s', $_->{description}, $_->{value}; - } - } @$extra; - $additional = "\n\n$additional" if $additional; - } - - $h->{additional_information} = $additional; -} - -sub send_questionnaires { - return 0; -} - -sub munge_category_list { - my ($self, $categories_ref, $contacts_ref, $extras_ref) = @_; - - # we want to know which contacts *only* belong to NYCC - # that's because for shared responsibility, we don't expect - # the user to have to figure out which authority to contact. - - # so we start building up the list of both - my (%harrogate_contacts, %nycc_contacts); - - my $harrogate_id = $self->council_id; # XXX: note reference to council_id as body id! - for my $contact (@$contacts_ref) { - my $category = $contact->category; - if ($contact->body_id == $harrogate_id) { - $harrogate_contacts{$category} = 1; - } - else { - $nycc_contacts{$category}++; - } - } - - # and then remove any that also have Harrogate involvement - delete $nycc_contacts{$_} for keys %harrogate_contacts; - - # here, we simply *mark* the text with (NYCC) at the end, and - # the rest will get done in the template with javascript - my @categories = map { - $nycc_contacts{$_} ? - "$_ (NYCC)" - : $_ - } @$categories_ref; - - # replace the entire list with this transformed one - @$categories_ref = @categories; -} - -1; - |