From 1a28fe2f5a8f2ad3b43b02aab9dfe35518db244d Mon Sep 17 00:00:00 2001 From: afornerot Date: Mon, 23 Sep 2019 16:17:15 +0200 Subject: [PATCH] svg --- src/ninegate-1.0/app/config/config.yml | 2 +- .../CoreBundle/Command/data/core-init-01.sql | 2 +- .../CoreBundle/Controller/GroupController.php | 68 ++++++++++- .../CoreBundle/Controller/UserController.php | 59 ++++++++- .../src/Cadoles/CoreBundle/Entity/Group.php | 34 ++++++ .../src/Cadoles/CoreBundle/Entity/User.php | 40 ++++++- .../CoreBundle/Resources/public/css/style.css | 1 - .../Resources/public/images/loadpoint.gif | Bin 12913 -> 118115 bytes .../public/themes/transnum/function.html.twig | 4 +- .../public/themes/transnum/style.css | 22 +++- .../themes/transnum/transnum-header.png | Bin 0 -> 4985 bytes .../Resources/views/Group/edit.html.twig | 4 +- .../Resources/views/User/edit.html.twig | 6 +- .../PortalBundle/Command/InitDataCommand.php | 19 +++ .../Controller/PagewidgetController.php | 85 ++++++++++++- .../PortalBundle/Resources/config/routing.yml | 8 ++ .../views/Alertcategory/edit.html.twig | 2 +- .../Resources/views/Icon/edit.html.twig | 2 +- .../Resources/views/Icon/list.html.twig | 2 +- .../Resources/views/Item/edit.html.twig | 2 +- .../Resources/views/Page/viewwidget.html.twig | 21 ++++ .../Resources/views/Pagewidget/edit.html.twig | 6 +- .../views/Pagewidget/viewalert.html.twig | 2 +- .../Pagewidget/viewappexternal.html.twig | 2 +- .../views/Pagewidget/viewblog.html.twig | 2 +- .../views/Pagewidget/viewbookmark.html.twig | 2 +- .../views/Pagewidget/viewcalendar.html.twig | 2 +- .../views/Pagewidget/viewchat.html.twig | 2 +- .../views/Pagewidget/vieweditor.html.twig | 2 +- .../views/Pagewidget/viewfile.html.twig | 11 +- .../views/Pagewidget/viewflux.html.twig | 2 +- .../views/Pagewidget/viewframe.html.twig | 2 +- .../views/Pagewidget/viewgalery.html.twig | 2 +- .../views/Pagewidget/viewgroup.html.twig | 2 +- .../Pagewidget/viewgroupmessage.html.twig | 113 ++++++++++++++++++ .../views/Pagewidget/viewinfo.html.twig | 28 ++++- .../views/Pagewidget/viewitem.html.twig | 2 +- .../Pagewidget/viewitemessential.html.twig | 2 +- .../views/Pagewidget/viewlink.html.twig | 2 +- .../views/Pagewidget/viewseparator.html.twig | 2 +- .../views/Pagewidget/viewslide.html.twig | 2 +- .../views/Pagewidget/viewurl.html.twig | 2 +- .../Controller/ChatController.php | 25 ++++ .../WebsocketBundle/Entity/Message.php | 46 ++++++- .../Resources/config/routing.yml | 4 + .../Resources/views/Chat/client.html.twig | 43 ++++--- .../web/uploads/icon/icon_add.png | Bin 6541 -> 1987 bytes 47 files changed, 626 insertions(+), 67 deletions(-) create mode 100644 src/ninegate-1.0/src/Cadoles/CoreBundle/Resources/public/themes/transnum/transnum-header.png create mode 100644 src/ninegate-1.0/src/Cadoles/PortalBundle/Resources/views/Pagewidget/viewgroupmessage.html.twig diff --git a/src/ninegate-1.0/app/config/config.yml b/src/ninegate-1.0/app/config/config.yml index b8881c87..08147083 100644 --- a/src/ninegate-1.0/app/config/config.yml +++ b/src/ninegate-1.0/app/config/config.yml @@ -154,7 +154,7 @@ ivory_ck_editor: language: fr toolbar: "my_toolbar_1" uiColor: "#ffffff" - extraPlugins: ["html5video","pastebase64"] + extraPlugins: ["html5video"] light_config: language: fr toolbar: "my_toolbar_2" diff --git a/src/ninegate-1.0/src/Cadoles/CoreBundle/Command/data/core-init-01.sql b/src/ninegate-1.0/src/Cadoles/CoreBundle/Command/data/core-init-01.sql index c8e9650b..df141a43 100644 --- a/src/ninegate-1.0/src/Cadoles/CoreBundle/Command/data/core-init-01.sql +++ b/src/ninegate-1.0/src/Cadoles/CoreBundle/Command/data/core-init-01.sql @@ -8,7 +8,7 @@ INSERT IGNORE INTO `niveau01` (`id`, `label`, `siren`) VALUES (-100, 'DRAAF', '130007107'); INSERT IGNORE INTO `user` (`id`, `niveau01_id`, `username`, `firstname`, `lastname`, `password`, `email`, `avatar`, `role`,`siren`,`authlevel`) VALUES -(-100, -100, 'admin', 'Administrateur', 'draaf', '{SSHA}vVciL1BZlGqITdyEI5am1J21xEgy2M02 +(-100, -100, 'admin', 'Administrateur', 'draaf', '{SSHA}eyoxoh9yJzJyNAacnf9gxyZbtRWITzXF ', 'admin@ldapbundle.ac-arno.fr', 'admin.jpg', 'ROLE_ADMIN', '130007107', 'simple'); diff --git a/src/ninegate-1.0/src/Cadoles/CoreBundle/Controller/GroupController.php b/src/ninegate-1.0/src/Cadoles/CoreBundle/Controller/GroupController.php index 4d96ab9d..6359fd22 100644 --- a/src/ninegate-1.0/src/Cadoles/CoreBundle/Controller/GroupController.php +++ b/src/ninegate-1.0/src/Cadoles/CoreBundle/Controller/GroupController.php @@ -509,10 +509,28 @@ class GroupController extends Controller $em->persist($usergroup); $em->flush(); + // Notification message $user=$em->getRepository("CadolesCoreBundle:User")->find($userid); $message="Inscription de l'utilisateur
".$user->getLastname()." ".$user->getFirstname()."
Par ".$this->getUser()->getLastname()." ".$this->getUser()->getFirstname(); $websocket = $this->container->get('cadoles.websocket.pushmessage')->send($key->toString(),$userid,$groupid,$message); + // Notification mail auprès de la personne inscrite + if($group->getFgcanshare()) { + $text="Vous venez d'être inscrit dans le groupe de travail : ".$group->getLabel(); + $template="template"; + $mail_params=array( + "subject" => $this->get('session')->get('appname')." : Inscription au groupe de travail : ".$group->getLabel()."\n\n".$group->getDescription(), + "body_html"=>nl2br($text), + "body_text"=>$text + ); + $to = $user->getEmail(); + $from = $this->getParameter('noreply');; + $fromName = $this->get('session')->get('appname'); + $message = $this->container->get('cadoles.core.service.mail'); + $message->sendEmail($template, $mail_params, $to, $from, $fromName); + } + + // Retour $response = new Response(json_encode($output)); $response->headers->set('Content-Type', 'application/json'); return $response; @@ -535,15 +553,36 @@ class GroupController extends Controller if($group->getFgAll()||$group->getFgTemplate()) throw $this->createNotFoundException('Permission denied'); + // Notification message $data = $em->getRepository("CadolesCoreBundle:Usergroup")->findOneBy(array("user"=>$userid,"group"=>$groupid)); $user=$em->getRepository("CadolesCoreBundle:User")->find($userid); $message="Désinscription de l'utilisateur
".$user->getLastname()." ".$user->getFirstname()."
Par ".$this->getUser()->getLastname()." ".$this->getUser()->getFirstname();; $websocket = $this->container->get('cadoles.websocket.pushmessage')->send($data->getKeyvalue(),$userid,$groupid,$message); - - + + // Desinscription $em->remove($data); $em->flush(); + // Notification mail auprès des managers + if($group->getFgcanshare()) { + $text=$user->getUsername()." a été désinscrit dugroupe de travail : ".$group->getLabel(); + $template="template"; + $mail_params=array( + "subject" => $this->get('session')->get('appname')." : ".$user->getUsername()." = Désinscription au groupe de travail ".$group->getLabel()."\n\n".$group->getDescription(), + "body_html"=>nl2br($text), + "body_text"=>$text + ); + $managers=$em->getRepository("CadolesCoreBundle:Usergroup")->findBy(array("group"=>$groupid,"fgmanager"=>true)); + $to=array(); + foreach($managers as $manager) { + array_push($to,$manager->getUser()->getEmail()); + } + + $from = $this->getParameter('noreply');; + $fromName = $this->get('session')->get('appname'); + $message = $this->container->get('cadoles.core.service.mail'); + $message->sendEmail($template, $mail_params, $to, $from, $fromName); + } $response = new Response(json_encode($output)); $response->headers->set('Content-Type', 'application/json'); @@ -557,14 +596,39 @@ class GroupController extends Controller if($group->getFgAll()||$group->getFgTemplate()) throw $this->createNotFoundException('Permission denied'); + // Notification message $usergroup = $em->getRepository("CadolesCoreBundle:Usergroup")->findOneBy(array("user"=>$this->getUser(),"group"=>$id)); $user=$em->getRepository("CadolesCoreBundle:User")->find($this->getUser()); $message="Désinscription de l'utilisateur
".$user->getLastname()." ".$user->getFirstname()."
Par ".$this->getUser()->getLastname()." ".$this->getUser()->getFirstname();; $websocket = $this->container->get('cadoles.websocket.pushmessage')->send($usergroup->getKeyvalue(),$this->getUser()->getId(),$id,$message); + // Desinscription $em->remove($usergroup); $em->flush(); + // Notification mail auprès des managers + if($group->getFgcanshare()) { + $text=$user->getUsername()." a été désinscrit dugroupe de travail : ".$group->getLabel(); + $template="template"; + $mail_params=array( + "subject" => $this->get('session')->get('appname')." : ".$user->getUsername()." = Désinscription au groupe de travail ".$group->getLabel()."\n\n".$group->getDescription(), + "body_html"=>nl2br($text), + "body_text"=>$text + ); + $managers=$em->getRepository("CadolesCoreBundle:Usergroup")->findBy(array("group"=>$group,"fgmanager"=>true)); + $to=array(); + foreach($managers as $manager) { + array_push($to,$manager->getUser()->getEmail()); + } + + $from = $this->getParameter('noreply');; + $fromName = $this->get('session')->get('appname'); + $message = $this->container->get('cadoles.core.service.mail'); + $message->sendEmail($template, $mail_params, $to, $from, $fromName); + } + + + return $this->redirect($this->generateUrl("cadoles_core_user_group")); } diff --git a/src/ninegate-1.0/src/Cadoles/CoreBundle/Controller/UserController.php b/src/ninegate-1.0/src/Cadoles/CoreBundle/Controller/UserController.php index 1a69a58d..7b0ded5c 100644 --- a/src/ninegate-1.0/src/Cadoles/CoreBundle/Controller/UserController.php +++ b/src/ninegate-1.0/src/Cadoles/CoreBundle/Controller/UserController.php @@ -351,8 +351,25 @@ class UserController extends Controller $em->persist($usergroup); $em->flush(); + // Notification message $message="Inscription de l'utilisateur
".$data->getLastname()." ".$data->getFirstname()."
Par ".$this->getUser()->getLastname()." ".$this->getUser()->getFirstname(); $websocket = $this->container->get('cadoles.websocket.pushmessage')->send($key->toString(),$iduser,$idgroup,$message); + + // Notification mail auprès de la personne inscrite + if($group->getFgcanshare()) { + $text="Vous venez d'être inscrit dans le groupe de travail : ".$group->getLabel(); + $template="template"; + $mail_params=array( + "subject" => $this->get('session')->get('appname')." : Inscription au groupe de travail : ".$group->getLabel()."\n\n".$group->getDescription(), + "body_html"=>nl2br($text), + "body_text"=>$text + ); + $to = $data->getEmail(); + $from = $this->getParameter('noreply');; + $fromName = $this->get('session')->get('appname'); + $message = $this->container->get('cadoles.core.service.mail'); + $message->sendEmail($template, $mail_params, $to, $from, $fromName); + } } // Ajout des modos @@ -476,8 +493,25 @@ class UserController extends Controller $em->persist($usergroup); $em->flush(); + // notification message $message="Inscription de l'utilisateur
".$data->getLastname()." ".$data->getFirstname()."
Par ".$this->getUser()->getLastname()." ".$this->getUser()->getFirstname(); $websocket = $this->container->get('cadoles.websocket.pushmessage')->send($key->toString(),$id,$idgroup,$message); + + // Notification mail auprès de la personne inscrite + if($group->getFgcanshare()) { + $text="Vous venez d'être inscrit dans le groupe de travail : ".$group->getLabel(); + $template="template"; + $mail_params=array( + "subject" => $this->get('session')->get('appname')." : Inscription au groupe de travail : ".$group->getLabel()."\n\n".$group->getDescription(), + "body_html"=>nl2br($text), + "body_text"=>$text + ); + $to = $data->getEmail(); + $from = $this->getParameter('noreply');; + $fromName = $this->get('session')->get('appname'); + $message = $this->container->get('cadoles.core.service.mail'); + $message->sendEmail($template, $mail_params, $to, $from, $fromName); + } } // Suppression des groupes obsolètes @@ -494,11 +528,34 @@ class UserController extends Controller ->getQuery() ->getResult(); foreach($usergroups as $usergroup) { + // Notification message $message="Désinscription de l'utilisateur
".$data->getLastname()." ".$data->getFirstname()."
Par ".$this->getUser()->getLastname()." ".$this->getUser()->getFirstname(); $websocket = $this->container->get('cadoles.websocket.pushmessage')->send($usergroup->getKeyvalue(),$id,$idgroup,$message); + // Déscription $em->remove($usergroup); $em->flush(); + + // Notification mail auprès des managers + if($group->getFgcanshare()) { + $text=$data->getUsername()." a été désinscrit dugroupe de travail : ".$group->getLabel(); + $template="template"; + $mail_params=array( + "subject" => $this->get('session')->get('appname')." : ".$data->getUsername()." = Désinscription au groupe de travail ".$group->getLabel()."\n\n".$group->getDescription(), + "body_html"=>nl2br($text), + "body_text"=>$text + ); + $managers=$em->getRepository("CadolesCoreBundle:Usergroup")->findBy(array("group"=>$group,"fgmanager"=>true)); + $to=array(); + foreach($managers as $manager) { + array_push($to,$manager->getUser()->getEmail()); + } + + $from = $this->getParameter('noreply');; + $fromName = $this->get('session')->get('appname'); + $message = $this->container->get('cadoles.core.service.mail'); + $message->sendEmail($template, $mail_params, $to, $from, $fromName); + } } } @@ -843,7 +900,7 @@ class UserController extends Controller $em->persist($user); $em->flush(); - // Email à destination de l'inscript pour le prévenir qu'il dispose d'un compte + // Email à destination de l'inscrit pour le prévenir qu'il dispose d'un compte $url = $this->generateUrl('cadoles_core_resetpwd01', [], UrlGeneratorInterface::ABSOLUTE_URL); $text ="Vous venez d'être inscrit au portail = ".$appname."\n\n"; $text.="Login = ".$username."\n"; diff --git a/src/ninegate-1.0/src/Cadoles/CoreBundle/Entity/Group.php b/src/ninegate-1.0/src/Cadoles/CoreBundle/Entity/Group.php index f92420ec..912d3c8d 100644 --- a/src/ninegate-1.0/src/Cadoles/CoreBundle/Entity/Group.php +++ b/src/ninegate-1.0/src/Cadoles/CoreBundle/Entity/Group.php @@ -869,4 +869,38 @@ class Group { return $this->messages; } + + /** + * Add calendarevent + * + * @param \Cadoles\PortalBundle\Entity\Calendarevent $calendarevent + * + * @return Group + */ + public function addCalendarevent(\Cadoles\PortalBundle\Entity\Calendarevent $calendarevent) + { + $this->calendarevents[] = $calendarevent; + + return $this; + } + + /** + * Remove calendarevent + * + * @param \Cadoles\PortalBundle\Entity\Calendarevent $calendarevent + */ + public function removeCalendarevent(\Cadoles\PortalBundle\Entity\Calendarevent $calendarevent) + { + $this->calendarevents->removeElement($calendarevent); + } + + /** + * Get calendarevents + * + * @return \Doctrine\Common\Collections\Collection + */ + public function getCalendarevents() + { + return $this->calendarevents; + } } diff --git a/src/ninegate-1.0/src/Cadoles/CoreBundle/Entity/User.php b/src/ninegate-1.0/src/Cadoles/CoreBundle/Entity/User.php index fd550b54..115e7114 100644 --- a/src/ninegate-1.0/src/Cadoles/CoreBundle/Entity/User.php +++ b/src/ninegate-1.0/src/Cadoles/CoreBundle/Entity/User.php @@ -266,7 +266,11 @@ class User implements UserInterface, \Serializable */ protected $messagereaders; - + /** + * @ORM\ManyToMany(targetEntity="Cadoles\WebsocketBundle\Entity\Message", mappedBy="sees") + */ + protected $messagesees; + //== CODE A NE PAS REGENERER /** * @ORM\PostLoad @@ -1421,4 +1425,38 @@ class User implements UserInterface, \Serializable { return $this->messagereaders; } + + /** + * Add messagesee + * + * @param \Cadoles\WebsocketBundle\Entity\Message $messagesee + * + * @return User + */ + public function addMessagesee(\Cadoles\WebsocketBundle\Entity\Message $messagesee) + { + $this->messagesees[] = $messagesee; + + return $this; + } + + /** + * Remove messagesee + * + * @param \Cadoles\WebsocketBundle\Entity\Message $messagesee + */ + public function removeMessagesee(\Cadoles\WebsocketBundle\Entity\Message $messagesee) + { + $this->messagesees->removeElement($messagesee); + } + + /** + * Get messagesees + * + * @return \Doctrine\Common\Collections\Collection + */ + public function getMessagesees() + { + return $this->messagesees; + } } diff --git a/src/ninegate-1.0/src/Cadoles/CoreBundle/Resources/public/css/style.css b/src/ninegate-1.0/src/Cadoles/CoreBundle/Resources/public/css/style.css index ea3b38a1..f611d414 100644 --- a/src/ninegate-1.0/src/Cadoles/CoreBundle/Resources/public/css/style.css +++ b/src/ninegate-1.0/src/Cadoles/CoreBundle/Resources/public/css/style.css @@ -591,7 +591,6 @@ a.item-heart { position: absolute; height:40px; width:40px; - border-radius: 100%; margin: 5px; cursor: pointer; } diff --git a/src/ninegate-1.0/src/Cadoles/CoreBundle/Resources/public/images/loadpoint.gif b/src/ninegate-1.0/src/Cadoles/CoreBundle/Resources/public/images/loadpoint.gif index d7597f8d72e3d7805ded6bd1fe9a3469747d7cc4..25dfe6fcbfb03adb1a06eb51a595604b6e4c2946 100644 GIT binary patch literal 118115 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
{% for icon in icons %} - + {% endfor %}
diff --git a/src/ninegate-1.0/src/Cadoles/PortalBundle/Resources/views/Icon/edit.html.twig b/src/ninegate-1.0/src/Cadoles/PortalBundle/Resources/views/Icon/edit.html.twig index 06629d1c..7ead78e9 100755 --- a/src/ninegate-1.0/src/Cadoles/PortalBundle/Resources/views/Icon/edit.html.twig +++ b/src/ninegate-1.0/src/Cadoles/PortalBundle/Resources/views/Icon/edit.html.twig @@ -47,7 +47,7 @@
- + {{ form_widget(form.label) }} Modifier
diff --git a/src/ninegate-1.0/src/Cadoles/PortalBundle/Resources/views/Icon/list.html.twig b/src/ninegate-1.0/src/Cadoles/PortalBundle/Resources/views/Icon/list.html.twig index 035596db..0bf0f0e1 100644 --- a/src/ninegate-1.0/src/Cadoles/PortalBundle/Resources/views/Icon/list.html.twig +++ b/src/ninegate-1.0/src/Cadoles/PortalBundle/Resources/views/Icon/list.html.twig @@ -7,7 +7,7 @@
{% for icon in icons %} - + {% endfor %}
{% endblock %} diff --git a/src/ninegate-1.0/src/Cadoles/PortalBundle/Resources/views/Item/edit.html.twig b/src/ninegate-1.0/src/Cadoles/PortalBundle/Resources/views/Item/edit.html.twig index dd3173a2..565180e4 100755 --- a/src/ninegate-1.0/src/Cadoles/PortalBundle/Resources/views/Item/edit.html.twig +++ b/src/ninegate-1.0/src/Cadoles/PortalBundle/Resources/views/Item/edit.html.twig @@ -92,7 +92,7 @@
{% for icon in icons %} - + {% endfor %}
diff --git a/src/ninegate-1.0/src/Cadoles/PortalBundle/Resources/views/Page/viewwidget.html.twig b/src/ninegate-1.0/src/Cadoles/PortalBundle/Resources/views/Page/viewwidget.html.twig index daa15c5a..6762524d 100644 --- a/src/ninegate-1.0/src/Cadoles/PortalBundle/Resources/views/Page/viewwidget.html.twig +++ b/src/ninegate-1.0/src/Cadoles/PortalBundle/Resources/views/Page/viewwidget.html.twig @@ -531,4 +531,25 @@ var optiongrid={columnWidth: '.grid-sizer',itemSelector: '.grid-item'}; var grid = $('.grid').masonry(optiongrid); } + + // Place un message en leur + function hideMessage(id) { + $.ajax({ + method: "POST", + url: "{{ path('cadoles_websocket_message_see') }}", + data: { + id:id + }, + success: function() { + $(".msg-"+id).remove(); + var ele = $(".msg-hidden").first(); + ele.show(); + ele.removeClass("msg-hidden"); + + var optiongrid={columnWidth: '.grid-sizer',itemSelector: '.grid-item'}; + var grid = $('.grid').masonry(optiongrid); + + } + }); + } {% endblock %} diff --git a/src/ninegate-1.0/src/Cadoles/PortalBundle/Resources/views/Pagewidget/edit.html.twig b/src/ninegate-1.0/src/Cadoles/PortalBundle/Resources/views/Pagewidget/edit.html.twig index 0f2a1de6..7fd234c0 100644 --- a/src/ninegate-1.0/src/Cadoles/PortalBundle/Resources/views/Pagewidget/edit.html.twig +++ b/src/ninegate-1.0/src/Cadoles/PortalBundle/Resources/views/Pagewidget/edit.html.twig @@ -54,7 +54,7 @@
-
+
{% if entity.icon %} {% endif %} @@ -110,7 +110,7 @@

