aboutsummaryrefslogtreecommitdiff
path: root/src/controller/ViewDirector.php
diff options
context:
space:
mode:
Diffstat (limited to 'src/controller/ViewDirector.php')
-rw-r--r--src/controller/ViewDirector.php11
1 files changed, 6 insertions, 5 deletions
diff --git a/src/controller/ViewDirector.php b/src/controller/ViewDirector.php
index 2d37598..eda49e7 100644
--- a/src/controller/ViewDirector.php
+++ b/src/controller/ViewDirector.php
@@ -9,6 +9,7 @@ use App\Entity\Node;
9use Doctrine\ORM\EntityManager; 9use Doctrine\ORM\EntityManager;
10use Symfony\Component\HttpFoundation\Request; 10use Symfony\Component\HttpFoundation\Request;
11use Symfony\Component\HttpFoundation\Response; 11use Symfony\Component\HttpFoundation\Response;
12use Symfony\Component\HttpFoundation\RedirectResponse;
12 13
13class ViewDirector extends AbstractBuilder // ViewDirector est aussi le premier Builder 14class ViewDirector extends AbstractBuilder // ViewDirector est aussi le premier Builder
14{ 15{
@@ -31,7 +32,7 @@ class ViewDirector extends AbstractBuilder // ViewDirector est aussi le premier
31 if(CURRENT_PAGE === 'article'){ 32 if(CURRENT_PAGE === 'article'){
32 if(IS_ADMIN){ 33 if(IS_ADMIN){
33 if(!$request->query->has('id')){ 34 if(!$request->query->has('id')){
34 return new Response($this->html, 302); 35 return new RedirectResponse((string)new URL(['page' => $_GET['from'] ?? '']));
35 } 36 }
36 else{ 37 else{
37 // mode création d'article 38 // mode création d'article
@@ -42,10 +43,10 @@ class ViewDirector extends AbstractBuilder // ViewDirector est aussi le premier
42 } 43 }
43 } 44 }
44 elseif($request->query->get('id')[0] === 'n'){ // accès page nouvelle article interdit sans être admin 45 elseif($request->query->get('id')[0] === 'n'){ // accès page nouvelle article interdit sans être admin
45 return new Response($this->html, 302); 46 return new RedirectResponse((string)new URL(['page' => $_GET['from'] ?? '']));
46 } 47 }
47 } 48 }
48 //else // l'id dans l'URL n'a pas d'effet ailleurs 49 // pas de else, l'id dans l'URL n'a pas d'effet ailleurs
49 50
50 51
51 /* 2/ accès au modèle */ 52 /* 2/ accès au modèle */
@@ -59,7 +60,7 @@ class ViewDirector extends AbstractBuilder // ViewDirector est aussi le premier
59 60
60 // article non trouvé en BDD 61 // article non trouvé en BDD
61 if(CURRENT_PAGE === 'article' && !IS_ADMIN && self::$root_node->getNodeByName('main')->getAdoptedChild() === null){ 62 if(CURRENT_PAGE === 'article' && !IS_ADMIN && self::$root_node->getNodeByName('main')->getAdoptedChild() === null){
62 return new Response($this->html, 302); 63 return new RedirectResponse((string)new URL(['page' => $_GET['from'] ?? '']));
63 } 64 }
64 65
65 66
@@ -71,6 +72,6 @@ class ViewDirector extends AbstractBuilder // ViewDirector est aussi le premier
71 unset($_SESSION['flash_message']); 72 unset($_SESSION['flash_message']);
72 } 73 }
73 74
74 return new Response($this->html, 200); 75 return new Response($this->html);
75 } 76 }
76} \ No newline at end of file 77} \ No newline at end of file