cancel invoice/bill

This commit is contained in:
denisdulici
2020-03-28 17:54:36 +03:00
parent 889be5fd98
commit 75413a0496
30 changed files with 445 additions and 104 deletions

View File

@ -3,6 +3,8 @@
namespace App\BulkActions\Purchases;
use App\Abstracts\BulkAction;
use App\Events\Purchase\BillCancelled;
use App\Events\Purchase\BillReceived;
use App\Exports\Purchases\Bills as Export;
use App\Jobs\Purchase\CreateBillHistory;
use App\Jobs\Purchase\DeleteBill;
@ -18,6 +20,11 @@ class Bills extends BulkAction
'message' => 'bulk_actions.message.received',
'permission' => 'update-purchases-bills',
],
'cancelled' => [
'name' => 'general.cancel',
'message' => 'bulk_actions.message.cancelled',
'permission' => 'update-purchases-bills',
],
'delete' => [
'name' => 'general.delete',
'message' => 'bulk_actions.message.delete',
@ -34,12 +41,16 @@ class Bills extends BulkAction
$bills = $this->getSelectedRecords($request);
foreach ($bills as $bill) {
$bill->status = 'received';
$bill->save();
event(new BillReceived($bill));
}
}
$description = trans('bills.mark_recevied');
public function cancelled($request)
{
$bills = $this->getSelectedRecords($request);
$this->dispatch(new CreateBillHistory($bill, 0, $description));
foreach ($bills as $bill) {
event(new BillCancelled($bill));
}
}

View File

@ -3,6 +3,7 @@
namespace App\BulkActions\Sales;
use App\Abstracts\BulkAction;
use App\Events\Sale\InvoiceCancelled;
use App\Events\Sale\InvoiceCreated;
use App\Events\Sale\InvoiceSent;
use App\Events\Sale\PaymentReceived;
@ -25,6 +26,11 @@ class Invoices extends BulkAction
'message' => 'bulk_actions.message.sent',
'permission' => 'update-sales-invoices',
],
'cancelled' => [
'name' => 'general.cancel',
'message' => 'bulk_actions.message.cancelled',
'permission' => 'update-sales-invoices',
],
'delete' => [
'name' => 'general.delete',
'message' => 'bulk_actions.message.delete',
@ -54,6 +60,15 @@ class Invoices extends BulkAction
}
}
public function cancelled($request)
{
$invoices = $this->getSelectedRecords($request);
foreach ($invoices as $invoice) {
event(new InvoiceCancelled($invoice));
}
}
public function duplicate($request)
{
$invoices = $this->getSelectedRecords($request);