public function validateUpdate($payload, sfWebRequest $request = null)
 {
     $params = $this->parsePayload($payload);
     $primaryKey = $request->getParameter('id');
     $message = MessageTable::getInstance()->find($primaryKey);
     if (!array_key_exists('sender_id', $params) || !$this->getUser()->isSuperAdmin() && $params['sender_id'] != $this->getUser()->getGuardUser()->getIncremented()) {
         $params['sender_id'] = $this->getUser()->getGuardUser()->getIncremented();
     }
     if ($message && !($this->getUser()->isSuperAdmin() || $this->getUser()->getGuardUser()->getIncremented() == $message->getSenderId())) {
         throw new sfException("Your user does not have permissions to " . "alter this Message.", 403);
     }
     $payload = $this->packagePayload($params);
     unset($this->_payload_array);
     parent::validateUpdate($payload, $request);
 }
Example #2
0
 /**
  * Executes index action
  *
  * @param sfRequest $request A request object
  */
 public function executeIndex(sfWebRequest $request)
 {
     $this->pager = new sfDoctrinePager('Message', sfConfig::get('app_max_msg_on_page'));
     $this->pager->setQuery(MessageTable::getInstance()->getOrderedQuery());
     $this->pager->setPage($request->getParameter('page', 1));
     $this->pager->init();
     $this->form = new MessageForm();
     if ($request->isMethod('post')) {
         $captcha = array('recaptcha_challenge_field' => $request->getParameter('recaptcha_challenge_field'), 'recaptcha_response_field' => $request->getParameter('recaptcha_response_field'));
         $this->form->bind(array_merge($request->getParameter($this->form->getName()), array('captcha' => $captcha)));
         if ($this->form->isValid()) {
             $this->form->save();
         } else {
             $this->getUser()->setFlash('error', "Erreurs dans le formulaire.", false);
         }
     }
 }
 protected function deriveMessageText($parameters)
 {
     $message_id = $parameters['message_id'];
     $message = MessageTable::getInstance()->find($message_id);
     if (!$message) {
         throw new sfException('Cannot find Message identified by ' . $message_id);
     }
     return $message->getText();
 }
 /**
  * Tests for success at creating the object.
  */
 public function testCreate()
 {
     $t = MessageTable::getInstance();
     $this->assertTrue($t instanceof Doctrine_Table);
 }