Merge branch 'master' into dist/envole/6/master

This commit is contained in:
Arnaud Fornerot 2021-03-08 15:29:11 +01:00
commit 429ce0ba1f
4 changed files with 68 additions and 7 deletions

View File

@ -1230,8 +1230,34 @@ class UserController extends Controller
$id=$request->request->get('id');
$value=$request->request->get('value');
// Récupérer les préférences de l'utilisateur
$preference=$this->getUser()->getPreference();
// Cas particulier de page bookmark, on vide la préférence si on reset la meme valeur
if($key=="pagebookmark") {
if(is_array($preference)&&array_key_exists("pagebookmark",$preference)) {
$oldid=$preference["pagebookmark"][0];
echo "OLDID = $oldid";
echo "ID = $value";
if($oldid==$value) {
unset($preference["pagebookmark"]);
$em = $this->getDoctrine()->getManager();
$this->getUser()->setPreference($preference);
$this->get('session')->set("pagebookmark", "");
$em->persist($this->getUser());
$em->flush();
return new Response();
}
}
}
// Mise à jour de la préférence
$toupdate=false;
if(!is_array($preference)) {
$toupdate=true;
$preference=[];
}
if(!array_key_exists($key,$preference)) {
$toupdate=true;
$preference[$key]=[];

View File

@ -312,13 +312,20 @@
if($curentuser!="anon.") {
// Préférence
$preference=$curentuser->getPreference();
if(is_array($preference)) {
// Préférence header
if(array_key_exists("fgheader",$preference)) {
$fgheader=($preference["fgheader"][0]=="true");
$session->set("fgheader", $fgheader);
}
// Préférence header
if(array_key_exists("pagebookmark",$preference)) {
$pagebookmark=$preference["pagebookmark"][0];
$session->set("pagebookmark", $pagebookmark);
}
}
// Visite
$now=new \DateTime();
if(!$curentuser->getVisitedate()) {

View File

@ -230,7 +230,7 @@ class PageRepository extends EntityRepository
// 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)) {
if(is_array($preference)&&array_key_exists("pagebookmark",$preference)) {
$id=$preference["pagebookmark"][0];
}
}

View File

@ -250,6 +250,8 @@
{% block localjavascript %}
var idpage;
pagebookmark="{{app.session.get("pagebookmark")}}";
$('document').ready(function(){
{% if gotoroute is empty %}
{% for page in pagesadmin %}
@ -462,6 +464,16 @@
}
{% if app.user %}
if(id==pagebookmark) {
$("#menubookmark").css("color","red");
$("#menubookmark").attr("title","Ne plus faire de cette page votre page d'accueil")
}
else {
$("#menubookmark").css("color","");
$("#menubookmark").attr("title","Faire de cette page votre page d'accueil")
}
$("#menubookmark").show();
{% endif %}
@ -525,7 +537,11 @@
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 ?")) {
if(pagebookmark==idpage)
confirmtext="Êtes-vous sûr de vouloir enlever cette page comme page d'accueil du portail ?";
else
confirmtext="Êtes-vous sûr de vouloir placer cette page comme page d'accueil du portail ?";
if (confirm(confirmtext)) {
$.ajax({
method: "POST",
url: "{{ path('cadoles_core_user_preference') }}",
@ -533,6 +549,18 @@
id:0,
key:'pagebookmark',
value: idpage
},
success: function() {
if(pagebookmark==idpage) {
pagebookmark="";
$("#menubookmark").css("color","");
$("#menubookmark").attr("title","Faire de cette page votre page d'accueil")
}
else {
pagebookmark=idpage;
$("#menubookmark").css("color","red");
$("#menubookmark").attr("title","Ne plus faire de cette page votre page d'accueil")
}
}
});
}