From f428505526d92af48050d71f7eaad73ab09930e7 Mon Sep 17 00:00:00 2001 From: fireartist Date: Thu, 29 Nov 2012 20:49:48 +0000 Subject: [PATCH] don't pass DateTime object to DBIC->search() - use storage formatter --- lib/Lacuna/DB/Result/Building/Module/PoliceStation.pm | 6 +++++- lib/Lacuna/DB/Result/Building/Security.pm | 6 +++++- lib/Lacuna/DB/Result/Map/Body/Planet.pm | 10 ++++++---- lib/Lacuna/RPC/Building/SpacePort.pm | 5 ++++- lib/Lacuna/Role/TraderRpc.pm | 5 ++++- lib/Lacuna/Web/ApiKey.pm | 3 ++- lib/Lacuna/Web/MissionCurator.pm | 4 +++- 7 files changed, 29 insertions(+), 10 deletions(-) diff --git a/lib/Lacuna/DB/Result/Building/Module/PoliceStation.pm b/lib/Lacuna/DB/Result/Building/Module/PoliceStation.pm index efb65bfa..b3485b6f 100644 --- a/lib/Lacuna/DB/Result/Building/Module/PoliceStation.pm +++ b/lib/Lacuna/DB/Result/Building/Module/PoliceStation.pm @@ -26,6 +26,10 @@ sub foreign_spies { sub prisoners { my $self = shift; + + my $dt_parser = Lacuna->db->storage->datetime_parser; + my $now = $dt_parser->format_datetime( DateTime->now ); + return Lacuna ->db ->resultset('Lacuna::DB::Result::Spies') @@ -33,7 +37,7 @@ sub prisoners { { on_body_id => $self->body_id, task => { 'in' => [ 'Captured', 'Prisoner Transport' ] }, - available_on=> { '>' => DateTime->now }, + available_on=> { '>' => $now }, } ); } diff --git a/lib/Lacuna/DB/Result/Building/Security.pm b/lib/Lacuna/DB/Result/Building/Security.pm index 34c7d34f..467f43ea 100644 --- a/lib/Lacuna/DB/Result/Building/Security.pm +++ b/lib/Lacuna/DB/Result/Building/Security.pm @@ -57,6 +57,10 @@ sub foreign_spies { sub prisoners { my $self = shift; + + my $dt_parser = Lacuna->db->storage->datetime_parser; + my $now = $dt_parser->format_datetime( DateTime->now ); + return Lacuna ->db ->resultset('Lacuna::DB::Result::Spies') @@ -64,7 +68,7 @@ sub prisoners { { on_body_id => $self->body_id, task => { 'in' => [ 'Captured', 'Prisoner Transport' ] }, - available_on=> { '>' => DateTime->now }, + available_on=> { '>' => $now }, } ); } diff --git a/lib/Lacuna/DB/Result/Map/Body/Planet.pm b/lib/Lacuna/DB/Result/Map/Body/Planet.pm index 0650019c..76b9f371 100644 --- a/lib/Lacuna/DB/Result/Map/Body/Planet.pm +++ b/lib/Lacuna/DB/Result/Map/Body/Planet.pm @@ -374,16 +374,17 @@ around get_status => sub { $out->{skip_incoming_ships} = $empire->skip_incoming_ships; if (1) { # if (not $empire->skip_incoming_ships) { - my $now = time; - my $foreign_bodies; # Process all ships that have already arrived + my $dt_parser = Lacuna->db->storage->datetime_parser; + my $now = $dt_parser->format_datetime( DateTime->now ); + my $incoming_rs = Lacuna->db->resultset('Lacuna::DB::Result::Ships')->search({ foreign_body_id => $self->id, direction => 'out', task => 'Travelling', - date_available => {'<' => DateTime->now.''}, + date_available => {'<' => $now}, }); while (my $ship = $incoming_rs->next) { $foreign_bodies->{$ship->body_id} = 1; @@ -1313,6 +1314,7 @@ sub tick { my $now = DateTime->now; my $now_epoch = $now->epoch; + my $dt_parser = Lacuna->db->storage->datetime_parser; my %todo; my $i; # in case 2 things finish at exactly the same time @@ -1341,7 +1343,7 @@ sub tick { # get ship tasks my $ships = Lacuna->db->resultset('Lacuna::DB::Result::Ships')->search({ body_id => $self->id, - date_available => { '<=' => $now }, + date_available => { '<=' => $dt_parser->format_datetime($now) }, task => { '!=' => 'Docked' }, }); while (my $ship = $ships->next ) { diff --git a/lib/Lacuna/RPC/Building/SpacePort.pm b/lib/Lacuna/RPC/Building/SpacePort.pm index 5a74d3dd..7967bd1e 100644 --- a/lib/Lacuna/RPC/Building/SpacePort.pm +++ b/lib/Lacuna/RPC/Building/SpacePort.pm @@ -609,6 +609,9 @@ sub prepare_fetch_spies { while (my $ship = $ships->next) { push @ships, $ship->get_status($on_body); } + + my $dt_parser = Lacuna->db->storage->datetime_parser; + my $now = $dt_parser->format_datetime( DateTime->now ); my $spies = Lacuna->db->resultset('Lacuna::DB::Result::Spies')->search( { @@ -618,7 +621,7 @@ sub prepare_fetch_spies { task => { in => [ 'Idle', 'Counter Espionage' ], }, -and => [ task => { in => [ 'Unconscious', 'Debriefing' ], }, - available_on => { '<' => '\NOW()' }, + available_on => { '<' => $now }, ], ], }, diff --git a/lib/Lacuna/Role/TraderRpc.pm b/lib/Lacuna/Role/TraderRpc.pm index 7d182fd2..337944ab 100644 --- a/lib/Lacuna/Role/TraderRpc.pm +++ b/lib/Lacuna/Role/TraderRpc.pm @@ -152,8 +152,11 @@ sub get_prisoners { my ($self, $session_id, $building_id) = @_; my $empire = $self->get_empire_by_session($session_id); my $building = $self->get_building($empire, $building_id); + my $dt_parser = Lacuna->db->storage->datetime_parser; + my $now = $dt_parser->format_datetime( DateTime->now ); + my $prisoners = Lacuna->db->resultset('Lacuna::DB::Result::Spies')->search( - { on_body_id => $building->body_id, task => 'Captured', available_on => { '>' => DateTime->now } }, + { on_body_id => $building->body_id, task => 'Captured', available_on => { '>' => $now } }, {order_by => [ 'name' ]} ); my @out; diff --git a/lib/Lacuna/Web/ApiKey.pm b/lib/Lacuna/Web/ApiKey.pm index 3d152193..88e496e3 100644 --- a/lib/Lacuna/Web/ApiKey.pm +++ b/lib/Lacuna/Web/ApiKey.pm @@ -18,7 +18,8 @@ sub www_view_stats { my $row = sub { return ''.$_[0].''.$_[1].''.$_[2].''; }; - my $thirty_days_ago = DateTime->now->subtract(days=>30); + my $dt_parser = Lacuna->db->storage->datetime_parser; + my $thirty_days_ago = $dt_parser->format_datetime( DateTime->now->subtract(days=>30) ); my $out = "

