diff --git a/src/ninesurvey-1.0/config/routes.yaml b/src/ninesurvey-1.0/config/routes.yaml index b320d6d..84fab38 100644 --- a/src/ninesurvey-1.0/config/routes.yaml +++ b/src/ninesurvey-1.0/config/routes.yaml @@ -258,6 +258,10 @@ app_quest_byloginkey: path: /user/quest/byloginkey/{key} defaults: { _controller: App\Controller\QuestController:byloginkey } -app_quest_pdf: - path: /user/pdf/{id} - defaults: { _controller: App\Controller\QuestController:result } \ No newline at end of file +app_quest_byguestkey_result: + path: /quest/result/byguestkey/{key} + defaults: { _controller: App\Controller\QuestController:resultbyguestkey } + +app_quest_byuserkey_result: + path: /quest/result/byuserkey/{key} + defaults: { _controller: App\Controller\QuestController:resultbyuserkey } diff --git a/src/ninesurvey-1.0/src/Command/NotifyQuestCommand.php b/src/ninesurvey-1.0/src/Command/NotifyQuestCommand.php index ccf6a03..1bfc2f9 100644 --- a/src/ninesurvey-1.0/src/Command/NotifyQuestCommand.php +++ b/src/ninesurvey-1.0/src/Command/NotifyQuestCommand.php @@ -118,7 +118,7 @@ class NotifyQuestCommand extends Command $questguests=$this->em->getRepository("App:Questguest")->findBy(["quest"=>$quest]); foreach($questguests as $questguest) { - $url=$this->router->generate('app_quest_byguestkey', ["key"=>$questguest->getKey()], UrlGeneratorInterface::ABSOLUTE_URL); + $url=$this->router->generate('app_quest_byguestkey_result', ["key"=>$questguest->getKey()], UrlGeneratorInterface::ABSOLUTE_URL); $url=str_replace("http:","https:",$url); $url=str_replace("/localhost/","/".$this->weburl."/".$this->alias."/",$url); diff --git a/src/ninesurvey-1.0/src/Controller/QuestController.php b/src/ninesurvey-1.0/src/Controller/QuestController.php index f5c7a64..0698e79 100644 --- a/src/ninesurvey-1.0/src/Controller/QuestController.php +++ b/src/ninesurvey-1.0/src/Controller/QuestController.php @@ -648,9 +648,10 @@ class QuestController extends AbstractController return false; } - public function result($id,Request $request) { + public function result($id,Request $request,$access="") { // Type pdf / css $type=$request->get('type'); + if($access!="") $type=""; $em = $this->getDoctrine()->getManager(); $quest=$em->getRepository("App:Quest")->find($id); @@ -658,7 +659,7 @@ class QuestController extends AbstractController $questoptions=$em->getRepository("App:Questoption")->findBy(["quest"=>$quest],["roworder"=>"ASC"]); // On s'assure que le quest appartient bien à l'utilisateur - if($this->getUser()!=$quest->getUser()) { + if($this->getUser()!=$quest->getUser()&&$access=="") { return $this->redirect($this->generateUrl('app_quest')); } @@ -780,6 +781,7 @@ class QuestController extends AbstractController 'quest' => $quest, 'questguests' => $questguests, 'graphs' => $graphs, + 'access' => $access, ]); } else { @@ -799,6 +801,7 @@ class QuestController extends AbstractController 'questguests' => $questguests, 'graphs' => $graphs, 'type' => $type, + 'access' => $access, ]); $render=str_replace("/ninesurvey/","https://ninegate.ac-arno.fr/ninesurvey/",$render); @@ -806,4 +809,39 @@ class QuestController extends AbstractController return $this->file($fileloc); } } + + public function resultbyguestkey($key,Request $request) + { + $em = $this->getDoctrine()->getManager(); + + // Recherche de la clé d'invitation + $questguest = $em->getRepository("App:Questguest")->findOneBy(["key"=>$key]); + + if(!$questguest) { + return $this->render('Response/nokey.html.twig',[ + 'useheader' => true, + 'usesidebar' => false, + ]); + } + //return new Response(); + return $this->result($questguest->getQuest()->getId(),$request,"byguestkey"); + } + + + public function resultbyuserkey($key,Request $request) + { + $em = $this->getDoctrine()->getManager(); + + // Recherche de l'utilisateur dans le sondage + $questguest = $em->getRepository("App:Questguest")->findOneBy(["quest"=>$key,"user"=>$this->getUser()]); + if(!$questguest) { + return $this->render('Response/nokey.html.twig',[ + 'useheader' => true, + 'usesidebar' => false, + ]); + } + + //return new Response(); + return $this->result($questguest->getQuest()->getId(),$request,"byuserkey"); + } } diff --git a/src/ninesurvey-1.0/templates/Quest/quest.html.twig b/src/ninesurvey-1.0/templates/Quest/quest.html.twig index d0eb5ab..413723c 100755 --- a/src/ninesurvey-1.0/templates/Quest/quest.html.twig +++ b/src/ninesurvey-1.0/templates/Quest/quest.html.twig @@ -20,7 +20,7 @@ {% endblock %} {% block body %} -

NINESURVEY

+

ENQUETES

@@ -42,12 +42,23 @@
+ +
+ + +
+