request = $request; $this->purchase_order = $purchase_order; } public function run() { if ($this->request->has('send_email') && $this->request->input('send_email') == 'true') { $this->purchase_order->service()->markSent()->touchPdf()->save(); $this->sendEmail(); } if ($this->request->has('mark_sent') && $this->request->input('mark_sent') == 'true') { $this->purchase_order = $this->purchase_order->service()->markSent()->touchPdf()->save(); } // if ($this->request->has('cancel') && $this->request->input('cancel') == 'true') { // $this->purchase_order = $this->purchase_order->service()->handleCancellation()->save(); // } return $this->purchase_order; } private function sendEmail() { PurchaseOrderEmail::dispatch($this->purchase_order, $this->purchase_order->company); } }