public function view_so_product() { if (!isset($this->_data['productline_header_id']) && !isset($this->_data['Search']['productline_header_id'])) { $this->DataError(); sendBack(); } $this->view->set('clickaction', 'edit'); $s_data = array(); // Set context from calling module if (!isset($this->_data['Search']) || isset($this->_data['Search']['clear'])) { $s_data['start_date/end_date'] = date(DATE_FORMAT); $s_data['productline_header_id'] = $this->_data['productline_header_id']; } if (isset($this->_data['productline_header_id'])) { $productline_header_id = $this->_data['productline_header_id']; } elseif (isset($this->_data['Search']['productline_header_id'])) { $productline_header_id = $this->_data['Search']['productline_header_id']; } $this->setSearch('productlinesSearch', 'soheaderLines', $s_data); // Load the Product Header $product = DataObjectFactory::Factory('SOProductlineHeader'); $product->load($productline_header_id); $this->view->set('SOProductlineHeader', $product); // Load the associated lines parent::index(new SOProductlineCollection($this->_templateobject)); $sidebar = new SidebarController($this->view); $sidebarlist = array(); $sidebarlist['view_all_products'] = array('link' => array('modules' => $this->_modules, 'controller' => 'soproductlineheaders', 'action' => 'index'), 'tag' => 'View All Products'); $sidebarlist['view_all_lines'] = array('link' => array('modules' => $this->_modules, 'controller' => $this->name, 'action' => 'index'), 'tag' => 'View All Product Lines'); $sidebar->addList('All Products', $sidebarlist); $sidebarlist = array(); $sidebarlist['view'] = array('link' => array('modules' => $this->_modules, 'controller' => $this->name, 'action' => 'view_so_product', 'productline_header_id' => $productline_header_id), 'tag' => 'view'); $sidebarlist['new'] = array('link' => array('modules' => $this->_modules, 'controller' => $this->name, 'action' => 'new', 'productline_header_id' => $productline_header_id), 'tag' => 'new price'); $sidebarlist['orders'] = array('link' => array('modules' => $this->_modules, 'controller' => 'soproductlineheaders', 'action' => 'view_orders', 'id' => $productline_header_id), 'tag' => 'view orders'); $sidebarlist['invoices'] = array('link' => array('modules' => $this->_modules, 'controller' => 'soproductlineheaders', 'action' => 'view_invoices', 'id' => $productline_header_id), 'tag' => 'view invoices'); $sidebarlist['prices'] = array('link' => array('modules' => $this->_modules, 'controller' => $this->name, 'action' => 'price_uplift', 'productline_header_id' => $productline_header_id), 'tag' => 'amend prices'); $sidebar->addList('this Product', $sidebarlist); $sidebarlist = array(); if (SelectorCollection::TypeDetailsExist($this->modeltype)) { $sidebarlist['items'] = array('link' => array('modules' => $this->_modules, 'controller' => 'soproductselectors', 'action' => 'used_by', 'target_id' => $productline_header_id), 'new' => array('modules' => $this->_modules, 'controller' => 'soproductselectors', 'action' => 'select_items', 'target_id' => $productline_header_id), 'tag' => 'used by'); } $sidebar->addList('related_items', $sidebarlist); $this->view->register('sidebar', $sidebar); $this->view->set('sidebar', $sidebar); $this->view->set('linkmodule', $this->module); $this->view->set('linkcontroller', 'soproductlineheaders'); }
protected function setSidebarView($so_pl_header) { $sidebar = new SidebarController($this->view); $this->sidebarActions($sidebar, $so_pl_header, array('delete' => false)); $sidebarlist = array(); $sidebarlist['all_lines'] = array('link' => array('modules' => $this->_modules, 'controller' => 'soproductlines', 'action' => 'index'), 'tag' => 'view all SO product lines'); $sidebar->addList('All Actions', $sidebarlist); $sidebarlist = array(); $sidebarlist['orders'] = array('link' => array('modules' => $this->_modules, 'controller' => $this->name, 'action' => 'view_orders', 'id' => $so_pl_header->id), 'tag' => 'view orders'); $sidebarlist['invoices'] = array('link' => array('modules' => $this->_modules, 'controller' => $this->name, 'action' => 'view_invoices', 'id' => $so_pl_header->id), 'tag' => 'view invoices'); $sidebarlist['prices'] = array('link' => array('modules' => $this->_modules, 'controller' => 'soproductlines', 'action' => 'price_uplift', 'productline_header_id' => $so_pl_header->id), 'tag' => 'amend prices'); $sidebar->addList('this ' . $so_pl_header->getTitle(), $sidebarlist); $sidebarlist = array(); if (SelectorCollection::TypeDetailsExist($this->modeltype)) { $sidebarlist['items'] = array('link' => array('modules' => $this->_modules, 'controller' => 'soproductselectors', 'action' => 'used_by', 'target_id' => $so_pl_header->id), 'new' => array('modules' => $this->_modules, 'controller' => 'soproductselectors', 'action' => 'select_items', 'target_id' => $so_pl_header->id), 'tag' => 'used by'); } $sidebar->addList('related_items', $sidebarlist); $this->sidebarRelatedItems($sidebar, $so_pl_header); $this->view->register('sidebar', $sidebar); $this->view->set('sidebar', $sidebar); }