INA-6 |Added purchase order number counter

This commit is contained in:
Nikola Cirkovic 2022-06-05 05:59:33 +02:00
parent 7e5e10e5f1
commit 4e4420dd32
2 changed files with 44 additions and 20 deletions

View File

@ -276,6 +276,9 @@ class CompanySettings extends BaseSettings
public $email_from_name = '';
public $auto_archive_invoice_cancelled = false;
public $purchase_order_number_counter = 1; //TODO
public static $casts = [
'page_numbering_alignment' => 'string',
'page_numbering' => 'bool',
@ -474,6 +477,7 @@ class CompanySettings extends BaseSettings
'portal_custom_footer' => 'string',
'portal_custom_js' => 'string',
'client_portal_enable_uploads' => 'bool',
'purchase_order_number_counter' => 'integer',
];
public static $free_plan_casts = [

View File

@ -18,6 +18,7 @@ use App\Models\Expense;
use App\Models\Invoice;
use App\Models\Payment;
use App\Models\Project;
use App\Models\PurchaseOrder;
use App\Models\Quote;
use App\Models\RecurringExpense;
use App\Models\RecurringInvoice;
@ -153,6 +154,9 @@ trait GeneratesCounter
case Project::class:
return 'project_number_counter';
break;
case PurchaseOrder::class:
return 'purchase_order_number_counter';
break;
default:
return 'default_number_counter';
@ -188,6 +192,20 @@ trait GeneratesCounter
return $this->replaceUserVars($credit, $entity_number);
}
/**
* Gets the next purchase order number.
*
* @param PurchaseOrder $purchase_order The purchase order
*
* @return string The next purchase order number.
*/
public function getNextPurchaseOrderNumber(Client $client, ?PurchaseOrder $purchase_order) :string
{
$entity_number = $this->getNextEntityNumber(PurchaseOrder::class, $client);
return $this->replaceUserVars($purchase_order, $entity_number);
}
/**
@ -558,6 +576,7 @@ trait GeneratesCounter
$settings->invoice_number_counter = 1;
$settings->quote_number_counter = 1;
$settings->credit_number_counter = 1;
$settings->purchase_order_number_counter = 1;
$client->company->settings = $settings;
$client->company->save();
@ -622,6 +641,7 @@ trait GeneratesCounter
$settings->task_number_counter = 1;
$settings->expense_number_counter = 1;
$settings->recurring_expense_number_counter =1;
$settings->purchase_order_number_counter = 1;
$company->settings = $settings;
$company->save();