diff options
24 files changed, 509 insertions, 0 deletions
diff --git a/perllib/FixMyStreet/Cobrand/Northamptonshire.pm b/perllib/FixMyStreet/Cobrand/Northamptonshire.pm new file mode 100644 index 000000000..77af588ef --- /dev/null +++ b/perllib/FixMyStreet/Cobrand/Northamptonshire.pm @@ -0,0 +1,85 @@ +package FixMyStreet::Cobrand::Northamptonshire; +use parent 'FixMyStreet::Cobrand::Whitelabel'; + +use strict; +use warnings; + +use Moo; +with 'FixMyStreet::Roles::ConfirmValidation'; + +sub council_area_id { 2234 } +sub council_area { 'Northamptonshire' } +sub council_name { 'Northamptonshire County Council' } +sub council_url { 'northamptonshire' } + +sub example_places { ( 'NN1 1NS', "Bridge Street" ) } + +sub enter_postcode_text { 'Enter a Northamptonshire postcode, street name and area, or check an existing report number' } + +sub base_url { + my $self = shift; + return $self->next::method() if FixMyStreet->config('STAGING_SITE'); + return 'https://fixmystreet.northamptonshire.gov.uk'; +} + +sub disambiguate_location { + my $self = shift; + my $string = shift; + + return { + %{ $self->SUPER::disambiguate_location() }, + centre => '52.30769080650276,-0.8647071378799923', + bounds => [ 51.97726778979222, -1.332346116362747, 52.643600776698605, -0.3416080408721255 ], + }; +} + +sub send_questionnaires { 0 } + +sub on_map_default_status { 'open' } + +sub report_sent_confirmation_email { 1 } + +sub contact_email { + my $self = shift; + return join( '@', 'highways', $self->council_url . '.gov.uk' ); +} + +sub privacy_policy_url { + 'https://www3.northamptonshire.gov.uk/councilservices/council-and-democracy/transparency/information-policies/privacy-notice/place/Pages/street-doctor.aspx' +} + +sub enable_category_groups { 1 } + +sub is_two_tier { 1 } + +sub get_geocoder { 'OSM' } + +sub map_type { 'OSM' } + +sub open311_config { + my ($self, $row, $h, $params) = @_; + + my $extra = $row->get_extra_fields; + + # remove the emergency category which is informational only + @$extra = grep { $_->{name} ne 'emergency' } @$extra; + + push @$extra, + { name => 'report_url', + value => $h->{url} }, + { name => 'title', + value => $row->title }, + { name => 'description', + value => $row->detail }, + { name => 'category', + value => $row->category }; + + $row->set_extra_fields(@$extra); + + $params->{multi_photos} = 1; +} + +# sending updates not part of initial phase +sub should_skip_sending_update { 1; } + +1; diff --git a/templates/email/northamptonshire/_council_reference.html b/templates/email/northamptonshire/_council_reference.html new file mode 100644 index 000000000..8a1a9e1ee --- /dev/null +++ b/templates/email/northamptonshire/_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/northamptonshire/_council_reference.txt b/templates/email/northamptonshire/_council_reference.txt new file mode 100644 index 000000000..75d7e93d2 --- /dev/null +++ b/templates/email/northamptonshire/_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/northamptonshire/_council_reference_alert_update.html b/templates/email/northamptonshire/_council_reference_alert_update.html new file mode 100644 index 000000000..bc7e0282c --- /dev/null +++ b/templates/email/northamptonshire/_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/northamptonshire/_council_reference_alert_update.txt b/templates/email/northamptonshire/_council_reference_alert_update.txt new file mode 100644 index 000000000..75d7e93d2 --- /dev/null +++ b/templates/email/northamptonshire/_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/northamptonshire/_email_color_overrides.html b/templates/email/northamptonshire/_email_color_overrides.html new file mode 100644 index 000000000..0946aeaaf --- /dev/null +++ b/templates/email/northamptonshire/_email_color_overrides.html @@ -0,0 +1,21 @@ +[% + +# $blue: #0066cc; +# $dark: #222; +color_purple = '#7F1183' +color_green = '#2C8500' +color_white = '#fff' + +header_background_color = color_green +header_text_color = color_white + +secondary_column_background_color = color_white + +button_background_color = color_purple +button_text_color = color_white + +logo_width = "190" # pixel measurement, but without 'px' suffix +logo_height = "41" # pixel measurement, but without 'px' suffix +logo_file = "email-logo.png" + +%] diff --git a/templates/email/northamptonshire/confirm_report_sent.html b/templates/email/northamptonshire/confirm_report_sent.html new file mode 100644 index 000000000..b698520dd --- /dev/null +++ b/templates/email/northamptonshire/confirm_report_sent.html @@ -0,0 +1 @@ +[% INCLUDE 'other-reported.html' %] diff --git a/templates/email/northamptonshire/confirm_report_sent.txt b/templates/email/northamptonshire/confirm_report_sent.txt new file mode 100644 index 000000000..3d566f89b --- /dev/null +++ b/templates/email/northamptonshire/confirm_report_sent.txt @@ -0,0 +1 @@ +[% INCLUDE 'other-reported.txt' %] diff --git a/templates/web/northamptonshire/about/_sidebar.html b/templates/web/northamptonshire/about/_sidebar.html new file mode 100644 index 000000000..e69de29bb --- /dev/null +++ b/templates/web/northamptonshire/about/_sidebar.html diff --git a/templates/web/northamptonshire/about/faq-en-gb.html b/templates/web/northamptonshire/about/faq-en-gb.html new file mode 100644 index 000000000..6aab3ba38 --- /dev/null +++ b/templates/web/northamptonshire/about/faq-en-gb.html @@ -0,0 +1,195 @@ +[% INCLUDE 'header.html', title => loc('Frequently Asked Questions'), bodyclass => 'twothirdswidthpage' %] + +<h1><a name="faq"></a>Frequently Asked Questions</h1> +<dl> + <dt>How can I report a pothole, street or road problem?</dt> + <dd> + <p> + This easy to use web site is designed to help Northamptonshire residents to report, + view, or discuss local highway faults, including potholes, directly and quickly + to us by simply locating them on a map. You can do this by using your computer + or your mobile phone. + </p> + <p> + Please report one problem at a time; you will be given an opportunity at the end + to report another problem using the personal details previously entered. + </p> + <p> + If you are reporting an emergency please do not report it online, but ring our + Customer Service Centre on <strong><a href="tel:03001261000">0300 126 1000</a></strong>. + </p> + </dd> + + <dt>What sort of problems can I report?</dt> + <dd> + <p> + You can report faults linked to amenities or problems that are broken or dirty, + damaged or dumped, or need fixing, cleaning or clearing such as: + </p> + <ul> + <li>Drain Covers</li> + <li>Kerbs</li> + <li>Safety Bollards</li> + <li>Potholes</li> + </ul> + </dd> + <dt>What isn’t it for?</dt> + <dd> + <p> + The web site is not a way of getting in touch with the council for all issues + — please use it only for problems highlighted above. + </p> + <p> + As we often route problems via our cleansing services or highways departments, + using the site for other matters may result in a delay in your report getting + to the right people. + </p> + <div style="margin-left:1.5em;"> + <p> + <strong>You will need to contact the county council directly for</strong>: + </p> + <ul> + <li>Any urgent or emergency problems + <li>Complaining about the council + <li>Proposals for speed bumps/ CCTV/ pedestrian crossings/ new road layouts/ etc. + </ul> + <p> + <strong>You will need to contact your district council directly for problems such as:</strong>: + </p> + <ul> + <li>Anti-social behaviour</li> + <li>Noise pollution or barking dogs</li> + <li>Fires and smoke/smell pollution</li> + <li>Missing wheelie bins or recycling boxes or missed rubbish collections</li> + <li>CCTV</li> + <li>Complaining about your neighbours</li> + <li>Joy riding, drug taking, animal cruelty, or other criminal activity</li> + </ul> + </p> + <p> + <strong>You will need to contact Highways England for problems on the following roads:</strong>: + </p> + <p> + <ul> + <li>M1</li> + <li>M45</li> + <li>A5</li> + <li>A14</li> + <li>A43 between the M40 Junction 10 and M1 Junction 15a (from Northampton to the county boundary near Stamford is NCC</li> + <li>A45 between Thrapston and the M1 Junction 15 (from Junction 16 to the county boundary towards Dunchurch is NCC)</li> + </ul> + </p> + </div> + </dd> + + <dt>How do I use the reporting tool on the site?</dt> + <dd> + After entering a postcode or location, you will then be presented with a map of + that area. You can then view problems already reported in that area, or report new + ones of your own simply by clicking on the map at the location of the problem. + </dd> + + <dt>How are the problems solved?</dt> + <dd> + They are reported to us automatically. We then resolve the problem the way we + normally would and update the fault on the map. + </dd> + + <dt>What does the map show?</dt> + <dd> + The map shows all faults submitted online. You can view the exact location of + each fault and see its current status. + </dd> + + <dt>What updates will I receive?</dt> + <dd> + <p> + When you record a fault you can sign up to receive updates and you will + receive an initial email to acknowledge the report. + </p> + <p> + You will then receive an email every time that fault is updated. This could be when + a member of the public posts an update onto the fault or when we post a status update. + </p> + <p> + Road problems that are the responsibility of our Highways department, such as potholes, + will receive automatic updates at different stages. You will receive an email when the + problem has been inspected and another one when a decision has been made on the action + required. + </p> + <p> + Some faults may be marked as referred when they are not the responsibility of Northamptonshire + County Council, for example problems such as graffiti or rubbish which are the responsibility + of the District Council for that area. + </p> + <p> + All of these updates will also be posted on the mapped fault so that anyone can see the status of any + fault recorded by clicking on it on the map. + </p> + </dd> + + <dt>How can I get an update on a fault?</dt> + <dd> + <p> + When you record a fault you can sign up to receive updates. You will then receive an initial + email to acknowledge the report. In time, you will receive a further email when the problem is + assigned for inspection, one if the problem needs to be referred to another department or + organisation, and a final email when it is fixed or requires no further work. + </p> + <p> + These updates will also be posted on the mapped fault so that anyone can see the status of + any fault recorded by clicking on it on the map. + </p> + </dd> + + <dt>Can I report a fault on my mobile?</dt> + <dd> + <p> + Yes, you can view our website on your phone or tablet and it will automatically adapt to the + size of your screen. + </p> + </dd> +</dl> + +<a name="practical"></a> +<dl> + <dt>Inappropriate use</dt> + <dd> + Northamptonshire County Council is not responsible for the content and + accuracy of material submitted by its users. Northamptonshire County Council will monitor + this website for instances of inappropriate use, and reserves the right to moderate + comments if such instances occur. + </dd> + + <dt>Why does the site use kilometres for measurements?</dt> + <dd> + The maps are from Ordnance Survey who based their grid reference + system on measurements in metres and kilometres. + </dd> + + <dt>How do I report a fault outside of Northamptonshire?</dt> + <dd> + The map only shows locations within Northamptonshire to keep it locally focussed. + </dd> +</dl> + +<a name="organisation"></a> +<dl> + <dt>Acknowledgement</dt> + <dd> + This site was built by <a href="http://www.mysociety.org/">mySociety</a>, + in conjunction with the <a href="http://www.youngfoundation.org.uk/">Young Foundation</a>. + FixMyStreet is the project of a registered charity mySociety which has grown out of the community of + volunteers who built sites like <a href="http://www.theyworkforyou.com/">TheyWorkForYou.com</a>. + mySociety’s primary mission is to build Internet projects which give people simple, tangible + benefits in the civic and community aspects of their lives. Their first project + was <a href="http://www.writetothem.com/">WriteToThem</a>, where you can write to any of your + elected representatives, for free. + </dd> +</dl> +<p> + You can find out more about FixMyStreet at <a href="https://www.fixmystreet.com">www.fixmystreet.com</a>. +</p> +<p> <p> + +[% INCLUDE 'footer.html' pagefooter = 'yes' %] diff --git a/templates/web/northamptonshire/around/intro.html b/templates/web/northamptonshire/around/intro.html new file mode 100644 index 000000000..d086264a4 --- /dev/null +++ b/templates/web/northamptonshire/around/intro.html @@ -0,0 +1,2 @@ + <h1>Find and report road or street problems</h1> + <h2>(like potholes, blocked drains, or obstructions)</h2> diff --git a/templates/web/northamptonshire/footer_extra.html b/templates/web/northamptonshire/footer_extra.html new file mode 100644 index 000000000..0ef9f1efc --- /dev/null +++ b/templates/web/northamptonshire/footer_extra.html @@ -0,0 +1,23 @@ +<footer class="northamptonshire"> + <p>© Northamptonshire County Council 2019</p> + <ul> + <li><a href="https://www3.northamptonshire.gov.uk/accessibility-and-web-standards/Pages/default.aspx"> + Accessibility and standards + </a></li> + <li><a href="https://www3.northamptonshire.gov.uk/accessibility-and-web-standards/Pages/terms-and-conditions.aspx"> + Terms and conditions + </a></li> + <li><a href="https://www3.northamptonshire.gov.uk/councilservices/council-and-democracy/transparency/information-policies/privacy-notice/Pages/default.aspx"> + Privacy notice + </a></li> + <li><a href="https://www3.northamptonshire.gov.uk/accessibility-and-web-standards/Pages/copyright.aspx"> + Copyright statement + </a></li> + <li><a href="https://www3.northamptonshire.gov.uk/councilservices/council-and-democracy/have-your-say/Pages/default.aspx"> + Have your say + </a></li> + <li><a href="https://www3.northamptonshire.gov.uk/contact-us/Pages/default.aspx"> + Contact us + </a></li> + </ul> +</div> diff --git a/templates/web/northamptonshire/header_extra.html b/templates/web/northamptonshire/header_extra.html new file mode 100644 index 000000000..d180c614f --- /dev/null +++ b/templates/web/northamptonshire/header_extra.html @@ -0,0 +1 @@ +<link rel="stylesheet" type="text/css" href="https://fonts.googleapis.com/css?family=Open+Sans:400,700"> diff --git a/templates/web/northamptonshire/header_logo.html b/templates/web/northamptonshire/header_logo.html new file mode 100644 index 000000000..0c4e0248a --- /dev/null +++ b/templates/web/northamptonshire/header_logo.html @@ -0,0 +1,2 @@ + <a href="https://www3.northamptonshire.gov.uk" id="site-logo">Northamptonshire County Council</a> + <a href="/" id="report-cta" title="[%- loc('Report a problem') -%]">[%- loc('Report') -%]</a> diff --git a/templates/web/northamptonshire/report/_council_sent_info.html b/templates/web/northamptonshire/report/_council_sent_info.html new file mode 100644 index 000000000..a82de72f7 --- /dev/null +++ b/templates/web/northamptonshire/report/_council_sent_info.html @@ -0,0 +1,13 @@ +[% SET duration_clause = problem.duration_string(c) %] +[% IF duration_clause || problem.whensent %] + <p class="council_sent_info"> + [%- IF problem.whensent %] + [%- external_ref_clause = tprintf(loc('ref: %s'), problem.id) %] + [%- END -%] + [% duration_clause %] + [%- IF external_ref_clause %] + [%- IF duration_clause %]. [% END %] + <strong>[% external_ref_clause %].</strong> + [%- END %] + </p> +[% END %] diff --git a/templates/web/northamptonshire/tracking_code.html b/templates/web/northamptonshire/tracking_code.html new file mode 100644 index 000000000..421e20cab --- /dev/null +++ b/templates/web/northamptonshire/tracking_code.html @@ -0,0 +1,12 @@ +[% IF c.config.BASE_URL == "https://www.fixmystreet.com" %] +<script async src="https://www.googletagmanager.com/gtag/js?id=UA-70376243-1"></script> +<script> + window.dataLayer = window.dataLayer || []; + function gtag(){dataLayer.push(arguments);} + gtag('js', new Date()); + + gtag('config', 'UA-70376243-1'); +</script> +[% ELSE %] +<!-- Tracking code not inserted as "[% c.config.BASE_URL %]" not "https://www.fixmystreet.com" --> +[% END %] diff --git a/web/cobrands/northamptonshire/_colours.scss b/web/cobrands/northamptonshire/_colours.scss new file mode 100644 index 000000000..0dfd512a7 --- /dev/null +++ b/web/cobrands/northamptonshire/_colours.scss @@ -0,0 +1,28 @@ +/* COLOURS */ + +$menu-image: 'menu-white'; + +$purple: #7F1183; +$green: #2C8500; +$blue: #0066cc; +$white: #fff; +$dark: #222; + +$primary: $green; +$primary_b: $dark; +$primary_text: $white; + +$base_bg: $white; +$base_fg: $dark; + +$nav_background_colour: $green; +$nav_colour: $white; +$nav_hover_background_colour: darken($green, 10%); + +$col_click_map: $purple; + +$header-top-border: false; + +$heading-font: PraterSansWeb, sans-serif; +$body-font: "Open Sans", Arial, "Helvetica Neue", Helvetica, sans-serif; +$meta-font: $body-font; diff --git a/web/cobrands/northamptonshire/base.scss b/web/cobrands/northamptonshire/base.scss new file mode 100644 index 000000000..55a4e6610 --- /dev/null +++ b/web/cobrands/northamptonshire/base.scss @@ -0,0 +1,82 @@ +@font-face { + font-family: 'PraterSansWeb'; + src: url("/cobrands/northamptonshire/fonts/PraterSansWeb.eot?"); + src: url("/cobrands/northamptonshire/fonts/PraterSansWeb.eot?#iefix") format("embedded-opentype"),url("/cobrands/northamptonshire/fonts/PraterSansWeb.woff") format("woff"),url("/cobrands/northamptonshire/fonts/PraterSansComp.ttf") format("truetype"); + font-weight: normal; + font-style: normal; +} + +@import "../sass/h5bp"; +@import "./_colours"; +@import "../sass/mixins"; +@import "../sass/base"; + +#site-logo { + width: 190px; + height: 41px; + padding: 11px 0; + background: url(/cobrands/northamptonshire/img/new-ncc-logo.png) 0 50% no-repeat; +} + +#postcodeForm .form-hint { + color: $white; +} + +a, +.fake-link { + text-decoration: none; + color: $blue; + + &:visited { + color: $blue; + } + + &:hover, + &:active { + text-decoration: underline; + color: $blue; + } +} + +.dz-clickable .dz-message u { + color: $blue; +} + +.btn-primary, +.green-btn, +.btn--primary { + border: none; + background: $purple; + + &:hover, + &:active { + background: lighten($purple, 5%); + } +} + +footer.northamptonshire { + background-color: $primary; + color: white; + box-shadow: 0 1000px 0 1000px $primary; + text-align: center; + margin-top: 15px; + padding-top: 10px; + padding-bottom: 10px; + + p { + margin: 30px 0 0; + } + + ul { + margin: 10px 0 15px; + } + + li { + list-style: none; + } + + a { + color: white; + padding: 0 12px; + } +} diff --git a/web/cobrands/northamptonshire/fonts/PraterSansComp.ttf b/web/cobrands/northamptonshire/fonts/PraterSansComp.ttf Binary files differnew file mode 100644 index 000000000..b581746c9 --- /dev/null +++ b/web/cobrands/northamptonshire/fonts/PraterSansComp.ttf diff --git a/web/cobrands/northamptonshire/fonts/PraterSansWeb.eot b/web/cobrands/northamptonshire/fonts/PraterSansWeb.eot Binary files differnew file mode 100644 index 000000000..cccc36ecb --- /dev/null +++ b/web/cobrands/northamptonshire/fonts/PraterSansWeb.eot diff --git a/web/cobrands/northamptonshire/fonts/PraterSansWeb.woff b/web/cobrands/northamptonshire/fonts/PraterSansWeb.woff Binary files differnew file mode 100644 index 000000000..d60859877 --- /dev/null +++ b/web/cobrands/northamptonshire/fonts/PraterSansWeb.woff diff --git a/web/cobrands/northamptonshire/images/email-logo.png b/web/cobrands/northamptonshire/images/email-logo.png Binary files differnew file mode 100644 index 000000000..9fc1bcc05 --- /dev/null +++ b/web/cobrands/northamptonshire/images/email-logo.png diff --git a/web/cobrands/northamptonshire/img/new-ncc-logo.png b/web/cobrands/northamptonshire/img/new-ncc-logo.png Binary files differnew file mode 100644 index 000000000..9fc1bcc05 --- /dev/null +++ b/web/cobrands/northamptonshire/img/new-ncc-logo.png diff --git a/web/cobrands/northamptonshire/layout.scss b/web/cobrands/northamptonshire/layout.scss new file mode 100644 index 000000000..dcdc40c92 --- /dev/null +++ b/web/cobrands/northamptonshire/layout.scss @@ -0,0 +1,34 @@ +@import "_colours"; + +@import "../sass/layout"; + +#front-main { + color: $base_fg; + background-color: $base_bg; + padding: 3em 1em; +} +#postcodeForm .form-hint { + color: $dark; +} + +.nav-menu--main { + a.report-a-problem-btn:hover { + background-color: $nav_hover_background_colour; + } + span { + color: $nav_colour; + } + span.report-a-problem-btn:hover { + color: $nav_colour; + } +} + +footer.northamptonshire { + li { + display: inline-block; + border-left: solid 1px white; + } + li:first-child { + border: none; + } +} |