array('order' => array('Customer.name' => 'asc'), 'limit' => 200 ), 'Enquiry' => array('order' => array('Enquiry.id' => 'desc')) ); function index() { $this->Customer->recursive = 0; $this->set('customers', $this->paginate()); $this->set('customer_categories', $this->Customer->CustomerCategory->find('all')); /* Show only customers from a particular category name */ if(isset($this->params['named']['showonly'])) { $this->set('customers', $this->paginate('Customer', array('Customer.customer_category_id' => $this->params['named']['showonly']))); } } function view($id = null) { if (!$id) { $this->Session->setFlash(__('Invalid Customer.', true)); $this->redirect(array('action'=>'index')); } $this->set('customer', $this->Customer->read(null, $id)); $this->set('addresses', $this->Customer->Address->findAllByCustomerId($id)); $this->set('enquiries', $this->paginate('Enquiry', array('Enquiry.customer_id' => $id))); $this->set('contacts', $this->Customer->Contact->findAllByCustomerId($id)); $statuses = $this->Customer->Enquiry->Status->find('all'); $status_list = array(); foreach ($statuses as $status) { $status_list[] = array($status['Status']['id'], $status['Status']['name']); } $this->set('status_list', $status_list); } function add() { if (!empty($this->data)) { if($this->Customer->saveAll($this->data, array('validate'=>'first')) ) { $newcustomerid = $this->Customer->id; $this->Session->setFlash(__('The Customer has been saved', true)); $this->redirect(array('action'=>'view', 'id'=>$newcustomerid)); } else { $this->Session->setFlash(__('The Customer could not be saved. Please try again.', true)); } } $this->set('customer_categories', $this->Customer->CustomerCategory->find('list')); $this->set('states', $this->Customer->Address->State->find('list')); $this->set('countries', $this->Customer->Address->Country->find('list')); } function edit($id = null) { if (!$id && empty($this->data)) { $this->Session->setFlash(__('Invalid Customer', true)); $this->redirect(array('action'=>'index')); } if (!empty($this->data)) { if ($this->Customer->saveAll($this->data)) { $this->Session->setFlash(__('The Customer has been saved', true)); $id = $this->Customer->id; $this->redirect(array('action'=>'view/'.$id)); } else { $this->Session->setFlash(__('The Customer could not be saved. Please, try again.', true)); } } if (empty($this->data)) { $this->data = $this->Customer->read(null, $id); $this->set('customer_categories', $this->Customer->CustomerCategory->find('list')); $this->set('industries', $this->Customer->Industry->find('list', array('fields'=>array('Industry.id', 'Industry.name', 'ParentIndustry.name'),'recursive' => 0, 'order'=>'ParentIndustry.name ASC, Industry.name ASC'))); } } /* Autocomplete the customer name - Used in: add.ctp */ function completeCustomer() { $this->set('customers', $this->Customer->find('all', array( 'conditions' => array( 'Customer.name LIKE' => '%'.$this->data['Customer']['name'].'%' ),'fields' => array('Customer.name') ))); $this->layout = 'ajax'; } function find() { if(!empty($this->data)) { $customer = $this->Customer->findByName($this->data['Customer']['name']); if(!$customer) { $this->Session->setFlash(__('Could not find the Requested Customer. Please select one from the drop down box as you type.', true)); } else { $this->redirect(array('action'=>'view/'.$customer['Customer']['id'])); } } } function tagindustries($id = null) { if (!$id && empty($this->data)) { $this->Session->setFlash(__('Invalid Customer', true)); $this->redirect(array('action'=>'index')); } if(!empty($this->data)) { if($this->Customer->saveAll($this->data)) { $this->Session->setFlash(__('The Industry Tags have been Saved to the Customer', true)); $this->redirect(array('action'=>'view/'.$this->data['Customer']['id'])); } else { $this->Session->setFlash(__('Something went wrong saving the Tags. Call for help!', true)); $this->redirect(array('action'=>'index')); } } else { $this->set('industries', $this->Customer->Industry->find('list', array('fields'=>array('Industry.id', 'Industry.name', 'ParentIndustry.name'),'recursive' => 0, 'order'=>'ParentIndustry.name ASC, Industry.name ASC'))); $this->data = $this->Customer->read(null, $id); } } } ?>