belongsTo(PurchaseOrder::class)->withTrashed(); } /** * @return mixed */ public function contact() { return $this->belongsTo(VendorContact::class, 'vendor_contact_id', 'id')->withTrashed(); } /** * @return mixed */ public function user() { return $this->belongsTo(User::class)->withTrashed(); } public function company() { return $this->belongsTo(Company::class); } public function getName() { return $this->key; } public function markViewed() { $this->viewed_date = Carbon::now(); $this->save(); } public function getPortalLink() :string { if(Ninja::isHosted()) $domain = $this->company->domain(); else $domain = config('ninja.app_url'); switch ($this->company->portal_mode) { case 'subdomain': return $domain.'/vendor/'; break; case 'iframe': return $domain.'/vendor/'; break; case 'domain': return $domain.'/vendor/'; break; default: return ''; break; } } }