aboutsummaryrefslogtreecommitdiffstats
path: root/perllib/FixMyStreet
diff options
context:
space:
mode:
authorDave Arter <davea@mysociety.org>2017-02-08 18:01:35 +0000
committerDave Arter <davea@mysociety.org>2017-02-09 12:34:17 +0000
commit8d0430990845f3949985c4539d31f55f4441c238 (patch)
tree5a7523d20039055b9c73970d2d1616a4de57ea24 /perllib/FixMyStreet
parent312df7e5b0224d9aff0767148879a854089e4ee1 (diff)
[Harrogate] Remove unused cobrand
Diffstat (limited to 'perllib/FixMyStreet')
-rw-r--r--perllib/FixMyStreet/Cobrand/Harrogate.pm290
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;
-