Product->recursive = 0; $this->set('products', $this->paginate()); * */ $this->set('principles', $this->Product->Principle->find('all', array('order' => 'Principle.name ASC'))); } function view_principle($id = null) { if(!$id) { $this->Session->setFlash(__('Invalid Principle ID', true)); $this->redirect(array('action'=>'index')); } $this->set('products', $this->Product->find('all', array('conditions'=>array('Product.principle_id'=>$id),'order'=>'Product.title ASC'))); $this->set('principle', $this->Product->Principle->findById($id)); } function view($id = null) { if (!$id) { $this->Session->setFlash(__('Invalid Product.', true)); $this->redirect(array('action'=>'index')); } $this->set('product', $this->Product->read(null, $id)); //$this->set('product', $this->Product->find('first', array('conditions' => array('Product.id'=>$id), 'recursive' => 1))); $this->set('options', $this->Product->ProductOptionsCategory->find('all', array('conditions' => array('ProductOptionsCategory.product_id'=>$id), 'order'=>'ProductOptionsCategory.location ASC'))); $this->set('files', $this->Product->ProductAttachment->findAllByProductId($id)); $this->set('number_of_files', $this->Product->ProductAttachment->find('count', array('conditions' => array('ProductAttachment.product_id'=>$id)))); } function add() { if (!empty($this->data)) { $this->Product->create(); if ($this->Product->save($this->data)) { $this->Session->setFlash(__('The Product has been saved', true)); $id = $this->Product->id; $this->redirect(array('action'=>'view/'.$id)); } else { $this->Session->setFlash(__('The Product could not be saved. Please, try again.', true)); } } $principles = $this->Product->Principle->find('list'); $this->set(compact('principles', 'product_categories')); } function cloneProduct($id) { if(!$id) { $this->Session->setFlash('Invalid Product ID'); $this->redirect(array('action'=>'index')); } else { $product = $this->Product->find('first',array('conditions'=>array('Product.id'=>$id))); } if (!empty($this->data)) { $this->Product->create(); if ($this->Product->save($this->data)) { $this->Session->setFlash(__('The Product has been saved', true)); $id = $this->Product->id; $this->redirect(array('action'=>'view/'.$id)); } else { $this->Session->setFlash(__('The Product could not be saved. Please, try again.', true)); } } $this->data['Product']['principle_id'] = $product['Product']['principle_id']; $this->data['Product']['title'] = $product['Product']['title']; $this->data['Product']['description'] = $product['Product']['description']; $principles = $this->Product->Principle->find('list'); $this->set(compact('principles', 'product_categories')); } function add_costing() { } function edit($id = null) { if (!$id && empty($this->data)) { $this->Session->setFlash(__('Invalid Product', true)); $this->redirect(array('action'=>'index')); } if (!empty($this->data)) { if ($this->Product->save($this->data)) { $this->Session->setFlash(__('The Product has been saved', true)); $this->redirect(array('action'=>'index')); } else { $this->Session->setFlash(__('The Product could not be saved. Please, try again.', true)); } } if (empty($this->data)) { $this->data = $this->Product->read(null, $id); $this->set('description', $this->data['Product']['description']); } $principles = $this->Product->Principle->find('list'); $this->set(compact('principles')); } function delete($id = null) { if (!$id) { $this->Session->setFlash(__('Invalid id for Product', true)); $this->redirect(array('action'=>'index')); } if ($this->Product->del($id)) { $this->Session->setFlash(__('Product deleted', true)); $this->redirect(array('action'=>'index')); } } /** * * Outputs a select box with the Products that belong to a particular principal. Perhaps will change to an autocomplete in the future. */ function getPrincipleProducts() { if(empty($this->data)) { return; } else { $this->set('products', $this->Product->find('list', array('conditions' => array('Product.principle_id'=> $this->data['LineItem']['principle_id'])))); } } function getProductOptions() { if(empty($this->data)) { return; } else { $this->set('options', $this->Product->ProductOptionsCategory->find('all', array('conditions' => array('ProductOptionsCategory.product_id'=>$this->data['LineItem']['product_id']), 'order'=>'ProductOptionsCategory.location ASC'))); } } } ?>