render('purchase_orders.index', ['company' => auth()->user()->company, 'settings' => auth()->user()->company->settings, 'sidebar' => $this->sidebarMenu()]); } /** * Show specific invoice. * * @param ShowInvoiceRequest $request * @param Invoice $invoice * * @return Factory|View */ public function show(ShowPurchaseOrderRequest $request, PurchaseOrder $purchase_order) { set_time_limit(0); $invitation = $purchase_order->invitations()->where('vendor_contact_id', auth()->guard('vendor')->user()->id)->first(); if ($invitation && auth()->guard('vendor') && !session()->get('is_silent') && ! $invitation->viewed_date) { $invitation->markViewed(); event(new InvitationWasViewed($purchase_order, $invitation, $purchase_order->company, Ninja::eventVars())); event(new PurchaseOrderWasViewed($invitation, $invitation->company, Ninja::eventVars())); } $data = [ 'purchase_order' => $purchase_order, 'key' => $invitation ? $invitation->key : false, 'settings' => $purchase_order->company->settings, 'sidebar' => $this->sidebarMenu(), 'company' => $purchase_order->company ]; if ($request->query('mode') === 'fullscreen') { return render('purchase_orders.show-fullscreen', $data); } return $this->render('purchase_orders.show', $data); } private function sidebarMenu() :array { $enabled_modules = auth()->guard('vendor')->user()->company->enabled_modules; $data = []; // TODO: Enable dashboard once it's completed. // $this->settings->enable_client_portal_dashboard // $data[] = [ 'title' => ctrans('texts.dashboard'), 'url' => 'client.dashboard', 'icon' => 'activity']; if (self::MODULE_PURCHASE_ORDERS & $enabled_modules) { $data[] = ['title' => ctrans('texts.purchase_orders'), 'url' => 'vendor.purchase_orders.index', 'icon' => 'file-text']; } // $data[] = ['title' => ctrans('texts.documents'), 'url' => 'client.documents.index', 'icon' => 'download']; return $data; } }