Пример #1
0
 public function changeStatusAction()
 {
     if (null !== ($response = $this->checkAuth([], ['comment'], AccessManager::UPDATE))) {
         return $response;
     }
     $message = ["success" => false];
     $id = $this->getRequest()->request->get('id');
     $status = $this->getRequest()->request->get('status');
     if (null !== $id && null !== $status) {
         try {
             $event = new CommentChangeStatusEvent();
             $event->setId($id)->setNewStatus($status);
             $this->dispatch(CommentEvents::COMMENT_STATUS_UPDATE, $event);
             $message = ["success" => true, "data" => ['id' => $id, 'status' => $event->getComment()->getStatus()]];
         } catch (\Exception $ex) {
             $message["error"] = $ex->getMessage();
         }
     } else {
         $message["error"] = $this->getTranslator()->trans('Missing parameters', [], Comment::MESSAGE_DOMAIN);
     }
     return $this->jsonResponse(json_encode($message));
 }
Пример #2
0
 public function statusChange(CommentChangeStatusEvent $event)
 {
     $changed = false;
     if (null !== ($comment = CommentQuery::create()->findPk($event->getId()))) {
         if ($comment->getStatus() !== $event->getNewStatus()) {
             $comment->setStatus($event->getNewStatus());
             $comment->save();
             $event->setComment($comment);
             $this->dispatchRatingCompute($event->getDispatcher(), $comment->getRef(), $comment->getRefId());
         }
     }
 }