Stats for $name

"; my $login = Lacuna->db->resultset('Lacuna::DB::Result::Log::Login')->search({api_key => $pair->public_key}); $out .= $row->('Empires Using', diff --git a/lib/Lacuna/Web/MissionCurator.pm b/lib/Lacuna/Web/MissionCurator.pm index b3ece5a4..ef21b8f1 100644 --- a/lib/Lacuna/Web/MissionCurator.pm +++ b/lib/Lacuna/Web/MissionCurator.pm @@ -34,7 +34,9 @@ sub www_add_essentia { body => 'I have approved a mission pack for '.$empire->name.'.', tags => ['Mission','Correspondence'], ); - my $recent = Lacuna->db->resultset('Lacuna::DB::Result::Log::Essentia')->search({ empire_id => $curator->id, description => 'Mission Curator', date_stamp => { '>' => DateTime->now->subtract(days => 7)}})->count; + my $dt_parser = Lacuna->db->storage->datetime_parser; + my $seven_days_ago = $dt_parser->format_datetime( DateTime->now->subtract(days => 7) ); + my $recent = Lacuna->db->resultset('Lacuna::DB::Result::Log::Essentia')->search({ empire_id => $curator->id, description => 'Mission Curator', date_stamp => { '>' => $seven_days_ago}})->count; $curator->add_essentia(100, 'Mission Curator')->update unless $recent; return $self->www_default($request, 'Essentia Added'); } -- 2.51.2
StatisticPast 30 DaysAll Time