aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rwxr-xr-xbin/send-comments2
-rw-r--r--perllib/FixMyStreet.pm20
-rw-r--r--perllib/FixMyStreet/App/Controller/Dashboard.pm2
-rw-r--r--perllib/FixMyStreet/DB/Result/Alert.pm10
-rw-r--r--perllib/FixMyStreet/DB/Result/Comment.pm10
-rw-r--r--perllib/FixMyStreet/DB/Result/Problem.pm12
-rw-r--r--perllib/FixMyStreet/DB/Result/Questionnaire.pm10
-rw-r--r--perllib/FixMyStreet/DB/ResultSet/AlertType.pm16
-rw-r--r--perllib/FixMyStreet/SendReport.pm3
-rw-r--r--perllib/Utils.pm2
-rw-r--r--templates/web/fixmystreet.com/static/posters.html41
-rw-r--r--templates/web/trinidadtobago/header_logo.html1
-rw-r--r--templates/web/trinidadtobago/site-name.html1
-rw-r--r--web/cobrands/trinidadtobago/base.scss26
-rw-r--r--web/cobrands/trinidadtobago/fixmystreett.pngbin0 -> 16003 bytes
-rw-r--r--web/cobrands/trinidadtobago/images/sprite.pngbin0 -> 56534 bytes
-rw-r--r--web/cobrands/trinidadtobago/layout.scss12
17 files changed, 103 insertions, 65 deletions
diff --git a/bin/send-comments b/bin/send-comments
index 2d6b525b5..fabf2b633 100755
--- a/bin/send-comments
+++ b/bin/send-comments
@@ -145,7 +145,7 @@ while ( my $body = $bodies->next ) {
sub bromley_retry_timeout {
my $row = shift;
- my $tz = DateTime::TimeZone->new( name => 'local' );
+ my $tz = FixMyStreet->local_time_zone;
my $now = DateTime->now( time_zone => $tz );
my $diff = $now - $row->send_fail_timestamp;
if ( $diff->in_units( 'minutes' ) < 30 ) {
diff --git a/perllib/FixMyStreet.pm b/perllib/FixMyStreet.pm
index f3b72c4d0..76760b967 100644
--- a/perllib/FixMyStreet.pm
+++ b/perllib/FixMyStreet.pm
@@ -6,6 +6,7 @@ use warnings;
use Path::Class;
my $ROOT_DIR = file(__FILE__)->parent->parent->absolute->resolve;
+use DateTime::TimeZone;
use Readonly;
use Sub::Override;
@@ -217,4 +218,23 @@ sub get_email_template {
return $template;
}
+my $tz = DateTime::TimeZone->new( name => "local" );
+my $tz_f;
+$tz_f = DateTime::TimeZone->new( name => FixMyStreet->config('TIME_ZONE') )
+ if FixMyStreet->config('TIME_ZONE');
+
+sub local_time_zone {
+ return $tz;
+}
+
+sub time_zone {
+ return $tz_f;
+}
+
+sub set_time_zone {
+ my ($class, $dt) = @_;
+ $dt->set_time_zone($tz);
+ $dt->set_time_zone($tz_f) if $tz_f;
+}
+
1;
diff --git a/perllib/FixMyStreet/App/Controller/Dashboard.pm b/perllib/FixMyStreet/App/Controller/Dashboard.pm
index 25c6e1923..c2b0a2ee2 100644
--- a/perllib/FixMyStreet/App/Controller/Dashboard.pm
+++ b/perllib/FixMyStreet/App/Controller/Dashboard.pm
@@ -128,7 +128,7 @@ sub index : Path : Args(0) {
my $dtf = $c->model('DB')->storage->datetime_parser;
my %counts;
- my $now = DateTime->now( time_zone => 'local' );
+ my $now = DateTime->now( time_zone => FixMyStreet->local_time_zone );
my $t = $now->clone->truncate( to => 'day' );
$counts{wtd} = $c->forward( 'updates_search',
[ $dtf->format_datetime( $t->clone->subtract( days => $t->dow - 1 ) ) ] );
diff --git a/perllib/FixMyStreet/DB/Result/Alert.pm b/perllib/FixMyStreet/DB/Result/Alert.pm
index 4ce72f873..c64cb2ff4 100644
--- a/perllib/FixMyStreet/DB/Result/Alert.pm
+++ b/perllib/FixMyStreet/DB/Result/Alert.pm
@@ -69,24 +69,16 @@ __PACKAGE__->belongs_to(
# You can replace this text with custom code or comments, and it will be preserved on regeneration
-use DateTime::TimeZone;
use Moose;
use namespace::clean -except => [ 'meta' ];
with 'FixMyStreet::Roles::Abuser';
-my $tz = DateTime::TimeZone->new( name => "local" );
-
-my $tz_f;
-$tz_f = DateTime::TimeZone->new( name => FixMyStreet->config('TIME_ZONE') )
- if FixMyStreet->config('TIME_ZONE');
-
my $stz = sub {
my ( $orig, $self ) = ( shift, shift );
my $s = $self->$orig(@_);
return $s unless $s && UNIVERSAL::isa($s, "DateTime");
- $s->set_time_zone($tz);
- $s->set_time_zone($tz_f) if $tz_f;
+ FixMyStreet->set_time_zone($s);
return $s;
};
diff --git a/perllib/FixMyStreet/DB/Result/Comment.pm b/perllib/FixMyStreet/DB/Result/Comment.pm
index 3fae6860a..836462ed5 100644
--- a/perllib/FixMyStreet/DB/Result/Comment.pm
+++ b/perllib/FixMyStreet/DB/Result/Comment.pm
@@ -95,25 +95,17 @@ __PACKAGE__->belongs_to(
__PACKAGE__->load_components("+FixMyStreet::DB::RABXColumn");
__PACKAGE__->rabx_column('extra');
-use DateTime::TimeZone;
use Image::Size;
use Moose;
use namespace::clean -except => [ 'meta' ];
with 'FixMyStreet::Roles::Abuser';
-my $tz = DateTime::TimeZone->new( name => "local" );
-
-my $tz_f;
-$tz_f = DateTime::TimeZone->new( name => FixMyStreet->config('TIME_ZONE') )
- if FixMyStreet->config('TIME_ZONE');
-
my $stz = sub {
my ( $orig, $self ) = ( shift, shift );
my $s = $self->$orig(@_);
return $s unless $s && UNIVERSAL::isa($s, "DateTime");
- $s->set_time_zone($tz);
- $s->set_time_zone($tz_f) if $tz_f;
+ FixMyStreet->set_time_zone($s);
return $s;
};
diff --git a/perllib/FixMyStreet/DB/Result/Problem.pm b/perllib/FixMyStreet/DB/Result/Problem.pm
index 34d740912..3c620ba84 100644
--- a/perllib/FixMyStreet/DB/Result/Problem.pm
+++ b/perllib/FixMyStreet/DB/Result/Problem.pm
@@ -153,7 +153,6 @@ __PACKAGE__->load_components("+FixMyStreet::DB::RABXColumn");
__PACKAGE__->rabx_column('extra');
__PACKAGE__->rabx_column('geocode');
-use DateTime::TimeZone;
use Image::Size;
use Moose;
use namespace::clean -except => [ 'meta' ];
@@ -316,18 +315,11 @@ sub council_states {
return wantarray ? keys %{$states} : $states;
}
-my $tz = DateTime::TimeZone->new( name => "local" );
-
-my $tz_f;
-$tz_f = DateTime::TimeZone->new( name => FixMyStreet->config('TIME_ZONE') )
- if FixMyStreet->config('TIME_ZONE');
-
my $stz = sub {
my ( $orig, $self ) = ( shift, shift );
my $s = $self->$orig(@_);
return $s unless $s && UNIVERSAL::isa($s, "DateTime");
- $s->set_time_zone($tz);
- $s->set_time_zone($tz_f) if $tz_f;
+ FixMyStreet->set_time_zone($s);
return $s;
};
@@ -745,7 +737,7 @@ sub update_from_open311_service_request {
# of course if local timezone is not the one that went into the data
# base then we're also in trouble
my $lastupdate = $self->lastupdate;
- $lastupdate->set_time_zone( DateTime::TimeZone->new( name => 'local' ) );
+ $lastupdate->set_time_zone( FixMyStreet->local_time_zone );
# update from open311 is older so skip
if ( $req_time < $lastupdate ) {
diff --git a/perllib/FixMyStreet/DB/Result/Questionnaire.pm b/perllib/FixMyStreet/DB/Result/Questionnaire.pm
index 7f9c79d9a..6f2941546 100644
--- a/perllib/FixMyStreet/DB/Result/Questionnaire.pm
+++ b/perllib/FixMyStreet/DB/Result/Questionnaire.pm
@@ -43,22 +43,14 @@ __PACKAGE__->belongs_to(
# Created by DBIx::Class::Schema::Loader v0.07035 @ 2013-09-10 17:11:54
# DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:oL1Hk4/bNG14CY74GA75SA
-use DateTime::TimeZone;
use Moose;
use namespace::clean -except => [ 'meta' ];
-my $tz = DateTime::TimeZone->new( name => "local" );
-
-my $tz_f;
-$tz_f = DateTime::TimeZone->new( name => FixMyStreet->config('TIME_ZONE') )
- if FixMyStreet->config('TIME_ZONE');
-
my $stz = sub {
my ( $orig, $self ) = ( shift, shift );
my $s = $self->$orig(@_);
return $s unless $s && UNIVERSAL::isa($s, "DateTime");
- $s->set_time_zone($tz);
- $s->set_time_zone($tz_f) if $tz_f;
+ FixMyStreet->set_time_zone($s);
return $s;
};
diff --git a/perllib/FixMyStreet/DB/ResultSet/AlertType.pm b/perllib/FixMyStreet/DB/ResultSet/AlertType.pm
index b704fa7dd..ad180cbd5 100644
--- a/perllib/FixMyStreet/DB/ResultSet/AlertType.pm
+++ b/perllib/FixMyStreet/DB/ResultSet/AlertType.pm
@@ -115,24 +115,14 @@ sub email_alerts ($) {
}
$data{data} .= $row->{item_name} . ' : ' if $row->{item_name} && !$row->{item_anonymous};
if ( $cobrand->include_time_in_update_alerts ) {
- # this is basically recreating the code from the inflate wrapper
- # in the database model.
- my $tz;
- if ( FixMyStreet->config('TIME_ZONE') ) {
- $tz = FixMyStreet->config('TIME_ZONE');
- }
-
my $parser = DateTime::Format::Pg->new();
my $dt = $parser->parse_timestamp( $row->{item_confirmed} );
- my $l_tz = DateTime::TimeZone->new( name => "local" );
# We need to always set this otherwise we end up with the DateTime
# object being in the floating timezone in which case applying a
# subsequent timezone set will have no effect.
- $dt->set_time_zone( $l_tz );
- if ( $tz ) {
- my $tz_obj = DateTime::TimeZone->new( name => $tz );
- $dt->set_time_zone( $tz_obj );
- }
+ # this is basically recreating the code from the inflate wrapper
+ # in the database model.
+ FixMyStreet->set_time_zone($dt);
$data{data} .= $cobrand->prettify_dt( $dt, 'alert' ) . "\n\n";
}
$data{data} .= $row->{item_text} . "\n\n------\n\n";
diff --git a/perllib/FixMyStreet/SendReport.pm b/perllib/FixMyStreet/SendReport.pm
index 40e76ef72..9967b0663 100644
--- a/perllib/FixMyStreet/SendReport.pm
+++ b/perllib/FixMyStreet/SendReport.pm
@@ -23,8 +23,7 @@ sub should_skip {
return 0 unless $row->send_fail_count;
- my $tz = DateTime::TimeZone->new( name => 'local' );
- my $now = DateTime->now( time_zone => $tz );
+ my $now = DateTime->now( time_zone => FixMyStreet->local_time_zone );
my $diff = $now - $row->send_fail_timestamp;
my $backoff = $row->send_fail_count > 1 ? 30 : 5;
diff --git a/perllib/Utils.pm b/perllib/Utils.pm
index 7f95d1f5a..87e0bd7c9 100644
--- a/perllib/Utils.pm
+++ b/perllib/Utils.pm
@@ -225,7 +225,7 @@ sub prettify_dt {
$type ||= '';
$type = 'short' if $type eq '1';
- my $now = DateTime->now( time_zone => FixMyStreet->config('TIME_ZONE') || 'local' );
+ my $now = DateTime->now( time_zone => FixMyStreet->time_zone || FixMyStreet->local_time_zone );
my $tt = '';
return "[unknown time]" unless ref $dt;
diff --git a/templates/web/fixmystreet.com/static/posters.html b/templates/web/fixmystreet.com/static/posters.html
index 2e26ad40e..4bd613fd9 100644
--- a/templates/web/fixmystreet.com/static/posters.html
+++ b/templates/web/fixmystreet.com/static/posters.html
@@ -11,6 +11,27 @@
badge = '<a href="https://www.fixmystreet.com/"> <img src="https://www.fixmystreet.com/i/fms-badge.jpeg" alt="FixMyStreet - report, view or discuss local problems" border="0"></a>'
%]
+<script>
+
+$("[data-goodielink]").on(click, function(e){
+ var url = $(this).attr('href')
+ var name = $(this).attr('data-goodielink')
+ var callback = function(){
+ window.location.href = url
+ }
+ if(e.metaKey || e.ctrlKey){
+ callback = function(){}
+ } else {
+ e.preventDefault()
+ }
+ ga('send', 'event', 'goodie', 'download', name, {
+ 'hitCallback': callback
+ })
+ setTimeout(callback, 2000);
+});
+
+</script>
+
<div class="sticky-sidebar">
<aside>
<ul class="plain-list">
@@ -45,7 +66,7 @@
<li>Ideas for letting more people know about FixMyStreet</li>
</ul>
-<a href="/cobrands/fixmystreet/posters/activist-pack.zip" class="download-button">Download ZIP file</a>
+<a href="/cobrands/fixmystreet/posters/activist-pack.zip" data-goodielink="activist-pack" class="download-button">Download ZIP file</a>
<h2 id="school-pack">Activity Pack for Schools, Brownies, and Scouts</h2>
@@ -59,7 +80,7 @@
<li>Ideas for activities</li>
</ul>
-<a href="/cobrands/fixmystreet/posters/schools-clubs-pack.zip" class="download-button">Download ZIP file</a>
+<a href="/cobrands/fixmystreet/posters/schools-clubs-pack.zip" data-goodielink="schools-clubs-pack" class="download-button">Download ZIP file</a>
<h2 id="community-pack">Community Group Pack</h2>
@@ -75,7 +96,7 @@
<li>Instructions for including a feed of local FixMyStreet reports on your site or blog</li>
</ul>
-<a href="/cobrands/fixmystreet/posters/community-group-pack.zip" class="download-button">Download ZIP file</a>
+<a href="/cobrands/fixmystreet/posters/community-group-pack.zip" data-goodielink="community-group-pack" class="download-button">Download ZIP file</a>
<h2 id="web">Website Badge</h2>
@@ -88,19 +109,19 @@
<h2 id="print">Printed Materials</h2>
<ul class="downloads">
- <li><a href="/cobrands/fixmystreet/posters/fixmystreet-poster-a4.pdf">
+ <li><a href="/cobrands/fixmystreet/posters/fixmystreet-poster-a4.pdf" data-goodielink="fixmystreet-poster-a4">
<img src="/cobrands/fixmystreet/images/a4-poster.png">
<strong>A4 poster</strong> Ideal for a noticeboard at work, in the library, corner shop… wherever your community will see it.
</a></li>
- <li><a href="/cobrands/fixmystreet/posters/fixmystreet-flyers-a5.pdf">
+ <li><a href="/cobrands/fixmystreet/posters/fixmystreet-flyers-a5.pdf" data-goodielink="fixmystreet-flyers-a5">
<img src="/cobrands/fixmystreet/images/a5-flyers.png">
<strong>A5 flyers (2 to a sheet)</strong> Perfect for handing out to friends or posting to subscribers.
</a></li>
- <li><a href="/cobrands/fixmystreet/posters/fixmystreet-flyers-a6.pdf">
+ <li><a href="/cobrands/fixmystreet/posters/fixmystreet-flyers-a6.pdf" data-goodielink="fixmystreet-flyers-a6">
<img src="/cobrands/fixmystreet/images/a6-flyers.png">
<strong>A6 flyers (4 to a sheet)</strong> Great for cafés, pubs, or meetings.
</a></li>
- <li><a href="/cobrands/fixmystreet/posters/fixmystreet-poop-flags.pdf">
+ <li><a href="/cobrands/fixmystreet/posters/fixmystreet-poop-flags.pdf" data-goodielink="fixmystreet-poop-flags">
<img src="/cobrands/fixmystreet/images/dog-poop-flags.png">
<strong>Doggy poop flags (4 to a sheet)</strong> Take a stand against dog-fouling with our home-made flags. Some assembly required!
</a></li>
@@ -111,15 +132,15 @@
<p>Ideal for promoting FixMyStreet in your community newsletter or local magazine. Specially designed to stand out, and get your message across!</p>
<ul class="downloads">
- <li><a href="/cobrands/fixmystreet/posters/fixmystreet-advert-90x130.pdf">
+ <li><a href="/cobrands/fixmystreet/posters/fixmystreet-advert-90x130.pdf" data-goodielink="fixmystreet-advert-90x130">
<img src="/cobrands/fixmystreet/images/advert-90x130.png">
<strong>Quarter page advert</strong> (9cm wide, 13cm high)
</a></li>
- <li><a href="/cobrands/fixmystreet/posters/fixmystreet-advert-90x60.pdf">
+ <li><a href="/cobrands/fixmystreet/posters/fixmystreet-advert-90x60.pdf" data-goodielink="fixmystreet-advert-90x60">
<img src="/cobrands/fixmystreet/images/advert-90x60.png">
<strong>One-eighth page advert</strong> (9cm wide, 6cm high)
</a></li>
- <li><a href="/cobrands/fixmystreet/posters/fixmystreet-advert-40x60.pdf">
+ <li><a href="/cobrands/fixmystreet/posters/fixmystreet-advert-40x60.pdf" data-goodielink="fixmystreet-advert-40x60">
<img src="/cobrands/fixmystreet/images/advert-40x60.png">
<strong>One-sixteenth page advert</strong> (4cm wide, 6cm high)
</a></li>
diff --git a/templates/web/trinidadtobago/header_logo.html b/templates/web/trinidadtobago/header_logo.html
new file mode 100644
index 000000000..d5da7e6b2
--- /dev/null
+++ b/templates/web/trinidadtobago/header_logo.html
@@ -0,0 +1 @@
+ <a href="[% c.config.BASE_URL %]/" id="site-logo">[% PROCESS 'site-name.html' -%]</a>
diff --git a/templates/web/trinidadtobago/site-name.html b/templates/web/trinidadtobago/site-name.html
new file mode 100644
index 000000000..d9c3f19c7
--- /dev/null
+++ b/templates/web/trinidadtobago/site-name.html
@@ -0,0 +1 @@
+FixMyStreeTT
diff --git a/web/cobrands/trinidadtobago/base.scss b/web/cobrands/trinidadtobago/base.scss
index 9fccf92db..77f91f57d 100644
--- a/web/cobrands/trinidadtobago/base.scss
+++ b/web/cobrands/trinidadtobago/base.scss
@@ -5,3 +5,29 @@
@import "../sass/base";
+#site-header {
+ background: #fff;
+}
+
+
+#site-logo {
+ display: block;
+ width: 175px;
+ height: 40px;
+ top: 0.4em;
+ background: url("/cobrands/trinidadtobago/images/sprite.png") -3px -3px no-repeat;
+ text-indent: -999999px;
+ position: absolute;
+ z-index: 2
+}
+
+#nav-link {
+ width: 50px;
+ height: 48px;
+ background: url("/cobrands/trinidadtobago/images/sprite.png") -5px -916px no-repeat;
+ display: block;
+ text-indent: -999999px;
+ position: absolute;
+ right: 2em;
+ top: -2px
+} \ No newline at end of file
diff --git a/web/cobrands/trinidadtobago/fixmystreett.png b/web/cobrands/trinidadtobago/fixmystreett.png
new file mode 100644
index 000000000..4d0388f19
--- /dev/null
+++ b/web/cobrands/trinidadtobago/fixmystreett.png
Binary files differ
diff --git a/web/cobrands/trinidadtobago/images/sprite.png b/web/cobrands/trinidadtobago/images/sprite.png
new file mode 100644
index 000000000..6094712f1
--- /dev/null
+++ b/web/cobrands/trinidadtobago/images/sprite.png
Binary files differ
diff --git a/web/cobrands/trinidadtobago/layout.scss b/web/cobrands/trinidadtobago/layout.scss
index 67cc7307f..43783b58b 100644
--- a/web/cobrands/trinidadtobago/layout.scss
+++ b/web/cobrands/trinidadtobago/layout.scss
@@ -4,3 +4,15 @@
.big-green-banner {
background-color: $trinidad_primary;
}
+
+#site-logo,
+body.frontpage #site-logo {
+ margin-top: -10px;
+ margin-left: 10px;
+ height: 100px;
+ background: url(fixmystreett.png) 0px 0px no-repeat;
+ background-size: contain;
+}
+body.frontpage #site-logo {
+ margin-top: -20px;
+} \ No newline at end of file