mirror of
https://github.com/invoiceninja/invoiceninja.git
synced 2025-07-09 03:14:30 -04:00
Minor fixes for types
This commit is contained in:
parent
da52554e71
commit
63a7a11853
@ -11,7 +11,7 @@
|
|||||||
|
|
||||||
namespace App\DataMapper\Schedule;
|
namespace App\DataMapper\Schedule;
|
||||||
|
|
||||||
class ClientStatement
|
class EmailStatement
|
||||||
{
|
{
|
||||||
/**
|
/**
|
||||||
* Defines the template name
|
* Defines the template name
|
@ -207,7 +207,7 @@ class NinjaMailerJob implements ShouldQueue
|
|||||||
|
|
||||||
switch ($class) {
|
switch ($class) {
|
||||||
case Invoice::class:
|
case Invoice::class:
|
||||||
event(new InvoiceWasEmailedAndFailed($this->nmo->invitation, $this->nmo->company, $message, $this->nmo->reminder_template, Ninja::eventVars(auth()->user() ? auth()->user()->id : null)));
|
event(new InvoiceWasEmailedAndFailed($this->nmo->invitation, $this->nmo->company, $message, $this->nmo->template, Ninja::eventVars(auth()->user() ? auth()->user()->id : null)));
|
||||||
break;
|
break;
|
||||||
case Payment::class:
|
case Payment::class:
|
||||||
event(new PaymentWasEmailedAndFailed($this->nmo->entity, $this->nmo->company, $message, Ninja::eventVars(auth()->user() ? auth()->user()->id : null)));
|
event(new PaymentWasEmailedAndFailed($this->nmo->entity, $this->nmo->company, $message, Ninja::eventVars(auth()->user() ? auth()->user()->id : null)));
|
||||||
@ -546,7 +546,7 @@ class NinjaMailerJob implements ShouldQueue
|
|||||||
* Logs any errors to the SystemLog
|
* Logs any errors to the SystemLog
|
||||||
*
|
*
|
||||||
* @param string $errors
|
* @param string $errors
|
||||||
* @param App\Models\User | App\Models\Client $recipient_object
|
* @param App\Models\User | App\Models\Client | null $recipient_object
|
||||||
* @return void
|
* @return void
|
||||||
*/
|
*/
|
||||||
private function logMailError($errors, $recipient_object) :void
|
private function logMailError($errors, $recipient_object) :void
|
||||||
|
@ -11,10 +11,11 @@
|
|||||||
|
|
||||||
namespace App\Services\Email;
|
namespace App\Services\Email;
|
||||||
|
|
||||||
use App\Models\Client;
|
|
||||||
use App\Models\ClientContact;
|
|
||||||
use App\Models\User;
|
use App\Models\User;
|
||||||
|
use App\Models\Client;
|
||||||
use App\Models\Vendor;
|
use App\Models\Vendor;
|
||||||
|
use App\Models\Company;
|
||||||
|
use App\Models\ClientContact;
|
||||||
use App\Models\VendorContact;
|
use App\Models\VendorContact;
|
||||||
use Illuminate\Mail\Mailables\Address;
|
use Illuminate\Mail\Mailables\Address;
|
||||||
|
|
||||||
@ -78,4 +79,6 @@ class EmailObject
|
|||||||
public ?string $entity_class = null;
|
public ?string $entity_class = null;
|
||||||
|
|
||||||
public array $variables = [];
|
public array $variables = [];
|
||||||
|
|
||||||
|
public ?Company $company = null;
|
||||||
}
|
}
|
||||||
|
@ -16,8 +16,7 @@ use App\Models\Scheduler;
|
|||||||
use App\Utils\Traits\MakesHash;
|
use App\Utils\Traits\MakesHash;
|
||||||
use App\Models\RecurringInvoice;
|
use App\Models\RecurringInvoice;
|
||||||
use App\Utils\Traits\MakesDates;
|
use App\Utils\Traits\MakesDates;
|
||||||
use App\DataMapper\Schedule\ClientStatement;
|
use App\DataMapper\Schedule\EmailStatement;
|
||||||
use Symfony\Component\HttpClient\Internal\ClientState;
|
|
||||||
|
|
||||||
class SchedulerService
|
class SchedulerService
|
||||||
{
|
{
|
||||||
@ -93,16 +92,16 @@ class SchedulerService
|
|||||||
private function calculateStartAndEndDates(): array
|
private function calculateStartAndEndDates(): array
|
||||||
{
|
{
|
||||||
return match ($this->scheduler->parameters['date_range']) {
|
return match ($this->scheduler->parameters['date_range']) {
|
||||||
ClientStatement::LAST7 => [now()->startOfDay()->subDays(7)->format('Y-m-d'), now()->startOfDay()->format('Y-m-d')],
|
EmailStatement::LAST7 => [now()->startOfDay()->subDays(7)->format('Y-m-d'), now()->startOfDay()->format('Y-m-d')],
|
||||||
ClientStatement::LAST30 => [now()->startOfDay()->subDays(30)->format('Y-m-d'), now()->startOfDay()->format('Y-m-d')],
|
EmailStatement::LAST30 => [now()->startOfDay()->subDays(30)->format('Y-m-d'), now()->startOfDay()->format('Y-m-d')],
|
||||||
ClientStatement::LAST365 => [now()->startOfDay()->subDays(365)->format('Y-m-d'), now()->startOfDay()->format('Y-m-d')],
|
EmailStatement::LAST365 => [now()->startOfDay()->subDays(365)->format('Y-m-d'), now()->startOfDay()->format('Y-m-d')],
|
||||||
ClientStatement::THIS_MONTH => [now()->startOfDay()->firstOfMonth()->format('Y-m-d'), now()->startOfDay()->lastOfMonth()->format('Y-m-d')],
|
EmailStatement::THIS_MONTH => [now()->startOfDay()->firstOfMonth()->format('Y-m-d'), now()->startOfDay()->lastOfMonth()->format('Y-m-d')],
|
||||||
ClientStatement::LAST_MONTH => [now()->startOfDay()->subMonthNoOverflow()->firstOfMonth()->format('Y-m-d'), now()->startOfDay()->subMonthNoOverflow()->lastOfMonth()->format('Y-m-d')],
|
EmailStatement::LAST_MONTH => [now()->startOfDay()->subMonthNoOverflow()->firstOfMonth()->format('Y-m-d'), now()->startOfDay()->subMonthNoOverflow()->lastOfMonth()->format('Y-m-d')],
|
||||||
ClientStatement::THIS_QUARTER => [now()->startOfDay()->firstOfQuarter()->format('Y-m-d'), now()->startOfDay()->lastOfQuarter()->format('Y-m-d')],
|
EmailStatement::THIS_QUARTER => [now()->startOfDay()->firstOfQuarter()->format('Y-m-d'), now()->startOfDay()->lastOfQuarter()->format('Y-m-d')],
|
||||||
ClientStatement::LAST_QUARTER => [now()->startOfDay()->subQuarterNoOverflow()->firstOfQuarter()->format('Y-m-d'), now()->startOfDay()->subQuarterNoOverflow()->lastOfQuarter()->format('Y-m-d')],
|
EmailStatement::LAST_QUARTER => [now()->startOfDay()->subQuarterNoOverflow()->firstOfQuarter()->format('Y-m-d'), now()->startOfDay()->subQuarterNoOverflow()->lastOfQuarter()->format('Y-m-d')],
|
||||||
ClientStatement::THIS_YEAR => [now()->startOfDay()->firstOfYear()->format('Y-m-d'), now()->startOfDay()->lastOfYear()->format('Y-m-d')],
|
EmailStatement::THIS_YEAR => [now()->startOfDay()->firstOfYear()->format('Y-m-d'), now()->startOfDay()->lastOfYear()->format('Y-m-d')],
|
||||||
ClientStatement::LAST_YEAR => [now()->startOfDay()->subYearNoOverflow()->firstOfYear()->format('Y-m-d'), now()->startOfDay()->subYearNoOverflow()->lastOfYear()->format('Y-m-d')],
|
EmailStatement::LAST_YEAR => [now()->startOfDay()->subYearNoOverflow()->firstOfYear()->format('Y-m-d'), now()->startOfDay()->subYearNoOverflow()->lastOfYear()->format('Y-m-d')],
|
||||||
ClientStatement::CUSTOM_RANGE => [$this->scheduler->parameters['start_date'], $this->scheduler->parameters['end_date']],
|
EmailStatement::CUSTOM_RANGE => [$this->scheduler->parameters['start_date'], $this->scheduler->parameters['end_date']],
|
||||||
default => [now()->startOfDay()->firstOfMonth()->format('Y-m-d'), now()->startOfDay()->lastOfMonth()->format('Y-m-d')],
|
default => [now()->startOfDay()->firstOfMonth()->format('Y-m-d'), now()->startOfDay()->lastOfMonth()->format('Y-m-d')],
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
@ -21,7 +21,7 @@ use App\Models\RecurringInvoice;
|
|||||||
use App\Factory\SchedulerFactory;
|
use App\Factory\SchedulerFactory;
|
||||||
use Illuminate\Database\Eloquent\Model;
|
use Illuminate\Database\Eloquent\Model;
|
||||||
use Illuminate\Support\Facades\Session;
|
use Illuminate\Support\Facades\Session;
|
||||||
use App\DataMapper\Schedule\ClientStatement;
|
use App\DataMapper\Schedule\EmailStatement;
|
||||||
use App\Services\Scheduler\SchedulerService;
|
use App\Services\Scheduler\SchedulerService;
|
||||||
use Illuminate\Validation\ValidationException;
|
use Illuminate\Validation\ValidationException;
|
||||||
use Illuminate\Foundation\Testing\WithoutEvents;
|
use Illuminate\Foundation\Testing\WithoutEvents;
|
||||||
@ -76,7 +76,7 @@ class SchedulerTest extends TestCase
|
|||||||
'next_run' => now()->format('Y-m-d'),
|
'next_run' => now()->format('Y-m-d'),
|
||||||
'template' => 'client_statement',
|
'template' => 'client_statement',
|
||||||
'parameters' => [
|
'parameters' => [
|
||||||
'date_range' => ClientStatement::LAST_MONTH,
|
'date_range' => EmailStatement::LAST_MONTH,
|
||||||
'show_payments_table' => true,
|
'show_payments_table' => true,
|
||||||
'show_aging_table' => true,
|
'show_aging_table' => true,
|
||||||
'status' => 'paid',
|
'status' => 'paid',
|
||||||
@ -139,7 +139,7 @@ class SchedulerTest extends TestCase
|
|||||||
'next_run' => now()->format('Y-m-d'),
|
'next_run' => now()->format('Y-m-d'),
|
||||||
'template' => 'client_statement',
|
'template' => 'client_statement',
|
||||||
'parameters' => [
|
'parameters' => [
|
||||||
'date_range' => ClientStatement::LAST_MONTH,
|
'date_range' => EmailStatement::LAST_MONTH,
|
||||||
'show_payments_table' => true,
|
'show_payments_table' => true,
|
||||||
'show_aging_table' => true,
|
'show_aging_table' => true,
|
||||||
'status' => 'paid',
|
'status' => 'paid',
|
||||||
@ -171,7 +171,7 @@ class SchedulerTest extends TestCase
|
|||||||
'next_run' => now()->addDay()->format('Y-m-d'),
|
'next_run' => now()->addDay()->format('Y-m-d'),
|
||||||
'template' => 'client_statement',
|
'template' => 'client_statement',
|
||||||
'parameters' => [
|
'parameters' => [
|
||||||
'date_range' => ClientStatement::LAST_MONTH,
|
'date_range' => EmailStatement::LAST_MONTH,
|
||||||
'show_payments_table' => true,
|
'show_payments_table' => true,
|
||||||
'show_aging_table' => true,
|
'show_aging_table' => true,
|
||||||
'status' => 'paid',
|
'status' => 'paid',
|
||||||
@ -195,7 +195,7 @@ class SchedulerTest extends TestCase
|
|||||||
'next_run' => now()->format('Y-m-d'),
|
'next_run' => now()->format('Y-m-d'),
|
||||||
'template' => 'client_statement',
|
'template' => 'client_statement',
|
||||||
'parameters' => [
|
'parameters' => [
|
||||||
'date_range' => ClientStatement::LAST_MONTH,
|
'date_range' => EmailStatement::LAST_MONTH,
|
||||||
'show_payments_table' => true,
|
'show_payments_table' => true,
|
||||||
'show_aging_table' => true,
|
'show_aging_table' => true,
|
||||||
'status' => 'paid',
|
'status' => 'paid',
|
||||||
@ -224,7 +224,7 @@ class SchedulerTest extends TestCase
|
|||||||
'next_run' => now()->format('Y-m-d'),
|
'next_run' => now()->format('Y-m-d'),
|
||||||
'template' => 'client_statement',
|
'template' => 'client_statement',
|
||||||
'parameters' => [
|
'parameters' => [
|
||||||
'date_range' => ClientStatement::LAST_MONTH,
|
'date_range' => EmailStatement::LAST_MONTH,
|
||||||
'show_payments_table' => true,
|
'show_payments_table' => true,
|
||||||
'show_aging_table' => true,
|
'show_aging_table' => true,
|
||||||
'status' => 'paid',
|
'status' => 'paid',
|
||||||
@ -259,7 +259,7 @@ class SchedulerTest extends TestCase
|
|||||||
'next_run' => "2023-01-01",
|
'next_run' => "2023-01-01",
|
||||||
'template' => 'client_statement',
|
'template' => 'client_statement',
|
||||||
'parameters' => [
|
'parameters' => [
|
||||||
'date_range' => ClientStatement::LAST_MONTH,
|
'date_range' => EmailStatement::LAST_MONTH,
|
||||||
'show_payments_table' => true,
|
'show_payments_table' => true,
|
||||||
'show_aging_table' => true,
|
'show_aging_table' => true,
|
||||||
'status' => 'paid',
|
'status' => 'paid',
|
||||||
@ -278,7 +278,7 @@ class SchedulerTest extends TestCase
|
|||||||
|
|
||||||
$this->assertIsArray($method);
|
$this->assertIsArray($method);
|
||||||
|
|
||||||
$this->assertEquals(ClientStatement::LAST_MONTH, $scheduler->parameters['date_range']);
|
$this->assertEquals(EmailStatement::LAST_MONTH, $scheduler->parameters['date_range']);
|
||||||
|
|
||||||
$this->assertEqualsCanonicalizing(['2022-12-01','2022-12-31'], $method);
|
$this->assertEqualsCanonicalizing(['2022-12-01','2022-12-31'], $method);
|
||||||
}
|
}
|
||||||
@ -293,7 +293,7 @@ class SchedulerTest extends TestCase
|
|||||||
'next_run' => now()->format('Y-m-d'),
|
'next_run' => now()->format('Y-m-d'),
|
||||||
'template' => 'client_statement',
|
'template' => 'client_statement',
|
||||||
'parameters' => [
|
'parameters' => [
|
||||||
'date_range' => ClientStatement::LAST_MONTH,
|
'date_range' => EmailStatement::LAST_MONTH,
|
||||||
'show_payments_table' => true,
|
'show_payments_table' => true,
|
||||||
'show_aging_table' => true,
|
'show_aging_table' => true,
|
||||||
'status' => 'paid',
|
'status' => 'paid',
|
||||||
@ -324,13 +324,13 @@ class SchedulerTest extends TestCase
|
|||||||
{
|
{
|
||||||
$this->travelTo(Carbon::parse('2023-01-14'));
|
$this->travelTo(Carbon::parse('2023-01-14'));
|
||||||
|
|
||||||
$this->assertEqualsCanonicalizing(['2023-01-01','2023-01-31'], $this->getDateRange(ClientStatement::THIS_MONTH));
|
$this->assertEqualsCanonicalizing(['2023-01-01','2023-01-31'], $this->getDateRange(EmailStatement::THIS_MONTH));
|
||||||
$this->assertEqualsCanonicalizing(['2023-01-01','2023-03-31'], $this->getDateRange(ClientStatement::THIS_QUARTER));
|
$this->assertEqualsCanonicalizing(['2023-01-01','2023-03-31'], $this->getDateRange(EmailStatement::THIS_QUARTER));
|
||||||
$this->assertEqualsCanonicalizing(['2023-01-01','2023-12-31'], $this->getDateRange(ClientStatement::THIS_YEAR));
|
$this->assertEqualsCanonicalizing(['2023-01-01','2023-12-31'], $this->getDateRange(EmailStatement::THIS_YEAR));
|
||||||
|
|
||||||
$this->assertEqualsCanonicalizing(['2022-12-01','2022-12-31'], $this->getDateRange(ClientStatement::LAST_MONTH));
|
$this->assertEqualsCanonicalizing(['2022-12-01','2022-12-31'], $this->getDateRange(EmailStatement::LAST_MONTH));
|
||||||
$this->assertEqualsCanonicalizing(['2022-10-01','2022-12-31'], $this->getDateRange(ClientStatement::LAST_QUARTER));
|
$this->assertEqualsCanonicalizing(['2022-10-01','2022-12-31'], $this->getDateRange(EmailStatement::LAST_QUARTER));
|
||||||
$this->assertEqualsCanonicalizing(['2022-01-01','2022-12-31'], $this->getDateRange(ClientStatement::LAST_YEAR));
|
$this->assertEqualsCanonicalizing(['2022-01-01','2022-12-31'], $this->getDateRange(EmailStatement::LAST_YEAR));
|
||||||
|
|
||||||
$this->travelBack();
|
$this->travelBack();
|
||||||
}
|
}
|
||||||
@ -338,16 +338,16 @@ class SchedulerTest extends TestCase
|
|||||||
private function getDateRange($range)
|
private function getDateRange($range)
|
||||||
{
|
{
|
||||||
return match ($range) {
|
return match ($range) {
|
||||||
ClientStatement::LAST7 => [now()->startOfDay()->subDays(7)->format('Y-m-d'), now()->startOfDay()->format('Y-m-d')],
|
EmailStatement::LAST7 => [now()->startOfDay()->subDays(7)->format('Y-m-d'), now()->startOfDay()->format('Y-m-d')],
|
||||||
ClientStatement::LAST30 => [now()->startOfDay()->subDays(30)->format('Y-m-d'), now()->startOfDay()->format('Y-m-d')],
|
EmailStatement::LAST30 => [now()->startOfDay()->subDays(30)->format('Y-m-d'), now()->startOfDay()->format('Y-m-d')],
|
||||||
ClientStatement::LAST365 => [now()->startOfDay()->subDays(365)->format('Y-m-d'), now()->startOfDay()->format('Y-m-d')],
|
EmailStatement::LAST365 => [now()->startOfDay()->subDays(365)->format('Y-m-d'), now()->startOfDay()->format('Y-m-d')],
|
||||||
ClientStatement::THIS_MONTH => [now()->startOfDay()->firstOfMonth()->format('Y-m-d'), now()->startOfDay()->lastOfMonth()->format('Y-m-d')],
|
EmailStatement::THIS_MONTH => [now()->startOfDay()->firstOfMonth()->format('Y-m-d'), now()->startOfDay()->lastOfMonth()->format('Y-m-d')],
|
||||||
ClientStatement::LAST_MONTH => [now()->startOfDay()->subMonthNoOverflow()->firstOfMonth()->format('Y-m-d'), now()->startOfDay()->subMonthNoOverflow()->lastOfMonth()->format('Y-m-d')],
|
EmailStatement::LAST_MONTH => [now()->startOfDay()->subMonthNoOverflow()->firstOfMonth()->format('Y-m-d'), now()->startOfDay()->subMonthNoOverflow()->lastOfMonth()->format('Y-m-d')],
|
||||||
ClientStatement::THIS_QUARTER => [now()->startOfDay()->firstOfQuarter()->format('Y-m-d'), now()->startOfDay()->lastOfQuarter()->format('Y-m-d')],
|
EmailStatement::THIS_QUARTER => [now()->startOfDay()->firstOfQuarter()->format('Y-m-d'), now()->startOfDay()->lastOfQuarter()->format('Y-m-d')],
|
||||||
ClientStatement::LAST_QUARTER => [now()->startOfDay()->subQuarterNoOverflow()->firstOfQuarter()->format('Y-m-d'), now()->startOfDay()->subQuarterNoOverflow()->lastOfQuarter()->format('Y-m-d')],
|
EmailStatement::LAST_QUARTER => [now()->startOfDay()->subQuarterNoOverflow()->firstOfQuarter()->format('Y-m-d'), now()->startOfDay()->subQuarterNoOverflow()->lastOfQuarter()->format('Y-m-d')],
|
||||||
ClientStatement::THIS_YEAR => [now()->startOfDay()->firstOfYear()->format('Y-m-d'), now()->startOfDay()->lastOfYear()->format('Y-m-d')],
|
EmailStatement::THIS_YEAR => [now()->startOfDay()->firstOfYear()->format('Y-m-d'), now()->startOfDay()->lastOfYear()->format('Y-m-d')],
|
||||||
ClientStatement::LAST_YEAR => [now()->startOfDay()->subYearNoOverflow()->firstOfYear()->format('Y-m-d'), now()->startOfDay()->subYearNoOverflow()->lastOfYear()->format('Y-m-d')],
|
EmailStatement::LAST_YEAR => [now()->startOfDay()->subYearNoOverflow()->firstOfYear()->format('Y-m-d'), now()->startOfDay()->subYearNoOverflow()->lastOfYear()->format('Y-m-d')],
|
||||||
ClientStatement::CUSTOM_RANGE => [$this->scheduler->parameters['start_date'], $this->scheduler->parameters['end_date']],
|
EmailStatement::CUSTOM_RANGE => [$this->scheduler->parameters['start_date'], $this->scheduler->parameters['end_date']],
|
||||||
default => [now()->startOfDay()->firstOfMonth()->format('Y-m-d'), now()->startOfDay()->lastOfMonth()->format('Y-m-d')],
|
default => [now()->startOfDay()->firstOfMonth()->format('Y-m-d'), now()->startOfDay()->lastOfMonth()->format('Y-m-d')],
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
@ -360,7 +360,7 @@ class SchedulerTest extends TestCase
|
|||||||
'next_run' => now()->format('Y-m-d'),
|
'next_run' => now()->format('Y-m-d'),
|
||||||
'template' => 'client_statement',
|
'template' => 'client_statement',
|
||||||
'parameters' => [
|
'parameters' => [
|
||||||
'date_range' => ClientStatement::LAST_MONTH,
|
'date_range' => EmailStatement::LAST_MONTH,
|
||||||
'show_payments_table' => true,
|
'show_payments_table' => true,
|
||||||
'show_aging_table' => true,
|
'show_aging_table' => true,
|
||||||
'status' => 'paid',
|
'status' => 'paid',
|
||||||
|
Loading…
x
Reference in New Issue
Block a user