/** * @Route( * "/undocument/{documentId}", * name="innova_collecticiel_unvalidate_document", * requirements={"documentId" = "\d+"}, * options={"expose"=true} * ) * @ParamConverter("document", class="InnovaCollecticielBundle:Document", options={"id" = "documentId"}) * @Template() */ public function ajaxUnvalidateDocumentAction(Document $document) { // Appel pour accés base $em = $this->getDoctrine()->getManager(); // Recherche en base des données du document à mettre à jour $doc = $this->getDoctrine()->getRepository('InnovaCollecticielBundle:Document')->find($document->getId()); // Mise à jour du booléen de Validation de true à false $doc->setvalidate(false); // Mise à jour de la base de données $em->persist($doc); $em->flush(); // Récupération du dropID puis du dropZone $dropId = $document->getDrop()->getId(); $dropRepo = $this->getDoctrine()->getRepository('InnovaCollecticielBundle:Drop'); $drops = $dropRepo->findBy(array('id' => $dropId)); $dropzoneRepo = $this->getDoctrine()->getRepository('InnovaCollecticielBundle:DropZone'); $dropzones = $dropzoneRepo->findBy(array('id' => $drops[0]->getDropzone()->getId())); $dropzoneManager = $this->get('innova.manager.dropzone_manager'); $collecticielOpenOrNot = $dropzoneManager->collecticielOpenOrNot($dropzones[0]); // Ajout afin d'afficher la partie du code avec "Demande transmise" $template = $this->get("templating")->render('InnovaCollecticielBundle:Document:documentIsValidate.html.twig', array('document' => $document, 'collecticielOpenOrNot' => $collecticielOpenOrNot, 'dropzone' => $dropzones[0])); // Retour du template actualisé à l'Ajax et non plus du Json. return new Response($template); }
/** * @Route( * "/{resourceId}/open/resource/{documentId}", * name="innova_collecticiel_open_resource", * requirements={"resourceId" = "\d+", "documentId" = "\d+"} * ) * @ParamConverter("dropzone", class="InnovaCollecticielBundle:Dropzone", options={"id" = "resourceId"}) * @ParamConverter("document", class="InnovaCollecticielBundle:Document", options={"id" = "documentId"}) * @ParamConverter("user", options={"authenticatedUser" = true}) * @Template() */ public function openResourceAction(Dropzone $dropzone, Document $document, $user) { $this->get('innova.manager.dropzone_voter')->isAllowToOpen($dropzone); if ($document->getType() == 'url') { return $this->redirect($document->getUrl()); } elseif ($document->getType() == 'text' or $document->getType() == 'resource' or $document->getType() == 'file') { /** Issue #27 "il se produit un plantage au niveau de "temporary_access_resource_manager" InnovaERV */ $this->get('innova.temporary_access_resource_manager')->addTemporaryAccess($document->getResourceNode(), $user); $event = new LogDocumentOpenEvent($dropzone, $document->getDrop(), $document); $this->dispatch($event); if ($document->getResourceNode()->getResourceType()->getName() == 'file') { return $this->redirect($this->generateUrl('claro_resource_download') . '?ids[]=' . $document->getResourceNode()->getId()); } else { return $this->redirect($this->generateUrl('claro_resource_open', array('resourceType' => $document->getResourceNode()->getResourceType()->getName(), 'node' => $document->getResourceNode()->getId()))); } } }