Наследование: extends BaseActiveRecordVersioned
Пример #1
0
 /**
  * @param $id
  *
  * @throws \CHttpException
  * @throws \Exception
  */
 public function actionAddComment($id)
 {
     $element = $this->getMessageElement();
     if (count($element->comments)) {
         throw new \CHttpException(409, 'Only one comment allowed per message.');
     }
     $comment = new OphCoMessaging_Message_Comment();
     \OELog::log(print_r($_POST, true));
     $comment->comment_text = @$_POST['OEModule_OphCoMessaging_models_OphCoMessaging_Message_Comment']['comment_text'];
     $comment->element_id = $element->id;
     if (!$comment->validate()) {
         $this->show_comment_form = true;
         $this->action = new \CInlineAction($this, 'view');
         $errors = array('Comment' => array());
         foreach ($comment->getErrors() as $err) {
             $errors['Comment'] = array_values($err);
         }
         $this->render('view', array('errors' => $errors, 'comment' => $comment));
     } else {
         $transaction = \Yii::app()->db->beginTransaction();
         try {
             $element->marked_as_read = true;
             $element->save();
             $comment->save();
             $transaction->commit();
             \Yii::app()->user->setFlash('success', 'Comment added to record');
         } catch (\Exception $e) {
             $transaction->rollback();
             throw $e;
         }
         $this->redirectAfterAction();
     }
 }