Пример #1
0
 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);
 }
Пример #2
0
 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);
 }
Пример #3
0
 /**
  * Send email to tiebreakers
  *
  */
 private function _mailTiebreakers($subject)
 {
     $config = Zend_Registry::get('config');
     if ($config->core->observer->tiebreaker->notify == 1) {
         $submitModel = new Core_Model_Submit();
         $submission = $submitModel->getSubmissionById($subject->submission_id);
         $users = $submission->getUsers(true);
         $viewParams = $submission->toArray();
         $mailer = new TA_Controller_Action_Helper_SendEmail();
         foreach ($users as $user) {
             $viewParams['fname'] = $user->fname;
             $viewParams['lname'] = $user->lname;
             $mailer->sendEmail(array('to_email' => $user->email, 'subject' => 'CORE Review needed', 'template' => 'review/tiebreaker'), $viewParams);
         }
     }
 }
Пример #4
0
 public function init()
 {
     $this->setAction('/core/presentation/new');
     $title = new Zend_Form_Element_Text('title');
     $title->setLabel('Title')->setRequired(true)->addValidator(new Zend_Validate_Db_NoRecordExists(array('table' => 'presentations', 'field' => 'title')))->setAttrib('class', 'medium')->setDescription('Must be between 2 and 100 characters, only letters, numbers and spaces allowed')->setDecorators(array('Composite'));
     $abstract = new Zend_Form_Element_Textarea('abstract');
     $abstract->setLabel('Abstract')->setRequired(true)->setAttrib('class', 'medium')->setDecorators(array('Composite'));
     $authors = new Zend_Form_Element_Textarea('authors');
     $authors->setLabel('Authors')->setAttrib('class', 'medium')->addFilter('Null')->addFilter('StringTrim')->setDescription('You can add multiple authors by putting each author on a new line')->setDecorators(array('Composite'));
     $submissionModel = new Core_Model_Submit();
     $submission = new Zend_Form_Element_Select('submission_id');
     $submission->setLabel('Submission')->addMultiOption('', '---')->addFilter('Null')->addMultiOptions($submissionModel->getSubmissionsForSelect(null))->setAttrib('class', 'medium')->setDecorators(array('Composite'));
     $logo = new Zend_Form_Element_Select('image');
     $logo->setLabel('Logo')->addMultiOption('', '---')->addFilter('Null')->addMultiOptions(array('geant' => 'geant'))->setAttrib('class', 'medium')->setDecorators(array('Composite'));
     $this->addElements(array($title, $abstract, $authors));
     // @todo: by no means secure, you can still manually change the POST array
     // to bypass this
     if (Zend_Auth::getInstance()->getIdentity()->isAdmin()) {
         $this->addElements(array($submission, $logo));
     }
     $this->addElement('submit', 'submit', array('label' => 'Submit', 'decorators' => $this->_buttonElementDecorator));
 }
Пример #5
0
 /**
  * Import submissions to presentations
  * The title of a submission is used as the title of a presentation
  *
  */
 public function importAction()
 {
     $request = $this->getRequest();
     $submissionModel = new Core_Model_Submit();
     $conference = Zend_Registry::get('conference');
     // No post; display form
     if (!$request->isPost()) {
         $this->view->importForm = $this->_presentationModel->getForm('submitImport')->setDefaults(array('status' => 1, 'submit_start' => $conference['submit_start']->get('dd/MM/yyyy'), 'submit_end' => $conference['submit_end']->get('dd/MM/yyyy')));
         return $this->render('formImport');
     }
     if ($import = $this->_presentationModel->linkSubmissions($submissionModel->getAcceptedSubmissions($request->getPost()), $request->getPost())) {
         $this->_helper->flashMessenger('Succesfully imported ' . count($import) . ' submissions');
         $eventlogModel = new Core_Model_Eventlog();
         $eventlogModel->saveEventlog(array('event_type' => __METHOD__, 'timestamp' => 'now()'));
     } else {
         $this->_helper->flashMessenger('No submissions to import');
     }
     // everything went OK, redirect
     return $this->_helper->redirector->gotoRoute(array('controller' => 'presentation', 'action' => 'list'), 'grid');
 }
Пример #6
0
 /**
  * Create a new review
  *
  */
 public function newAction()
 {
     $request = $this->getRequest();
     // No post; display form
     if (!$request->isPost()) {
         $submitModel = new Core_Model_Submit();
         $this->view->submission = $submitModel->getAllSubmissionDataById($request->getParam('id'));
         return $this->displayForm();
     }
     // try to persist data
     if ($this->_reviewModel->saveReview($request->getPost()) === false) {
         return $this->displayForm();
     }
     // everything went OK, redirect to list action
     $this->_helper->flashMessenger('Thank you for your review');
     return $this->_helper->redirector->gotoRoute(array('controller' => 'submit', 'action' => 'list'), 'grid');
 }