public function _postInsert(TA_Model_Observed_Interface $subject, $msg) { $conference = Zend_Registry::get('conference'); $submitModel = new Core_Model_Submit(); $userModel = new Core_Model_User(); $values['review'] = $subject->toArray(); $values['submission'] = $submitModel->getSubmissionById($values['review']['submission_id'])->toArray(); $values['user'] = $userModel->getUserById($values['review']['user_id'])->getSafeUser(); $mailer = new TA_Controller_Action_Helper_SendEmail(); $mailer->sendEmail(array('to_email' => $conference['email'], 'html' => true, 'subject' => 'CORE Observer: ' . __CLASS__, 'template' => 'review/postinsert'), $values); }
public function _postInsert(TA_Model_Observed_Interface $subject, $msg) { $conference = Zend_Registry::get('conference'); $userModel = new Core_Model_User(); $user = $userModel->getUserById($subject->user_id); $submitModel = new Core_Model_Submit(); $submission = $submitModel->getSubmissionById($subject->submission_id); $viewParams = $submission->toArray(); $viewParams['fname'] = $user->fname; $viewParams['lname'] = $user->lname; $mailer = new TA_Controller_Action_Helper_SendEmail(); $mailer->sendEmail(array('to_email' => $user->email, 'subject' => 'CORE Observer: ' . __CLASS__, 'template' => 'review/observer'), $viewParams); }
/** * * */ public function newAction() { // @todo: this can't be right, I add the ACL logic here. // I can't do it in Core.php because that causes a chicken/egg problem // with Zend_Registry::get('conference') not being set. // no worries, because the date assertion is void anyway $acl = Zend_Registry::get('acl'); $acl->allow('user', 'Submit', 'new', new Core_Model_Acl_DateAssertion()); $request = $this->getRequest(); // No post; display form if (!$request->isPost()) { $this->view->submitForm = $this->_submitModel->getForm('submit'); return $this->render('formNew'); } // try to persist data if ($this->_submitModel->saveSubmission($request->getPost()) === false) { $this->view->error = true; return $this->displayForm(); } // send email to submitter Zend_Controller_Action_HelperBroker::addHelper(new TA_Controller_Action_Helper_SendEmail()); $emailHelper = $this->_helper->sendEmail; $identity = Zend_Auth::getInstance()->getIdentity(); $conference = Zend_Registry::get('conference'); $emailHelper->sendEmail(array('template' => 'submit/new', 'subject' => 'TNC15 submission', 'html' => true, 'to_email' => $identity->email, 'to_name' => $identity->fname . ' ' . $identity->lname), $request->getPost()); // everything went OK, redirect $this->_helper->flashMessenger('Thank you for your submission, please check your details below'); if (Zend_Auth::getInstance()->getIdentity()->role != 'admin') { // reload session because user details have changed (their submission data) $userId = Zend_Auth::getInstance()->getIdentity()->user_id; $userModel = new Core_Model_User(); $userModel->getUserById($userId)->reloadSession(); #return $this->_helper->lastRequest(); return $this->_helper->redirector->gotoRoute(array('controller' => 'user', 'action' => 'edit', 'id' => $userId), 'gridactions'); } return $this->_helper->redirector->gotoRoute(array('controller' => 'submit', 'action' => 'list'), 'grid'); }
/** * Evaluate a session, deals with new and existing evaluations * */ public function evaluateAction() { $request = $this->getRequest(); $id = (int) $request->getParam('id') ? $request->getParam('id') : $request->getParam('session_id'); $this->view->evaluationForm = $this->_sessionModel->getForm('sessionEvaluation'); $defaults = $this->_sessionModel->getEvaluationBySessionId($id); if ($defaults) { $this->view->updated = isset($defaults['updated']) ? $defaults['updated'] : $defaults['inserted']; $userModel = new Core_Model_User(); $this->view->user = $userModel->getUserById($defaults['user_id']); } $defaults['session_id'] = $id; // No post; if (!$request->isPost()) { // populate form with defaults $this->view->evaluationForm->setDefaults($defaults); return $this->render('evaluate'); } // try to persist evaluation if ($this->_sessionModel->saveEvaluation($request->getPost()) === false) { $this->view->evaluationForm = $this->_sessionModel->getForm('sessionEvaluation'); return $this->render('evaluate'); } }