accrual invoices/bills
This commit is contained in:
@@ -3,6 +3,9 @@
|
||||
namespace App\Listeners\Updates;
|
||||
|
||||
use App\Events\UpdateFinished;
|
||||
use App\Models\Company\Company;
|
||||
use App\Models\Expense\Bill;
|
||||
use App\Models\Expense\BillStatus;
|
||||
|
||||
class Version108 extends Listener
|
||||
{
|
||||
@@ -23,6 +26,13 @@ class Version108 extends Listener
|
||||
return;
|
||||
}
|
||||
|
||||
$this->updateSettings();
|
||||
$this->updateBills();
|
||||
}
|
||||
|
||||
private function updateSettings()
|
||||
{
|
||||
// Set new invoice settings
|
||||
setting(['general.invoice_number_prefix' => setting('general.invoice_prefix', 'INV-')]);
|
||||
setting(['general.invoice_number_digit' => setting('general.invoice_digit', '5')]);
|
||||
setting(['general.invoice_number_next' => setting('general.invoice_start', '1')]);
|
||||
@@ -33,4 +43,48 @@ class Version108 extends Listener
|
||||
|
||||
setting()->save();
|
||||
}
|
||||
|
||||
private function updateBills()
|
||||
{
|
||||
// Create new bill statuses
|
||||
$companies = Company::all();
|
||||
|
||||
foreach ($companies as $company) {
|
||||
$rows = [
|
||||
[
|
||||
'company_id' => $company->id,
|
||||
'name' => trans('bills.status.draft'),
|
||||
'code' => 'draft',
|
||||
],
|
||||
[
|
||||
'company_id' => $company->id,
|
||||
'name' => trans('bills.status.received'),
|
||||
'code' => 'received',
|
||||
],
|
||||
];
|
||||
|
||||
foreach ($rows as $row) {
|
||||
BillStatus::create($row);
|
||||
}
|
||||
}
|
||||
|
||||
$bills = Bill::all();
|
||||
|
||||
foreach ($bills as $bill) {
|
||||
if (($bill->bill_status_code != 'new') || ($bill->bill_status_code != 'updated')) {
|
||||
continue;
|
||||
}
|
||||
|
||||
$bill->bill_status_code = 'draft';
|
||||
$bill->save();
|
||||
}
|
||||
|
||||
$new = BillStatus::where('code', 'new');
|
||||
$new->delete();
|
||||
$new->forceDelete();
|
||||
|
||||
$updated = BillStatus::where('code', 'updated');
|
||||
$updated->delete();
|
||||
$updated->forceDelete();
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user