to($data['User']['mail']); $Email->subject('Welcome to our really cool thing'); $Email->template('registration'); $key = substr($data['User']['code'],2); $Email->viewVars(array('data'=>$data,'key'=>$key)); return $Email->send(); } public function registration($data){ $dataSource = $this->getDataSource(); $dataSource->begin(); if($data['AppUser']['mannerofaddress_id']) $data['User']['mannerofaddress_id'] = $data['AppUser']['mannerofaddress_id']; else $data['AppUser']['mannerofaddress_id'] = $data['User']['mannerofaddress_id']; if($data['AppUser']['first_name']) $data['User']['first_name'] = $data['AppUser']['first_name']; else $data['AppUser']['first_name'] = $data['User']['first_name']; if($data['AppUser']['last_name']) $data['User']['last_name'] = $data['AppUser']['last_name']; else $data['AppUser']['last_name'] = $data['User']['last_name']; if($data['AppUser']['bday']) $data['User']['bday'] = $data['AppUser']['bday']; else $data['AppUser']['bday'] = $data['User']['bday']; $data['User']['date_joined'] = date(DATE_ATOM); $this->User->create(array('User'=>$data['User'])); $result=$this->User->save(); if($result){ $data['User']['id']=$this->User->id; $data['AppUser']['user_id']=$this->User->id; $this->AppUser->create(array('AppUser'=>$data['AppUser'])); $result=$this->AppUser->save(); } if($result){ $data['AppUser']['id']=$this->AppUser->id; $data['DreamjobUser']['micapplication_ptr_id']=$this->AppUser->id; $this->DreamjobUser->create(array('DreamjobUser'=>$data['DreamjobUser'])); $result=$this->DreamjobUser->save(); } if($result){ $data['DreamjobWorker']['djaccount_ptr_id']=$this->AppUser->id; $this->create(array('DreamjobWorker'=>$data['DreamjobWorker'])); $result=$this->save(); } if($result) $result = self::sendMail($data); if ($result) { $dataSource->commit(); return true; } else { $dataSource->rollback(); } return false; } public function saveSettings($data){ $dataSource = $this->getDataSource(); $dataSource->begin(); $this->id = $data['AppUser']['id']; $this->User->id = $data['User']['id']; $this->AppUser->id = $data['AppUser']['id']; $this->DreamjobUser->id = $data['AppUser']['id']; $result = $this->User->saveField('password',$data['User']['password']); if($result) $result = $this->AppUser->saveField('nickname',$data['AppUser']['nickname']); if($result) $result = $this->AppUser->saveField('first_name',$data['AppUser']['first_name']); if($result) $result = $this->AppUser->saveField('last_name',$data['AppUser']['last_name']); if($result) $result = $this->AppUser->saveField('bday',$data['AppUser']['bday']); if($result) $result = $this->AppUser->saveField('mannerofaddress_id',$data['AppUser']['mannerofaddress_id']); if($result) $result = $this->DreamjobUser->saveField('street',$data['DreamjobUser']['street']); if($result) $result = $this->DreamjobUser->saveField('city',$data['DreamjobUser']['city']); if($result) $result = $this->DreamjobUser->saveField('postcode',$data['DreamjobUser']['postcode']); if($result) $result = $this->saveField('iam',$data['DreamjobWorker']['iam']); if($result) $result = $this->saveField('country',$data['DreamjobWorker']['country']); if($result) $result = $this->saveField('leadership_ability',$data['DreamjobWorker']['leadership_ability']); if($result) $result = $this->saveField('searchhidden',$data['DreamjobWorker']['searchhidden']); if($result) $result = $this->saveField('advertising',$data['DreamjobWorker']['advertising']); if($result) $result = $this->saveField('workexperience',$data['DreamjobWorker']['workexperience']); if($result) $result = $this->saveField('graducation_id',$data['DreamjobWorker']['graducation_id']); if($result) $result = $this->AppUser->saveField('take_systemwide',$data['AppUser']['take_systemwide']); if($result and $data['AppUser']['take_systemwide']){ $result = $this->User->saveField('nickname',$data['AppUser']['nickname']); if($result) $result = $this->User->saveField('first_name',$data['AppUser']['first_name']); if($result) $result = $this->User->saveField('last_name',$data['AppUser']['last_name']); if($result) $result = $this->User->saveField('bday',$data['AppUser']['bday']); if($result) $result = $this->User->saveField('mannerofaddress_id',$data['AppUser']['mannerofaddress_id']); } if ($result) { $dataSource->commit(); return true; } else { $dataSource->rollback(); } return false; } /** * Validation rules * * @var array */ public $validate = array( 'djaccount_ptr_id' => array( 'numeric' => array( 'rule' => array('numeric'), //'message' => 'Your custom message here', //'allowEmpty' => false, //'required' => false, //'last' => false, // Stop validation after this rule //'on' => 'create', // Limit validation to 'create' or 'update' operations ), 'multiple' => array( 'rule' => array('multiple'), //'message' => 'Your custom message here', //'allowEmpty' => false, //'required' => false, //'last' => false, // Stop validation after this rule //'on' => 'create', // Limit validation to 'create' or 'update' operations ), 'notEmpty' => array( 'rule' => array('notEmpty'), //'message' => 'Your custom message here', //'allowEmpty' => false, //'required' => false, //'last' => false, // Stop validation after this rule //'on' => 'create', // Limit validation to 'create' or 'update' operations ), ), 'searchhidden' => array( 'boolean' => array( 'rule' => array('boolean'), //'message' => 'Your custom message here', //'allowEmpty' => false, //'required' => false, //'last' => false, // Stop validation after this rule //'on' => 'create', // Limit validation to 'create' or 'update' operations ), ), 'advertising' => array( 'boolean' => array( 'rule' => array('boolean'), //'message' => 'Your custom message here', //'allowEmpty' => false, //'required' => false, //'last' => false, // Stop validation after this rule //'on' => 'create', // Limit validation to 'create' or 'update' operations ), ), 'leadership_ability' => array( 'boolean' => array( 'rule' => array('boolean'), //'message' => 'Your custom message here', //'allowEmpty' => false, //'required' => false, //'last' => false, // Stop validation after this rule //'on' => 'create', // Limit validation to 'create' or 'update' operations ), ), 'country' => array( 'notEmpty' => array( 'rule' => array('notEmpty'), //'message' => 'Your custom message here', //'allowEmpty' => false, //'required' => false, //'last' => false, // Stop validation after this rule //'on' => 'create', // Limit validation to 'create' or 'update' operations ), ), 'iam' => array( 'notEmpty' => array( 'rule' => array('notEmpty'), //'message' => 'Your custom message here', //'allowEmpty' => false, //'required' => false, //'last' => false, // Stop validation after this rule //'on' => 'create', // Limit validation to 'create' or 'update' operations ), ), ); public $hasAndBelongsToMany = array( 'User' =>array( 'className' => 'User', 'with' => 'AppUser', 'foreignKey' => 'id', 'associationForeignKey' => 'user_id', 'limit' => 1 ), 'Favority' => array( 'className' => 'DreamjobJobOpening', 'with' => 'DreamjobJobFavority', //'joinTable' => 'mic_dj_job_opening_worker', 'foreignKey' => 'worker_id', 'associationForeignKey' => 'opening_id' ) ); public $belongsTo = array( 'DreamjobListGraducation' => array( 'className' => 'DreamjobListGraducation', 'foreignKey' => 'graducation_id' ) ); public $hasOne = array( 'DreamjobUser' => array( 'className' => 'DreamjobUser', 'foreignKey' => 'micapplication_ptr_id' ), 'AppUser' => array( 'className' => 'AppUser', 'foreignKey' => 'id' ), 'User' => array( 'className' => 'User', 'foreignKey' => false, 'conditions' => array('DreamjobWorker.djaccount_ptr_id=AppUser.id and User.id = AppUser.user_id'), 'limit' => 1 ) ); public $hasMany = array( 'DreamjobPageInh' => array( 'className' => 'DreamjobPageInh', 'foreignKey' => 'user_id', 'order' => "DreamjobPageInh.position" ), 'DreamjobJobApplication' => array( 'className' => 'DreamjobJobApplication', 'foreignKey' => 'worker_id' ), 'DreamjobISearch' => array( 'className' => 'DreamjobISearch', 'foreignKey' => 'worker_id' ), 'DreamjobCvEntry' => array( 'className' => 'DreamjobCvEntry', 'foreignKey' => 'worker_id', 'order'=>'category_id' ) ); }