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('save_default_footer') && $this->request->input('save_default_footer') == 'true') { $company = $this->purchase_order->company; $settings = $company->settings; $settings->purchase_order_footer = $this->purchase_order->footer; $company->settings = $settings; $company->save(); } if ($this->request->has('save_default_terms') && $this->request->input('save_default_terms') == 'true') { $company = $this->purchase_order->company; $settings = $company->settings; $settings->purchase_order_terms = $this->purchase_order->terms; $company->settings = $settings; $company->save(); } return $this->purchase_order; } private function sendEmail() { PurchaseOrderEmail::dispatch($this->purchase_order, $this->purchase_order->company); } }