diff --git a/Sources/src/app/controller/Controller.php b/Sources/src/app/controller/Controller.php index ad066444..76624c2d 100644 --- a/Sources/src/app/controller/Controller.php +++ b/Sources/src/app/controller/Controller.php @@ -58,6 +58,24 @@ class Controller extends BaseController ]); } + #[Route(path: '/activity', name: 'activity', methods: ['GET'])] + public function activity(): Response + { + return $this->render('./page/activity.html.twig',[ + 'css' => $this->preference->getCookie(), + 'pp' => "test2", + 'user' => "Doe", + 'role' => "Athlète", + 'friendship' => [], + 'analyzes' => [], + 'mails' => [], + 'users' => [], + 'infoUser' => [], + 'exos' => [], + 'member' => [] + ]); + } + #[Route(path: '/exercice', name: 'exercice', methods: ['GET'])] // 8 public function exercice(): Response { @@ -75,10 +93,38 @@ class Controller extends BaseController 'member' => [] ]); } + + #[Route(path: '/exercices', name: 'exercices', methods: ['POST'])] // 8 + public function exercices(String $type, String $intensite, String $date, IRequest $req): Response + { + $exercicesArray = [ + [ + 'date' => $date, + 'type' => $type, + 'intensite' => $intensite, + 'status' => 'A venur', + ] + ]; + return $this->render('./page/exercice.html.twig',[ + 'css' => $this->preference->getCookie(), + 'pp' => "test2", + 'user' => "Doe", + 'role' => "Athlète", + 'friendship' => [], + 'analyzes' => [], + 'mails' => [], + 'users' => [], + 'infoUser' => [], + 'exos' => $exercicesArray, + 'member' => [] + ]); + } + #[Route(path: '/search-user', name: 'search-user', methods: ['GET'])] public function searchUser(string $username, IRequest $req): Response { $taberror = []; + // FILTER $utiliArray = [ [ 'nom' => 'John', @@ -119,6 +165,127 @@ class Controller extends BaseController } + #[Route(path: '/search-member', name: 'search-member', methods: ['GET'])] + public function searchMember(string $username, IRequest $req): Response + { + $taberror = []; + // FILTER + $utiliArray = [ + [ + 'nom' => 'John', + 'prenom' => 'Doe', + 'img' => 'john_doe', + 'username' => 'johndoe', + ], + [ + 'nom' => 'Alice', + 'prenom' => 'Smith', + 'img' => 'alice_smith', + 'username' => 'alicesmith', + ], + ]; + // if(!Validation::val_string($name)){ + try { + //code... + // $model->userMgr->addFriend($name); + return $this->render('./page/addmember.html.twig',[ + 'css' => $this->preference->getCookie(), + 'pp' => "test2", + 'user' => "Doe", + 'role' => "Athlète", + 'friendship' => [], + 'analyzes' => [], + 'mails' => [], + 'users' => $utiliArray, + 'infoUser' => [], + 'exos' => [], + 'member' => [], + 'responce' => "Notification d'ajout envoyée à $username" + ]); + } catch (\Throwable $th) { + //throw $th; + // return $this->render("addfriend.html.twig", ['tabError' => $taberror ]); + } + // } + + } + + #[Route(path: '/add-member', name: 'add-member', methods: ['POST'])] + public function addmember(string $username, IRequest $req): Response + { + $taberror = []; + $utiliArray = [ + [ + 'nom' => 'John', + 'prenom' => 'Doe', + 'img' => 'john_doe', + 'username' => 'johndoe', + ], + [ + 'nom' => 'Alice', + 'prenom' => 'Smith', + 'img' => 'alice_smith', + 'username' => 'alicesmith', + ], + ]; + // if(!Validation::val_string($name)){ + try { + //code... + // $model->userMgr->addFriend($name); + return $this->render('./page/addmember.html.twig',[ + 'css' => $this->preference->getCookie(), + 'pp' => "test2", + 'user' => "Doe", + 'role' => "Athlète", + 'friendship' => [], + 'analyzes' => [], + 'mails' => [], + 'users' => $utiliArray, + 'infoUser' => [], + 'exos' => [], + 'member' => [], + 'responce' => "Notification d'ajout envoyée à $username" + ]); + } catch (\Throwable $th) { + //throw $th; + // return $this->render("addfriend.html.twig", ['tabError' => $taberror ]); + } + // } + + } + + #[Route(path: '/member', name: 'member', methods: ['GET'])] + public function member(): Response + { + $utiliArray = [ + [ + 'nom' => 'John', + 'prenom' => 'Doe', + 'img' => 'john_doe', + 'username' => 'johndoe', + ], + [ + 'nom' => 'Alice', + 'prenom' => 'Smith', + 'img' => 'alice_smith', + 'username' => 'alicesmith', + ], + ]; + return $this->render('./page/addmember.html.twig',[ + 'css' => $this->preference->getCookie(), + 'pp' => "test2", + 'user' => "Doe", + 'role' => "Athlète", + 'friendship' => [], + 'analyzes' => [], + 'mails' => [], + 'users' => $utiliArray, + 'infoUser' => [], + 'exos' => [], + 'member' => [], + ]); + } + #[Route(path: '/add-friend', name: 'add-friend', methods: ['POST'])] public function addFriend(string $username, IRequest $req): Response { @@ -195,6 +362,76 @@ class Controller extends BaseController ]); } + #[Route(path: '/friendlist', name: 'friendlist', methods: ['POST'])] + public function friendlist(string $username, IRequest $req): Response + { + $utiliArray = [ + [ + 'nom' => 'John', + 'prenom' => 'Doe', + 'img' => 'john_doe', + 'username' => 'johndoe', + ], + [ + 'nom' => 'Alice', + 'prenom' => 'Smith', + 'img' => 'alice_smith', + 'username' => 'alicesmith', + ], + ]; + /* TODO */ + + // -> Enlever ou bloquer un utilisateur en fonction de son username + + return $this->render('./page/friend.html.twig',[ + 'css' => $this->preference->getCookie(), + 'pp' => "test2", + 'user' => "Doe", + 'role' => "Athlète", + 'friendship' => $utiliArray, + 'analyzes' => [], + 'mails' => [], + 'users' => [], + 'infoUser' => [], + 'exos' => [], + 'member' => [], + ]); + } + + #[Route(path: '/friendlist', name: 'friendlist2', methods: ['GET'])] + public function friendlist2(): Response + { + $utiliArray = [ + [ + 'nom' => 'John', + 'prenom' => 'Doe', + 'img' => 'test', + 'status' => 'johndoe', + 'username' => 'jdoe', + ], + [ + 'nom' => 'Alice', + 'prenom' => 'Smith', + 'img' => 'test2', + 'status' => 'alicesmith', + 'username' => 'asmith', + ], + ]; + return $this->render('./page/friend.html.twig',[ + 'css' => $this->preference->getCookie(), + 'pp' => "test2", + 'user' => "Doe", + 'role' => "Athlète", + 'friendship' => $utiliArray, + 'analyzes' => [], + 'mails' => [], + 'users' => [], + 'infoUser' => [], + 'exos' => [], + 'member' => [], + ]); + } + #[Route(path: '/coaching', name: 'coaching', methods: ['GET'])] public function coaching(): Response { @@ -267,6 +504,24 @@ class Controller extends BaseController ]); } + #[Route(path: '/profile', name: 'profile', methods: ['GET'])] + public function profile(): Response + { + return $this->render('./page/profile.html.twig',[ + 'css' => $this->preference->getCookie(), + 'pp' => "test2", + 'user' => "Doe", + 'role' => "Athlète", + 'friendship' => [], + 'analyzes' => [], + 'mails' => [], + 'users' => [], + 'infoUser' => [], + 'exos' => [], + 'member' => [] + ]); + } + #[Route(path: '/preferences', name: 'preferences', methods: ['POST'])] public function preferences(string $theme, IRequest $req): Response { @@ -290,6 +545,47 @@ class Controller extends BaseController ]); } + #[Route(path: '/psettings', name: 'psettings', methods: ['POST'])] + public function psettings(string $nom,string $prenom,string $dateNaissance,string $mail,string $tel, IRequest $req): Response + { + + + return $this->render('./page/settings.html.twig',[ + 'css' => $this->preference->getCookie(), + 'pp' => "test2", + 'user' => $prenom, + 'role' => "Athlète", + 'friendship' => [], + 'analyzes' => [], + 'mails' => [], + 'users' => [], + 'infoUser' => [], + 'exos' => [], + 'member' => [] + ]); + } + + #[Route(path: '/mdp', name: 'mdp', methods: ['POST'])] + public function mdp(string $ancienMotDePasse,string $nouveauMotDePasse,string $confirmerMotDePasse, IRequest $req): Response + { + + // CONFIRMER LES DONNESS !!!!! IMPORTANT + + return $this->render('./page/settings.html.twig',[ + 'css' => $this->preference->getCookie(), + 'pp' => "test2", + 'user' => "Doe", + 'role' => "Athlète", + 'friendship' => [], + 'analyzes' => [], + 'mails' => [], + 'users' => [], + 'infoUser' => [], + 'exos' => [], + 'member' => [] + ]); + } + } diff --git a/Sources/src/app/controller/FrontController.php b/Sources/src/app/controller/FrontController.php index 79a48f91..1f37a16a 100644 --- a/Sources/src/app/controller/FrontController.php +++ b/Sources/src/app/controller/FrontController.php @@ -65,7 +65,7 @@ class FrontController { throw new \LogicException('You cannot use the "renderView" method if the Twig Bundle is not available. Try running "composer require symfony/twig-bundle".'); } - $response = new Response($this->container->get(\Twig\Environment::class)->render('./errorbase.html.twig',['title'=> $message , "nb" => $statusCode, "name" => $message, "descr" => $message ]),$statusCode); + $response = new Response($this->container->get(\Twig\Environment::class)->render('./error/error.html.twig',['title'=> $message , "code" => $statusCode, "name" => $message, "descr" => $message ]),$statusCode); $response->send(); } diff --git a/Sources/src/app/views/Templates/base.html.twig b/Sources/src/app/views/Templates/base.html.twig index 9556ed24..f4ef8621 100755 --- a/Sources/src/app/views/Templates/base.html.twig +++ b/Sources/src/app/views/Templates/base.html.twig @@ -60,7 +60,7 @@ Analyses
Social
- + Amis diff --git a/Sources/src/app/views/Templates/error/error.html.twig b/Sources/src/app/views/Templates/error/error.html.twig new file mode 100644 index 00000000..4110a803 --- /dev/null +++ b/Sources/src/app/views/Templates/error/error.html.twig @@ -0,0 +1,7 @@ +{% extends "errorbase.html.twig" %} + +{% block title %}{{code}} : {{title}}{% endblock %} + + +{% block nb %}

