/** * @param Wiki $wiki * @param Section $section * @param Contribution $contribution */ public function __construct(Document $document, Dropzone $dropzone, $userIds) { $this->document = $document; $this->dropzone = $dropzone; $this->type = $dropzone->getResourceNode()->getName(); $this->userIds = $userIds; $this->details = array(); // Récupération du nom et du prénom $this->firstName = $document->getSender()->getFirstName(); $this->lastName = $document->getSender()->getLastName(); parent::__construct($dropzone->getResourceNode(), $this->details); }
/** * @param Wiki $wiki * @param Section $section * @param Contribution $contribution */ public function __construct(Document $document, Dropzone $dropzone, $userIds) { $this->document = $document; // Traitement du paramètre "type" : gestion du cas spécifique du type URL. if ($document->getType() == 'url') { $this->type = $document->getUrl(); } elseif (strlen($document->getTitle()) > 0) { $this->type = $document->getTitle(); } else { $this->type = $document->getResourceNode()->getName(); } $this->userIds = $userIds; $this->details = array(); // Récupération du nom et du prénom $this->firstName = $document->getSender()->getFirstName(); $this->lastName = $document->getSender()->getLastName(); parent::__construct($dropzone->getResourceNode(), $this->details); }
/** * @param Wiki $wiki * @param Section $section * @param Contribution $contribution */ public function __construct(Document $document, Dropzone $dropzone, $userIds) { // $this->resourceNodeId = $dropzone->getDrops()[0]->getUser()->getId(); // $dropId = $document->getDrop()->getId(); //->getDropzone()->getId(); //var_dump($dp); //var_dump($document);die(); $this->document = $document; $this->type = $dropzone->getResourceNode()->getName(); $this->userIds = $userIds; //echo "<pre>"; //var_dump($this->userIds); //echo "</pre>"; //die(); $this->details = array(); // Récupération du nom et du prénom $this->firstName = $document->getSender()->getFirstName(); $this->lastName = $document->getSender()->getLastName(); //var_dump($this->firstName); //var_dump($this->lastName); //var_dump($this->type); //die(); parent::__construct($dropzone->getResourceNode(), $this->details); }
/** *@Route( * "/document/{documentId}", * name="innova_collecticiel_validate_document", * requirements={"documentId" = "\d+", "dropzoneId" = "\d+"}, * options={"expose"=true} * ) *@ParamConverter("document", class="InnovaCollecticielBundle:Document", options={"id" = "documentId"}) *@Template() */ public function ajaxValidateDocumentAction(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 false à true $doc->setvalidate(true); // Récupération du dropID puis du dropZone $dropId = $document->getDrop()->getId(); $dropRepo = $this->getDoctrine()->getRepository('InnovaCollecticielBundle:Drop'); $drops = $dropRepo->findBy(['id' => $dropId]); $dropzoneRepo = $this->getDoctrine()->getRepository('InnovaCollecticielBundle:DropZone'); $dropzones = $dropzoneRepo->findBy(['id' => $drops[0]->getDropzone()->getId()]); // Mise à jour de la base de données $em->persist($doc); $em->flush(); $dropzoneManager = $this->get('innova.manager.dropzone_manager'); $collecticielOpenOrNot = $dropzoneManager->collecticielOpenOrNot($dropzones[0]); // Envoi notification. InnovaERV $usersIds = []; // Ici, on récupère le créateur du collecticiel = l'admin if ($document->getType() === 'url') { $userCreator = $document->getDrop()->getDropzone()->getResourceNode()->getCreator()->getId(); } else { $userCreator = $document->getResourceNode()->getCreator()->getId(); } // Ici, on récupère celui qui vient de déposer le nouveau document //$userAddDocument = $this->get('security.context')->getToken()->getUser()->getId(); $userDropDocument = $document->getDrop()->getUser()->getId(); $userSenderDocument = $document->getSender()->getId(); if ($userCreator === $userSenderDocument) { // Ici avertir l'étudiant qui a travaillé sur ce collecticiel $usersIds[] = $userDropDocument; } else { // Ici avertir celui a qui créé le collecticiel $usersIds[] = $userCreator; } $event = new LogDropzoneValidateDocumentEvent($document, $dropzones[0], $usersIds); $this->get('event_dispatcher')->dispatch('log', $event); // Ajout afin d'afficher la partie du code avec "Demande transmise" $template = $this->get('templating')->render('InnovaCollecticielBundle:Document:documentIsValidate.html.twig', ['document' => $document, 'collecticielOpenOrNot' => $collecticielOpenOrNot, 'dropzone' => $dropzones[0]]); // Retour du template actualisé à l'Ajax et non plus du Json. return new Response($template); }