Ejemplo n.º 1
0
 /**
  * Returns a revision.
  *
  * @return Symfony\Component\HttpFoundation\JsonResponse
  *
  * @Rest\ParamConverter(name="revision", class="BackBee\ClassContent\Revision")
  * @Rest\Security("is_fully_authenticated() & has_role('ROLE_API_USER')")
  */
 public function getAction(Revision $revision)
 {
     $this->granted('VIEW', $revision->getContent());
     $response = $this->createJsonResponse();
     $response->setData($revision->jsonSerialize(Revision::JSON_REVISION_FORMAT));
     return $response;
 }
 /**
  * Runs revert post action on content and its draft.
  *
  * @param  AbstractClassContent $content
  * @param  Revision             $draft
  *
  * @return ClassContentManager
  */
 private function revertPostProcess(AbstractClassContent $content, Revision $draft)
 {
     $data = $draft->jsonSerialize();
     if (0 === count($data['parameters']) && (0 === count($data['elements']) || $content instanceof ContentSet && $data['elements']['current'] === $data['elements']['draft'])) {
         if ($content instanceof ContentSet) {
             $draft->clear();
         }
         if (AbstractClassContent::STATE_NEW === $content->getState()) {
             $classname = AbstractClassContent::getClassnameByContentType($content->getContentType());
             $this->entityManager->getRepository($classname)->deleteContent($content);
         } else {
             $this->entityManager->remove($draft);
         }
     }
     return $this;
 }
Ejemplo n.º 3
0
 /**
  * Runs revert post action on content and its draft.
  *
  * @param  AbstractClassContent $content
  * @param  Revision      $draft
  * @return self
  */
 private function revertPostProcess(AbstractClassContent $content, Revision $draft)
 {
     $data = $draft->jsonSerialize();
     if (0 === count($data['parameters']) && 0 === count($data['elements'])) {
         $this->em->remove($draft);
         if (AbstractClassContent::STATE_NEW === $content->getState()) {
             $this->em->remove($content);
         }
     }
 }
Ejemplo n.º 4
0
 /**
  * Runs revert post action on content and its draft.
  *
  * @param  AbstractClassContent $content
  * @param  Revision             $draft
  *
  * @return ClassContentManager
  */
 private function revertPostProcess(AbstractClassContent $content, Revision $draft)
 {
     $data = $draft->jsonSerialize();
     if (0 === count($data['parameters']) && ($content instanceof ContentSet && 0 === count($data['elements']['current']) && 0 === count($data['elements']['draft']) || 0 === count($data['elements']))) {
         $this->entityManager->remove($draft);
         if (AbstractClassContent::STATE_NEW === $content->getState()) {
             $this->entityManager->remove($content);
         }
     }
     return $this;
 }