diff --git a/app/Models/Company.php b/app/Models/Company.php index 644dcab807e1..1de20b8d694b 100644 --- a/app/Models/Company.php +++ b/app/Models/Company.php @@ -880,6 +880,13 @@ class Company extends BaseModel return $data; } + public function utc_offset(): int + { + $timezone = $this->timezone(); + + return $timezone->utc_offset ?? 0; + } + public function timezone_offset(): int { $offset = 0; diff --git a/app/Repositories/TaskRepository.php b/app/Repositories/TaskRepository.php index 051a2c1c5689..f3f5642dc198 100644 --- a/app/Repositories/TaskRepository.php +++ b/app/Repositories/TaskRepository.php @@ -118,7 +118,7 @@ class TaskRepository extends BaseRepository $task->is_running = $data['is_running'] ? 1 : 0; } - $task->calculated_start_date = $this->harvestStartDate($time_log); + $task->calculated_start_date = $this->harvestStartDate($time_log, $task); $task->time_log = json_encode($time_log); @@ -133,11 +133,11 @@ class TaskRepository extends BaseRepository return $task; } - private function harvestStartDate($time_log) + private function harvestStartDate($time_log, $task) { if(isset($time_log[0][0])){ - return \Carbon\Carbon::createFromTimestamp($time_log[0][0]); + return \Carbon\Carbon::createFromTimestamp($time_log[0][0])->addSeconds($task->company->utc_offset()); } return null; @@ -218,7 +218,7 @@ class TaskRepository extends BaseRepository $log = array_merge($log, [[$start_time, 0]]); $task->time_log = json_encode($log); - $task->calculated_start_date = \Carbon\Carbon::createFromTimestamp($start_time); + $task->calculated_start_date = \Carbon\Carbon::createFromTimestamp($start_time)->addSeconds($task->company->utc_offset()); $task->saveQuietly(); }