{{code}}

{% endblock %} +{% block descr %}{{descr}}{% endblock %} \ No newline at end of file diff --git a/Sources/src/app/views/Templates/page/activity.html.twig b/Sources/src/app/views/Templates/page/activity.html.twig new file mode 100644 index 00000000..86e8c5d7 --- /dev/null +++ b/Sources/src/app/views/Templates/page/activity.html.twig @@ -0,0 +1,33 @@ +{% extends "base.html.twig" %} + +{% block pp %}{{pp}}{% endblock %} + +{% block css %}{{css}}{% endblock %} + +{% block title %}Exercices - HearthTrack{% endblock %} + +{% block user %}{{user}} - {{role}}{% endblock %} + +{% block body %} +
+

Exercices

+ + +
+
+
+ Type : + Intensité : + Date : + +
+
+
+
+ + +

{{responce}}

+{% endblock %} \ No newline at end of file diff --git a/Sources/src/app/views/Templates/page/addfriend.html.twig b/Sources/src/app/views/Templates/page/addfriend.html.twig index c85aa08e..7a74ced4 100644 --- a/Sources/src/app/views/Templates/page/addfriend.html.twig +++ b/Sources/src/app/views/Templates/page/addfriend.html.twig @@ -27,10 +27,10 @@ -
+
- - + +
@@ -52,11 +52,7 @@ - {% endfor %} - {% if responce is defined %} -

