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) {
return autoriser('webmestre', '', '', $qui);
function autoriser_autmodele_associer_dist($faire, $type, $id, $qui, $opt) {
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) {
return autoriser('webmestre', '', '', $qui);
function autoriser_autmodele_creer_dist($faire, $type, $id, $qui, $opt) {
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) {
return autoriser('webmestre', '', '', $qui);
function autoriser_autmodele_voir_dist($faire, $type, $id, $qui, $opt) {
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) {
return autoriser('webmestre', '', '', $qui);
function autoriser_autmodele_modifier_dist($faire, $type, $id, $qui, $opt) {
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">
<h1>Charger un modèle pour : [ (#ENV{nom})]</h1>
<div class="">
[(#FORMULAIRE_CHARGER_AUT_MODELE{#ENV{id_auteur},#ENV{redirect}})]
</div>
</div>

View file

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

View file

@ -4,7 +4,7 @@ if (!defined('_ECRIRE_INC_VERSION')) return;
function formulaires_charger_aut_modele_charger_dist($id_auteur, $redirect = ''){
$valeurs = array(
"id_auteur" => $id_auteur,
"aut_modele" => ""
"id_aut_modele" => ""
);
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 = ''){
$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;