summaryrefslogtreecommitdiff
path: root/src/Controller/Event.php
diff options
context:
space:
mode:
Diffstat (limited to 'src/Controller/Event.php')
-rw-r--r--src/Controller/Event.php27
1 files changed, 22 insertions, 5 deletions
diff --git a/src/Controller/Event.php b/src/Controller/Event.php
index 78de9d5..1fd304d 100644
--- a/src/Controller/Event.php
+++ b/src/Controller/Event.php
@@ -31,10 +31,9 @@ class Event
$event = DB::fetch(Model::class, 'select * from events where id=:id', ['id' => $request->get('id')])[0] ?? null;
$village = Village::get($event->villageId);
- if ($event->type === 'SendUnits') {
- /**@var SendUnits $sendUnitsEvent*/
- $sendUnitsEvent = DB::fetch(SendUnits::class, 'select * from events_send_units where event_id=:id', ['id' => $event->id]);
-
+ /**@var SendUnits $sendUnitsEvent*/
+ $sendUnitsEvent = DB::fetch(SendUnits::class, 'select * from events_send_units where event_id=:id', ['id' => $event->id])[0] ?? null;
+ if (! empty($sendUnitsEvent)) {
if ($sendUnitsEvent->type === 'SendBack') {
$cancelTimeDiff = $event->createdAt->diff(new \DateTime());
$cancelTime = (new \DateTime())->add($cancelTimeDiff);
@@ -44,7 +43,25 @@ class Event
$sendUnitsEvent->residence = $sendUnitsEvent->source;
DB::query(
- 'update events set time=:time, where id=:id',
+ 'update events set time=:time where id=:id',
+ ['time' => $cancelTime->format('c'), 'id' => $request->get('id')]
+ );
+ DB::query(
+ 'update events_send_units set is_canceled=:is_canceled, home=:home, residence=:residence where id=:id',
+ ['is_canceled' => $sendUnitsEvent->isCanceled, 'home' => $sendUnitsEvent->home, 'residence' => $sendUnitsEvent->residence, 'id' => $sendUnitsEvent->id]
+ );
+ }
+
+ else if ($sendUnitsEvent->type === 'Recall') {
+ $cancelTimeDiff = $event->createdAt->diff(new \DateTime());
+ $cancelTime = (new \DateTime())->add($cancelTimeDiff);
+
+ $sendUnitsEvent->isCanceled = true;
+ $sendUnitsEvent->home = $sendUnitsEvent->destination;
+ $sendUnitsEvent->residence = $sendUnitsEvent->source;
+
+ DB::query(
+ 'update events set time=:time where id=:id',
['time' => $cancelTime->format('c'), 'id' => $request->get('id')]
);
DB::query(