{{ responce }}

- {% endif %} @@ -64,4 +60,5 @@ +

{{responce}}

{% endblock %} \ No newline at end of file diff --git a/Sources/src/app/views/Templates/page/addmember.html.twig b/Sources/src/app/views/Templates/page/addmember.html.twig new file mode 100644 index 00000000..5d7689db --- /dev/null +++ b/Sources/src/app/views/Templates/page/addmember.html.twig @@ -0,0 +1,64 @@ +{% extends "base.html.twig" %} + +{% block pp %}{{pp}}{% endblock %} + +{% block css %}{{css}}{% endblock %} + +{% block title %}Coaching - HearthTrack{% endblock %} + +{% block user %}{{user}} - {{role}}{% endblock %} + +{% block body %} +
+

Coaching

+ + +
+
+ + + + + + + + + + + {% for utili in users %} + + + + + + + {% endfor %} + +
NomPrénom +
+
+ + +
+
+
+ {{utili.nom}}{{utili.prenom}} +
+ + +
+ +
+
+
+
+ + +

{{responce}}

+{% endblock %} \ No newline at end of file diff --git a/Sources/src/app/views/Templates/page/coaching.html.twig b/Sources/src/app/views/Templates/page/coaching.html.twig index 0ea965f4..e1ada5ac 100755 --- a/Sources/src/app/views/Templates/page/coaching.html.twig +++ b/Sources/src/app/views/Templates/page/coaching.html.twig @@ -17,7 +17,9 @@ - +
+ +
@@ -27,7 +29,7 @@ Nom Prénom - Status + Identifiant @@ -40,9 +42,17 @@ {{ath.prenom}} {{ath.status}} - - - +
+
+ +
+
+ +
+
+ +
+
{% endfor %} diff --git a/Sources/src/app/views/Templates/page/exercice.html.twig b/Sources/src/app/views/Templates/page/exercice.html.twig index c3c80423..80bb86b9 100755 --- a/Sources/src/app/views/Templates/page/exercice.html.twig +++ b/Sources/src/app/views/Templates/page/exercice.html.twig @@ -16,7 +16,9 @@ - +
+ +
@@ -26,7 +28,6 @@ - @@ -36,9 +37,6 @@ - {% endfor %} diff --git a/Sources/src/app/views/Templates/page/friend.html.twig b/Sources/src/app/views/Templates/page/friend.html.twig index 65bc8597..c0c4691b 100755 --- a/Sources/src/app/views/Templates/page/friend.html.twig +++ b/Sources/src/app/views/Templates/page/friend.html.twig @@ -12,24 +12,27 @@

