Updated mock data for templates
This commit is contained in:
parent
a703b99fc0
commit
1bfcd22b34
File diff suppressed because one or more lines are too long
|
|
@ -536,6 +536,7 @@ trait GeneratesCounter
|
||||||
$settings = $settings_entity->settings;
|
$settings = $settings_entity->settings;
|
||||||
|
|
||||||
if ($reset_counter_frequency == 0) {
|
if ($reset_counter_frequency == 0) {
|
||||||
|
|
||||||
if ($client->getSetting('reset_counter_date')) {
|
if ($client->getSetting('reset_counter_date')) {
|
||||||
$settings->reset_counter_date = "";
|
$settings->reset_counter_date = "";
|
||||||
$settings_entity->settings = $settings;
|
$settings_entity->settings = $settings;
|
||||||
|
|
|
||||||
|
|
@ -154,7 +154,7 @@ class VendorHtmlEngine
|
||||||
$data['$entity'] = ['value' => '', 'label' => ctrans('texts.purchase_order')];
|
$data['$entity'] = ['value' => '', 'label' => ctrans('texts.purchase_order')];
|
||||||
$data['$number'] = ['value' => $this->entity->number ?: ' ', 'label' => ctrans('texts.number')];
|
$data['$number'] = ['value' => $this->entity->number ?: ' ', 'label' => ctrans('texts.number')];
|
||||||
$data['$number_short'] = ['value' => $this->entity->number ?: ' ', 'label' => ctrans('texts.purchase_order_number_short')];
|
$data['$number_short'] = ['value' => $this->entity->number ?: ' ', 'label' => ctrans('texts.purchase_order_number_short')];
|
||||||
$data['$entity.terms'] = ['value' => Helpers::processReservedKeywords(\nl2br($this->entity->terms), $this->company) ?: '', 'label' => ctrans('texts.invoice_terms')];
|
$data['$entity.terms'] = ['value' => Helpers::processReservedKeywords(\nl2br($this->entity->terms ?? ''), $this->company) ?: '', 'label' => ctrans('texts.invoice_terms')];
|
||||||
$data['$terms'] = &$data['$entity.terms'];
|
$data['$terms'] = &$data['$entity.terms'];
|
||||||
$data['$view_link'] = ['value' => $this->buildViewButton($this->invitation->getLink(), ctrans('texts.view_purchase_order')), 'label' => ctrans('texts.view_purchase_order')];
|
$data['$view_link'] = ['value' => $this->buildViewButton($this->invitation->getLink(), ctrans('texts.view_purchase_order')), 'label' => ctrans('texts.view_purchase_order')];
|
||||||
$data['$viewLink'] = &$data['$view_link'];
|
$data['$viewLink'] = &$data['$view_link'];
|
||||||
|
|
@ -404,7 +404,7 @@ class VendorHtmlEngine
|
||||||
$data['$item'] = ['value' => '', 'label' => ctrans('texts.item')];
|
$data['$item'] = ['value' => '', 'label' => ctrans('texts.item')];
|
||||||
$data['$description'] = ['value' => '', 'label' => ctrans('texts.description')];
|
$data['$description'] = ['value' => '', 'label' => ctrans('texts.description')];
|
||||||
|
|
||||||
$data['$entity_footer'] = ['value' => Helpers::processReservedKeywords(\nl2br($this->entity->footer), $this->company), 'label' => ''];
|
$data['$entity_footer'] = ['value' => Helpers::processReservedKeywords(\nl2br($this->entity->footer ??''), $this->company), 'label' => ''];
|
||||||
$data['$footer'] = &$data['$entity_footer'];
|
$data['$footer'] = &$data['$entity_footer'];
|
||||||
|
|
||||||
$data['$page_size'] = ['value' => $this->settings->page_size, 'label' => ''];
|
$data['$page_size'] = ['value' => $this->settings->page_size, 'label' => ''];
|
||||||
|
|
|
||||||
|
|
@ -56,6 +56,72 @@ class GeneratesCounterTest extends TestCase
|
||||||
$this->makeTestData();
|
$this->makeTestData();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public function testResetCounterFromClientCounter()
|
||||||
|
{
|
||||||
|
|
||||||
|
$settings = CompanySettings::defaults();
|
||||||
|
|
||||||
|
$settings->reset_counter_date = "2026-01-01";
|
||||||
|
$settings->reset_counter_frequency_id = "10";
|
||||||
|
$settings->invoice_number_pattern = '{$client_id_number}/{$year}-{$client_counter}';
|
||||||
|
|
||||||
|
$company = Company::factory()->create([
|
||||||
|
'account_id' => $this->account->id,
|
||||||
|
]);
|
||||||
|
|
||||||
|
$client = Client::factory()->create([
|
||||||
|
'company_id' => $company->id,
|
||||||
|
'user_id' => $this->user->id,
|
||||||
|
'id_number' => 'IDNUMBER',
|
||||||
|
'settings' => $settings,
|
||||||
|
]);
|
||||||
|
|
||||||
|
$this->assertEquals("10", $client->getSetting('reset_counter_frequency_id'));
|
||||||
|
$this->assertEquals("2026-01-01", $client->getSetting('reset_counter_date'));
|
||||||
|
|
||||||
|
$invoice = Invoice::factory()->create([
|
||||||
|
'client_id' => $client->id,
|
||||||
|
'company_id' => $company->id,
|
||||||
|
'user_id' => $this->user->id,
|
||||||
|
]);
|
||||||
|
|
||||||
|
$this->travelTo('2025-02-01');
|
||||||
|
|
||||||
|
$invoice->number = null;
|
||||||
|
$invoice->status_id = Invoice::STATUS_DRAFT;
|
||||||
|
$invoice->save();
|
||||||
|
|
||||||
|
$this->travelTo('2025-02-01');
|
||||||
|
|
||||||
|
$invoice->number = null;
|
||||||
|
$invoice->status_id = Invoice::STATUS_DRAFT;
|
||||||
|
$invoice->save();
|
||||||
|
|
||||||
|
$invoice = $invoice->service()->markSent()->save();
|
||||||
|
|
||||||
|
$this->assertNotNull($invoice->number);
|
||||||
|
|
||||||
|
$this->assertEquals("IDNUMBER/2025-0001", $invoice->number);
|
||||||
|
|
||||||
|
$this->travelTo('2026-02-01');
|
||||||
|
|
||||||
|
$invoice = Invoice::factory()->create([
|
||||||
|
'client_id' => $client->id,
|
||||||
|
'company_id' => $company->id,
|
||||||
|
'user_id' => $this->user->id,
|
||||||
|
]);
|
||||||
|
|
||||||
|
$invoice->number = null;
|
||||||
|
$invoice->status_id = Invoice::STATUS_DRAFT;
|
||||||
|
$invoice->save();
|
||||||
|
|
||||||
|
$invoice = $invoice->service()->markSent()->save();
|
||||||
|
|
||||||
|
$this->assertEquals("IDNUMBER/2026-0001", $invoice->number);
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
public function testAnnualCounterResetLogic()
|
public function testAnnualCounterResetLogic()
|
||||||
{
|
{
|
||||||
$settings = CompanySettings::defaults();
|
$settings = CompanySettings::defaults();
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue