diff options
37 files changed, 816 insertions, 81 deletions
diff --git a/bin/fixmystreet.com/add_emergency_message b/bin/fixmystreet.com/add_emergency_message new file mode 100755 index 000000000..5167cea32 --- /dev/null +++ b/bin/fixmystreet.com/add_emergency_message @@ -0,0 +1,83 @@ +#!/usr/bin/env perl +# +# One off script to add emergency messages to a council + +use strict; +use warnings; +use v5.14; + +BEGIN { + use File::Basename qw(dirname); + use File::Spec; + my $d = dirname(File::Spec->rel2abs($0)); + require "$d/../../setenv.pl"; +} + +use Getopt::Long::Descriptive; +use Term::ANSIColor; +use FixMyStreet::DB; + +my ($opts, $usage) = describe_options( + '%c %o', + ['commit', 'whether to commit changes to the database' ], + ['body=s', 'name of body to attach question to', { required => 1 } ], + ['code=s', 'code to use for question', { required => 1 } ], + ['question=s', 'question to ask user first', { required => 1 } ], + ['yes=s', 'yes answer to question', { required => 1 } ], + ['no=s', 'no answer to question', { required => 1 } ], + ['message=s', 'message to be shown if form disabled', { required => 1 } ], + ['send_method=s', 'send method to restrict categories to' ], + ['help|h', "print usage message and exit" ], +); +$usage->die if $opts->help; + +if (!$opts->commit) { + say colored("*** DRY RUN ***", 'cyan'); +} + +my $field = { + order => 0, + required => 'true', + protected => 'true', + code => $opts->code, + description => $opts->question, + datatype => 'singlevaluelist', + variable => 'true', + values => [ + { + key => 'yes', + name => $opts->yes, + disable => 1, + disable_message => $opts->message, + }, + { + key => 'no', + name => $opts->no, + } + ], +}; + +my $body = FixMyStreet::DB->resultset("Body")->find({ name => $opts->body }); +unless ($body) { + say STDERR "Could not find body " . $opts->body; + exit 1; +} + +my $contacts = $body->contacts->not_deleted; +$contacts = $contacts->search({ send_method => $opts->send_method }) if $opts->send_method; +foreach my $category ($contacts->all) { + my $found = $category->update_extra_field($field); + if ($found) { + say colored("Updating ", 'red') . $opts->code . " message disable form on " . $category->category . ", " . $opts->body; + } else { + say colored("Making ", 'green') . $opts->code . " message disable form on " . $category->category . ", " . $opts->body; + } + + if ($opts->commit) { + $category->update({ + editor => $0, + whenedited => \'current_timestamp', + note => $opts->code . ' extra field updated by script', + }); + } +} diff --git a/bin/fixmystreet.com/island_roads_setup_messages b/bin/fixmystreet.com/island_roads_setup_messages deleted file mode 100644 index 4969f18ba..000000000 --- a/bin/fixmystreet.com/island_roads_setup_messages +++ /dev/null @@ -1,73 +0,0 @@ -#!/usr/bin/env perl -# -# One off script to transfer the hardcoded JS messages to the database - -use strict; -use warnings; -use v5.14; - -BEGIN { - use File::Basename qw(dirname); - use File::Spec; - my $d = dirname(File::Spec->rel2abs($0)); - require "$d/../../setenv.pl"; -} - -use FixMyStreet::DB; - -use Getopt::Long; - -my $commit; -GetOptions( - 'commit' => \$commit, -); - -if (!$commit) { - say "*** DRY RUN ***"; -} - -my $urgent = { - order => 0, - required => 'true', - protected => 'true', - code => 'urgent', - description => 'To ensure your report is dealt with effectively, please tell us the severity of the issue:-', - datatype_description => 'You have indicated that the issue requires an urgent response, please phone Island Roads on 01983 822440 so that we can respond to the issue appropriately.', - datatype => 'singlevaluelist', - variable => 'true', - values => [ - { - key => 'urgent', - name => 'The issue requires an urgent response/action', - disable => 1, - }, - { - key => 'not_urgent', - name => 'The issue requires a routine/non-urgent response/action', - } - ], -}; - -my $iow = FixMyStreet::DB->resultset("Body")->find({ name => 'Isle of Wight Council' }); -if ($iow) { - my @iow_contacts = $iow->contacts->search({ send_method => 'Triage' })->all; - foreach my $category (@iow_contacts) { - my $extra_fields = $category->get_extra_fields; - my $found = 0; - foreach (@$extra_fields) { - next unless $_->{code} eq 'urgent'; - $_ = $urgent; - $found = 1; - } - if (!$found) { - push @$extra_fields, $urgent; - } - $category->set_extra_fields(@$extra_fields); - say "Making emergency message disable form on " . $category->category . ", Isle of Wight"; - if ($commit) { - $category->update; - } - } -} else { - say STDERR "Could not find IoW"; -} diff --git a/perllib/FixMyStreet/Cobrand/Peterborough.pm b/perllib/FixMyStreet/Cobrand/Peterborough.pm new file mode 100644 index 000000000..46242fcf3 --- /dev/null +++ b/perllib/FixMyStreet/Cobrand/Peterborough.pm @@ -0,0 +1,85 @@ +package FixMyStreet::Cobrand::Peterborough; +use parent 'FixMyStreet::Cobrand::Whitelabel'; + +use strict; +use warnings; + +use Moo; +with 'FixMyStreet::Roles::ConfirmValidation'; + +sub council_area_id { 2566 } +sub council_area { 'Peterborough' } +sub council_name { 'Peterborough City Council' } +sub council_url { 'peterborough' } + +sub disambiguate_location { + my $self = shift; + my $string = shift; + + return { + %{ $self->SUPER::disambiguate_location() }, + centre => '52.6085234396978,-0.253091266573947', + bounds => [ 52.5060949603654, -0.497663559599628, 52.6752139533306, -0.0127696975457487 ], + }; +} + +sub get_geocoder { 'OSM' } + +sub geocoder_munge_results { + my ($self, $result) = @_; + $result->{display_name} = '' unless $result->{display_name} =~ /City of Peterborough/; + $result->{display_name} =~ s/, UK$//; + $result->{display_name} =~ s/, City of Peterborough, East of England, England//; +} + +sub admin_user_domain { "peterborough.gov.uk" } + +sub open311_config { + my ($self, $row, $h, $params) = @_; + + my $extra = $row->get_extra_fields; + push @$extra, + { name => 'report_url', + value => $h->{url} }, + { name => 'title', + value => $row->title }, + { name => 'description', + value => $row->detail }; + + # remove the emergency category which is informational only + @$extra = grep { $_->{name} ne 'emergency' } @$extra; + + # Reports made via FMS.com or the app probably won't have a site code + # value because we don't display the adopted highways layer on those + # frontends. Instead we'll look up the closest asset from the WFS + # service at the point we're sending the report over Open311. + if (!$row->get_extra_field_value('site_code')) { + if (my $site_code = $self->lookup_site_code($row)) { + push @$extra, + { name => 'site_code', + value => $site_code }; + } + } + + $row->set_extra_fields(@$extra); +} + +sub lookup_site_code_config { { + buffer => 50, # metres + url => "https://tilma.mysociety.org/mapserver/peterborough", + srsname => "urn:ogc:def:crs:EPSG::27700", + typename => "highways", + property => "Usrn", + accept_feature => sub { 1 }, + accept_types => { Polygon => 1 }, +} } + +sub open311_munge_update_params { + my ($self, $params, $comment, $body) = @_; + + # Peterborough want to make it clear in Confirm when an update has come + # from FMS. + $params->{description} = "[Customer FMS update] " . $params->{description}; +} + +1; diff --git a/perllib/FixMyStreet/Geocode/OSM.pm b/perllib/FixMyStreet/Geocode/OSM.pm index a36ae3192..6e6dbfbb1 100644 --- a/perllib/FixMyStreet/Geocode/OSM.pm +++ b/perllib/FixMyStreet/Geocode/OSM.pm @@ -55,6 +55,7 @@ sub string { my ( $error, @valid_locations, $latitude, $longitude, $address ); foreach (@$js) { $c->cobrand->call_hook(geocoder_munge_results => $_); + next unless $_->{display_name}; ( $latitude, $longitude ) = map { Utils::truncate_coordinate($_) } ( $_->{lat}, $_->{lon} ); diff --git a/perllib/FixMyStreet/Roles/Extra.pm b/perllib/FixMyStreet/Roles/Extra.pm index 883ac2fd7..5132c3e58 100644 --- a/perllib/FixMyStreet/Roles/Extra.pm +++ b/perllib/FixMyStreet/Roles/Extra.pm @@ -141,6 +141,7 @@ sub push_extra_fields { Given an extra field, will replace one with the same code in the existing list of fields, or add to the end if not present. +Returns true if it was already present, false if newly added. =cut @@ -167,6 +168,7 @@ sub update_extra_field { } $self->set_extra_fields(@$existing); + return $found; } =head2 remove_extra_field diff --git a/templates/email/peterborough/_council_reference.html b/templates/email/peterborough/_council_reference.html new file mode 100644 index 000000000..8a1a9e1ee --- /dev/null +++ b/templates/email/peterborough/_council_reference.html @@ -0,0 +1,3 @@ +<p style="[% p_style %]">The report's reference number is <strong>[% problem.id %]</strong>. + Please quote this if you need to contact the council about this report.</p> + diff --git a/templates/email/peterborough/_council_reference.txt b/templates/email/peterborough/_council_reference.txt new file mode 100644 index 000000000..75d7e93d2 --- /dev/null +++ b/templates/email/peterborough/_council_reference.txt @@ -0,0 +1,2 @@ +The report's reference number is [% problem.id %]. Please quote this if +you need to contact the council about this report. diff --git a/templates/email/peterborough/_council_reference_alert_update.html b/templates/email/peterborough/_council_reference_alert_update.html new file mode 100644 index 000000000..bc7e0282c --- /dev/null +++ b/templates/email/peterborough/_council_reference_alert_update.html @@ -0,0 +1,2 @@ +<p style="[% p_style %]">The report's reference number is <strong>[% problem.id %]</strong>. + Please quote this if you need to contact the council about this report.</p> diff --git a/templates/email/peterborough/_council_reference_alert_update.txt b/templates/email/peterborough/_council_reference_alert_update.txt new file mode 100644 index 000000000..75d7e93d2 --- /dev/null +++ b/templates/email/peterborough/_council_reference_alert_update.txt @@ -0,0 +1,2 @@ +The report's reference number is [% problem.id %]. Please quote this if +you need to contact the council about this report. diff --git a/templates/email/peterborough/_email_color_overrides.html b/templates/email/peterborough/_email_color_overrides.html new file mode 100644 index 000000000..e2440c703 --- /dev/null +++ b/templates/email/peterborough/_email_color_overrides.html @@ -0,0 +1,18 @@ +[% + +color_green = '#337b1c' +color_white = '#fff' + +header_background_color = color_white +header_text_color = color_green + +secondary_column_background_color = color_white + +button_background_color = color_green +button_text_color = color_white + +logo_width = "231" # pixel measurement, but without 'px' suffix +logo_height = "102" # pixel measurement, but without 'px' suffix +logo_file = "logo.gif" + +%] diff --git a/templates/web/fixmystreet.com/footer_extra_js.html b/templates/web/fixmystreet.com/footer_extra_js.html index 6fcb5d59c..c8ad921f6 100644 --- a/templates/web/fixmystreet.com/footer_extra_js.html +++ b/templates/web/fixmystreet.com/footer_extra_js.html @@ -15,6 +15,7 @@ IF bodyclass.match('mappage'); scripts.push( version('/cobrands/northamptonshire/assets.js') ); scripts.push( version('/cobrands/hounslow/assets.js') ); scripts.push( version('/cobrands/westminster/assets.js') ); + scripts.push( version('/cobrands/peterborough/js.js') ); scripts.push( version('/cobrands/highways/assets.js') ); scripts.push( version('/cobrands/fixmystreet-uk-councils/council_validation_rules.js') ); scripts.push( diff --git a/templates/web/peterborough/about/faq-en-gb.html b/templates/web/peterborough/about/faq-en-gb.html new file mode 100755 index 000000000..3835b71b7 --- /dev/null +++ b/templates/web/peterborough/about/faq-en-gb.html @@ -0,0 +1,97 @@ +[% INCLUDE 'header.html', title = loc('Frequently Asked Questions'), bodyclass = 'twothirdswidthpage' %] + +[% INCLUDE 'about/_sidebar.html' %] + +<h1><a name="faq"></a>[% loc('Frequently Asked Questions') %]</h1> + +<dl> + + <dt>What is this site?</dt> + <dd>[% site_name %] is a site to help people report to their + local authority, view, or discuss local issues they’ve found, by + simply locating them on a map.</dd> + + <dt>How do I get in touch with [% site_name %]?</dt> + <dd>Here’s the FixMyStreet <a href="/contact">contact page</a>.</dd> + + <dt>How do I contact Peterborough City Council?</dt> + <dd>Here’s the <a href="https://www.peterborough.gov.uk/contact-us/">Peterborough City Council contact page</a>.</dd> + + + <dt>What sort of problems should I report with [% site_name %]?</dt> + <dd>This depends upon the precise purpose of [% site_name %]; + in the UK, FixMyStreet is primarily for reporting things which are + <strong>broken or dirty or damaged or dumped, and need fixing, cleaning + or clearing</strong>, such as: + <ul> + <li>Streetcleaning, such as broken glass in a cycle lane + <li>Unlit lampposts + <li>Potholes + </ul> + </dd> + + <dt>What isn’t [% site_name %] for?</dt> + <dd>[% site_name %] is not a way of getting in touch with your + authority for all issues – please use this site only for problems + such as the above. We often route problem reports via cleansing services or + highways and so using this site for other matters may result in a delay in + your report getting to the right department. <strong>You will need to + contact your authority directly for problems such as</strong>: + + <ul><li>Anti-social behaviour + <li>Any urgent or emergency problems + <li>Noise pollution or barking dogs + <li>Fires and smoke/smell pollution + <li>Missing wheelie bins or recycling boxes or missed rubbish collections + <li>Proposals for speed bumps/ CCTV/ pedestrian crossings/ new road layouts/ etc. + <li>Complaining about your neighbours + <li>Complaining about the authority + <li>Joy riding, drug taking, animal cruelty, or other criminal activity + </ul> + <p>Authorities often have direct hotlines for these sorts of issues.</p> + </dd> + + <p>Please check the <a href="https://www.peterborough.gov.uk/forms/report/">Peterborough City Council reporting page</a> for more details about these services.</p> + + <dt>How do I use the site?</dt> + <dd>After entering a location, you are presented with a map of that area. + You can view problems already reported in that area, or report ones of your + own by clicking on the map at the location of the problem.</dd> + + <dt>How are the problems solved?</dt> + <dd>They are reported to the relevant authority by email. The authority can + then resolve the problem the way they normally would. Alternatively, you + can discuss the problem on the website with others, and then together lobby + the authority to fix it, or fix it directly yourselves.</dd> + + <dt>Is it free?</dt> + <dd>The site is free to use, yes. The FixMyStreet Platform is maintained by + a registered charity, so if you want to make a contribution, + <a href="https://www.mysociety.org/donate/">please do</a>.</dd> + + <dt>Can I use [% site_name %] on my mobile?</dt> + <dd> + <p>The [% site_name %] website will already work on your mobile + phone, adapting to the size of your screen automatically.</p> + </dd> +</dl> + +<h2><a name="practical"></a>Practical Questions</h2> + +<dl> + <dt>Do you remove silly or illegal content?</dt> + <dd>[% site_name %] is not responsible for the content and + accuracy of material submitted by its users. We reserve the right to + edit or remove any problems or updates which we consider to be + inappropriate upon being informed by a user of the site.</dd> + + <dt>Why can’t I zoom out more on the reporting map?</dt> + <dd>We want to keep [% site_name %] locally focused, so restrict + the ability to move radically between areas. The map on Your Reports will + let you see all the reports you’ve made, wherever they are. If + you’re from the authority then the emailed version of the problem + report might also contain the closest road or postcode to the pin on the + map.</dd> +</dl> + +[% INCLUDE 'footer.html' pagefooter = 'yes' %] diff --git a/templates/web/peterborough/alert/_index_text.html b/templates/web/peterborough/alert/_index_text.html new file mode 100644 index 000000000..281c662b1 --- /dev/null +++ b/templates/web/peterborough/alert/_index_text.html @@ -0,0 +1,19 @@ +<p> +[% site_name %] provide RSS feeds and email alerts for local +problems, including alerts for all problems within a particular ward, or all +problems within a certain distance of a particular location. +</p> + +[% IF location_error %] + <div class="error">[% location_error %]</div> +[% ELSE %] + [% INCLUDE 'errors.html' %] +[% END %] + +<p> +[% IF c.cobrand.is_council %] +[% tprintf(loc('To find out what local alerts we have for you, please enter your %s postcode or street name and area:'), c.cobrand.council_area) %] +[% ELSE %] +[% loc('To find out what local alerts we have for you, please enter your postcode or street name and area' ) %] +[% END %] +</p> diff --git a/templates/web/peterborough/around/intro.html b/templates/web/peterborough/around/intro.html new file mode 100644 index 000000000..8d6d5e54a --- /dev/null +++ b/templates/web/peterborough/around/intro.html @@ -0,0 +1,2 @@ +<h1>Report local problems</h1> +<h2>Report a problem on a street in your area and see other reported issues.</h2> diff --git a/templates/web/peterborough/before_wrapper.html b/templates/web/peterborough/before_wrapper.html new file mode 100644 index 000000000..506eafae4 --- /dev/null +++ b/templates/web/peterborough/before_wrapper.html @@ -0,0 +1,6 @@ +[% IF c.config.BASE_URL == "https://www.fixmystreet.com" %] +<!-- Google Tag Manager (noscript) --> +<noscript><iframe src="https://www.googletagmanager.com/ns.html?id=UA-144500283-1" +height="0" width="0" style="display:none;visibility:hidden"></iframe></noscript> +<!-- End Google Tag Manager (noscript) --> +[% END %] diff --git a/templates/web/peterborough/footer_extra.html b/templates/web/peterborough/footer_extra.html new file mode 100644 index 000000000..d20bdf876 --- /dev/null +++ b/templates/web/peterborough/footer_extra.html @@ -0,0 +1,19 @@ +<footer class="pboro-footer"> + <ul> + <li><a href="https://www.peterborough.gov.uk/accessibility/"> + Accessibility + </a></li> + <li><a href="https://www.peterborough.gov.uk/privacy/"> + Privacy policy + </a></li> + <li><a href="https://www.peterborough.gov.uk/cookies/"> + Cookies + </a></li> + <li><a href="https://www.peterborough.gov.uk/disclaimer/"> + Disclaimer + </a></li> + <li><a href="https://www.peterborough.gov.uk/contact-us/"> + Contact us + </a></li> + </ul> +</div> diff --git a/templates/web/peterborough/footer_extra_js.html b/templates/web/peterborough/footer_extra_js.html new file mode 100644 index 000000000..afed8d350 --- /dev/null +++ b/templates/web/peterborough/footer_extra_js.html @@ -0,0 +1,14 @@ +[% scripts.push( + version('/cobrands/fixmystreet-uk-councils/js.js'), + version('/cobrands/fixmystreet-uk-councils/council_validation_rules.js'), +) %] +[%~ +IF bodyclass.match('mappage'); + scripts.push( + version('/vendor/OpenLayers.Projection.OrdnanceSurvey.js'), + version('/cobrands/fixmystreet/assets.js'), + version('/cobrands/peterborough/js.js'), + version('/cobrands/highways/assets.js'), + ); +END +%] diff --git a/templates/web/peterborough/header_extra.html b/templates/web/peterborough/header_extra.html new file mode 100644 index 000000000..4aa99dd3c --- /dev/null +++ b/templates/web/peterborough/header_extra.html @@ -0,0 +1,2 @@ +[% INCLUDE 'tracking_code.html' %] +<link rel="stylesheet" href="//fonts.googleapis.com/css?family=Roboto:900,400,700,300,100"> diff --git a/templates/web/peterborough/header_logo.html b/templates/web/peterborough/header_logo.html new file mode 100644 index 000000000..dbb0f51f4 --- /dev/null +++ b/templates/web/peterborough/header_logo.html @@ -0,0 +1,2 @@ + <a href="https://www.peterborough.gov.uk/" id="site-logo">Peterborough City Council</a> + <a href="/" id="report-cta" title="[%- loc('Report a problem') -%]">[%- loc('Report') -%]</a> diff --git a/templates/web/peterborough/index-steps.html b/templates/web/peterborough/index-steps.html new file mode 100644 index 000000000..13d8c8961 --- /dev/null +++ b/templates/web/peterborough/index-steps.html @@ -0,0 +1,13 @@ +<h2>[% loc('How to report a problem') %]</h2> + +<ol class="big-numbers"> + <li>[% question %]</li> + <li>[% loc('Locate the problem on a map') %]</li> + <li>[% loc('Enter more details of the problem') %]</li> + <li>Confirm your report and [% c.cobrand.council_name %] will investigate</li> +</ol> + +<section class="full-width"> +[% INCLUDE "front/stats.html" %] +[% TRY %][% INCLUDE "front/tips.html" %][% CATCH file %][% END %] +</section> diff --git a/templates/web/peterborough/report/_council_sent_info.html b/templates/web/peterborough/report/_council_sent_info.html new file mode 100644 index 000000000..1963020bc --- /dev/null +++ b/templates/web/peterborough/report/_council_sent_info.html @@ -0,0 +1,17 @@ +[% SET duration_clause = problem.duration_string(c) %] +[% IF duration_clause || problem.whensent %] + <p class="council_sent_info"> + [%- IF problem.whensent %] + [%- IF duration_clause %] + [%- external_ref_clause = tprintf(loc('Council ref: %s'), problem.id) %] + [%- ELSE %] + [%- external_ref_clause = tprintf(loc('%s ref: %s'), problem.external_body, problem.id) %] + [%- END %] + [%- END -%] + [% duration_clause %] + [%- IF external_ref_clause %] + [%- IF duration_clause %]. [% END %] + <strong>[% external_ref_clause %].</strong> + [%- END %] + </p> +[% END %] diff --git a/templates/web/peterborough/tracking_code.html b/templates/web/peterborough/tracking_code.html new file mode 100644 index 000000000..695aac833 --- /dev/null +++ b/templates/web/peterborough/tracking_code.html @@ -0,0 +1,15 @@ +[% IF c.config.BASE_URL == "https://www.fixmystreet.com" %] + +<!-- Global Site Tag (gtag.js) - Google Analytics --> +<script async src="https://www.googletagmanager.com/gtag/js?id=UA-144500283-1"></script> +<script> + window.dataLayer = window.dataLayer || []; + function gtag(){dataLayer.push(arguments);} + gtag('js', new Date()); + + gtag('config', 'UA-144500283-1'); +</script> + +[% ELSE %] +<!-- Tracking code not inserted as "[% c.config.BASE_URL %]" not "https://www.fixmystreet.com" --> +[% END %] diff --git a/web/cobrands/bexley/js.js b/web/cobrands/bexley/js.js index cc973fda6..24643e4db 100644 --- a/web/cobrands/bexley/js.js +++ b/web/cobrands/bexley/js.js @@ -14,7 +14,6 @@ var defaults = { SRSNAME: "urn:ogc:def:crs:EPSG::3857" } }, - format_class: OpenLayers.Format.GML.v3.MultiCurveFix, // Not sure needed any more max_resolution: 4.777314267158508, min_resolution: 0.5971642833948135, geometryName: 'msGeometry', diff --git a/web/cobrands/bromley/assets.js b/web/cobrands/bromley/assets.js index 13be2d463..a0ca82134 100644 --- a/web/cobrands/bromley/assets.js +++ b/web/cobrands/bromley/assets.js @@ -14,7 +14,6 @@ var defaults = { SRSNAME: "urn:ogc:def:crs:EPSG::3857" } }, - format_class: OpenLayers.Format.GML.v3.MultiCurveFix, asset_type: 'spot', max_resolution: 4.777314267158508, min_resolution: 0.5971642833948135, diff --git a/web/cobrands/buckinghamshire/assets.js b/web/cobrands/buckinghamshire/assets.js index 699588d98..74253448e 100644 --- a/web/cobrands/buckinghamshire/assets.js +++ b/web/cobrands/buckinghamshire/assets.js @@ -14,7 +14,6 @@ var defaults = { SRSNAME: "urn:ogc:def:crs:EPSG::27700" } }, - format_class: OpenLayers.Format.GML.v3.MultiCurveFix, asset_type: 'spot', max_resolution: { 'buckinghamshire': 2.116670900008467, diff --git a/web/cobrands/fixmystreet-uk-councils/council_validation_rules.js b/web/cobrands/fixmystreet-uk-councils/council_validation_rules.js index f693f59f8..3f350a82f 100644 --- a/web/cobrands/fixmystreet-uk-councils/council_validation_rules.js +++ b/web/cobrands/fixmystreet-uk-councils/council_validation_rules.js @@ -45,6 +45,7 @@ body_validation_rules = { maxlength: 50 } }, + 'Peterborough City Council': confirm_validation_rules, 'Rutland County Council': { title: { required: true, diff --git a/web/cobrands/fixmystreet/assets.js b/web/cobrands/fixmystreet/assets.js index 0bd6d411b..ad832e67f 100644 --- a/web/cobrands/fixmystreet/assets.js +++ b/web/cobrands/fixmystreet/assets.js @@ -534,7 +534,7 @@ function construct_protocol_options(options) { if (options.http_options !== undefined) { protocol_options = options.http_options; OpenLayers.Util.applyDefaults(options, { - format_class: OpenLayers.Format.GML, + format_class: OpenLayers.Format.GML.v3, format_options: {} }); if (options.geometryName) { @@ -1182,6 +1182,7 @@ fixmystreet.message_controller = (function() { } else { $msg.insertBefore('#js-post-category-messages'); } + $msg[0].scrollIntoView(); } disable_report_form(stopper.keep_category_extras); } diff --git a/web/cobrands/highways/assets.js b/web/cobrands/highways/assets.js index dc0c43468..5c57f308a 100644 --- a/web/cobrands/highways/assets.js +++ b/web/cobrands/highways/assets.js @@ -14,7 +14,6 @@ var defaults = { SRSNAME: "urn:ogc:def:crs:EPSG::3857" } }, - format_class: OpenLayers.Format.GML.v3.MultiCurveFix, asset_type: 'area', // this covers zoomed right out on Cumbrian sections of // the M6 diff --git a/web/cobrands/hounslow/assets.js b/web/cobrands/hounslow/assets.js index abe3d20da..2dd996c68 100644 --- a/web/cobrands/hounslow/assets.js +++ b/web/cobrands/hounslow/assets.js @@ -14,7 +14,6 @@ var defaults = { SRSNAME: "urn:ogc:def:crs:EPSG::27700" } }, - format_class: OpenLayers.Format.GML.v3.MultiCurveFix, asset_type: 'spot', max_resolution: { 'hounslow': 0.5291677250021167, diff --git a/web/cobrands/isleofwight/assets.js b/web/cobrands/isleofwight/assets.js index 9d5c8de50..0a43e9e2c 100644 --- a/web/cobrands/isleofwight/assets.js +++ b/web/cobrands/isleofwight/assets.js @@ -19,7 +19,6 @@ var defaults = { SRSNAME: "urn:ogc:def:crs:EPSG::27700" } }, - format_class: OpenLayers.Format.GML.v3.MultiCurveFix, max_resolution: { 'isleofwight': 0.5291677250021167, 'fixmystreet': 1.194328566789627 diff --git a/web/cobrands/lincolnshire/assets.js b/web/cobrands/lincolnshire/assets.js index afe6abf8f..cb85f8fc6 100644 --- a/web/cobrands/lincolnshire/assets.js +++ b/web/cobrands/lincolnshire/assets.js @@ -14,7 +14,6 @@ var defaults = { SRSNAME: "urn:ogc:def:crs:EPSG::3857" } }, - format_class: OpenLayers.Format.GML.v3.MultiCurveFix, asset_type: 'spot', max_resolution: 2.388657133579254, min_resolution: 0.5971642833948135, diff --git a/web/cobrands/peterborough/_colours.scss b/web/cobrands/peterborough/_colours.scss new file mode 100644 index 000000000..8211d8835 --- /dev/null +++ b/web/cobrands/peterborough/_colours.scss @@ -0,0 +1,46 @@ +/* COLOURS */ + +$menu-image: 'menu-black'; + +$mappage-header-height: 134px; + +// Primary +$white: #fff; +$green: #337b1c; +$grey: #666664; + + +// Secondary +$orange: #ea8032; +$blue: #43609a; +$pale_green: #f2f7f0; +$alt_green: #328b15; +$light_green: #73bf5b; +$dark_green: #0f4a40; +$teal :#1e98a7; +$black: #333; + +$primary: $green; +$primary_b: #222; +$primary_text: $white; + +$base_bg: $white; +$base_fg: #222; + +$link-color: $green; +$link-visited_color: $dark_green; +$link-hover-color: $dark_green; + +$nav_background_colour: $white; +$nav_colour: $grey; +$nav_hover_background_colour: darken($green, 10%); + +$col_click_map: $green; + +$header-top-border: false; + +$roboto: 'Roboto', Arial, sans-serif; + +$heading-font: $roboto; +$body-font: $roboto; +$meta-font: $roboto; diff --git a/web/cobrands/peterborough/base.scss b/web/cobrands/peterborough/base.scss new file mode 100644 index 000000000..58b31c66b --- /dev/null +++ b/web/cobrands/peterborough/base.scss @@ -0,0 +1,137 @@ +@import "../sass/h5bp"; +@import "./_colours"; +@import "../sass/mixins"; +@import "../sass/base"; + +#site-logo { + width: 162px; + height: 56px; + padding: 0.5em 0; + @include svg-background-image('/cobrands/peterborough/images/logo'); + background-position: 0 50%; + background-repeat: no-repeat; + background-size: 162px 56px; +} + +#postcodeForm .form-hint { + color: $white; +} + +#map_box #map { + background-color: white; +} + +input { + font-family: $body-font; +} + +label { + cursor: auto; +} + +h1, h2, h3, h4, h5, h6 { + font-weight: 700; +} + +h1, h2 { + color: $alt-green; +} + +#front-main { + h2 { + font-style: normal; + font-weight: normal; + color: $primary_b; + } + #postcodeForm { + background-color: #fff; + div input#sub { + background-color: $link-color; + } + } + label, + .form-hint { + color: $primary_b; + } + a#geolocate_link { + background-color: transparent; + padding: 0; + color: $link-color; + &:hover, + &:active, + &:focus { + background-color: transparent; + text-decoration: underline + } + } +} + +.btn-primary, +.green-btn, +.btn--primary { + border: none; + background: $green; + + &:hover, + &:active { + background: lighten($green, 5%); + } +} + +.general-notes { + .box-warning { + font-size: 1.2em; + } +} + +.nav-menu { + font-weight: 700; +} + +a, +.fake-link { + color: $link-color; + + &:visited { + color: $link-visited-color; + } + + &:hover, + &:active { + color: $link-hover-color; + } +} + +.dz-clickable .dz-message u { + color: $link-color; +} + +.big-green-banner { + text-transform: none; +} + +.pboro-footer { + text-align: center; + margin-top: 15px; + padding-top: 10px; + padding-bottom: 10px; + border-top: 1px solid #e9e9e9; + p { + margin: 30px 0 0; + } + + ul { + margin: 10px 0 15px; + } + + li { + list-style: none; + } + + a { + color: $black; + text-decoration: underline; + margin: 0 0.5em; + font-size: 1.1em; + } +}
\ No newline at end of file diff --git a/web/cobrands/peterborough/images/logo.png b/web/cobrands/peterborough/images/logo.png Binary files differnew file mode 100644 index 000000000..bb58b9807 --- /dev/null +++ b/web/cobrands/peterborough/images/logo.png diff --git a/web/cobrands/peterborough/images/logo.svg b/web/cobrands/peterborough/images/logo.svg new file mode 100644 index 000000000..1a02502fd --- /dev/null +++ b/web/cobrands/peterborough/images/logo.svg @@ -0,0 +1,86 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- Generator: Adobe Illustrator 23.0.4, SVG Export Plug-In . SVG Version: 6.00 Build 0) --> +<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" + viewBox="0 0 162 56" style="enable-background:new 0 0 162 56;" xml:space="preserve"> +<style type="text/css"> + .st0{fill:#007361;} + .st1{fill:none;} + .st2{fill:#63BB46;} +</style> +<g> + <path class="st0" d="M2.7,36.5c-1-2.1,1.1-3.3,2.1-3.9c10.1-6.3,15.7-8.9,23.9-11c10.7-2.8,21.8-1.6,27.6,1 + c3.6,1.6,2.4,2.9,2.1,3.3c-1.4,2.1-3.3,3.5-5.1,5.8c-2.8,3.5-4.1,5.5-6.3,9.4c0.7-3.6,1.5-5.6,3.1-8.9c1.1-2.1,1.7-3.3,3.1-5.2 + c-8.7-0.1-13.8,0.7-22,3.6c-10,3.5-15.7,7.3-23.2,14c-0.5,0.5-1.8,0.4-2.1-0.2C4.1,40.8,4.2,39.7,2.7,36.5"/> + <path class="st1" d="M2.7,36.5c-1-2.1,1.1-3.3,2.1-3.9c10.1-6.3,15.7-8.9,23.9-11c10.7-2.8,21.8-1.6,27.6,1 + c3.6,1.6,2.4,2.9,2.1,3.3c-1.4,2.1-3.3,3.5-5.1,5.8c-2.8,3.5-4.1,5.5-6.3,9.4c0.7-3.6,1.5-5.6,3.1-8.9c1.1-2.1,1.7-3.3,3.1-5.2 + c-8.7-0.1-13.8,0.7-22,3.6c-10,3.5-15.7,7.3-23.2,14c-0.5,0.5-1.8,0.4-2.1-0.2C4.1,40.8,4.2,39.7,2.7,36.5z"/> + <path class="st2" d="M60.5,27.3c-3.6,3.2-9.3,10.1-11,13.1c-2.1,3.8-3.1,7.6-0.4,9c1.8,1,5-0.5,8.2-2.3c6.6-3.6,25.9-13.1,44-15.4 + c21.2-2.9,41.5,2.4,54.5,5.9c0.6,0.2,5-3.1,3.6-3.7c-11.3-5.6-35.5-12.4-58.6-10.2c-16.6,1.6-26.6,5.8-42,13.2 + c-2.7,1.3-3.9,2.3-4.9,2.1c-0.7-0.2-0.1-1.9,1-3.6C56,33.4,58.1,30.8,60.5,27.3"/> + <path class="st1" d="M60.5,27.3c-3.6,3.2-9.3,10.1-11,13.1c-2.1,3.8-3.1,7.6-0.4,9c1.8,1,5-0.5,8.2-2.3c6.6-3.6,25.9-13.1,44-15.4 + c21.2-2.9,41.5,2.4,54.5,5.9c0.6,0.2,5-3.1,3.6-3.7c-11.3-5.6-35.5-12.4-58.6-10.2c-16.6,1.6-26.6,5.8-42,13.2 + c-2.7,1.3-3.9,2.3-4.9,2.1c-0.7-0.2-0.1-1.9,1-3.6C56,33.4,58.1,30.8,60.5,27.3z"/> + <path class="st0" d="M2.4,13.2h5v-0.4c-1.1-0.1-1.3-0.2-1.3-1.4V8.6c1.9,0,2.8,0,3.7-0.5c1.2-0.6,1.4-1.7,1.4-2.2 + c0-2.6-2.7-2.8-3.9-2.8H2.4v0.4c0.7,0.1,1.3,0.1,1.3,1.4v6.6c0,0.8-0.2,1.1-0.4,1.2c-0.1,0.1-0.1,0.1-0.9,0.2L2.4,13.2 M6.1,4.2 + c0-0.3,0.2-0.5,0.7-0.5c1.2,0,1.7,0.5,1.7,2.2c0,1.8-0.6,2.2-2.4,2.2C6.1,8.1,6.1,4.2,6.1,4.2z"/> + <path class="st0" d="M14.3,3.6c0.6,0,1.3,0.1,1.3,1.1v7.2c0,1-0.4,1-1.3,1.1v0.4H23l0.6-3.1h-0.4c-1,2.2-2.4,2.7-3.9,2.7 + c-1,0-1.3-0.2-1.3-0.9V8.5c1.5,0,2.2,0.4,2.4,2.3h0.4v-5h-0.4C20.2,7.6,19.4,8,18,8V4.6c0-0.6,0.3-0.7,1.1-0.7c2,0,3.1,0.4,3.4,2.4 + h0.3v-3h-8.6v0.2"/> + <path class="st0" d="M34.4,12.9c-1.1-0.1-1.5-0.1-1.5-1.4V3.6c1.1,0.1,2.5,0.1,2.9,2.6h0.4v-3h-8.9v3h0.4c0.3-2.3,1.8-2.4,2.9-2.6 + v7.9c0,1.3-0.3,1.3-1.5,1.4v0.3h5.3L34.4,12.9"/> + <path class="st0" d="M39.6,3.6c0.6,0,1.3,0.1,1.3,1.1v7.2c0,1-0.4,1-1.3,1.1v0.4h8.7l0.6-3.1h-0.4c-1,2.2-2.4,2.7-3.9,2.7 + c-1,0-1.3-0.2-1.3-0.9V8.5c1.5,0,2.2,0.4,2.4,2.3h0.4v-5h-0.4c-0.2,1.8-1,2.2-2.4,2.2V4.6c0-0.6,0.3-0.7,1.1-0.7 + c2,0,3.1,0.4,3.4,2.4h0.3v-3h-8.5L39.6,3.6"/> + <path class="st0" d="M56.2,4.3c0.1-0.4,0.1-0.6,1-0.6c1.2,0,1.8,0.6,1.8,2.1C59,7.7,58.3,8,56.2,8V4.3 M62.8,12.9 + c-0.2,0-0.4,0-0.6-0.3l-3-4.3c0.8-0.2,2.3-0.7,2.3-2.5c0-2.5-3.2-2.7-4.1-2.7h-4.8v0.4c0.9,0.1,1.3,0.1,1.3,1.4v6.6 + c0,1.2-0.3,1.3-1.3,1.4v0.3h5v-0.3c-1-0.1-1.3-0.2-1.3-1.4V8.6h0.3l3.1,4.7h3.1V12.9z"/> + <path class="st0" d="M69.5,8.1H70c1,0,2.2,0.3,2.2,2.4c0,1-0.2,2.2-1.8,2.2c-0.6,0-0.9-0.2-0.9-1L69.5,8.1 M69.5,4.4 + c0-0.3,0-0.7,0.7-0.7c1.2,0,1.5,0.9,1.5,1.9c0,1.5-0.3,2.1-2.3,2.1V4.4C69.4,4.4,69.5,4.4,69.5,4.4z M65.8,13.2h4.8 + c3.2-0.1,4.1-1.5,4.1-2.8c0-1.7-1.6-2.4-2.8-2.7l0,0c0.6-0.2,2.3-0.5,2.3-2.2c0-2.3-3.1-2.3-3.8-2.3h-4.6v0.4 + c0.6,0,1.3,0.1,1.3,1.1V12C67.1,13,66.7,13,65.8,13.2L65.8,13.2L65.8,13.2L65.8,13.2z"/> + <path class="st0" d="M84,3.5c2.1,0,2.7,2.7,2.7,4.8c0,1.3-0.1,4.8-2.7,4.8c-2.5,0-2.7-3.5-2.7-4.8C81.4,6.1,82,3.5,84,3.5 M84,2.9 + c-2.9,0-5.2,2-5.2,5.3c0,3.1,2.2,5.3,5.2,5.3c3.1,0,5.3-2.1,5.3-5.3C89.3,5.1,86.9,2.9,84,2.9"/> + <path class="st0" d="M96.7,4.3c0.1-0.4,0.1-0.6,1-0.6c1.2,0,1.8,0.6,1.8,2.1c0,1.9-0.7,2.2-2.8,2.2V4.3 M103.2,12.9 + c-0.2,0-0.4,0-0.6-0.3l-3-4.3c0.9-0.2,2.3-0.7,2.3-2.5c0-2.5-3.2-2.7-4.1-2.7H93v0.4c0.8,0.1,1.3,0.1,1.3,1.4v6.6 + c0,1.2-0.3,1.3-1.3,1.4v0.3h5v-0.3c-1-0.1-1.3-0.2-1.3-1.4V8.6h0.4l3.1,4.7h3.1L103.2,12.9L103.2,12.9L103.2,12.9z"/> + <path class="st0" d="M111.4,3.5c2.1,0,2.7,2.7,2.7,4.8c0,1.3-0.1,4.8-2.7,4.8c-2.6,0-2.7-3.5-2.7-4.8 + C108.9,6.1,109.4,3.5,111.4,3.5 M111.4,2.9c-2.9,0-5.2,2-5.2,5.3c0,3.1,2.2,5.3,5.2,5.3c3.1,0,5.2-2.1,5.2-5.3 + C116.7,5.1,114.3,2.9,111.4,2.9"/> + <path class="st0" d="M130.4,3.3h-3.3v0.4c1.3,0.1,1.5,0.5,1.5,1.5v4.6c0,1,0,3.2-2.7,3.2c-2.1,0-2.1-2-2.1-2.9v-5 + c0-1.3,0.4-1.3,1.5-1.4V3.3h-5v0.4c0.9,0.1,1.2,0.1,1.2,1.4v5c0,1.6,0.4,2.1,1.1,2.7c1,0.8,2.3,1,3,1c0.8,0,2.2-0.3,3-1.1 + c0.6-0.6,0.9-2,0.9-2.9V5c0-1,0.3-1.2,1.2-1.3V3.3"/> + <path class="st0" d="M144.8,9h-5.1v0.3c1.1,0.1,1.5,0.1,1.5,1.1V12c0,0.6-0.2,1.1-1.6,1.1c-2.8,0-2.9-3.7-2.9-4.8 + c0-2.5,0.6-4.8,2.8-4.8c1.7,0,3,1.7,3.5,3.1h0.4V3H143c-0.1,0.4-0.3,0.6-0.6,0.6c-0.4,0-1.5-0.7-2.9-0.7c-3.2,0-5.3,2.4-5.3,5.3 + c0,2.6,1.7,5.2,5.4,5.2c1.3,0,3.3-0.4,4-1v-1.9C143.6,9.3,143.9,9.2,144.8,9L144.8,9"/> + <path class="st0" d="M159.1,12.9c-0.7-0.1-1.3-0.2-1.3-1.1V4.6c0-1,0.6-1.1,1.3-1.1V3.1H154v0.4c0.6,0,1.4,0.1,1.4,1.1v3.1h-3.6 + V4.6c0-1,0.6-1.1,1.4-1.1V3.1h-5v0.4c0.6,0.1,1.3,0.1,1.3,1.1v7.2c0,0.9-0.4,1-1.3,1.1v0.3h5v-0.3c-0.7-0.1-1.4-0.1-1.4-1.1V8.4 + h3.6v3.4c0,1-0.5,1-1.4,1.1v0.3h5.1V12.9"/> + <path class="st0" d="M77.1,49.2c-0.7,0.9-1.5,1.2-2.2,1.2c-0.3,0-1.1-0.1-1.4-0.9c-0.3-0.6-0.4-1.5-0.4-2c0-1.6,0.3-3,1.7-3 + c1.1,0,1.8,1.1,2.1,1.9h0.2v-2.1h-0.2c-0.1,0.2-0.2,0.4-0.4,0.4s-1-0.4-1.8-0.4c-1.9,0-3.3,1.5-3.3,3.3c0,1.7,1.2,3.3,3.3,3.3 + c1.2,0,1.9-0.5,2.5-1.4L77.1,49.2"/> + <path class="st0" d="M82.8,50.4c-0.5,0-0.9-0.1-0.9-0.6v-4.5c0-0.6,0.4-0.6,0.9-0.6v-0.3h-3.3v0.2c0.4,0,0.9,0,0.9,0.6v4.5 + c0,0.5-0.3,0.6-0.9,0.6v0.2L82.8,50.4L82.8,50.4"/> + <path class="st0" d="M89.5,50.4c-0.6,0-1-0.1-1-0.9v-4.9c0.6,0,1.6,0.1,1.8,1.6h0.3v-1.9h-5.5v1.9h0.3c0.2-1.5,1.2-1.5,1.8-1.6v4.9 + c0,0.7-0.2,0.9-0.8,0.9v0.2h3.3v-0.2"/> + <path class="st0" d="M99.1,44.4h-2v0.2c0.4,0,0.7,0,0.7,0.4c0,0.2-0.3,0.7-0.3,0.8l-1.1,1.7l-1.1-2.1c-0.1-0.1-0.2-0.4-0.2-0.5 + c0-0.2,0.1-0.3,0.7-0.3v-0.2h-3.1v0.2c0.4,0,0.7,0.4,0.7,0.5l1.7,3.1v1.4c0,0.7-0.2,0.7-0.8,0.9v0.2h3.2v-0.2 + c-0.6-0.1-0.8-0.1-0.8-0.9v-1.7l1.8-2.9c0.2-0.3,0.4-0.3,0.6-0.3L99.1,44.4"/> + <path class="st0" d="M111.2,49.2c-0.7,0.9-1.5,1.2-2.2,1.2c-0.3,0-1.1-0.1-1.4-0.9c-0.3-0.6-0.4-1.5-0.4-2c0-1.6,0.3-3,1.7-3 + c1.1,0,1.8,1.1,2.1,1.9h0.2v-2.1H111c-0.1,0.2-0.2,0.4-0.4,0.4s-1-0.4-1.8-0.4c-1.9,0-3.3,1.5-3.3,3.3c0,1.7,1.2,3.3,3.3,3.3 + c1.2,0,1.9-0.5,2.6-1.4L111.2,49.2"/> + <path class="st0" d="M117.1,44.5c1.3,0,1.6,1.6,1.6,3c0,0.9-0.1,3-1.6,3s-1.6-2.2-1.6-3C115.5,46.2,115.9,44.5,117.1,44.5 + M117.1,44.2c-1.8,0-3.3,1.3-3.3,3.3c0,1.9,1.4,3.3,3.3,3.3c1.9,0,3.3-1.4,3.3-3.3C120.4,45.4,118.9,44.2,117.1,44.2"/> + <path class="st0" d="M129,44.4h-2v0.2c0.9,0,1,0.3,1,1v2.9c0,0.6,0,2-1.7,2c-1.4,0-1.4-1.3-1.4-1.8v-3.2c0-0.9,0.3-0.9,0.8-0.9 + v-0.2h-3.2v0.2c0.5,0.1,0.7,0.1,0.7,0.9v3.1c0,1,0.2,1.3,0.6,1.7c0.6,0.5,1.5,0.5,1.9,0.5c0.5,0,1.4-0.2,1.8-0.6s0.5-1.3,0.5-1.8 + v-3c0-0.6,0.2-0.7,0.7-0.7L129,44.4"/> + <path class="st0" d="M131.1,50.6h2.1v-0.2c-0.6-0.1-0.9-0.2-0.9-1v-3.7l0,0l4.1,5h0.2v-5.4c0-0.4,0-0.6,0.7-0.7v-0.2h-2v0.2 + c0.7,0.1,0.9,0.3,0.9,1v2.8l0,0l-3.2-3.9h-1.9v0.2c0.1,0,0.3,0,0.7,0.6v4.5c0,0.6-0.2,0.6-0.9,0.7L131.1,50.6"/> + <path class="st0" d="M145.5,49.2c-0.7,0.9-1.5,1.2-2.2,1.2c-0.3,0-1.1-0.1-1.4-0.9c-0.3-0.6-0.4-1.5-0.4-2c0-1.6,0.3-3,1.7-3 + c1.1,0,1.8,1.1,2.1,1.9h0.2v-2.1h-0.2c-0.1,0.2-0.2,0.4-0.4,0.4s-1-0.4-1.8-0.4c-1.9,0-3.3,1.5-3.3,3.3c0,1.7,1.2,3.3,3.3,3.3 + c1.2,0,1.9-0.5,2.6-1.4L145.5,49.2"/> + <path class="st0" d="M151.2,50.4c-0.5,0-0.9-0.1-0.9-0.6v-4.5c0-0.6,0.4-0.6,0.9-0.6v-0.3h-3.3v0.2c0.4,0,0.9,0,0.9,0.6v4.5 + c0,0.5-0.3,0.6-0.9,0.6v0.2L151.2,50.4L151.2,50.4"/> + <path class="st0" d="M159.1,48.5h-0.3c-0.4,1.1-1,1.8-2.3,1.8c-0.6,0-0.9-0.1-0.9-0.5v-4.4c0-0.9,0.3-0.9,1-0.9v-0.2h-3.2v0.2 + c0.4,0,0.9,0,0.9,0.6v4.5c0,0.5-0.3,0.6-0.9,0.6v0.2h5.4L159.1,48.5"/> +</g> +</svg> diff --git a/web/cobrands/peterborough/js.js b/web/cobrands/peterborough/js.js new file mode 100644 index 000000000..47172712d --- /dev/null +++ b/web/cobrands/peterborough/js.js @@ -0,0 +1,41 @@ +(function(){ + +if (!fixmystreet.maps) { + return; +} + +var defaults = { + http_options: { + url: "https://tilma.mysociety.org/mapserver/peterborough", + params: { + SERVICE: "WFS", + VERSION: "1.1.0", + REQUEST: "GetFeature", + SRSNAME: "urn:ogc:def:crs:EPSG::3857" + } + }, + max_resolution: 4.777314267158508, + min_resolution: 0.5971642833948135, + geometryName: 'msGeometry', + srsName: "EPSG:3857", + body: "Peterborough City Council", + strategy_class: OpenLayers.Strategy.FixMyStreet +}; + +fixmystreet.assets.add(defaults, { + http_options: { + params: { + TYPENAME: "highways" + } + }, + stylemap: fixmystreet.assets.stylemap_invisible, + non_interactive: true, + always_visible: true, + usrn: { + attribute: 'Usrn', + field: 'site_code' + }, + name: "Adopted Highways" +}); + +})(); diff --git a/web/cobrands/peterborough/layout.scss b/web/cobrands/peterborough/layout.scss new file mode 100644 index 000000000..62486ab35 --- /dev/null +++ b/web/cobrands/peterborough/layout.scss @@ -0,0 +1,98 @@ +@import "_colours"; + +@import "../sass/layout"; + +body.twothirdswidthpage .content .sticky-sidebar aside { + top: 10em; +} + +#site-logo { + padding: 1em 0; +} + +body.frontpage #front-main { + text-align: left; + background-color: #fff; + border-top: 1px solid #e9e9e9; + color: $primary_b; + padding: 2.5em 0; +} + +#front-main { + #postcodeForm div { + margin: 0; + } + h1 { + font-size: 3em; + } + h2 { + font-weight: normal; + font-size: 1.5em; + } + a#geolocate_link { + color: $link-color; + &:hover, + &:active, + &:focus { + color: $link-hover-color; + } + } +} + +#postcodeForm .form-hint { + color: $grey; +} + +#main-nav { + min-height: 84px; +} + +body.mappage #site-header { + height: 84px; +} + +#map_box, +#map_sidebar { + top: 84px; +} + + + +// Stop visited nav links being purple when hovering over them +.nav-menu--main { + a:hover { + color: $primary_text; + } + span { + color: $primary_b; + } + a.report-a-problem-btn { + background-color: transparent; + color: $grey; + padding: 0.75em; + margin: 0; + border-radius: 0; + &:hover, + &:active, + &:focus { + background-color: $nav_hover_background_colour; + color: #fff; + } + } + span.report-a-problem-btn { + &:hover, + &:active, + &:focus { + color: $primary_b; + } + } +} + +.pboro-footer { + li { + display: inline-block; + } + li:first-child { + border: none; + } +}
\ No newline at end of file |