mise en place d'un page d'accueil via préférence utilisateur (fixes #31038)

This commit is contained in:
afornerot 2021-03-05 16:23:12 +01:00
parent 3c90728464
commit fdc9772c54
3 changed files with 36 additions and 2 deletions

View File

@ -310,8 +310,10 @@
$color->setColor(); $color->setColor();
if($curentuser!="anon.") { if($curentuser!="anon.") {
// Préférence header // Préférence
$preference=$curentuser->getPreference(); $preference=$curentuser->getPreference();
// Préférence header
if(array_key_exists("fgheader",$preference)) { if(array_key_exists("fgheader",$preference)) {
$fgheader=($preference["fgheader"][0]=="true"); $fgheader=($preference["fgheader"][0]=="true");
$session->set("fgheader", $fgheader); $session->set("fgheader", $fgheader);

View File

@ -227,6 +227,14 @@ class PageRepository extends EntityRepository
return (int) $first->getRowOrder() > (int) $second->getRowOrder() ? 1 : -1; 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 // On récupère la page à afficher
$entity=false; $entity=false;
if(isset($id)) { 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 // ou On récupère la premier page profilée comme page d'accueil
if(!$entity) { if(!$entity) {
$pages->rewind(); $pages->rewind();
if($pages->current()) { if($pages->current()) {
$id=$pages->current()->getId(); $id=$pages->current()->getId();
$entity = $this->find($id); $entity = $this->find($id);

View File

@ -97,6 +97,7 @@
<a id="menuupdate" style="cursor:pointer;display:none" onclick="updatePage()" title='Modifier une page'><i class='fa fa-file fa-fw'></i></a> <a id="menuupdate" style="cursor:pointer;display:none" onclick="updatePage()" title='Modifier une page'><i class='fa fa-file fa-fw'></i></a>
<a id="menushare" style="cursor:pointer;display:none" onclick="sharePage()" title='Partager une page'><i class='fa fa-share-alt fa-fw'></i></a> <a id="menushare" style="cursor:pointer;display:none" onclick="sharePage()" title='Partager une page'><i class='fa fa-share-alt fa-fw'></i></a>
<a id="menudelete" style="cursor:pointer;display:none" onclick="deletePage()" title='Supprimer une page'><i class='fa fa-trash fa-fw'></i></a> <a id="menudelete" style="cursor:pointer;display:none" onclick="deletePage()" title='Supprimer une page'><i class='fa fa-trash fa-fw'></i></a>
<a id="menubookmark" style="cursor:pointer;display:none" onclick="bookmarkPage()" title="Faire de cette page votre page d'accueil"><i class='fa fa-heart fa-fw'></i></a>
<a id="menuwidgetuser" style='cursor:pointer;display:none' data-toggle='modal' data-target='#selwidgetuser' title='Ajouter un widget'><i class='fa fa-cubes fa-fw'></i></a> <a id="menuwidgetuser" style='cursor:pointer;display:none' data-toggle='modal' data-target='#selwidgetuser' title='Ajouter un widget'><i class='fa fa-cubes fa-fw'></i></a>
<a id="menuwidgetgroup" style='cursor:pointer;display:none' data-toggle='modal' data-target='#selwidgetgroup' title='Ajouter un widget'><i class='fa fa-cubes fa-fw'></i></a> <a id="menuwidgetgroup" style='cursor:pointer;display:none' data-toggle='modal' data-target='#selwidgetgroup' title='Ajouter un widget'><i class='fa fa-cubes fa-fw'></i></a>
</div> </div>
@ -450,6 +451,7 @@
$("#menuupdate").hide(); $("#menuupdate").hide();
$("#menushare").hide(); $("#menushare").hide();
$("#menudelete").hide(); $("#menudelete").hide();
$("#menubookmark").hide();
$("#menuwidgetuser").hide(); $("#menuwidgetuser").hide();
$("#menuwidgetgroup").hide(); $("#menuwidgetgroup").hide();
@ -459,6 +461,10 @@
$("#menudelete").show(); $("#menudelete").show();
} }
{% if app.user %}
$("#menubookmark").show();
{% endif %}
// Si page de type widget on affiche la selection des widgets à insérer // Si page de type widget on affiche la selection des widgets à insérer
if($("#page-"+id).data('category')==2&&canupdate) { if($("#page-"+id).data('category')==2&&canupdate) {
if(usage=="user") $("#menuwidgetuser").show(); 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é // Création d'un widget selectionné
function selWidget(idwidgettype) { function selWidget(idwidgettype) {
var url="{{ path('cadoles_portal_user_pagewidget_widget_sumbit',{idpage:'yy',idwidgettype:'xx'})}}"; var url="{{ path('cadoles_portal_user_pagewidget_widget_sumbit',{idpage:'yy',idwidgettype:'xx'})}}";