From 6eadfb2c2508f2184144bcc09993b3c0aae32b96 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Martin=20M=C3=BCller?= Date: Wed, 14 May 2014 00:06:09 +0200 Subject: [PATCH] mail message user/company switch --- app/Model/DreamjobJobMsg.php | 310 ++++++++++++++++++----------------- 1 file changed, 157 insertions(+), 153 deletions(-) diff --git a/app/Model/DreamjobJobMsg.php b/app/Model/DreamjobJobMsg.php index 887a930..d435a7b 100644 --- a/app/Model/DreamjobJobMsg.php +++ b/app/Model/DreamjobJobMsg.php @@ -1,6 +1,8 @@ to($mail); - if($fromcompany){ - $Email->subject('Du hast eine neue Nachricht bei dreamJOB'); - $Email->template('job_application_msg_worker'); - }else{ - $Email->subject('Sie haben eine neue Nachricht auf dreamJOB'); - $Email->template('job_application_msg_company'); - } - $Email->attachments(array('dak.jpg' => WWW_ROOT.DS.'mail'.DS.'dak.jpg')); - $Email->viewVars(array('id'=>$id,'data'=>$data)); - return $Email->send(); - } - public function sendMessage(){ - $dataSource = $this->getDataSource(); - $dataSource->begin(); - $result = $this->save(); - if($result){ - $app = $this->DreamjobJobApplication->find('first',array('conditions' => array('DreamjobJobApplication.id' => $result["DreamjobJobMsg"]["application_id"])) ); - - if($this->fromcompany) - $result = self::sendMail($app['User']['mail'],$this->application_id,array('DreamjobCompany'=>$app['DreamjobCompany']),true); - else - $result = self::sendMail($app['WorkerUser']['mail'],$this->application_id,array('User'=>$app['WorkerUser'],'AppUser'=>$app['AppUserWorker'])); - } - if ($result) { - $dataSource->commit(); - return true; - } else { - $dataSource->rollback(); - } - return false; - } - public $validate = array( - 'application_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 - ), - ), - 'fromcompany' => 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 - ), - ), - 'saw' => 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 - ), - ), - 'text' => 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 - ), - ), - ); + /** + * Validation rules + * + * @var array + */ + public static function sendMail($mail, $id, $data, $fromcompany = false) { + $Email = new CakeEmail('dreamjobMain'); + $Email->to($mail); + if ($fromcompany) { + $Email->subject('Du hast eine neue Nachricht bei dreamJOB'); + $Email->template('job_application_msg_worker'); + } else { + $Email->subject('Sie haben eine neue Nachricht auf dreamJOB'); + $Email->template('job_application_msg_company'); + } + $Email->attachments(array('dak.jpg' => WWW_ROOT . DS . 'mail' . DS . 'dak.jpg')); + $Email->viewVars(array('id' => $id, 'data' => $data)); + return $Email->send(); + } - //The Associations below have been created with all possible keys, those that are not needed can be removed + public function sendMessage() { + $dataSource = $this->getDataSource(); + $dataSource->begin(); + $result = $this->save(); + if ($result) { + $app = $this->DreamjobJobApplication->find('first', array('conditions' => array('DreamjobJobApplication.id' => $result["DreamjobJobMsg"]["application_id"]))); -/** - * belongsTo associations - * - * @var array - *//* - public $belongsTo = array( - 'Application' => array( - 'className' => 'DreamjobJobApplication', - 'foreignKey' => 'application_id', - 'conditions' => '', - 'fields' => '', - 'order' => '' - ) - );*/ - public $hasOne = array( - 'DreamjobJobApplication' => array( - 'className' => 'DreamjobJobApplication', - 'foreignKey' => false, - 'conditions' => array('DreamjobJobApplication.id = DreamjobJobMsg.application_id'), - 'fields' => '', - 'order' => '' - ), - 'Opening' => array( - 'className' => 'DreamjobJobOpening', - 'foreignKey' => false, - 'conditions' => array('Opening.id = DreamjobJobApplication.opening_id'), - 'limit' => 1 - ), - 'AppUserWorker' => array( - 'className' => 'AppUser', - 'foreignKey' => false, - 'conditions' => array('DreamjobJobApplication.worker_id = AppUserWorker.id'), - 'limit' => 1 - ), - 'Worker' => array( - 'className' => 'User', - 'foreignKey' => false, - 'conditions' => array('DreamjobJobApplication.worker_id = AppUserWorker.id and Worker.id = AppUserWorker.user_id'), - 'limit' => 1 - ), - 'AppUserCompany' => array( - 'className' => 'AppUser', - 'foreignKey' => false, - 'conditions' => array('Opening.company_id = AppUserCompany.id'), - 'limit' => 1 - ), - 'Company' => array( - 'className' => 'User', - 'foreignKey' => false, - 'conditions' => array('Opening.company_id = AppUserCompany.id and Company.id = AppUserWorker.user_id'), - 'limit' => 1 - ), + if ($this->fromcompany) + $result = self::sendMail($app['WorkerUser']['mail'], $this->application_id, array('User' => $app['WorkerUser'], 'AppUser' => $app['AppUserWorker'])); + else + $result = self::sendMail($app['User']['mail'], $this->application_id, array('DreamjobCompany' => $app['DreamjobCompany']), true); + } + if ($result) { + $dataSource->commit(); + return true; + } else { + $dataSource->rollback(); + } + return false; + } + + public $validate = array( + 'application_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 + ), + ), + 'fromcompany' => 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 + ), + ), + 'saw' => 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 + ), + ), + 'text' => 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 + ), + ), + ); + + //The Associations below have been created with all possible keys, those that are not needed can be removed + + /** + * belongsTo associations + * + * @var array + *//* + public $belongsTo = array( + 'Application' => array( + 'className' => 'DreamjobJobApplication', + 'foreignKey' => 'application_id', + 'conditions' => '', + 'fields' => '', + 'order' => '' + ) + ); */ + public $hasOne = array( + 'DreamjobJobApplication' => array( + 'className' => 'DreamjobJobApplication', + 'foreignKey' => false, + 'conditions' => array('DreamjobJobApplication.id = DreamjobJobMsg.application_id'), + 'fields' => '', + 'order' => '' + ), + 'Opening' => array( + 'className' => 'DreamjobJobOpening', + 'foreignKey' => false, + 'conditions' => array('Opening.id = DreamjobJobApplication.opening_id'), + 'limit' => 1 + ), + 'AppUserWorker' => array( + 'className' => 'AppUser', + 'foreignKey' => false, + 'conditions' => array('DreamjobJobApplication.worker_id = AppUserWorker.id'), + 'limit' => 1 + ), + 'Worker' => array( + 'className' => 'User', + 'foreignKey' => false, + 'conditions' => array('DreamjobJobApplication.worker_id = AppUserWorker.id and Worker.id = AppUserWorker.user_id'), + 'limit' => 1 + ), + 'AppUserCompany' => array( + 'className' => 'AppUser', + 'foreignKey' => false, + 'conditions' => array('Opening.company_id = AppUserCompany.id'), + 'limit' => 1 + ), + 'Company' => array( + 'className' => 'User', + 'foreignKey' => false, + 'conditions' => array('Opening.company_id = AppUserCompany.id and Company.id = AppUserWorker.user_id'), + 'limit' => 1 + ), + ); - ); }