Liste d'ami

- +
+ + +
Type Intensité prévue Status
{{exo.type}} {{exo.intensite}} {{exo.status}} - -
{% if friendship is empty %} -

Vous n'avez aucun ami .

+

Vous n'avez aucun ami.

{% else %} - + @@ -42,9 +45,17 @@ {% endfor %} diff --git a/Sources/src/app/views/Templates/page/import.html.twig b/Sources/src/app/views/Templates/page/import.html.twig index 9962b534..d7356cc2 100644 --- a/Sources/src/app/views/Templates/page/import.html.twig +++ b/Sources/src/app/views/Templates/page/import.html.twig @@ -29,8 +29,10 @@ - - + + + + diff --git a/Sources/src/app/views/Templates/page/settings.html.twig b/Sources/src/app/views/Templates/page/settings.html.twig index 578b4d3e..bcbe9a12 100644 --- a/Sources/src/app/views/Templates/page/settings.html.twig +++ b/Sources/src/app/views/Templates/page/settings.html.twig @@ -39,10 +39,10 @@ Date de naissance : {{infoUser.dateNaiss}}
- Sport favori : {{infoUser.favSport}} + Email : {{infoUser.favSport}}
- Coach : {{infoUser.coach}} + Numéro de téléphone : {{infoUser.coach}}
@@ -70,9 +70,55 @@ +

+ +
+ + +
+
+ + +
+
+ + +
+
+ +
+ +

+ + +
+ + +
+
+ + +
+
+ + +
+
+ + +
+
+ + +
+
+ +
+ + -{% endblock %} \ No newline at end of file +{% endblock %}
Nom PrénomStatusIdentifiant
{{ami.prenom}} {{ami.status}} - - - +
+
+ +
+
+ +
+
+ +
+