ajout l'association avec un modele

This commit is contained in:
Christophe 2020-02-11 16:32:20 +01:00
parent c4d366bf86
commit 964f4ed99f
4 changed files with 48 additions and 59 deletions

View file

@ -26,59 +26,42 @@ function auted_autoriser() {
/** /**
* Autorisation de créer (autmod) * Autorisation de créer (autmodele)
* *
* @param string $faire Action demandée
* @param string $type Type d'objet sur lequel appliquer l'action
* @param int $id Identifiant de l'objet
* @param array $qui Description de l'auteur demandant l'autorisation
* @param array $opt Options de cette autorisation
* @return bool true s'il a le droit, false sinon
**/ **/
function autoriser_autmod_creer_dist($faire, $type, $id, $qui, $opt) { function autoriser_autmodele_associer_dist($faire, $type, $id, $qui, $opt) {
return autoriser('webmestre', '', '', $qui); return (autoriser('webmestre', '', '', $qui) or $qui['pgp'] === "boss");
} }
/** /**
* Autorisation de voir (autmod) * Autorisation de créer (autmodele)
* *
* @param string $faire Action demandée
* @param string $type Type d'objet sur lequel appliquer l'action
* @param int $id Identifiant de l'objet
* @param array $qui Description de l'auteur demandant l'autorisation
* @param array $opt Options de cette autorisation
* @return bool true s'il a le droit, false sinon
**/ **/
function autoriser_autmod_voir_dist($faire, $type, $id, $qui, $opt) { function autoriser_autmodele_creer_dist($faire, $type, $id, $qui, $opt) {
return autoriser('webmestre', '', '', $qui); return (autoriser('webmestre', '', '', $qui) or $qui['pgp'] === "boss");
} }
/** /**
* Autorisation de modifier (autmod) * Autorisation de voir (autmodele)
* *
* @param string $faire Action demandée
* @param string $type Type d'objet sur lequel appliquer l'action
* @param int $id Identifiant de l'objet
* @param array $qui Description de l'auteur demandant l'autorisation
* @param array $opt Options de cette autorisation
* @return bool true s'il a le droit, false sinon
**/ **/
function autoriser_autmod_modifier_dist($faire, $type, $id, $qui, $opt) { function autoriser_autmodele_voir_dist($faire, $type, $id, $qui, $opt) {
return autoriser('webmestre', '', '', $qui); return (autoriser('webmestre', '', '', $qui) or $qui['pgp'] === "boss");
} }
/** /**
* Autorisation de supprimer (autmod) * Autorisation de modifier (autmodele)
* *
* @param string $faire Action demandée
* @param string $type Type d'objet sur lequel appliquer l'action
* @param int $id Identifiant de l'objet
* @param array $qui Description de l'auteur demandant l'autorisation
* @param array $opt Options de cette autorisation
* @return bool true s'il a le droit, false sinon
**/ **/
function autoriser_autmod_supprimer_dist($faire, $type, $id, $qui, $opt) { function autoriser_autmodele_modifier_dist($faire, $type, $id, $qui, $opt) {
return autoriser('webmestre', '', '', $qui); return (autoriser('webmestre', '', '', $qui) or $qui['pgp'] === "boss");
}
/**
* Autorisation de supprimer (autmodele)
*
**/
function autoriser_autmodele_supprimer_dist($faire, $type, $id, $qui, $opt) {
return (autoriser('webmestre', '', '', $qui) or $qui['pgp'] === "boss");
} }

View file

@ -1,8 +1,7 @@
[(#AUTORISER{associer,autmodele}|sinon_interdire_acces)]
<div id="charger_aut_modele"> <div id="charger_aut_modele">
<h1>Charger un modèle pour : [ (#ENV{nom})]</h1> <h1>Charger un modèle pour : [ (#ENV{nom})]</h1>
<div class=""> <div class="">
[(#FORMULAIRE_CHARGER_AUT_MODELE{#ENV{id_auteur},#ENV{redirect}})] [(#FORMULAIRE_CHARGER_AUT_MODELE{#ENV{id_auteur},#ENV{redirect}})]
</div> </div>
</div> </div>

View file

@ -1,3 +1,5 @@
#CACHE{0}
<div class="formulaire_spip formulaire_#FORM"> <div class="formulaire_spip formulaire_#FORM">
[<p class="reponse_formulaire reponse_formulaire_erreur">(#ENV*{message_erreur})</p>] [<p class="reponse_formulaire reponse_formulaire_erreur">(#ENV*{message_erreur})</p>]
@ -7,24 +9,21 @@
#ACTION_FORMULAIRE{#ENV{action}} #ACTION_FORMULAIRE{#ENV{action}}
<div class="editer_groupe"> <div class="editer_groupe">
#SET{name,aut_modele} #SET{name,id_aut_modele}
#SET{erreurs,#ENV**{erreurs}|table_valeur{#GET{name}}} #SET{erreurs,#ENV**{erreurs}|table_valeur{#GET{name}}}
#SET{obli,"obligatoire"} #SET{obli,"obligatoire"}
<div class="editer editer_[(#GET{name})][ (#GET{obli})][ (#GET{erreurs}|oui)erreur]"> <div class="editer editer_[(#GET{name})][ (#GET{obli})][ (#GET{erreurs}|oui)erreur]">
<BOUCLE_auteurs(AUTEURS){aut_modele != ''}{tout}> <BOUCLE_autmod(AUT_MODELES)>
[(#SET{nom_modele,#AUT_MODELE|json_decode{true}|table_valeur{name}})]
<div class="choix"> <div class="choix">
<input type="radio" class="radio" name="#GET{name}" value="#AUT_MODELE" id="#GET{name}_non" > <label>
<label for="#GET{name}_non">#GET{nom_modele}</label> <input type="radio" class="radio" name="#GET{name}" value="#ID_AUT_MODELE" id="#GET{name}_#ID_AUT_MODELE}" >
#NOM</label>
</div> </div>
</BOUCLE_autmod>
</BOUCLE_auteurs>
</div> </div>
</div> </div>
<p class="boutons"><input type="submit" class="submit" value="Envoyer" ></p>
<p class="boutons"><input type="submit" class="submit" value="Envoyer" ></p>
</div></form> </div></form>
</div> </div>

View file

@ -4,7 +4,7 @@ if (!defined('_ECRIRE_INC_VERSION')) return;
function formulaires_charger_aut_modele_charger_dist($id_auteur, $redirect = ''){ function formulaires_charger_aut_modele_charger_dist($id_auteur, $redirect = ''){
$valeurs = array( $valeurs = array(
"id_auteur" => $id_auteur, "id_auteur" => $id_auteur,
"aut_modele" => "" "id_aut_modele" => ""
); );
return $valeurs; return $valeurs;
@ -18,19 +18,27 @@ function formulaires_charger_aut_modele_verifier_dist($id_auteur, $redirect = ''
function formulaires_charger_aut_modele_traiter_dist($id_auteur, $redirect = ''){ function formulaires_charger_aut_modele_traiter_dist($id_auteur, $redirect = ''){
$retour = array(); $retour = array();
$retour['message_ok'] = "bravo";
$retour['redirect'] = "spip.php?page=perdu";
$retour['editable'] = true;
$aut_modele = _request('aut_modele');
if ($aut_modele) {
$aut_modele = json_decode($aut_modele, true);
if (is_array($aut_modele)) {
$id_aut_modele = _request('id_aut_modele');
if (intval($id_aut_modele) and intval($id_auteur)) {
$auts = sql_fetsel('nom, aut_modele','spip_aut_modeles', 'id_aut_modele='.intval($id_aut_modele));
if (!empty($auts)) {
$set = [
'autorisations' => $auts['aut_modele'],
'aut_nom' => $auts['nom']
];
sql_updateq('spip_auteurs', $set, 'id_auteur='.intval($id_auteur));
$retour['message_ok'] = "bravo";
include_spip('inc/invalideur');
suivre_invalideur("id='id_auteur/$id_auteur'");
} }
$modele = sql_getfetsel('aut_modele', 'spip_auteurs', 'aut_modele'); } else {
$retour['message_erreur'] = _T('auted:enregistrement_impossible');
}
if ($redirect) {
$retour['redirect'] = $redirect;
} }
return $retour; return $retour;