From 8e634842b33b41e8880d41f43b2fe06cc397823f Mon Sep 17 00:00:00 2001 From: afornerot Date: Thu, 9 May 2019 14:10:23 +0200 Subject: [PATCH] mise en place de la gestion des signataires --- .../Controller/NoticeController.php | 46 ++++++++++++ .../PortalBundle/Resources/config/routing.yml | 12 ++++ .../Resources/views/Notice/list.html.twig | 4 ++ .../Resources/views/Notice/users.html.twig | 71 +++++++++++++++++++ src/ninegate-1.0/todo.txt | 9 ++- 5 files changed, 139 insertions(+), 3 deletions(-) create mode 100644 src/ninegate-1.0/src/Cadoles/PortalBundle/Resources/views/Notice/users.html.twig diff --git a/src/ninegate-1.0/src/Cadoles/PortalBundle/Controller/NoticeController.php b/src/ninegate-1.0/src/Cadoles/PortalBundle/Controller/NoticeController.php index 2c405980..dcaa0082 100644 --- a/src/ninegate-1.0/src/Cadoles/PortalBundle/Controller/NoticeController.php +++ b/src/ninegate-1.0/src/Cadoles/PortalBundle/Controller/NoticeController.php @@ -131,6 +131,52 @@ class NoticeController extends Controller return $this->redirectToRoute($this->labelroute); } + public function usersAction($id) + { + $notice = $this->getData($id); + + return $this->render($this->labelentity.':users.html.twig', [ + 'useheader' => true, + 'usemenu' => false, + 'usesidebar' => true, + 'notice' => $notice, + ]); + } + + public function usersdeleteAction($id,$userid) + { + $notice = $this->getData($id); + + $em = $this->getDoctrine()->getManager(); + $user = $em->getRepository("CadolesCoreBundle:User")->find($userid); + $notice->removeUser($user); + $em->flush(); + + return $this->render($this->labelentity.':users.html.twig', [ + 'useheader' => true, + 'usemenu' => false, + 'usesidebar' => true, + 'notice' => $notice, + ]); + } + + public function usersdeleteallAction($id) + { + $notice = $this->getData($id); + + $em = $this->getDoctrine()->getManager(); + foreach($notice->getUsers() as $user) { + $notice->removeUser($user); + } + $em->flush(); + return $this->render($this->labelentity.':users.html.twig', [ + 'useheader' => true, + 'usemenu' => false, + 'usesidebar' => true, + 'notice' => $notice, + ]); + } + public function havereadAction(Request $request) { $em = $this->getDoctrine()->getManager(); diff --git a/src/ninegate-1.0/src/Cadoles/PortalBundle/Resources/config/routing.yml b/src/ninegate-1.0/src/Cadoles/PortalBundle/Resources/config/routing.yml index 6dcebd23..e650a1be 100644 --- a/src/ninegate-1.0/src/Cadoles/PortalBundle/Resources/config/routing.yml +++ b/src/ninegate-1.0/src/Cadoles/PortalBundle/Resources/config/routing.yml @@ -148,6 +148,18 @@ cadoles_portal_config_notice_delete: path: /config/notice/delete/{id} defaults: { _controller: CadolesPortalBundle:Notice:delete } +cadoles_portal_config_notice_users: + path: /config/notice/users/{id} + defaults: { _controller: CadolesPortalBundle:Notice:users } + +cadoles_portal_config_notice_users_delete: + path: /config/notice/users/{id}/delete/{userid} + defaults: { _controller: CadolesPortalBundle:Notice:usersdelete } + +cadoles_portal_config_notice_users_deleteall: + path: /config/notice/users/{id}/deleteall + defaults: { _controller: CadolesPortalBundle:Notice:usersdeleteall } + cadoles_portal_user_notice_haveread: path: /user/notice/haveread defaults: { _controller: CadolesPortalBundle:Notice:haveread } diff --git a/src/ninegate-1.0/src/Cadoles/PortalBundle/Resources/views/Notice/list.html.twig b/src/ninegate-1.0/src/Cadoles/PortalBundle/Resources/views/Notice/list.html.twig index 70dba16d..b049d35a 100644 --- a/src/ninegate-1.0/src/Cadoles/PortalBundle/Resources/views/Notice/list.html.twig +++ b/src/ninegate-1.0/src/Cadoles/PortalBundle/Resources/views/Notice/list.html.twig @@ -29,6 +29,10 @@ {{ notice.title }} + + + + diff --git a/src/ninegate-1.0/src/Cadoles/PortalBundle/Resources/views/Notice/users.html.twig b/src/ninegate-1.0/src/Cadoles/PortalBundle/Resources/views/Notice/users.html.twig new file mode 100644 index 00000000..6103c905 --- /dev/null +++ b/src/ninegate-1.0/src/Cadoles/PortalBundle/Resources/views/Notice/users.html.twig @@ -0,0 +1,71 @@ +{% extends '@CadolesCore/base.html.twig' %} + +{% block pagewrapper %} + {% set color = app.session.get('color') %} + +

+ Gestion des Signataires de Chartes +

+ +
+
+

+ Supprimer toutes les signatures + Annuler +

+ +
+
+ + + + + + + + + + + + {% for user in notice.users %} + {% set colorbody = "background-color: #" ~ color['main'] %} + + + + + + + +
+
+ + + + +{% endblock %} + +{% block localjavascript %} + $(document).ready(function() { + table = $('#dataTables').DataTable({ + columnDefs: [ { "targets": 'no-sort', "orderable": false } ], + responsive: true, + iDisplayLength: 100, + order: [[ 2, "asc" ]], + drawCallback: function(settings) { + $("a[data-method='delete']").click(function(){ + if( !confirm('Êtes-vous sûr de vouloir supprimer ce calendrier ?')) { + return false; + } + }); + } + }); + + }); +{% endblock %} + + diff --git a/src/ninegate-1.0/todo.txt b/src/ninegate-1.0/todo.txt index 99e6fa9c..c521569c 100644 --- a/src/ninegate-1.0/todo.txt +++ b/src/ninegate-1.0/todo.txt @@ -1,14 +1,12 @@ > Rendre l'alias paramétrage par genconfig > Ne pas supprimer/modifier les icons système -> Annonces pouvant $etre masquées par les utilisateurs -> Gestion des signataires de charte +> Annonces pouvant être masquées par les utilisateurs > Calendrier export ICS > Pages duplicable > Icone utilisateur > Déplacement de widget vers une autre page du meme user -> Annonces dans pages spécifique > widget ToDo > widget rss @@ -17,5 +15,10 @@ > Améliorer la selection des users avec droits d'écriture sur blog / calendar > Ajouter notion de user avec droits d'écriture sur page +> Widgets Envole +> Items Envole + +> Synchronisation posh-profil à revoir +
ActionAvatarLoginNomPrénom
+ + {{ user.username }}{{ user.lastname }}{{ user.firstname }}