Mes Icônes

{% for icon in iconsuser %} - + {% endfor %} @@ -119,7 +119,7 @@ {% for icon in icons %} - + {% endfor %}
diff --git a/src/ninegate-1.0/src/Cadoles/PortalBundle/Resources/views/Pagewidget/viewalert.html.twig b/src/ninegate-1.0/src/Cadoles/PortalBundle/Resources/views/Pagewidget/viewalert.html.twig index bc31707a..9c8c6f9f 100644 --- a/src/ninegate-1.0/src/Cadoles/PortalBundle/Resources/views/Pagewidget/viewalert.html.twig +++ b/src/ninegate-1.0/src/Cadoles/PortalBundle/Resources/views/Pagewidget/viewalert.html.twig @@ -12,7 +12,7 @@ {% set stylewidgetbody = constants.mystylewidgetbody(entity) %} {% if canupdate or alerts|length>0 %} -
+
{% if canupdate %}
diff --git a/src/ninegate-1.0/src/Cadoles/PortalBundle/Resources/views/Pagewidget/viewappexternal.html.twig b/src/ninegate-1.0/src/Cadoles/PortalBundle/Resources/views/Pagewidget/viewappexternal.html.twig index 38c2938c..f3d359c1 100644 --- a/src/ninegate-1.0/src/Cadoles/PortalBundle/Resources/views/Pagewidget/viewappexternal.html.twig +++ b/src/ninegate-1.0/src/Cadoles/PortalBundle/Resources/views/Pagewidget/viewappexternal.html.twig @@ -26,7 +26,7 @@ {% set colorbodyfont = "color: #" ~ entity.colorbodyfont %} {% endif %} -
+
{% if canupdate or canadd %}
{% if canupdate %} diff --git a/src/ninegate-1.0/src/Cadoles/PortalBundle/Resources/views/Pagewidget/viewblog.html.twig b/src/ninegate-1.0/src/Cadoles/PortalBundle/Resources/views/Pagewidget/viewblog.html.twig index 6b700887..13e8a772 100644 --- a/src/ninegate-1.0/src/Cadoles/PortalBundle/Resources/views/Pagewidget/viewblog.html.twig +++ b/src/ninegate-1.0/src/Cadoles/PortalBundle/Resources/views/Pagewidget/viewblog.html.twig @@ -18,7 +18,7 @@ -
+
{% if canupdate %} diff --git a/src/ninegate-1.0/src/Cadoles/PortalBundle/Resources/views/Pagewidget/viewbookmark.html.twig b/src/ninegate-1.0/src/Cadoles/PortalBundle/Resources/views/Pagewidget/viewbookmark.html.twig index 8d226469..1a3ef229 100644 --- a/src/ninegate-1.0/src/Cadoles/PortalBundle/Resources/views/Pagewidget/viewbookmark.html.twig +++ b/src/ninegate-1.0/src/Cadoles/PortalBundle/Resources/views/Pagewidget/viewbookmark.html.twig @@ -26,7 +26,7 @@ {% set colorbodyfont = "color: #" ~ entity.colorbodyfont %} {% endif %} -
+
{% if canupdate or canadd %}
{% if canupdate %} diff --git a/src/ninegate-1.0/src/Cadoles/PortalBundle/Resources/views/Pagewidget/viewcalendar.html.twig b/src/ninegate-1.0/src/Cadoles/PortalBundle/Resources/views/Pagewidget/viewcalendar.html.twig index 35c2620e..1f6f4977 100644 --- a/src/ninegate-1.0/src/Cadoles/PortalBundle/Resources/views/Pagewidget/viewcalendar.html.twig +++ b/src/ninegate-1.0/src/Cadoles/PortalBundle/Resources/views/Pagewidget/viewcalendar.html.twig @@ -17,7 +17,7 @@ -
+
{% if canupdate %} diff --git a/src/ninegate-1.0/src/Cadoles/PortalBundle/Resources/views/Pagewidget/viewchat.html.twig b/src/ninegate-1.0/src/Cadoles/PortalBundle/Resources/views/Pagewidget/viewchat.html.twig index c959c12a..c4773a76 100644 --- a/src/ninegate-1.0/src/Cadoles/PortalBundle/Resources/views/Pagewidget/viewchat.html.twig +++ b/src/ninegate-1.0/src/Cadoles/PortalBundle/Resources/views/Pagewidget/viewchat.html.twig @@ -23,7 +23,7 @@ {% set colorbodyfont = color['fontcolorhover'] %} {% endif %} -
+
{% if canupdate %}
diff --git a/src/ninegate-1.0/src/Cadoles/PortalBundle/Resources/views/Pagewidget/vieweditor.html.twig b/src/ninegate-1.0/src/Cadoles/PortalBundle/Resources/views/Pagewidget/vieweditor.html.twig index 098a1741..d6bfea3e 100644 --- a/src/ninegate-1.0/src/Cadoles/PortalBundle/Resources/views/Pagewidget/vieweditor.html.twig +++ b/src/ninegate-1.0/src/Cadoles/PortalBundle/Resources/views/Pagewidget/vieweditor.html.twig @@ -10,7 +10,7 @@ {% set stylewidgetheader = constants.mystylewidgetheader(entity) %} {% set stylewidgetbody = constants.mystylewidgetbody(entity) %} -
+
{% if canupdate %}
{% if canupdate %} diff --git a/src/ninegate-1.0/src/Cadoles/PortalBundle/Resources/views/Pagewidget/viewfile.html.twig b/src/ninegate-1.0/src/Cadoles/PortalBundle/Resources/views/Pagewidget/viewfile.html.twig index 0c48797d..59a378fe 100644 --- a/src/ninegate-1.0/src/Cadoles/PortalBundle/Resources/views/Pagewidget/viewfile.html.twig +++ b/src/ninegate-1.0/src/Cadoles/PortalBundle/Resources/views/Pagewidget/viewfile.html.twig @@ -24,7 +24,7 @@ {% set colorbodyfont = color['fontcolorhover'] %} {% endif %} -
+
{% if canupdate or canadd %}
{% if canupdate %} @@ -48,11 +48,16 @@ {{ entity.name }}
- {% if files|length >= 1 %} + {% if files|length >= 1 or canupdate %}
+ {% if canupdate %} +
+
+ {% endif %} + {% for file in files|sort %} - {% if loop.index==1 %} + {% if loop.index==1 and not canupdate%}
{% endif %} diff --git a/src/ninegate-1.0/src/Cadoles/PortalBundle/Resources/views/Pagewidget/viewflux.html.twig b/src/ninegate-1.0/src/Cadoles/PortalBundle/Resources/views/Pagewidget/viewflux.html.twig index ea8444d5..8c1c9504 100644 --- a/src/ninegate-1.0/src/Cadoles/PortalBundle/Resources/views/Pagewidget/viewflux.html.twig +++ b/src/ninegate-1.0/src/Cadoles/PortalBundle/Resources/views/Pagewidget/viewflux.html.twig @@ -36,7 +36,7 @@ {% set stylegrid="grid-list" %} {% endif %} -
+
{% if canupdate %}
diff --git a/src/ninegate-1.0/src/Cadoles/PortalBundle/Resources/views/Pagewidget/viewframe.html.twig b/src/ninegate-1.0/src/Cadoles/PortalBundle/Resources/views/Pagewidget/viewframe.html.twig index 674a1787..5ae28e20 100644 --- a/src/ninegate-1.0/src/Cadoles/PortalBundle/Resources/views/Pagewidget/viewframe.html.twig +++ b/src/ninegate-1.0/src/Cadoles/PortalBundle/Resources/views/Pagewidget/viewframe.html.twig @@ -22,7 +22,7 @@ {% set colorbodyfont = color['fontcolorhover'] %} {% endif %} -
+
{% if canupdate %}
diff --git a/src/ninegate-1.0/src/Cadoles/PortalBundle/Resources/views/Pagewidget/viewgalery.html.twig b/src/ninegate-1.0/src/Cadoles/PortalBundle/Resources/views/Pagewidget/viewgalery.html.twig index b12cf400..21cfc1d3 100644 --- a/src/ninegate-1.0/src/Cadoles/PortalBundle/Resources/views/Pagewidget/viewgalery.html.twig +++ b/src/ninegate-1.0/src/Cadoles/PortalBundle/Resources/views/Pagewidget/viewgalery.html.twig @@ -24,7 +24,7 @@ {% set colorbodyfont = color['fontcolorhover'] %} {% endif %} -
+
{% if canupdate or canadd %}
{% if canupdate %} diff --git a/src/ninegate-1.0/src/Cadoles/PortalBundle/Resources/views/Pagewidget/viewgroup.html.twig b/src/ninegate-1.0/src/Cadoles/PortalBundle/Resources/views/Pagewidget/viewgroup.html.twig index 1d7ac634..64f36588 100644 --- a/src/ninegate-1.0/src/Cadoles/PortalBundle/Resources/views/Pagewidget/viewgroup.html.twig +++ b/src/ninegate-1.0/src/Cadoles/PortalBundle/Resources/views/Pagewidget/viewgroup.html.twig @@ -17,7 +17,7 @@ {% set canadd = true %} {% endif %} -
+
{% if canupdate %}
{% if canupdate %} diff --git a/src/ninegate-1.0/src/Cadoles/PortalBundle/Resources/views/Pagewidget/viewgroupmessage.html.twig b/src/ninegate-1.0/src/Cadoles/PortalBundle/Resources/views/Pagewidget/viewgroupmessage.html.twig new file mode 100644 index 00000000..4ae6f4ae --- /dev/null +++ b/src/ninegate-1.0/src/Cadoles/PortalBundle/Resources/views/Pagewidget/viewgroupmessage.html.twig @@ -0,0 +1,113 @@ +{% set theme = app.session.get('theme') %} +{% if theme is not empty %} + {{ include('@Theme/'~theme~'/function.html.twig') }} +{% endif %} + +{% import "@CadolesPortal/Pagewidget/constants.twig" as constants %} + +{% set stylewidget = constants.mystylewidget(entity) %} +{% set stylewidgetmenu = constants.mystylewidgetmenu(entity) %} +{% set stylewidgetheader = constants.mystylewidgetheader(entity) %} +{% set stylewidgetbody = constants.mystylewidgetbody(entity) %} +{% set stylewidgetbodyreverse = constants.mystylewidgetbodyreverse(entity) %} +{% set color = app.session.get('color') %} + +{% set colorbodyfont = entity.colorbodyfont %} +{% if colorbodyfont is null %} + {% set colorbodyfont = color['fontcolorhover'] %} +{% endif %} + +{% set colorbodyback = entity.colorbodyback %} +{% if colorbodyback is null %} + {% set colorbodyback = color['main'] %} +{% endif %} + +{% set colorbodyfont = entity.colorbodyfont %} +{% if colorbodyfont is null %} + {% if colorbodyback==color['fontcolorhover'] %} + {% set colorbodyfont = color['main'] %} + {% else %} + {% set colorbodyfont = color['fontcolorhover'] %} + {% endif %} +{% endif %} + +{% if modelist==0 %} + {% set stylegrid="grid-preview" %} +{% elseif modelist==1 %} + {% set stylegrid="grid-list" %} +{% endif %} + +
+ {% if canupdate %} +
+ + +
+ {% endif %} + + +
+ {% if entity.icon %} + + {% else %} + + {% endif %} + {{ entity.name }} +
+ + {% set firstflux="" %} + +
+ {% if fluxs is defined %} + {% if fluxs|length > 1 %} +
Tout
+ + {% for flux in fluxs %} + {% set stylefeed = "background-color: #" ~ color['main'] ~ ";" %} + {% if flux.color is not null %} + {% set stylefeed = "background-color: #" ~ flux.color ~ ";" %} + {% endif %} + +
{{ flux.title }}
+ {% endfor %} + {% endif %} + {% endif %} + +
+
+
+ {% set nbaff=0 %} + {% for message in messages %} + {% set nbaff=nbaff+1 %} + {% set class="" %} + {% set style="" %} + {% if nbaff > nbarticle %} + {% set class="msg-hidden" %} + {% set style="display:none" %} + {% endif %} + +
+
+ +
+
+ {% endfor %} +
+
+
+ + + diff --git a/src/ninegate-1.0/src/Cadoles/PortalBundle/Resources/views/Pagewidget/viewinfo.html.twig b/src/ninegate-1.0/src/Cadoles/PortalBundle/Resources/views/Pagewidget/viewinfo.html.twig index a784591b..b6ec3979 100644 --- a/src/ninegate-1.0/src/Cadoles/PortalBundle/Resources/views/Pagewidget/viewinfo.html.twig +++ b/src/ninegate-1.0/src/Cadoles/PortalBundle/Resources/views/Pagewidget/viewinfo.html.twig @@ -19,7 +19,7 @@ {% set stylelink = "color:#" ~ color['fontcolorhover'] %} {% endif %} -
+
{% if canupdate %}
@@ -37,6 +37,7 @@ {% endif %}
+ {% set canadd = false %}
{%if usage=="group" %}Groupe
{% endif %} @@ -55,13 +56,34 @@
- {%if member.fgmanager%}{%endif%}
+ {%if member.fgmanager%} + + {% if member.user==app.user %} + {% set canadd=true %} + {% endif %} + {%endif%}
{{ member.user.lastname }} {{ member.user.firstname }} -
{% endfor %} + + {% if canadd==true %} + + {% endif %}
{% endif %}
diff --git a/src/ninegate-1.0/src/Cadoles/PortalBundle/Resources/views/Pagewidget/viewitem.html.twig b/src/ninegate-1.0/src/Cadoles/PortalBundle/Resources/views/Pagewidget/viewitem.html.twig index bf4a4663..a4fcb112 100644 --- a/src/ninegate-1.0/src/Cadoles/PortalBundle/Resources/views/Pagewidget/viewitem.html.twig +++ b/src/ninegate-1.0/src/Cadoles/PortalBundle/Resources/views/Pagewidget/viewitem.html.twig @@ -27,7 +27,7 @@ {% set colorbodyfont = "color: #" ~ entity.colorbodyfont %} {% endif %} -
+
{% if canupdate or canadd %}
{% if canupdate %} diff --git a/src/ninegate-1.0/src/Cadoles/PortalBundle/Resources/views/Pagewidget/viewitemessential.html.twig b/src/ninegate-1.0/src/Cadoles/PortalBundle/Resources/views/Pagewidget/viewitemessential.html.twig index 7f5e72b0..7f6d1b4f 100644 --- a/src/ninegate-1.0/src/Cadoles/PortalBundle/Resources/views/Pagewidget/viewitemessential.html.twig +++ b/src/ninegate-1.0/src/Cadoles/PortalBundle/Resources/views/Pagewidget/viewitemessential.html.twig @@ -27,7 +27,7 @@ {% set colorbodyfont = "color: #" ~ entity.colorbodyfont %} {% endif %} -
+
{% if canupdate or canadd %}
{% if canupdate %} diff --git a/src/ninegate-1.0/src/Cadoles/PortalBundle/Resources/views/Pagewidget/viewlink.html.twig b/src/ninegate-1.0/src/Cadoles/PortalBundle/Resources/views/Pagewidget/viewlink.html.twig index a915909a..79fef849 100644 --- a/src/ninegate-1.0/src/Cadoles/PortalBundle/Resources/views/Pagewidget/viewlink.html.twig +++ b/src/ninegate-1.0/src/Cadoles/PortalBundle/Resources/views/Pagewidget/viewlink.html.twig @@ -18,7 +18,7 @@ {% set stylelink = "color:#" ~ color['fontcolorhover'] %} {% endif %} -
+
{% if canupdate %}
{% if canupdate %} diff --git a/src/ninegate-1.0/src/Cadoles/PortalBundle/Resources/views/Pagewidget/viewseparator.html.twig b/src/ninegate-1.0/src/Cadoles/PortalBundle/Resources/views/Pagewidget/viewseparator.html.twig index 9bd622c1..244a220d 100644 --- a/src/ninegate-1.0/src/Cadoles/PortalBundle/Resources/views/Pagewidget/viewseparator.html.twig +++ b/src/ninegate-1.0/src/Cadoles/PortalBundle/Resources/views/Pagewidget/viewseparator.html.twig @@ -17,7 +17,7 @@ {% set colorbodyfont = color['main'] %} {% endif %} -
+
{% if canupdate %}
diff --git a/src/ninegate-1.0/src/Cadoles/PortalBundle/Resources/views/Pagewidget/viewslide.html.twig b/src/ninegate-1.0/src/Cadoles/PortalBundle/Resources/views/Pagewidget/viewslide.html.twig index 56e21808..88dba4fb 100644 --- a/src/ninegate-1.0/src/Cadoles/PortalBundle/Resources/views/Pagewidget/viewslide.html.twig +++ b/src/ninegate-1.0/src/Cadoles/PortalBundle/Resources/views/Pagewidget/viewslide.html.twig @@ -17,7 +17,7 @@ {% set stylelink = "color:#" ~ color['fontcolorhover'] ~ ";" %} {% endif %} -
+
{% if canupdate or canadd %}
{% if canupdate %} diff --git a/src/ninegate-1.0/src/Cadoles/PortalBundle/Resources/views/Pagewidget/viewurl.html.twig b/src/ninegate-1.0/src/Cadoles/PortalBundle/Resources/views/Pagewidget/viewurl.html.twig index 05d8bec1..04aaa809 100644 --- a/src/ninegate-1.0/src/Cadoles/PortalBundle/Resources/views/Pagewidget/viewurl.html.twig +++ b/src/ninegate-1.0/src/Cadoles/PortalBundle/Resources/views/Pagewidget/viewurl.html.twig @@ -11,7 +11,7 @@ {% set stylewidgetbodyframe = constants.mystylewidgetbodyframe(entity) %} {% set stylewidgetbodyimage = constants.mystylewidgetbodyimage(entity) %} -
+
{% if canupdate %}
diff --git a/src/ninegate-1.0/src/Cadoles/WebsocketBundle/Controller/ChatController.php b/src/ninegate-1.0/src/Cadoles/WebsocketBundle/Controller/ChatController.php index 3bf42839..78617f9f 100644 --- a/src/ninegate-1.0/src/Cadoles/WebsocketBundle/Controller/ChatController.php +++ b/src/ninegate-1.0/src/Cadoles/WebsocketBundle/Controller/ChatController.php @@ -80,4 +80,29 @@ class ChatController extends Controller ]); } } + + public function seeAction(Request $request) + { + // S'assurer que c'est un appel ajax + if (!$request->isXmlHttpRequest()) { + return new JsonResponse(array('message' => 'Interdit'), 400); + } + + $em = $this->getDoctrine()->getManager(); + + $output=array(); + $id=$request->request->get('id'); + $user=$this->getUser(); + if($user) { + $message=$em->getRepository("CadolesWebsocketBundle:Message")->find($id); + $message->addSee($user); + // Sauvegarde + $em->persist($message); + $em->flush(); + } + + $response = new Response(json_encode($output)); + $response->headers->set('Content-Type', 'application/json'); + return $response; + } } diff --git a/src/ninegate-1.0/src/Cadoles/WebsocketBundle/Entity/Message.php b/src/ninegate-1.0/src/Cadoles/WebsocketBundle/Entity/Message.php index 3de5d076..5b15d9b0 100644 --- a/src/ninegate-1.0/src/Cadoles/WebsocketBundle/Entity/Message.php +++ b/src/ninegate-1.0/src/Cadoles/WebsocketBundle/Entity/Message.php @@ -42,15 +42,23 @@ class Message /** * @ORM\ManyToMany(targetEntity="Cadoles\CoreBundle\Entity\User", inversedBy="messagereaders", cascade={"persist"}) - * @ORM\JoinTable(name="messageuser", + * @ORM\JoinTable(name="messageuserread", * joinColumns={@ORM\JoinColumn(name="message", referencedColumnName="id")}, * inverseJoinColumns={@ORM\JoinColumn(name="user", referencedColumnName="id")} * ) */ protected $readers; + /** + * @ORM\ManyToMany(targetEntity="Cadoles\CoreBundle\Entity\User", inversedBy="messagesees", cascade={"persist"}) + * @ORM\JoinTable(name="messageusersee", + * joinColumns={@ORM\JoinColumn(name="message", referencedColumnName="id")}, + * inverseJoinColumns={@ORM\JoinColumn(name="user", referencedColumnName="id")} + * ) + */ + protected $sees; - + /** * Constructor */ @@ -200,4 +208,38 @@ class Message { return $this->readers; } + + /** + * Add see + * + * @param \Cadoles\CoreBundle\Entity\User $see + * + * @return Message + */ + public function addSee(\Cadoles\CoreBundle\Entity\User $see) + { + $this->sees[] = $see; + + return $this; + } + + /** + * Remove see + * + * @param \Cadoles\CoreBundle\Entity\User $see + */ + public function removeSee(\Cadoles\CoreBundle\Entity\User $see) + { + $this->sees->removeElement($see); + } + + /** + * Get sees + * + * @return \Doctrine\Common\Collections\Collection + */ + public function getSees() + { + return $this->sees; + } } diff --git a/src/ninegate-1.0/src/Cadoles/WebsocketBundle/Resources/config/routing.yml b/src/ninegate-1.0/src/Cadoles/WebsocketBundle/Resources/config/routing.yml index 4a2ad2b0..b249936e 100644 --- a/src/ninegate-1.0/src/Cadoles/WebsocketBundle/Resources/config/routing.yml +++ b/src/ninegate-1.0/src/Cadoles/WebsocketBundle/Resources/config/routing.yml @@ -1,3 +1,7 @@ cadoles_websocket_chat: path: /websocket/chat/{id} defaults: { _controller: CadolesWebsocketBundle:Chat:client } + +cadoles_websocket_message_see: + path: /user/message/see + defaults: { _controller: CadolesWebsocketBundle:Chat:see } \ No newline at end of file diff --git a/src/ninegate-1.0/src/Cadoles/WebsocketBundle/Resources/views/Chat/client.html.twig b/src/ninegate-1.0/src/Cadoles/WebsocketBundle/Resources/views/Chat/client.html.twig index 28741ed2..a973b62c 100644 --- a/src/ninegate-1.0/src/Cadoles/WebsocketBundle/Resources/views/Chat/client.html.twig +++ b/src/ninegate-1.0/src/Cadoles/WebsocketBundle/Resources/views/Chat/client.html.twig @@ -118,27 +118,31 @@ {% endblock %} {% block localjavascript %} + var webSocket; + $(document).ready(function(){ if (CKEDITOR.instances["chat_message"]) CKEDITOR.instances["chat_message"].destroy(); if (CKEDITOR.instances["chat_messagemail"]) CKEDITOR.instances["chat_messagemail"].destroy(); - CKEDITOR.replace( 'chat_message', { - toolbar: [ - { name: 'custo01', items: [ 'Bold','Italic','Underline','RemoveFormat' ] }, - { name: 'custo02', items: [ 'NumberedList','BulletedList' ] }, - { name: 'custo03', items: [ 'Smiley','Link','Unlink' ]} - ], - height: 100 - }); + setTimeout(function(){ + CKEDITOR.replace( 'chat_message', { + toolbar: [ + { name: 'custo01', items: [ 'Bold','Italic','Underline','RemoveFormat' ] }, + { name: 'custo02', items: [ 'NumberedList','BulletedList' ] }, + { name: 'custo03', items: [ 'Smiley','Link','Unlink' ]} + ], + height: 100 + }); - CKEDITOR.replace( 'chat_messagemail', { - toolbar: [ - { name: 'custo01', items: [ 'Bold','Italic','Underline','RemoveFormat' ] }, - { name: 'custo02', items: [ 'NumberedList','BulletedList' ] }, - { name: 'custo03', items: [ 'Smiley','Link','Unlink' ]} - ], - height: 150 - }); + CKEDITOR.replace( 'chat_messagemail', { + toolbar: [ + { name: 'custo01', items: [ 'Bold','Italic','Underline','RemoveFormat' ] }, + { name: 'custo02', items: [ 'NumberedList','BulletedList' ] }, + { name: 'custo03', items: [ 'Smiley','Link','Unlink' ]} + ], + height: 150 + }); + },500); $(".switch").bootstrapSwitch(); var dateoptions = {weekday: "long", year: "numeric", month: "long", day: "numeric", hour: "2-digit", minute: "2-digit" }; @@ -146,7 +150,7 @@ {% if websocket_activate and app.user %} var _WS_URI = "wss://{{ gos_web_socket_server_host }}:{{ gos_web_socket_server_port }}"; - var webSocket = WS.connect(_WS_URI); + webSocket = WS.connect(_WS_URI); var timer; webSocket.on("socket/connect", function (session) { @@ -228,12 +232,13 @@ session.publish("websocket/channel/{{groupid}}", event); CKEDITOR.instances["chat_message"].setData(''); + /* Ne plus envoyer d'event compteur on passe par de l'ajax event={type: "add", group:{{groupid}}}; parent.parent.counter(event); + */ + $("#sendbymail").bootstrapSwitch('state',false); - $('#mymodal-sendmail').modal('hide'); - } else alert("Sujet, corps et destinataire(s) obligatoire"); }); diff --git a/src/ninegate-1.0/web/uploads/icon/icon_add.png b/src/ninegate-1.0/web/uploads/icon/icon_add.png index 3bfa4fc8c79bf505555c3409299ba64ba7da4da6..51fa2e32aba35f2e9c4a21a44c9e39a6b570a11d 100644 GIT binary patch delta 1985 zcmV;y2R`_XGs6!diBL{Q4GJ0x0000DNk~Le0000`0000`2nGNE0FDvzt&t%be-6X| z01m_fl`9S#0000PbVXQnQ*UN;cVTj60C#tHE@^ISb7Ns}WiD@WXPfRk8UO$XKuJVF zRCt{2oO_HNQyj;?XVappv`P^yRqdjvXBy8$qcjl_HeQhkQIAAKLgEpB5dTy(NDw0a zC@H0hs(OaXdd43tLABK)+AUSIe>D1FOMU!t=5EK`nKN@|&zZTqy`SV}_uiTFd(D|S z&)-NbT2zUt+5kxcMoH?Bw8R+Gn{v+Sl1`JfM$!sND~&Om%CoYG01gMP1?B-g?BFCv znY-vu5AZB76PQq@52XXNM?v^HArLjLaFoB#QLe@^;7;J+GJOjQFavlSf7qTQ0QWlN zJes3?jqSiBs0#hz(_~gU4hP` zx(5u9S$ly;>YVxtxDnVpfIVX)*~=nbcV(PkYt?7x@x?2^a9}QuZbx+9UcgVlC%}b{ z=bKO4+JH`AwBwwM>n`lm!0^zv)sznhUWqBcG2{I4rC(tO(QUsmf8nvRD0mRD{ku7J zivIO33`_R52YyX1*Qj6>)Ux!B*?5h6lz=<@`Y;uVlCFv?jN&U{VQcLmwjXpJg2Ik{q zW+DeoQUfPCe{5J4KesJbXq2Rb66B4OG&O0hcBo>E`9^jdT@vj;-y(nf7Vc2`Li-n< zY#U5`new}lG_m%jK7eVg@L|y)!{u{dtm2!CT-zj87O?<3_}{I;Vu!kp0gamRmocWN z(L!6ZcqNYVmHsk=@K@MeKB-I9tde|EWi?u%7h(vJ!3jC+w?KKD&J z!~^KsKDK$l<_tbu0ZgocEea41psSV@+1xnTaXr%hsQnWUV6G~=6OpS;7?$*70^>`<6l|kOl1ZcT|aX9*Jr1xiMQT1&b8F(`NU%!;bHsED!g5Sh!>8Uy=e_?`{MvLhr-QU9gK zUP%WSV}4Ju@lr|8OZrOECB~TL1?}|@Hmh@XR1+FuUD_=KywIR5fa^2tydD@4CJG+F zj#}Prz~R)Cdf?3h0rWQn%YpY+f6*ATR5qLE0!bg|DAMIPR%Bb8 za&elXQS-q#+8y*7-P0nXkLpJ7frx__m>TR Ts&2(D00000NkvXXu0mjfSQnv; literal 6541 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

a!SYW>Imb~v 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 literal 12913 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 b(FpW{mQ-0vluzaF707?vP5*!YLGXV8j|nRJ diff --git a/src/ninegate-1.0/src/Cadoles/CoreBundle/Resources/public/themes/transnum/function.html.twig b/src/ninegate-1.0/src/Cadoles/CoreBundle/Resources/public/themes/transnum/function.html.twig index 63e535fb..a5dc1715 100644 --- a/src/ninegate-1.0/src/Cadoles/CoreBundle/Resources/public/themes/transnum/function.html.twig +++ b/src/ninegate-1.0/src/Cadoles/CoreBundle/Resources/public/themes/transnum/function.html.twig @@ -1,12 +1,12 @@ {% set logo = "transnum-logo.png" %} {% set fgheader = "" %} -{% set header = "transnum-header.jpg" %} +{% set header = "transnum-header.png" %} {% set heightheader = "" %} {% set colormain = "2176ad" %} {% set fontcolorhover = "" %} -{% set colorbody = "" %} +{% set colorbody = "eeeeee" %} {% set fontfacetitle = "LexendDeca-Regular" %} {% set fontfacebody = "" %} diff --git a/src/ninegate-1.0/src/Cadoles/CoreBundle/Resources/public/themes/transnum/style.css b/src/ninegate-1.0/src/Cadoles/CoreBundle/Resources/public/themes/transnum/style.css index d93e64b6..66a1299b 100644 --- a/src/ninegate-1.0/src/Cadoles/CoreBundle/Resources/public/themes/transnum/style.css +++ b/src/ninegate-1.0/src/Cadoles/CoreBundle/Resources/public/themes/transnum/style.css @@ -3,7 +3,16 @@ } - +body { + background-color: #2e3339 !important; +} +body.simple { + background-color: transparent !important; +} +.navbar-default,.sidebar ul li { + background-color: #2e3339 !important; + border-color: #2e3339 !important; +} @@ -50,6 +59,17 @@ } + +.widget-notbordered .widgetheader { + box-shadow: 0 1px 3px rgba(0,0,0,0.12), 0 1px 2px rgba(0,0,0,0.24); +} + +.widget-notbordered .widgetbody .list-item, .widget-notbordered .widgetbody .grid-item-content { + box-shadow: 0 1px 3px rgba(0,0,0,0.12), 0 1px 2px rgba(0,0,0,0.24); +} + + + .grid .grid-preview { width: 15%; min-width: 160px; diff --git a/src/ninegate-1.0/src/Cadoles/CoreBundle/Resources/public/themes/transnum/transnum-header.png b/src/ninegate-1.0/src/Cadoles/CoreBundle/Resources/public/themes/transnum/transnum-header.png new file mode 100644 index 0000000000000000000000000000000000000000..327114a232f8942d00393945ae3d38bd49df18d9 GIT binary patch literal 4985 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 R{vUiMes Icônes {% for icon in iconsuser %} - + {% endfor %} @@ -167,7 +167,7 @@ {% endif %} {% for icon in icons %} - + {% endfor %} diff --git a/src/ninegate-1.0/src/Cadoles/CoreBundle/Resources/views/User/edit.html.twig b/src/ninegate-1.0/src/Cadoles/CoreBundle/Resources/views/User/edit.html.twig index 0965f5a3..fc231628 100755 --- a/src/ninegate-1.0/src/Cadoles/CoreBundle/Resources/views/User/edit.html.twig +++ b/src/ninegate-1.0/src/Cadoles/CoreBundle/Resources/views/User/edit.html.twig @@ -156,8 +156,10 @@ {% for group in user.groups %} - {% if (access=="config" or group.group.fgopen or group.group.fgcanshare) and group.group.owner!=app.user and not group.group.fgall and group.group.ldapfilter=="" and group.group.attributes =="" %} - + {% if access=="config" and not group.group.fgall and group.group.ldapfilter=="" and group.group.attributes =="" %} + + {% elseif (group.group.fgopen or group.group.fgcanshare) and group.group.owner!=app.user and not group.group.fgall and group.group.ldapfilter=="" and group.group.attributes =="" %} + {% else %} {% endif %} diff --git a/src/ninegate-1.0/src/Cadoles/PortalBundle/Command/InitDataCommand.php b/src/ninegate-1.0/src/Cadoles/PortalBundle/Command/InitDataCommand.php index e00573b0..13f97aae 100644 --- a/src/ninegate-1.0/src/Cadoles/PortalBundle/Command/InitDataCommand.php +++ b/src/ninegate-1.0/src/Cadoles/PortalBundle/Command/InitDataCommand.php @@ -733,6 +733,25 @@ class InitDataCommand extends ContainerAwareCommand $entityWidget->setParameter($parameter); $em->persist($entityWidget); + // Actualités des groupes + $entityWidget = $em->getRepository('CadolesPortalBundle:Widget')->find(-1820); + if(!$entityWidget) $entityWidget = new Widget(); + $entityicon = $em->getRepository('CadolesPortalBundle:Icon')->findoneby(["label"=>"uploads/icon/icon_megaphone2.png"]); + $entityWidget->setId(-1820); + $entityWidget->setRoworder(2); + $entityWidget->setIcon($entityicon); + $entityWidget->setName('Actualités de mes Groupes'); + $entityWidget->setDescription("Affiche la liste actualités de vos groupes de travail"); + $entityWidget->setRouteview("cadoles_portal_config_panelwidget_view_groupmessage"); + $entityWidget->setHeight("630"); + $entityWidget->setAutoajust(true); + $entityWidget->setBorder(false); + $entityWidget->setOpened(true); + $entityWidget->setAccess(["config","user","group"]); + $parameter = json_decode('{"fields": [{"id": "nbarticle", "loc": "col1", "type": "integer", "label": "Nombre d\'actualitées affichées (0 pour tout)", "value": "5", "mandatory": "true"},{"id": "modelist", "loc": "col1", "type": "modelist", "label": "Mode Affichage", "value": "1", "mandatory": "true"}]}'); + $entityWidget->setParameter($parameter); + $em->persist($entityWidget); + // Widget Séparateur $entityWidget = $em->getRepository('CadolesPortalBundle:Widget')->find(-1600); if(!$entityWidget) $entityWidget = new Widget(); diff --git a/src/ninegate-1.0/src/Cadoles/PortalBundle/Controller/PagewidgetController.php b/src/ninegate-1.0/src/Cadoles/PortalBundle/Controller/PagewidgetController.php index 1fa1ae4d..1c3a3e22 100644 --- a/src/ninegate-1.0/src/Cadoles/PortalBundle/Controller/PagewidgetController.php +++ b/src/ninegate-1.0/src/Cadoles/PortalBundle/Controller/PagewidgetController.php @@ -1878,6 +1878,7 @@ class PagewidgetController extends Controller $group=$em->getRepository("CadolesCoreBundle:Group")->find($group); if($group) { $title=$group->getLabel(); + $id=$group->getId(); if($group->getDescription()) $description="Description
".$group->getDescription(); if($group->getIcon()) @@ -1893,6 +1894,7 @@ class PagewidgetController extends Controller else { $title=$entity->getPage()->getName(); $proprio=$entity->getPage()->getUser(); + $id=0; if($proprio) { $description="Propriétaire de la page
".$proprio->getLastname()." ".$proprio->getLastname(); $icon="/uploads/avatar/".$proprio->getAvatar(); @@ -1907,7 +1909,8 @@ class PagewidgetController extends Controller 'icon' => $icon, 'title' => $title, 'description' => $description, - 'members' => $members + 'members' => $members, + 'id' => $id, ]); } @@ -1992,5 +1995,83 @@ class PagewidgetController extends Controller 'groups' => $mygroups, ]); - } + } + + public function viewgroupmessageAction(Request $request,$id,$access="config") { + $usage=$request->query->get('usage'); + $group=$request->query->get('group'); + $user=$this->getUser(); + + $em = $this->getDoctrine()->getManager(); + $entity = $em->getRepository($this->labelentity)->find($id); + if (!$entity) throw $this->createNotFoundException('Unable to find entity.'); + + // Permissions + if($access=="config") { + $canupdate = true; + } + else { + // On s'assure que l'utilisateur à la permission de voir + $page=$entity->getPage(); + $em->getRepository("CadolesPortalBundle:Page")->getPermission($this->getUser(),$page,$cansee,$canupdate); + if(!$cansee) throw $this->createNotFoundException('Permission denied'); + } + + // Récupération des paramétres du widget + $modelist=1; + $nbarticle=5; + foreach($entity->getParameter()["fields"] as $parameter) { + switch($parameter["id"]) { + case "modelist": + $modelist=$parameter["value"]; + break; + case "nbarticle": + $nbarticle=$parameter["value"]; + break; + } + } + + $mygroups=[]; + $mymsg= []; + $this->getDoctrine()->getRepository("CadolesPortalBundle:Page")->getPagesUser($user,null,$default,$pagesuser,$pagesadmin,$groupsshared); + foreach($groupsshared as $groupshared) { + // On récupère l'ensemble des messages du groupes + $messages=$this->getDoctrine()->getRepository("CadolesWebsocketBundle:Message")->findBy(["group"=>$groupshared]); + foreach($messages as $key => $message) { + // persistante collection à revoir + if($message->getSees()->count()>0) { + if($message->getSees()->contains($user) ) { + + unset($messages[$key]); + } + } + } + + foreach($messages as $key => $message) { + $tmp=["id" => $message->getId(), "user" => $message->getUser(), "date"=>$message->getSubmitdate(), "topic"=>$message->getTopic()]; + array_push($mymsg,$tmp); + } + } + + $ord = array(); + foreach ($mymsg as $key => $value){ + $ord[] = $value['date']; + } + array_multisort($ord, SORT_DESC, $mymsg); + + // Render + return $this->render($this->labelentity.':viewgroupmessage.html.twig', [ + 'entity' => $entity, + 'canadd' => ($user), + 'canupdate' => $canupdate, + 'usage' => $usage, + 'modelist' => $modelist, + 'messages' => $mymsg, + 'nbarticle' => $nbarticle, + + ]); + } } + + + 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 bbb8fa1d..aa573960 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 @@ -771,6 +771,10 @@ cadoles_portal_config_panelwidget_view_group: path: /config/pagewidget/view/group/{id} defaults: { _controller: CadolesPortalBundle:Pagewidget:viewgroup, access: config } +cadoles_portal_config_panelwidget_view_groupmessage: + path: /config/pagewidget/view/groupmessage/{id} + defaults: { _controller: CadolesPortalBundle:Pagewidget:viewgroupmessage, access: config } + #-- Access user cadoles_portal_user_pagewidget_widget_sumbit: path: /user/pagewidget/submit/{idpage}/{idwidgettype} @@ -876,3 +880,7 @@ cadoles_portal_user_panelwidget_view_group: path: /pagewidget/view/group/{id} defaults: { _controller: CadolesPortalBundle:Pagewidget:viewgroup, access: user } +cadoles_portal_user_panelwidget_view_groupmessage: + path: /pagewidget/view/groupmessage/{id} + defaults: { _controller: CadolesPortalBundle:Pagewidget:viewgroupmessage, access: user } + diff --git a/src/ninegate-1.0/src/Cadoles/PortalBundle/Resources/views/Alertcategory/edit.html.twig b/src/ninegate-1.0/src/Cadoles/PortalBundle/Resources/views/Alertcategory/edit.html.twig index 22d7266b..f74b8bf1 100755 --- a/src/ninegate-1.0/src/Cadoles/PortalBundle/Resources/views/Alertcategory/edit.html.twig +++ b/src/ninegate-1.0/src/Cadoles/PortalBundle/Resources/views/Alertcategory/edit.html.twig @@ -80,7 +80,7 @@