aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDave Arter <davea@mysociety.org>2015-06-30 11:05:20 +0100
committerDave Arter <davea@mysociety.org>2015-06-30 11:05:20 +0100
commit9b7e4fdebeecbed6f600577177a86e3c216368c0 (patch)
treec822ed7769df3431aa5c283fbcd4894955df86d5
parentbff57817b0a8d9d2ab8ceeecbcba17f259d4ac1a (diff)
parent0ec07300dc6fd0fb455473150917ec8c9e38c22e (diff)
Merge branch 'issues/commercial/709-greenwich-cobrand-rebased'
-rw-r--r--perllib/FixMyStreet/Cobrand/Greenwich.pm47
-rw-r--r--perllib/FixMyStreet/SendReport/Open311.pm4
-rwxr-xr-xtemplates/web/fixmystreet.com/reports/_extras.html3
-rw-r--r--templates/web/fixmystreet.com/static/council.html2
-rw-r--r--templates/web/greenwich/around/_report_banner.html10
-rw-r--r--templates/web/greenwich/around/around_map_list_items.html0
-rw-r--r--templates/web/greenwich/around/intro.html7
-rw-r--r--templates/web/greenwich/around/on_map_list_items.html11
-rw-r--r--templates/web/greenwich/around/tabbed_lists.html5
-rw-r--r--templates/web/greenwich/faq/faq-en-gb.html134
-rw-r--r--templates/web/greenwich/footer.html44
-rw-r--r--templates/web/greenwich/front/footer-marketing.html31
-rw-r--r--templates/web/greenwich/header_logo.html29
-rw-r--r--templates/web/greenwich/my/_problem-list.html25
-rw-r--r--templates/web/greenwich/reports/_list-entry.html6
-rw-r--r--templates/web/greenwich/reports/_list-filters.html32
-rw-r--r--templates/web/greenwich/reports/_problem-list.html19
-rw-r--r--web/cobrands/greenwich/_colours.scss24
-rw-r--r--web/cobrands/greenwich/_fonts.scss3
-rw-r--r--web/cobrands/greenwich/base.scss89
-rw-r--r--web/cobrands/greenwich/bcArrow.gifbin0 -> 1166 bytes
-rw-r--r--web/cobrands/greenwich/config.rb25
-rw-r--r--web/cobrands/greenwich/layout.scss296
-rw-r--r--web/cobrands/greenwich/logo-mobile.gifbin0 -> 5252 bytes
-rw-r--r--web/cobrands/greenwich/logo.gifbin0 -> 2742 bytes
-rw-r--r--web/cobrands/greenwich/mastWave.gifbin0 -> 17255 bytes
-rw-r--r--web/cobrands/greenwich/tab-red.pngbin0 -> 2044 bytes
27 files changed, 842 insertions, 4 deletions
diff --git a/perllib/FixMyStreet/Cobrand/Greenwich.pm b/perllib/FixMyStreet/Cobrand/Greenwich.pm
new file mode 100644
index 000000000..18b0c2f5e
--- /dev/null
+++ b/perllib/FixMyStreet/Cobrand/Greenwich.pm
@@ -0,0 +1,47 @@
+package FixMyStreet::Cobrand::Greenwich;
+use parent 'FixMyStreet::Cobrand::UKCouncils';
+
+use strict;
+use warnings;
+
+sub council_id { return 2493; }
+sub council_area { return 'Greenwich'; }
+sub council_name { return 'Royal Borough of Greenwich'; }
+sub council_url { return 'greenwich'; }
+
+sub example_places {
+ return ( 'SE18 6HQ', "Woolwich Road" );
+}
+
+sub enter_postcode_text {
+ my ($self) = @_;
+ return 'Enter a Royal Greenwich postcode, or street name and area';
+}
+
+sub disambiguate_location {
+ my $self = shift;
+ my $string = shift;
+
+ my $town = 'Greenwich';
+
+ # as it's the requested example location, try to avoid a disambiguation page
+ $town .= ', SE10 0EF' if $string =~ /^\s*woolwich\s+r(?:oa)?d\s*(?:,\s*green\w+\s*)?$/i;
+
+ return {
+ %{ $self->SUPER::disambiguate_location() },
+ town => $town,
+ centre => '51.4743770385684,0.0555696523982184',
+ span => '0.089851200483885,0.150572372434415',
+ bounds => [ 51.423679096602, -0.0263872255863898, 51.5135302970859, 0.124185146848025 ],
+ };
+}
+
+sub pin_colour {
+ my ( $self, $p, $context ) = @_;
+ return 'grey' if $p->state eq 'not responsible';
+ return 'green' if $p->is_fixed || $p->is_closed;
+ return 'red' if $p->state eq 'confirmed';
+ return 'yellow';
+}
+
+1;
diff --git a/perllib/FixMyStreet/SendReport/Open311.pm b/perllib/FixMyStreet/SendReport/Open311.pm
index d65a8ddb1..cfcac9bd8 100644
--- a/perllib/FixMyStreet/SendReport/Open311.pm
+++ b/perllib/FixMyStreet/SendReport/Open311.pm
@@ -127,8 +127,8 @@ sub send {
$revert = 1;
}
- if ($row->cobrand eq 'fixmybarangay') {
- # FixMyBarangay endpoints expect external_id as an attribute, as do Oxfordshire
+ if ($row->cobrand eq 'fixmybarangay' || $row->cobrand eq 'greenwich') {
+ # FixMyBarangay endpoints expect external_id as an attribute, as do Greenwich
$row->set_extra_fields( { 'name' => 'external_id', 'value' => $row->id } );
$revert = 1;
}
diff --git a/templates/web/fixmystreet.com/reports/_extras.html b/templates/web/fixmystreet.com/reports/_extras.html
index 77a46493b..ff2a67dc2 100755
--- a/templates/web/fixmystreet.com/reports/_extras.html
+++ b/templates/web/fixmystreet.com/reports/_extras.html
@@ -5,7 +5,8 @@
'East Sussex County Council' = 'eastsussex.fixmystreet.com'
'Hart District Council' = 'hart.fixmystreet.com'
'Oxfordshire County Council' = 'fixmystreet.oxfordshire.gov.uk'
- 'Stevenage Borough Council' = 'stevenage.fixmystreet.com'
+ 'Stevenage Borough Council' = 'stevenage.fixmystreet.com',
+ 'Royal Borough of Greenwich' = 'fix.royalgreenwich.gov.uk'
}
secure = {
'fix.bromley.gov.uk' = 's'
diff --git a/templates/web/fixmystreet.com/static/council.html b/templates/web/fixmystreet.com/static/council.html
index f8eecb0d0..b7c158818 100644
--- a/templates/web/fixmystreet.com/static/council.html
+++ b/templates/web/fixmystreet.com/static/council.html
@@ -100,7 +100,7 @@
<div class="fixed-container">
<div class="section-content">
<h2>Who's using FixMyStreet for councils?</h2>
- <p>Our UK client councils include <a href="http://fixmystreet.stevenage.gov.uk/">Stevenage</a>, <a href="http://fix.bromley.gov.uk/">Bromley</a>, <a href="http://barnet.fixmystreet.com/">Barnet</a>, <a href="http://fixmystreet.oxfordshire.gov.uk/">Oxfordshire</a>, <a href="http://hart.fixmystreet.com/">Hart</a>, <a href="http://eastsussex.fixmystreet.com/">East Sussex County Council</a>, and (soon to launch) Warwickshire County Council.</p>
+ <p>Our UK client councils include <a href="http://fixmystreet.stevenage.gov.uk/">Stevenage</a>, <a href="http://fix.bromley.gov.uk/">Bromley</a>, <a href="http://barnet.fixmystreet.com/">Barnet</a>, <a href="http://fixmystreet.oxfordshire.gov.uk/">Oxfordshire</a>, <a href="http://hart.fixmystreet.com/">Hart</a>, <a href="http://eastsussex.fixmystreet.com/">East Sussex County Council</a>, <a href="http://fix.royalgreenwich.gov.uk/">Greenwich</a>, and (soon to launch) Warwickshire County Council.</p>
<p>FixMyStreet for Councils is also in use outside the UK, in the city of <a href="https://www.zueriwieneu.ch/">Zurich</a>, Switzerland.</p>
<h3>Case studies</h3>
<p>For the insider view, and to understand the integration process, read these councils’ stories.</p>
diff --git a/templates/web/greenwich/around/_report_banner.html b/templates/web/greenwich/around/_report_banner.html
new file mode 100644
index 000000000..52a869262
--- /dev/null
+++ b/templates/web/greenwich/around/_report_banner.html
@@ -0,0 +1,10 @@
+<h1 class="big-green-banner">
+ [% loc( 'Click map to report a problem' ) %]
+</h1>
+<div class="click-the-map">
+ <h2>[% loc( 'Have you found a problem here?' ) %]</h2>
+ <p>Click on the map to report it</p>
+</div>
+<a id="skip-this-step" href="[% url_skip %]" rel="nofollow">
+ [% loc("Can't see the map? <em>Skip this step</em>") %]
+</a>
diff --git a/templates/web/greenwich/around/around_map_list_items.html b/templates/web/greenwich/around/around_map_list_items.html
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/templates/web/greenwich/around/around_map_list_items.html
diff --git a/templates/web/greenwich/around/intro.html b/templates/web/greenwich/around/intro.html
new file mode 100644
index 000000000..81c0b55df
--- /dev/null
+++ b/templates/web/greenwich/around/intro.html
@@ -0,0 +1,7 @@
+<h1>[% loc('Report a street cleaning or parks issue in Royal Greenwich') %]</h1>
+<p>
+ Use this form for reporting cleaning problems on streets and parks in Greenwich, such as littering, flytipping, graffiti or overflowing bins.
+</p>
+<p>
+ To report other kinds of road and street problems like potholes, blocked drains, faulty street lamps or cracks in the pavement, please pick from our list of additional <a href="http://www.royalgreenwich.gov.uk/reportaproblem">reporting forms</a>.
+</p>
diff --git a/templates/web/greenwich/around/on_map_list_items.html b/templates/web/greenwich/around/on_map_list_items.html
new file mode 100644
index 000000000..893f5c698
--- /dev/null
+++ b/templates/web/greenwich/around/on_map_list_items.html
@@ -0,0 +1,11 @@
+[% all_reports = on_map.merge(around_map) %]
+[% IF all_reports.size %]
+ [% FOREACH problem IN all_reports %]
+ [% UNLESS problem.title; problem = problem.problem; END %]
+ [% INCLUDE "reports/_list-entry.html" %]
+ [% END %]
+[% ELSE %]
+ <li class="empty">
+ <p>[% loc('There are no reports to show.') %]</p>
+ </li>
+[% END %]
diff --git a/templates/web/greenwich/around/tabbed_lists.html b/templates/web/greenwich/around/tabbed_lists.html
new file mode 100644
index 000000000..0d7dfddfc
--- /dev/null
+++ b/templates/web/greenwich/around/tabbed_lists.html
@@ -0,0 +1,5 @@
+[% INCLUDE "reports/_list-filters.html" %]
+
+<ul class="report-list" id="current">
+ [% INCLUDE "around/on_map_list_items.html" %]
+</ul>
diff --git a/templates/web/greenwich/faq/faq-en-gb.html b/templates/web/greenwich/faq/faq-en-gb.html
new file mode 100644
index 000000000..f143581d6
--- /dev/null
+++ b/templates/web/greenwich/faq/faq-en-gb.html
@@ -0,0 +1,134 @@
+[% INCLUDE 'header.html', title = 'Help', bodyclass = 'twothirdswidthpage' %]
+
+<div class="sticky-sidebar">
+ <aside>
+ <ul class="plain-list">
+ <li><a href="#faq">Frequently Asked Questions</a></li>
+ <li><a href="/privacy">Privacy and cookies</a></li>
+ <li><a href="/contact">Contact FixMyStreet</a></li>
+ </ul>
+ </aside>
+</div>
+
+<h1> Frequently Asked Questions </h1>
+
+<p>These pages are for reporting things which are broken, dirty, damaged or
+dumped, and need fixing, cleaning or clearing: </p>
+<ul>
+ <li>graffiti
+ <li>flytipping
+ <li>broken playground equipment
+ <li>street lighting
+ <li>potholes
+ </ul>
+ <p>
+ Note that though most of these services are provided by the Royal Borough of Greenwich,
+ FixMyStreet will forward some categories of issue to Transport for London (TfL).
+ </p>
+
+<dl>
+ <dt><a name="emergencies"></a>Reporting emergencies (Out of Hours)</dt>
+ <dd>
+ <p> Please do not report problems which present an immediate risk to life,
+ for example missing manhole covers or a fallen lamp column. </p>
+ <p> Issues reported via the website are only actioned during office hours.
+ If you require an Out of Hours service please ring our main number
+ 020 8854 8888 and a message will direct you to the relevant Out of Hours
+ service. </p>
+
+ </dd>
+
+ <dt>How do I report a problem here?</dt>
+ <dd>After entering a postcode or location, you are shown
+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 directly to us so we can then resolve the problem.
+ You can also discuss the problem on the website with others if you wish.</dd>
+
+ <dt>Do you remove silly or illegal content?</dt>
+ <dd>Royal Borough of Greenwich and FixMyStreet are 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>Can I use FixMyStreet on my mobile?</dt>
+ <dd>
+ <p>The FixMyStreet website will already work on your mobile phone, adapting to
+ the size of your screen automatically. Using an app has some advantages, though
+ &mdash; for example, you can create a report even when you have no network
+ connection.
+ <ul>
+ <li>
+ <a href="https://itunes.apple.com/gb/app/fixmystreet/id297456545">FixMyStreet app for iPhone</a>
+ <li>
+ <a href="https://play.google.com/store/apps/details?id=org.mysociety.FixMyStreet">FixMyStreet app for Android</a>
+ <li><em>Nokia:</em> A volunteer, Thomas Forth, has written an app available from the
+ <a href="http://store.ovi.com/content/107557">Ovi Store</a>.
+ </ul>
+ </dd>
+
+ <dt>Can I use these pages to report problems outside of the Royal Borough of Greenwich district?</dd>
+ <dd>Yes, if you enter a postcode or address outside the borough you will be re-directed to the main FixMyStreet site that will enable you to report problems elsewhere. FixMyStreet will forward these on to the relevant council.</dd>
+
+ <dt>The site is powered by FixMyStreet, who are they?</dt>
+ <dd>FixMyStreet 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>.
+mySociety is the project of a registered charity which has grown out of the community of
+volunteers who built sites like <a href="http://www.theyworkforyou.com/">TheyWorkForYou</a>.
+mySociety&rsquo;s primary mission is to build Internet projects which give people simple, tangible
+benefits in the civic and community aspects of their lives.
+The charity is called UK Citizens Online Democracy and is charity number 1076346. mySociety
+can be contacted by email at <a href="mailto:hello&#64;mysociety.org">hello&#64;mysociety.org</a>,
+or by post at mySociety, 483 Green Lanes, London, N13 4BS.</dd>
+
+ <dt>Why does the site use kilometres for measurements?</dt>
+ <dd>The British national
+ grid reference system, devised by Ordnance Survey (the British national
+ mapping agency) around the time of the second world war, uses eastings and
+ northings measured in metres and kilometres; the maps we use are from
+ Ordnance Survey and so this is what we use to display distances.
+ There you have it: not everything British is in miles!</dd>
+
+ <dt>Why can&rsquo;t I zoom out more on the reporting map?</dt>
+ <dd>We want to keep reports locally focused, so we restrict the ability to
+ move radically between areas. The map on <a href="/my">Your Reports</a> will let you see all
+ the reports you&rsquo;ve made, wherever they are.</dd>
+
+ <dt>I&rsquo;d like a site like this for my own location/ where&rsquo;s the "source code" to this site?</dt>
+ <dd>
+The mySociety software behind this site is open source, and available
+under the GNU Affero GPL software license. You can <a
+href="http://github.com/mysociety/fixmystreet">download the
+source code</a> and help mySociety develop it.
+You&rsquo;re welcome to use it in your own projects, although you must also
+make available the source code to any such projects.
+<a href="http://www.fiksgatami.no/">Fiksgatami</a> is an example of our code
+being used in a Norwegian version of this site.
+</dd>
+
+</dl>
+
+ <h2><a name="privacy"></a>Privacy Questions</h2>
+
+ <dl>
+ <dt>Who gets to see my email address?</dt>
+ <dd>
+<p>If you submit a problem, your details, and details of the problem, will be
+submitted to the Royal Borough of Greenwich, or TfL, as
+appropriate. Other than the council, only people we authorise to view the
+FixMyStreet administration interface will be able to see your email address and
+they will never use it for anything other than to help administer
+FixMyStreet.</p>
+<p>We will never give or sell your email address to anyone else, unless we are
+obliged to by law. Your name will not be published anywhere unless you let us.</p>
+</dd>
+
+ <dt>What emails will you send to me?</dt>
+ <dd>We will email you when we have received your report, and when it has
+ been investigated and actioned. We will only send you emails that
+ relate to an issue you have reported.</dd>
+
+ </dl>
+
+[% INCLUDE 'footer.html' pagefooter = 'yes' %]
diff --git a/templates/web/greenwich/footer.html b/templates/web/greenwich/footer.html
new file mode 100644
index 000000000..31ab35f52
--- /dev/null
+++ b/templates/web/greenwich/footer.html
@@ -0,0 +1,44 @@
+ [% IF pagefooter %]
+ <footer role="contentinfo">
+ [% INCLUDE 'front/footer-marketing.html' %]
+ </footer>
+ [% END %]
+ </div><!-- .content role=main -->
+ </div><!-- .container -->
+ [% IF c.cobrand.moniker == 'fixmystreet' AND bodyclass != 'mappage' %]
+ [% INCLUDE 'footer-nav.html' %]
+ [% END %]
+ </div><!-- .table-cell -->
+
+ <div class="nav-wrapper">
+ <div class="nav-wrapper-2">
+ <div id="main-nav" role="navigation">
+ <ul id="mysoc-menu">
+ <li><a id="mysoc-logo" href="https://www.mysociety.org/">mySociety</a></li>
+ </ul>
+
+ <ul id="main-menu">
+ <li><[% IF c.req.uri.path == '/' %]span[% ELSE %]a href="/"[% END %] class="report-a-problem-btn"
+ >[% loc("Report a problem") %]</[% c.req.uri.path == '/' ? 'span' : 'a' %]></li>[%
+ %]<li><[% IF c.req.uri.path == '/my' %]span[% ELSE %]a href="/my"[% END
+ %]>[% loc("Your reports") %]</[% c.req.uri.path == '/my' ? 'span' : 'a' %]></li>[%
+ %]<li><[% IF c.req.uri.path == '/reports/Royal+Borough+of+Greenwich' %]span[% ELSE %]a href="/reports"[% END
+ %]>[% loc("All reports") %]</[% c.req.uri.path == '/reports' ? 'span' : 'a' %]></li>[%
+ %]<li><[% IF c.req.uri.path == '/alert' %]span[% ELSE %]a href="/alert[% pc ? '/list?pc=' : '' %][% pc | uri %]"[% END
+ %]>[% loc("Local alerts") %]</[% c.req.uri.path == '/alert' ? 'span' : 'a' %]></li>[%
+ %]<li><[% IF c.req.uri.path == '/faq' %]span[% ELSE %]a href="/faq"[% END
+ %]>[% loc("Help") %]</[% c.req.uri.path == '/faq' ? 'span' : 'a' %]></li>[%
+ %]<li id="top-nav-privacy"><[% IF c.req.uri.path == '/privacy' %]span[% ELSE %]a href="/privacy"[% END
+ %]>[% loc("Privacy") %]</[% c.req.uri.path == '/privacy' ? 'span' : 'a' %]></li>
+ </ul>
+ </div>
+ </div>
+ </div>
+
+<!-- [% INCLUDE 'debug_footer.html' %] -->
+ </div> <!-- .wrapper -->
+
+ [% TRY %][% PROCESS 'footer_extra.html' %][% CATCH file %][% END %]
+
+</body>
+</html>
diff --git a/templates/web/greenwich/front/footer-marketing.html b/templates/web/greenwich/front/footer-marketing.html
new file mode 100644
index 000000000..66a75b5cc
--- /dev/null
+++ b/templates/web/greenwich/front/footer-marketing.html
@@ -0,0 +1,31 @@
+<hr />
+<div class="tablewrapper">
+ <div id="footer-mobileapps">
+ <p>
+ <a href="https://itunes.apple.com/gb/app/fixmystreet/id297456545">
+ <img alt="FixMyStreet app on the App Store" src="/cobrands/fixmystreet/images/itunes_store_logo.png" />
+ </a>
+ <a href="https://play.google.com/store/apps/details?id=org.mysociety.FixMyStreet">
+ <img alt="FixMyStreet Android app on Google Play" src="/cobrands/fixmystreet/images/google_play_logo.png" />
+ </a>
+ </p>
+ </div>
+
+ <div id="footer-help">
+ <p>
+ Powered by <a class="platform-logo" href="https://fixmystreet.com/council">FixMyStreet Platform</a>
+ </p>
+ </div>
+</div>
+
+<div class="footer-nav">
+ <ul>
+ <li><a href="http://www.royalgreenwich.gov.uk/contact" rel="nofollow">Contact us</a></li>
+ <li><a href="http://www.royalgreenwich.gov.uk/location" rel="nofollow">Location map</a></li>
+ <li><a href="http://www.royalgreenwich.gov.uk/terms" rel="nofollow">Terms &amp; disclaimer</a></li>
+ <li><a href="http://www.royalgreenwich.gov.uk/accessibility" rel="nofollow">Accessibility statement</a></li>
+ <li><a href="http://www.royalgreenwich.gov.uk/statistics" rel="nofollow">Website statistics</a></li>
+ <li>&copy; 2015 Royal Borough of Greenwich</li>
+ <li class="last"><a href="http://www.royalgreenwich.gov.uk/cookies">Cookies</a></li>
+ </ul>
+</div>
diff --git a/templates/web/greenwich/header_logo.html b/templates/web/greenwich/header_logo.html
new file mode 100644
index 000000000..fa279bdc4
--- /dev/null
+++ b/templates/web/greenwich/header_logo.html
@@ -0,0 +1,29 @@
+ <a href="http://www.royalgreenwich.gov.uk/" id="site-logo">[%- PROCESS 'site-name.html' -%]</a>
+</div>
+<div class="container main-menu-container">
+ <ul id="greenwich-menu-desktop">
+ <li><a href="http://www.royalgreenwich.gov.uk/pay">Make a payment</a></li>
+ <li><a href="http://www.royalgreenwich.gov.uk/apply">Apply for it</a></li>
+ <li><a href="/">Report a problem</a></li>
+ <li><a href="http://www.royalgreenwich.gov.uk/a_to_z">A to Z of services</a></li>
+ <li><a href="http://www.royalgreenwich.gov.uk/contact">Contact us</a></li>
+ <li><a href="http://www.royalgreenwich.gov.uk/about">About us</a></li>
+ </ul>
+
+ <ul id="greenwich-breadcrumb">
+ <li><a class="bc_arrow" href="http://www.royalgreenwich.gov.uk/">Home</a></li>
+ <li><a href="/">FixMyStreet</a></li>
+ </ul>
+
+ <ul id="fms-menu-desktop">
+ <li><[% IF c.req.uri.path == '/' %]span[% ELSE %]a href="/"[% END %] class="report-a-problem-btn"
+ >[% loc("Report a problem") %]</[% c.req.uri.path == '/' ? 'span' : 'a' %]></li>[%
+ %]<li><[% IF c.req.uri.path == '/my' %]span[% ELSE %]a href="/my"[% END
+ %]>[% loc("Your reports") %]</[% c.req.uri.path == '/my' ? 'span' : 'a' %]></li>[%
+ %]<li><[% IF c.req.uri.path == '/reports' %]span[% ELSE %]a href="/reports"[% END
+ %]>[% loc("All reports") %]</[% c.req.uri.path == '/reports' ? 'span' : 'a' %]></li>[%
+ %]<li><[% IF c.req.uri.path == '/alert' %]span[% ELSE %]a href="/alert[% pc ? '/list?pc=' : '' %][% pc | uri %]"[% END
+ %]>[% loc("Local alerts") %]</[% c.req.uri.path == '/alert' ? 'span' : 'a' %]></li>[%
+ %]<li><[% IF c.req.uri.path == '/faq' %]span[% ELSE %]a href="/faq"[% END
+ %]>[% loc("Help") %]</[% c.req.uri.path == '/faq' ? 'span' : 'a' %]></li>
+ </ul>
diff --git a/templates/web/greenwich/my/_problem-list.html b/templates/web/greenwich/my/_problem-list.html
new file mode 100644
index 000000000..1ff69f9fb
--- /dev/null
+++ b/templates/web/greenwich/my/_problem-list.html
@@ -0,0 +1,25 @@
+<ul class='issue-list-a full-width'>
+ [% IF problems.all %]
+ [% FOREACH p = problems.all %]
+ [% INCLUDE 'reports/_list-entry.html', problem = p, no_fixed =1 %]
+ [% END %]
+ [% ELSE %]
+ <li class="empty">
+ <p>[% loc('There are no reports to show.') %]</p>
+ </li>
+ [% END %]
+</ul>
+
+[% IF ! problems.size %]
+<!-- Preserve behaviour of map filters despite map not being shown -->
+<script type="text/javascript">
+ (function($) {
+ $(function() {
+ $(".report-list-filters [type=submit]").hide();
+ $(".report-list-filters select").change(function() {
+ $(this).closest("form").submit();
+ });
+ })
+ })(window.jQuery);
+</script>
+[% END %]
diff --git a/templates/web/greenwich/reports/_list-entry.html b/templates/web/greenwich/reports/_list-entry.html
new file mode 100644
index 000000000..cd70410d3
--- /dev/null
+++ b/templates/web/greenwich/reports/_list-entry.html
@@ -0,0 +1,6 @@
+<li class="[% c.cobrand.pin_colour(problem) %]">
+ <a href="[% c.uri_for('/report', problem.id ) %]" class="[% problem.category %]">
+ <h3>[% problem.title | html %]</h3>
+ <p>Reported [%- prettify_dt( problem.confirmed, 1 ) %]</p>
+ </a>
+</li>
diff --git a/templates/web/greenwich/reports/_list-filters.html b/templates/web/greenwich/reports/_list-filters.html
new file mode 100644
index 000000000..5d610261b
--- /dev/null
+++ b/templates/web/greenwich/reports/_list-filters.html
@@ -0,0 +1,32 @@
+[% IF use_section_wrapper %]
+<section class="full-width">
+ <form method="get" action="">
+[% END %]
+
+ <p class="report-list-filters">
+ <label>
+ Show
+ <select name="status" id="statuses">
+ <option value="all"[% ' selected' IF filter_status == 'all' %]>all reports</option>
+ <option value="open"[% ' selected' IF filter_status == 'open' %]>unfixed reports</option>
+ <option value="fixed"[% ' selected' IF filter_status == 'fixed' %]>fixed reports</option>
+ </select>
+ </label>
+ <label>
+ about
+ <select name="filter_category" id="filter_categories">
+ <option value="">Everything</option>
+ [% FOR category IN filter_categories %]
+ <option value="[% category | html %]"[% ' selected' IF filter_category == category %]>
+ [% category | html %]
+ </option>
+ [% END %]
+ </select>
+ </label>
+ <input type=submit value="Go" />
+ </p>
+
+[% IF use_section_wrapper %]
+ </form>
+</section>
+[% END %]
diff --git a/templates/web/greenwich/reports/_problem-list.html b/templates/web/greenwich/reports/_problem-list.html
new file mode 100644
index 000000000..45746e309
--- /dev/null
+++ b/templates/web/greenwich/reports/_problem-list.html
@@ -0,0 +1,19 @@
+<section class="full-width">
+ [% INCLUDE column
+ problems = problems.${body.id}
+ %]
+</section>
+
+[% BLOCK column %]
+ <ul class="issue-list-a">
+ [% IF problems %]
+ [% FOREACH problem IN problems %]
+ [% INCLUDE 'reports/_list-entry.html' %]
+ [% END %]
+ [% ELSE %]
+ <li class="empty">
+ <p>[% loc('There are no reports to show.') %]</p>
+ </li>
+ [% END %]
+ </ul>
+[% END %]
diff --git a/web/cobrands/greenwich/_colours.scss b/web/cobrands/greenwich/_colours.scss
new file mode 100644
index 000000000..ff8ff2b40
--- /dev/null
+++ b/web/cobrands/greenwich/_colours.scss
@@ -0,0 +1,24 @@
+/* COLOURS */
+
+$greenwich_red: #d42828;
+$greenwich_dark_red: #a71930;
+$greenwich_dark_grey: #4b5459;
+$greenwich_med_grey: #d9e0e4;
+$greenwich_light_grey: #e0e6e9;
+
+$primary: $greenwich_red;
+$primary_b: #000000;
+$primary_text: #222222;
+
+$base_bg: #fff;
+$base_fg: #000;
+
+$map_nav_bg: #fff;
+$nav_fg: #fff;
+$nav_fg_hover: transparent;
+
+$col_click_map: $greenwich_red;
+$col_click_map_dark: darken($col_click_map, 10%);
+
+$col_fixed_label: #00BD08;
+$col_fixed_label_dark: #4B8304;
diff --git a/web/cobrands/greenwich/_fonts.scss b/web/cobrands/greenwich/_fonts.scss
new file mode 100644
index 000000000..b03804e44
--- /dev/null
+++ b/web/cobrands/greenwich/_fonts.scss
@@ -0,0 +1,3 @@
+$body-font: Verdana, Arial, Helvetica, sans-serif;
+$meta-font: $body-font;
+$heading-font: georgia, 'new century schoolbook', 'times new roman', times, serif;
diff --git a/web/cobrands/greenwich/base.scss b/web/cobrands/greenwich/base.scss
new file mode 100644
index 000000000..e4561e338
--- /dev/null
+++ b/web/cobrands/greenwich/base.scss
@@ -0,0 +1,89 @@
+@import "../sass/h5bp";
+@import "./_colours";
+@import "./_fonts";
+@import "../sass/mixins";
+@import "compass";
+
+@import "../sass/base";
+
+body.frontpage #site-logo,
+.ie6 body.frontpage #site-logo,
+#site-logo
+{
+ background: url("/cobrands/greenwich/logo.gif") 0 0 no-repeat;
+ background-size: contain;
+ width: 82px;
+ height: 40px;
+ top: 8px;
+ left: 4px;
+}
+
+#nav-link {
+ background: url('/cobrands/greenwich/tab-red.png') 0 0 no-repeat;
+}
+
+
+#site-header {
+ background-color: $base_bg;
+ background: url("/cobrands/greenwich/mastWave.gif") 0 0 no-repeat;
+ background-size: cover;
+}
+
+
+#mysoc-menu {
+ display: none;
+}
+
+.issue-list-a li, .list-a li, #user-meta p, #front-main #postcodeForm {
+ background: $greenwich_light_grey;
+}
+
+label[for=pc] {
+ color: $greenwich_dark_red;
+}
+
+ol.big-numbers > li:before {
+ color: $primary;
+}
+
+#front-howto #front_stats {
+ color: $nav_fg;
+}
+
+#greenwich-menu-desktop, #fms-menu-desktop, #greenwich-breadcrumb {
+ display: none;
+}
+
+footer {
+ ul li {
+ list-style: none;
+ }
+
+ hr {
+ padding: 0;
+ margin: 0 -16px;
+ height: 4px;
+ background-color: $greenwich_red;
+ border: none;
+ }
+}
+
+h1, h2 {
+ font-style: italic;
+}
+
+button, input[type=submit], .btn, .green-btn, button.green-btn, input.green-btn {
+ border: none;
+ border-radius: 0;
+ text-transform: none;
+ color: white;
+ background: $greenwich_dark_grey;
+ border-bottom: solid 4px $greenwich_red;
+
+ &:hover {
+ border: none;
+ border-bottom: solid 4px lighten($greenwich_red, 5%);
+ text-decoration: underline;
+ background: lighten($greenwich_dark_grey, 2%);
+ }
+}
diff --git a/web/cobrands/greenwich/bcArrow.gif b/web/cobrands/greenwich/bcArrow.gif
new file mode 100644
index 000000000..98e02417c
--- /dev/null
+++ b/web/cobrands/greenwich/bcArrow.gif
Binary files differ
diff --git a/web/cobrands/greenwich/config.rb b/web/cobrands/greenwich/config.rb
new file mode 100644
index 000000000..cab97b18f
--- /dev/null
+++ b/web/cobrands/greenwich/config.rb
@@ -0,0 +1,25 @@
+# Require any additional compass plugins here.
+
+# Set this to the root of your project when deployed:
+http_path = "/"
+css_dir = ""
+sass_dir = ""
+images_dir = ""
+javascripts_dir = ""
+
+# You can select your preferred output style here (can be overridden via the command line):
+# output_style = :expanded or :nested or :compact or :compressed
+
+# To enable relative paths to assets via compass helper functions. Uncomment:
+# relative_assets = true
+
+# To disable debugging comments that display the original location of your selectors. Uncomment:
+# line_comments = false
+
+# If you prefer the indented syntax, you might want to regenerate this
+# project again passing --syntax sass, or you can uncomment this:
+# preferred_syntax = :sass
+# and then run:
+# sass-convert -R --from scss --to sass sass scss && rm -rf sass && mv scss sass
+
+line_comments = false # by Compass.app
diff --git a/web/cobrands/greenwich/layout.scss b/web/cobrands/greenwich/layout.scss
new file mode 100644
index 000000000..bde0eded5
--- /dev/null
+++ b/web/cobrands/greenwich/layout.scss
@@ -0,0 +1,296 @@
+@import "_colours";
+@import "_fonts";
+@import "../sass/layout";
+@import "../sass/report_list";
+
+$fixed_page_width: 990px;
+
+/* from http://nicolasgallagher.com/micro-clearfix-hack/ */
+.clearfix:before, .clearfix:after { content: " "; display: table; }
+.clearfix:after { clear: both; }
+/* For IE 6/7 only */
+.clearfix { *zoom: 1; }
+
+
+#site-logo,
+.ie6 #site-logo,
+body.frontpage #site-logo,
+.ie6 body.frontpage #site-logo,
+body.authpage #site-logo,
+.ie6 body.authpage #site-logo,
+body.twothirdswidthpage #site-logo,
+.ie6 body.twothirdswidthpage #site-logo
+{
+ position: relative;
+ top: 14px;
+ left: 14px;
+ margin: 0;
+ padding: 0;
+ background: url("/cobrands/greenwich/logo.gif") 0 0 no-repeat;
+ width: 170px;
+ height: 83px;
+}
+
+.container, #main-nav {
+ width: $fixed_page_width;
+}
+
+#front-main {
+ background-color: $base_bg;
+ padding-top: 0.5em;
+ text-align: left;
+
+ #front-main-container {
+ max-width: $fixed_page_width;
+ background-color: transparent;
+ padding: 1em 0;
+ }
+
+ #postcodeForm div {
+ margin: 0;
+ }
+
+ h1 {
+ color: $greenwich_dark_red;
+ padding-bottom: 3em;
+ }
+}
+
+body.frontpage #site-header, #site-header {
+ height: auto;
+
+ .container {
+ min-height: 0;
+ }
+
+ .container:first-child {
+ background: url("/cobrands/greenwich/mastWave.gif") 0 0 no-repeat;
+ min-height: 110px;
+ }
+}
+
+body.frontpage {
+ #user-meta p {
+ top: -9em;
+ }
+
+ .issue-list-a li {
+ border-left: solid 4px $primary;
+ }
+
+ #fms-menu-desktop {
+ position: absolute;
+ width: 990px;
+ top: 262px;
+ }
+}
+
+body.twothirdswidthpage #user-meta p {
+ padding-bottom: 0;
+ z-index: 2;
+}
+
+.nav-wrapper .nav-wrapper-2 {
+ border-top: none;
+}
+
+#main-menu {
+ display: none;
+}
+
+#greenwich-menu-desktop, #fms-menu-desktop, #greenwich-breadcrumb {
+ display: block;
+ font-size: 15px;
+ list-style: none;
+ margin: 0;
+ padding: 0;
+
+ li {
+ display: inline-block;
+ list-style: none;
+ margin: 0;
+ padding: 0.25em 0.5em;
+
+ span, a {
+ padding: 0.5em;
+ }
+
+ span, a:hover {
+ text-decoration: underline;
+ }
+ }
+}
+
+#greenwich-menu-desktop {
+ background: $greenwich_dark_grey;
+ font-family: $heading-font;
+ font-style: italic;
+ border-top: solid 4px $primary;
+ border-bottom: solid 4px $greenwich_med_grey;
+ text-align: right;
+ padding-right: 1em;
+
+ li {
+ span, a {
+ color: $nav_fg;
+ }
+ }
+}
+
+#greenwich-breadcrumb {
+ background: transparent;
+ margin-top: 0.25em;
+
+ li {
+ padding: 0;
+ margin: 0;
+ font-size: 11px;
+
+ span, a {
+ color: black;
+
+ &.bc_arrow {
+ background: url('/cobrands/greenwich/bcArrow.gif') no-repeat right 0.4em;
+ padding: 0 15px 0 0;
+ }
+ }
+ }
+}
+
+#fms-menu-desktop {
+ background: $greenwich_light_grey;
+ margin-top: 0.5em;
+
+ li {
+ a {
+ color: $greenwich_dark_grey;
+ }
+ span {
+ color: $greenwich_red;
+ }
+ }
+}
+
+body.mappage {
+ #site-header .container {
+ min-height: 68px;
+ }
+
+ .main-menu-container {
+ display: none;
+ }
+
+ #main-menu {
+ display: block;
+ }
+
+ #site-logo {
+ top: 5px;
+ left: 6px;
+ background: url("/cobrands/greenwich/logo.gif") 0 0 no-repeat;
+ background-size: 111px 54px;
+ width: 111px;
+ height: 54px;
+ }
+
+ .nav-wrapper .nav-wrapper-2 {
+ background: url("/cobrands/greenwich/mastWave.gif") 100% 0 no-repeat;
+ background-color: $base_bg;
+ background-size: contain;
+ border-bottom: solid 4px $primary;
+ }
+
+ #main-nav {
+ ul#main-menu {
+ li a.report-a-problem-btn {
+ color: $nav_fg;
+ }
+ }
+
+ ul li {
+ a, span {
+ color: $primary_text;
+ }
+ a:hover {
+ text-decoration: underline;
+ }
+ }
+ }
+}
+
+body.twothirdswidthpage .content .sticky-sidebar {
+ z-index: 0;
+ left: 43em;
+
+ aside {
+ top: 14em;
+ }
+}
+
+body.fullwidthpage, body.twothirdswidthpage {
+ .container .content footer {
+ a.platform-logo {
+ background-color: $greenwich_dark_grey;
+ background-position: center center;
+ background-size: 13em 1.5em;
+ width: 14em;
+ height: 3em;
+ border-radius: 1.5em;
+ }
+
+ .tablewrapper {
+ padding: 0;
+ margin: 1em 0;
+
+ div {
+ text-align: center;
+
+ p {
+ margin: 0;
+ padding: 0;
+ line-height: 3em;
+ }
+ }
+ }
+
+ .footer-nav {
+ padding: 0;
+ margin: 1em 0;
+
+ ul {
+ margin: 0;
+ padding: 0;
+ text-align: center;
+
+ li {
+ display: inline;
+ padding: 0 4px 0 7px;
+ font-size: 0.8em;
+ border-left: solid 1px $greenwich_dark_grey;
+
+ &:first-child {
+ border-left: none;
+ }
+
+ a, a:link, a:visited {
+ color: $primary_text;
+ }
+ }
+ }
+ }
+
+ hr {
+ padding: 0;
+ margin: 0 -24px;
+ border-bottom: solid 8px $greenwich_red;
+ border-top: solid 48px $greenwich_dark_grey;
+ height: 0;
+ }
+ }
+}
+
+// Override the default issue (report) list styling on the /my page, so that
+// reports don't pop out the side of the sidebar
+.issue-list-a.full-width {
+ margin-left: -1em;
+}
diff --git a/web/cobrands/greenwich/logo-mobile.gif b/web/cobrands/greenwich/logo-mobile.gif
new file mode 100644
index 000000000..70fb1c692
--- /dev/null
+++ b/web/cobrands/greenwich/logo-mobile.gif
Binary files differ
diff --git a/web/cobrands/greenwich/logo.gif b/web/cobrands/greenwich/logo.gif
new file mode 100644
index 000000000..dc46d2bf1
--- /dev/null
+++ b/web/cobrands/greenwich/logo.gif
Binary files differ
diff --git a/web/cobrands/greenwich/mastWave.gif b/web/cobrands/greenwich/mastWave.gif
new file mode 100644
index 000000000..19984c94d
--- /dev/null
+++ b/web/cobrands/greenwich/mastWave.gif
Binary files differ
diff --git a/web/cobrands/greenwich/tab-red.png b/web/cobrands/greenwich/tab-red.png
new file mode 100644
index 000000000..f3ef9d084
--- /dev/null
+++ b/web/cobrands/greenwich/tab-red.png
Binary files differ