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();
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);

View File

@ -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);

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="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="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="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>
@ -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'})}}";