[ 'name' => 'bills.mark_paid', 'message' => 'bulk_actions.message.paid', 'permission' => 'update-purchases-bills', ], 'received' => [ 'name' => 'bills.mark_received', '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', 'permission' => 'delete-purchases-bills', ], 'export' => [ 'name' => 'general.export', 'message' => 'bulk_actions.message.export', 'type' => 'download', ], ]; public function paid($request) { $bills = $this->getSelectedRecords($request); foreach ($bills as $bill) { $this->dispatch(new CreateBankingDocumentTransaction($bill, [])); } } public function received($request) { $bills = $this->getSelectedRecords($request); foreach ($bills as $bill) { event(new DocumentReceived($bill)); } } public function cancelled($request) { $bills = $this->getSelectedRecords($request); foreach ($bills as $bill) { event(new DocumentCancelled($bill)); } } public function duplicate($request) { $bills = $this->getSelectedRecords($request); foreach ($bills as $bill) { $clone = $bill->duplicate(); $description = trans('messages.success.added', ['type' => $clone->document_number]); $this->dispatch(new CreateDocumentHistory($clone, 0, $description)); } } public function destroy($request) { $bills = $this->getSelectedRecords($request); foreach ($bills as $bill) { try { $this->dispatch(new DeleteDocument($bill)); } catch (\Exception $e) { flash($e->getMessage())->error(); } } } public function export($request) { $selected = $this->getSelectedInput($request); return \Excel::download(new Export($selected, Document::BILL_TYPE), \Str::filename(trans_choice('general.bills', 2)) . '.xlsx'); } }