Responsible for retrieving snippets from the content repository
Esempio n. 1
0
 private function copyNodes($srcLocale, $destLocale, $overwrite)
 {
     $nodes = $this->snippetRepository->getSnippets($srcLocale);
     foreach ($nodes as $node) {
         $this->copyNode($srcLocale, $destLocale, $node, $overwrite);
     }
 }
Esempio n. 2
0
 private function copyDocuments($srcLocale, $destLocale, $overwrite)
 {
     $documents = $this->snippetRepository->getSnippets($srcLocale);
     foreach ($documents as $document) {
         $this->copyDocument($srcLocale, $destLocale, $document, $overwrite);
     }
 }
Esempio n. 3
0
 /**
  * Deletes an existing Snippet.
  *
  * @param Request $request
  * @param string $uuid
  *
  * @return JsonResponse
  */
 public function deleteSnippetAction(Request $request, $uuid)
 {
     $webspaceKey = $request->query->get('webspace', null);
     $references = $this->snippetRepository->getReferences($uuid);
     if (count($references) > 0) {
         $force = $request->headers->get('SuluForceRemove', false);
         if ($force) {
             $this->contentMapper->delete($uuid, $webspaceKey, true);
         } else {
             return $this->getReferentialIntegrityResponse($webspaceKey, $references);
         }
     } else {
         $this->contentMapper->delete($uuid, $webspaceKey);
     }
     return new JsonResponse();
 }
Esempio n. 4
0
 /**
  * trigger a action for given snippet specified over get-action parameter.
  *
  * @Post("/snippets/{uuid}")
  *
  * @param string $uuid
  * @param Request $request
  *
  * @return \Symfony\Component\HttpFoundation\Response
  */
 public function postTriggerAction($uuid, Request $request)
 {
     $view = null;
     $snippet = null;
     $this->initEnv($request);
     $action = $this->getRequestParameter($request, 'action', true);
     try {
         switch ($action) {
             case 'copy-locale':
                 $destLocale = $this->getRequestParameter($request, 'dest', true);
                 // call repository method
                 $snippet = $this->snippetRepository->copyLocale($uuid, $this->getUser()->getId(), $this->languageCode, explode(',', $destLocale));
                 break;
             default:
                 throw new RestException('Unrecognized action: ' . $action);
         }
         // prepare view
         $view = View::create($this->decorateSnippet($snippet->toArray(), $this->languageCode), $snippet !== null ? 200 : 204);
     } catch (RestException $exc) {
         $view = View::create($exc->toArray(), 400);
     }
     return $this->viewHandler->handle($view);
 }
Esempio n. 5
0
 public function testGetReferences()
 {
     $res = $this->snippetRepository->getReferences($this->hotel1->getUuid());
     $this->assertCount(1, $res);
 }