array('order' => array('User.id' => 'desc'), 'limit' => 200 ), 'Enquiry' => array('order' => array('Enquiry.id' => 'desc'), 'limit' => 250) ); function beforeFilter() { $this->Auth->allow('add'); $this->set('currentuser', $this->Auth->user()); $this->Auth->autoRedirect = false; //$this->login(); } function login() { //Provided by the authComponent $this->pageTitle = ': Login'; //$this->Session->setFlash(__('Please enter your Username and Password to continue', true)); /* Auth Cookie code from http://www.webdevelopment2.com/cakephp-auth-component-tutorial-3/ */ //– code inside this function will execute only when autoRedirect was set to false (i.e. in a beforeFilter). if ($this->Auth->user()) { if (!empty($this->data) && $this->data['User']['remember_me']) { $cookie = array(); $cookie['username'] = $this->data['User']['username']; $cookie['password'] = $this->data['User']['password']; $this->Cookie->write('Auth.User', $cookie, true, '+2 weeks'); unset($this->data['User']['remember_me']); } $this->redirect($this->Auth->redirect()); } if (empty($this->data)) { $cookie = $this->Cookie->read('Auth.User'); if (!is_null($cookie)) { if ($this->Auth->login($cookie)) { // Clear auth message, just in case we use it. // $this->Session->setFlash(__('Welcome back '.$cookie['username']), true); $this->Session->del('Message.auth'); $this->redirect($this->Auth->redirect()); } else { // Delete invalid Cookie $this->Cookie->del('Auth.User'); } } } } function logout() { $this->Cookie->del('Auth.User'); $this->redirect($this->Auth->logout()); } function index() { $this->User->recursive = 0; $this->set('users', $this->paginate()); } /** * View a User. * * Depending on the type of user. Fetch the appropriate data and render the appropriate template. * * @param int $id */ function view($id = null) { if (!$id) { $this->Session->setFlash(__('Invalid User.', true)); $this->redirect(array('action'=>'index')); } //$user = $this->User->read(null, $id); $userFields = array('User.id', 'User.principle_id','User.customer_id','User.type', 'User.access_level','User.username','User.first_name','User.last_name', 'User.email','User.job_title','User.phone','User.mobile','User.fax','User.phone_extension','User.direct_phone', 'User.notes','User.by_vault','User.blacklisted' ); $user = $this->User->find('first', array('conditions'=>array('User.id'=>$id), 'fields'=>$userFields, 'recursive'=>0)); $this->set('user', $user); /*$emailIDs = array(); foreach($user['Email'] as $email) { $emailIDs[] = $email['id']; } $emails = $this->User->Email->find('all', array('conditions'=>array('Email.id'=>$emailIDs))); $this->set('emails', $emails); /*/ switch($user['User']['type']) { case 'contact': if(isset($user['User']['customer_id'])) { $this->set('customer', $this->User->Customer->find('first',array('conditions'=>array('Customer.id'=>$user['User']['customer_id']), 'recursive'=>0))); } $this->render('viewContact'); break; case 'principle': $this->render('viewPrinciple'); break; case 'user': //$this->set('enquiries', $this->paginate('Enquiry', array('Enquiry.user_id' => $id))); $this->render('viewUser'); break; default: break; } } function add_edit() { Configure::write('debug', 0); if(isset($this->params['named']['type'])) { $this->set('type', $this->params['named']['type']); } if(isset($this->params['named']['principle_id'])) { $this->set('principle_id', $this->params['named']['principle_id']); } if(isset($this->params['named']['customer_id'])) { $this->set('customer_id', $this->params['named']['customer_id']); } if(isset($this->params['named']['user_id'])) { $userID = $this->params['named']['user_id']; $this->set('user_id', $userID); } if(isset($this->params['named']['action'])) { $action = $this->params['named']['action']; $this->set('action', $action); } if(isset($action) && isset($userID)) { $this->data = $this->User->read(null, $userID); } } function add_user() { Configure::write('debug', 0); $this->layout = 'ajax'; if (!empty($this->data)) { $this->User->create(); $this->User->set($this->data['User']); if($this->User->validates()) { if ($this->User->save($this->data)) { $message = __('The User has been saved.', true); $data = $this->data; $this->set('success', compact('message', 'data')); } } else { $message = __('The User could not be saved. Please, try again.', true); $User = $this->User->invalidFields(); $data = compact('User'); $this->set('errors', compact('message', 'data')); } } else { $this->redirect('/'); } } /*if (!empty($this->data)) { $this->User->create(); if ($this->User->save($this->data)) { $this->Session->setFlash(__('The User has been saved', true)); $this->redirect(array('action'=>'index')); } else { $this->Session->setFlash(__('The User could not be saved. Please, try again.', true)); } } }*/ /** * the default generated add() method. Used for system users, rather than contacts & principle contacts. */ function add() { if (!empty($this->data)) { $this->User->create(); if ($this->User->save($this->data)) { $this->Session->setFlash(__('The User has been saved', true)); $this->redirect(array('action'=>'index')); } else { $this->Session->setFlash(__('The User could not be saved. Please, try again.', true)); } } } function edit($id = null) { if (!$id && empty($this->data)) { $this->Session->setFlash(__('Invalid User', true)); $this->redirect(array('action'=>'index')); } if (!empty($this->data)) { if ($this->User->save($this->data)) { $this->Session->setFlash(__('The User has been saved', true)); $this->redirect(array('action'=>'index')); } else { $this->Session->setFlash(__('The User could not be saved. Please, try again.', true)); } } if (empty($this->data)) { $this->data = $this->User->read(null, $id); } } function delete($id = null) { if (!$id) { $this->Session->setFlash(__('Invalid id for User', true)); $this->redirect(array('action'=>'index')); } if ($this->User->del($id)) { $this->Session->setFlash(__('User deleted', true)); $this->redirect(array('action'=>'index')); } } } ?>