diff --git a/app/Http/Controllers/RecurringInvoiceController.php b/app/Http/Controllers/RecurringInvoiceController.php index eca25169e0f4..2a1751813dbb 100644 --- a/app/Http/Controllers/RecurringInvoiceController.php +++ b/app/Http/Controllers/RecurringInvoiceController.php @@ -206,14 +206,11 @@ class RecurringInvoiceController extends BaseController event(new RecurringInvoiceWasCreated($recurring_invoice, $recurring_invoice->company, Ninja::eventVars(auth()->user() ? auth()->user()->id : null))); - if($recurring_invoice->client->getSetting('entity_send_time') > 0){ - $timezone = $this->company->timezone(); - $offset = $timezone->utc_offset + ($this->client->getSetting('entity_send_time') * 3600); - - $recurring_invoice->next_send_date = Carbon::parse($recurring_invoice->next_send_date)->addSeconds($offset); - $recurring_invoice->save(); - } + $offset = $recurring_invoice->client->timezone_offset(); + $recurring_invoice->next_send_date = Carbon::parse($recurring_invoice->next_send_date)->addSeconds($offset); + $recurring_invoice->save(); + return $this->itemResponse($recurring_invoice); } diff --git a/app/Jobs/Util/Import.php b/app/Jobs/Util/Import.php index 5b722eb19408..5391623cefd7 100644 --- a/app/Jobs/Util/Import.php +++ b/app/Jobs/Util/Import.php @@ -929,7 +929,7 @@ class Import implements ShouldQueue $modified['client_id'] = $this->transformId('clients', $resource['client_id']); - if(array_key_exists('invoice_id', $resource) && $this->tryTransformingId('invoices', $resource['invoice_id'])) + if(array_key_exists('invoice_id', $resource) && isset($resource['invoice_id']) && $this->tryTransformingId('invoices', $resource['invoice_id'])) $modified['invoice_id'] = $this->transformId('invoices', $resource['invoice_id']); $modified['user_id'] = $this->processUserId($resource); diff --git a/app/Models/Client.php b/app/Models/Client.php index 92819b011377..f3f3fa374aad 100644 --- a/app/Models/Client.php +++ b/app/Models/Client.php @@ -695,4 +695,18 @@ class Client extends BaseModel implements HasLocalePreference { return $this->hasMany(Payment::class); } + + public function timezone_offset() + { + $entity_send_time = $this->getSetting('entity_send_time'); + + if($entity_send_time == 0) + return 0; + + $timezone = $this->company->timezone(); + + $offset = $timezone->utc_offset + ($entity_send_time * 3600); + + return $offset; + } } diff --git a/app/Models/RecurringInvoice.php b/app/Models/RecurringInvoice.php index 806c15c8a6b4..c8db14421780 100644 --- a/app/Models/RecurringInvoice.php +++ b/app/Models/RecurringInvoice.php @@ -222,8 +222,7 @@ class RecurringInvoice extends BaseModel return null; } - $timezone = $this->company->timezone(); - $offset = $timezone->utc_offset + ($this->client->getSetting('entity_send_time') * 3600); + $offset = $this->client->timezone_offset(); switch ($this->frequency_id) { case self::FREQUENCY_DAILY: