On change le stockage des modeles, on utilise finalement la table

spip_aut_mods, on aura plus de souplesse
This commit is contained in:
Christophe 2020-02-10 20:21:07 +01:00
parent 19496d4e20
commit 3e8561ce8f
3 changed files with 51 additions and 14 deletions

View file

@ -18,33 +18,42 @@
</thead> </thead>
<tbody> <tbody>
<BOUCLE_auteurs(AUTEURS) <BOUCLE_auteurs(AUTEURS)
{id_auteur ?!IN #ENV{id_auteur}} {id_auteur ?IN #ENV{id_auteur}}
{statut ?!IN #ENV{statut}} {statut ?IN #ENV{statut}}
{pgp ?!IN #ENV{pgp}} {pgp ?!IN #ENV{pgp}}
{webmestre?} {webmestre?}
{tout}> {tout}>
[(#SET{nom_modele,#AUT_MODELE|json_decode{true}|table_valeur{name}})] <tr id="auteur-#ID_AUTEUR" data-id_auteur="#ID_AUTEUR" data-new="[oui(#AUT_MODELE|!={''}|oui)]">
<tr id="auteur-#ID_AUTEUR" data-id_auteur="#ID_AUTEUR">
<td> <td>
<div> <div>
[(#PGP|=={boss}|oui) [(#PGP|=={boss}|oui)
<img class="boss" src="[(#CHEMIN{img/boss.png})]" alt="boss"/> <img class="boss" src="[(#CHEMIN{img/boss.png})]" alt="boss"/>
]
#NOM #NOM
]
[(#PGP|=={boss}|non) [(#PGP|=={boss}|non)
<a class="mediabox" href="[(#URL_PAGE{charger_aut_modele}
|parametre_url{id_auteur,#ID_AUTEUR}
|parametre_url{nom,#NOM}
|parametre_url{redirect,#SELF}
)]"
title="<:auted:charger_modele:>"
>
<i class="fa fa-upload"></i>
</a>
#NOM
<button class="toggle_save_modele" type="button" <button class="toggle_save_modele" type="button"
title="<:auted:sauvegarder_modele:>" title="<:auted:sauvegarder_modele:>"
data-id_auteur="#ID_AUTEUR" data-id_auteur="#ID_AUTEUR"
> >
<svg class="icone_svg [ (#GET{nom_modele}|oui)checked]" alt=""> <svg id="svg_save-#ID_AUTEUR" class="icone_svg [ (#AUT_MODELE|oui)checked]" alt="">
<title></title> <title></title>
<use xlink:href="[(#CHEMIN{img/toggle.svg})]#toggle" /> <use xlink:href="[(#CHEMIN{img/toggle.svg})]#toggle" />
</svg> </svg>
</button> </button>
] ]
</div> </div>
<div class="enregistrer_modele modele-#ID_AUTEUR[ (#GET{nom_modele}|non)pas_modele]"> <div class="enregistrer_modele modele-#ID_AUTEUR[ (#AUT_MODELE|non)pas_modele]">
<input id="modele-#ID_AUTEUR" class="" type="text" value="[(#GET{nom_modele})]" name="modele-#ID_AUTEUR"/> <input id="modele-#ID_AUTEUR" class="" type="text" value="[(#AUT_MODELE)]" name="modele-#ID_AUTEUR"/>
</div> </div>
<input type="hidden" name="Tid_auteur[]" value="#ID_AUTEUR" placeholder="Nom modèle"> <input type="hidden" name="Tid_auteur[]" value="#ID_AUTEUR" placeholder="Nom modèle">
</td> </td>
@ -81,7 +90,23 @@
$(this).children('svg').toggleClass('checked'); $(this).children('svg').toggleClass('checked');
} }
}) })
$('.select_autorisation').on('change', function(e){
e.stopPropagation();
var id_auteur = $(this).data('id_auteur');
if (id_auteur) {
var nouveau = $("#auteur-"+id_auteur).data('new');
console.log("new ", nouveau);
if (nouveau) {
$('input#modele-' + id_auteur)
.css('border-color', 'red')
.css('color', 'red');
$('#svg_save-' + id_auteur).css('fill', 'red');
} }
}
})
}
}); });
</script> </script>

View file

@ -35,18 +35,27 @@ function formulaires_editer_autorisations_traiter_dist($id_auteur=0, $redirect='
$set = [ 'autorisations' => json_encode($Tautorisations) ]; $set = [ 'autorisations' => json_encode($Tautorisations) ];
if ($nom_modele) { if ($nom_modele) {
$aut_modele = [ $aut_modele = [
'name' => $nom_modele, 'nom' => $nom_modele,
'modele' => $Tautorisations 'modele' => json_encode($Tautorisations),
'statut' => 'publie'
]; ];
$set['aut_modele'] = json_encode($aut_modele); $id_aut_modele = sql_getfetsel('id_aut_mod', 'spip_aut_mods', 'nom='.sql_quote($nom_modele));
if (intval($id_aut_modele)) {
sql_updateq('spip_aut_mods', $aut_modele, 'id_aut_mod='.intval($id_aut_modele));
} else {
sql_insertq('spip_aut_mods', $aut_modele);
}
$set['aut_modele'] = $nom_modele;
} }
sql_updateq('spip_auteurs', $set, 'id_auteur='.intval($id)); sql_updateq('spip_auteurs', $set, 'id_auteur='.intval($id));
$auteur = sql_fetsel('*', 'spip_auteurs','id_auteur='.intval($id)); $auteur = sql_fetsel('*', 'spip_auteurs','id_auteur='.intval($id));
actualiser_sessions($auteur); actualiser_sessions($auteur);
$retour['message_ok'] = "Enregistrement validé"; $retour['message_ok'] = "Enregistrement validé";
} }

View file

@ -1,7 +1,10 @@
#SET{name,aut_#ENV{type}} #SET{name,aut_#ENV{type}}
<select id="#GET{name}" name="id-#ID_AUTEUR[][#ENV{type}]" class="select chosen" multiple> <select id="#GET{name}"
data-id_auteur="#ID_AUTEUR"
name="id-#ID_AUTEUR[][#ENV{type}]" class="select select_autorisation chosen" multiple>
<option value=""></option> <option value=""></option>
<BOUCLE_choix(DATA){source tableau,#ENV{faire}}> <BOUCLE_choix(DATA){source tableau,#ENV{faire}}>
<option value="#VALEUR" [(#VALEUR|in_array{#ENV{autorisations,#ARRAY}}|oui) selected]>[(#VALEUR|majuscules)]</option> <option value="#VALEUR" [(#VALEUR|in_array{#ENV{autorisations,#ARRAY}}|oui) selected]
>[(#VALEUR|majuscules)]</option>
</BOUCLE_choix> </BOUCLE_choix>
</select> </select>