authorize(); event(new TransactionDeleting($this->model)); \DB::transaction(function () { $this->model->recurring()->delete(); $this->model->delete(); }); event(new TransactionDeleted($this->model)); return true; } /** * Determine if this action is applicable. */ public function authorize(): void { if ($this->model->reconciled) { $message = trans('messages.warning.reconciled_tran'); throw new \Exception($message); } if ($this->model->isTransferTransaction()) { throw new \Exception('Unauthorized'); } } }