From fdc9772c5449e0b9f1781a74c375a7c08edb95c5 Mon Sep 17 00:00:00 2001 From: afornerot Date: Fri, 5 Mar 2021 16:23:12 +0100 Subject: [PATCH] =?UTF-8?q?mise=20en=20place=20d'un=20page=20d'accueil=20v?= =?UTF-8?q?ia=20pr=C3=A9f=C3=A9rence=20utilisateur=20(fixes=20#31038)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../EventListener/sessionListener.php | 4 +++- .../Repository/PageRepository.php | 10 +++++++- .../Resources/views/Page/pages.html.twig | 24 +++++++++++++++++++ 3 files changed, 36 insertions(+), 2 deletions(-) diff --git a/src/ninegate-1.0/src/Cadoles/CoreBundle/EventListener/sessionListener.php b/src/ninegate-1.0/src/Cadoles/CoreBundle/EventListener/sessionListener.php index a37a3b33..295bd91e 100644 --- a/src/ninegate-1.0/src/Cadoles/CoreBundle/EventListener/sessionListener.php +++ b/src/ninegate-1.0/src/Cadoles/CoreBundle/EventListener/sessionListener.php @@ -310,8 +310,10 @@ $color->setColor(); if($curentuser!="anon.") { - // Préférence header + // Préférence $preference=$curentuser->getPreference(); + + // Préférence header if(array_key_exists("fgheader",$preference)) { $fgheader=($preference["fgheader"][0]=="true"); $session->set("fgheader", $fgheader); diff --git a/src/ninegate-1.0/src/Cadoles/PortalBundle/Repository/PageRepository.php b/src/ninegate-1.0/src/Cadoles/PortalBundle/Repository/PageRepository.php index 49eebe6c..56263a80 100644 --- a/src/ninegate-1.0/src/Cadoles/PortalBundle/Repository/PageRepository.php +++ b/src/ninegate-1.0/src/Cadoles/PortalBundle/Repository/PageRepository.php @@ -227,6 +227,14 @@ class PageRepository extends EntityRepository return (int) $first->getRowOrder() > (int) $second->getRowOrder() ? 1 : -1; }); + // Afficher par défaut la pagebookmarké par l'utilisateur en préférence + if($user&&!isset($id)) { + $preference=$user->getPreference(); + if(array_key_exists("pagebookmark",$preference)) { + $id=$preference["pagebookmark"][0]; + } + } + // On récupère la page à afficher $entity=false; if(isset($id)) { @@ -258,7 +266,7 @@ class PageRepository extends EntityRepository // ou On récupère la premier page profilée comme page d'accueil if(!$entity) { - $pages->rewind(); + $pages->rewind(); if($pages->current()) { $id=$pages->current()->getId(); $entity = $this->find($id); diff --git a/src/ninegate-1.0/src/Cadoles/PortalBundle/Resources/views/Page/pages.html.twig b/src/ninegate-1.0/src/Cadoles/PortalBundle/Resources/views/Page/pages.html.twig index 063b097f..8affb318 100644 --- a/src/ninegate-1.0/src/Cadoles/PortalBundle/Resources/views/Page/pages.html.twig +++ b/src/ninegate-1.0/src/Cadoles/PortalBundle/Resources/views/Page/pages.html.twig @@ -97,6 +97,7 @@ + @@ -450,6 +451,7 @@ $("#menuupdate").hide(); $("#menushare").hide(); $("#menudelete").hide(); + $("#menubookmark").hide(); $("#menuwidgetuser").hide(); $("#menuwidgetgroup").hide(); @@ -459,6 +461,10 @@ $("#menudelete").show(); } + {% if app.user %} + $("#menubookmark").show(); + {% endif %} + // Si page de type widget on affiche la selection des widgets à insérer if($("#page-"+id).data('category')==2&&canupdate) { if(usage=="user") $("#menuwidgetuser").show(); @@ -516,6 +522,24 @@ } } + function bookmarkPage() { + {% if app.user %} + if($("#page-"+idpage).length) { + if (confirm("Êtes-vous sûr de vouloir placer cette page comme page d'accueil du portail ?")) { + $.ajax({ + method: "POST", + url: "{{ path('cadoles_core_user_preference') }}", + data: { + id:0, + key:'pagebookmark', + value: idpage + } + }); + } + } + {% endif %} + } + // Création d'un widget selectionné function selWidget(idwidgettype) { var url="{{ path('cadoles_portal_user_pagewidget_widget_sumbit',{idpage:'yy',idwidgettype:'xx'})}}";