From 19496d4e209e1632c178481003a9741daa826fe9 Mon Sep 17 00:00:00 2001 From: tofulm Date: Mon, 10 Feb 2020 18:38:04 +0100 Subject: [PATCH] ajout bouton pour sauvegarder un modele d'autorisation, dans un champ aut_modele de la table spip_auteurs --- auted_administrations.php | 2 +- base/auted.php | 1 + css/auted.css | 26 +++++++++++++ formulaires/editer_autorisations.html | 49 ++++++++++++++++++++++--- formulaires/editer_autorisations.php | 13 ++++++- img/save.svg | 53 +++++++++++++++++++++++++++ img/toggle.svg | 26 +++++++++++++ paquet.xml | 4 +- 8 files changed, 165 insertions(+), 9 deletions(-) create mode 100644 img/save.svg create mode 100644 img/toggle.svg diff --git a/auted_administrations.php b/auted_administrations.php index 23262fd..f199c8d 100644 --- a/auted_administrations.php +++ b/auted_administrations.php @@ -27,7 +27,7 @@ function auted_upgrade($nom_meta_base_version, $version_cible) { $maj = array(); $maj['create'] = array(array('maj_tables', array('spip_aut_mods','spip_auteurs'))); - $maj['1.0.1'] = array(array('maj_tables', array('spip_aut_mods','spip_auteurs'))); + $maj['1.0.2'] = array(array('maj_tables', array('spip_aut_mods','spip_auteurs'))); include_spip('base/upgrade'); maj_plugin($nom_meta_base_version, $version_cible, $maj); diff --git a/base/auted.php b/base/auted.php index e1191f4..b1e91d8 100644 --- a/base/auted.php +++ b/base/auted.php @@ -96,6 +96,7 @@ function auted_declarer_tables_objets_sql($tables) { function auted_declarer_tables_principales($tables_principales){ $tables_principales['spip_auteurs']['field']['autorisations'] = "text NOT NULL"; + $tables_principales['spip_auteurs']['field']['aut_modele'] = "text NOT NULL"; return $tables_principales; } diff --git a/css/auted.css b/css/auted.css index 58144a7..46362d4 100644 --- a/css/auted.css +++ b/css/auted.css @@ -9,3 +9,29 @@ .formulaire_editer_autorisations table tr:nth-child(even) { background-color: rgb(231, 233, 237); } + +.icone_svg { + width: 1em; + height: 1em; + vertical-align: -0.15em; + fill: currentColor; + overflow: hidden; +} +.icone_svg.checked { + transform: rotate(180deg); + fill: green; +} + +button[type='button'].toggle_save_modele { + float: right; + background-color: transparent; + border-color: transparent; + box-shadow: none; + min-width: 20px; + padding: 0; + color: #000; +} + +.pas_modele.enregistrer_modele input { + display: none; +} diff --git a/formulaires/editer_autorisations.html b/formulaires/editer_autorisations.html index 4cf75d7..9b8e9a0 100644 --- a/formulaires/editer_autorisations.html +++ b/formulaires/editer_autorisations.html @@ -3,6 +3,7 @@ [

(#ENV*{message_erreur})

] [

(#ENV*{message_ok})

] +
#ACTION_FORMULAIRE{#ENV{action}} @@ -22,13 +23,30 @@ {pgp ?!IN #ENV{pgp}} {webmestre?} {tout}> + [(#SET{nom_modele,#AUT_MODELE|json_decode{true}|table_valeur{name}})] - [(#PGP|=={boss}|oui) - boss - ] - #NOM - +
+ [(#PGP|=={boss}|oui) + boss + ] + #NOM + [(#PGP|=={boss}|non) + + ] +
+
+ +
+ [(#SET{autorisations,#AUTORISATIONS|json_decode{true}|table_valeur{#VALEUR{type}}})] @@ -46,3 +64,24 @@

+ + diff --git a/formulaires/editer_autorisations.php b/formulaires/editer_autorisations.php index fd78e19..a364343 100644 --- a/formulaires/editer_autorisations.php +++ b/formulaires/editer_autorisations.php @@ -20,9 +20,11 @@ function formulaires_editer_autorisations_traiter_dist($id_auteur=0, $redirect=' include_spip('inc/session'); $retour = array(); + $Tid_auteur = _request('Tid_auteur'); foreach ($Tid_auteur as $id) { - $Tauths =_request('id-'.$id); + $Tauths = _request('id-' . $id); + $nom_modele = _request('modele-' . $id); $Tautorisations = []; if (!empty($Tauths)) { @@ -32,6 +34,15 @@ function formulaires_editer_autorisations_traiter_dist($id_auteur=0, $redirect=' } $set = [ 'autorisations' => json_encode($Tautorisations) ]; + + if ($nom_modele) { + $aut_modele = [ + 'name' => $nom_modele, + 'modele' => $Tautorisations + ]; + $set['aut_modele'] = json_encode($aut_modele); + } + sql_updateq('spip_auteurs', $set, 'id_auteur='.intval($id)); $auteur = sql_fetsel('*', 'spip_auteurs','id_auteur='.intval($id)); diff --git a/img/save.svg b/img/save.svg new file mode 100644 index 0000000..df5ab65 --- /dev/null +++ b/img/save.svg @@ -0,0 +1,53 @@ + +image/svg+xml diff --git a/img/toggle.svg b/img/toggle.svg new file mode 100644 index 0000000..1eb2713 --- /dev/null +++ b/img/toggle.svg @@ -0,0 +1,26 @@ + +image/svg+xml diff --git a/paquet.xml b/paquet.xml index adba159..be1a786 100644 --- a/paquet.xml +++ b/paquet.xml @@ -1,12 +1,12 @@