Browse Source

Merge branch 'dev/issue7'

fix #7

On intègre enfin les catégories !
pull/72/head
Maïeul 2 years ago
parent
commit
1efe496f0a
  1. 31
      formulaires/construire_formulaire.html
  2. 2
      formulaires/construire_formulaire.php
  3. 3
      inc/saisies.php
  4. 158
      inc/saisies_lister.php
  5. 325
      inc/saisies_lister_disponibles.php
  6. 10
      lang/saisies_fr.php
  7. 1
      paquet.xml
  8. 2
      saisies/auteurs.yaml
  9. 2
      saisies/case.yaml
  10. 2
      saisies/checkbox.yaml
  11. 3
      saisies/choix_grille.yaml
  12. 3
      saisies/date.yaml
  13. 3
      saisies/destinataires.yaml
  14. 3
      saisies/email.yaml
  15. 2
      saisies/explication.yaml
  16. 3
      saisies/fieldset.yaml
  17. 2
      saisies/hidden.yaml
  18. 2
      saisies/input.yaml
  19. 2
      saisies/mot.yaml
  20. 2
      saisies/oui_non.yaml
  21. 2
      saisies/radio.yaml
  22. 6
      saisies/selecteur_article.yaml
  23. 6
      saisies/selecteur_document.yaml
  24. 8
      saisies/selecteur_rubrique.yaml
  25. 2
      saisies/selecteur_rubrique_article.yaml
  26. 2
      saisies/selection.yaml
  27. 2
      saisies/selection_multiple.yaml
  28. 2
      saisies/textarea.yaml

31
formulaires/construire_formulaire.html

@ -9,7 +9,7 @@
parametre : url d'action ]
#ACTION_FORMULAIRE{#ENV{action}}
<input type="submit" class="submit noscroll invisible" name="enregistrer" value="<:bouton_enregistrer:>" />
[(#ENV{_activer_options_globales}|oui)
[(#ENV{erreurs/configurer_globales}|non)
<div class="actions">
@ -21,7 +21,7 @@
[(#ENV{erreurs/configurer_globales}|oui)
<[(#DIV|sinon{ul})] class="editer-groupe en_configuration">
#GENERER_SAISIES{#ENV{erreurs/configurer_globales}}
<[(#DIV|sinon{li})] class="boutons">
<input type="hidden" name="enregistrer_globales" value="oui" />
<button type="submit" class="submit link noscroll" name="enregistrer_globales" value=""><:bouton_annuler:></button>
@ -30,7 +30,7 @@
</[(#DIV|sinon{ul})]>
]
]
<[(#DIV|sinon{ul})] class="editer-groupe" id="deplacable">
<[(#DIV|sinon{li})] id="reinitialiser" class="actions_formulaire">
<button type="submit" class="submit" name="reinitialiser" value="oui" onclick="return confirm('<:saisies:construire_reinitialiser_confirmer:>')">
@ -48,16 +48,25 @@
<[(#DIV|sinon{li})] class="aucun"><em class="attention"><:saisies:construire_aucun_champs:></em></[(#DIV|sinon{li})]>
<//B_contenu>
<B_saisies_disponibles>
<B_saisies_disponibles_par_categories>
<[(#DIV|sinon{li})] class="editer haut saisies_disponibles" id="attrapable">
<label><:saisies:construire_ajouter_champ:></label>
<BOUCLE_saisies_disponibles(DATA){source tableau, #ENV{_saisies_disponibles}}{par titre}>
<button type="submit" name="ajouter_saisie" value="#CLE" class="submit noscroll ajouter_saisie"[ title="(#DESCRIPTION)"] [style="background-image:url((#ICONE|sinon{#CHEMIN{images/formulaire-saisie-defaut.png}}))"]>
<span>#TITRE</span>
</button>
</BOUCLE_saisies_disponibles>
<h2><:saisies:construire_ajouter_champ:></h2>
<BOUCLE_saisies_disponibles_par_categories(DATA){source tableau, #ENV{_saisies_disponibles_par_categories}}>
<B_saisies_disponibles>
<[(#DIV|sinon{li})] class="fieldset[ fieldset_saisie_categorie_(#CLE|saisie_nom2classe)] fieldset_saisie_categorie">
<fieldset>
<legend class="legend">#NOM</legend>
<BOUCLE_saisies_disponibles(DATA){source tableau, #SAISIES}>
<button type="submit" name="ajouter_saisie" value="#CLE" class="submit noscroll ajouter_saisie"[ title="(#DESCRIPTION)"] [style="background-image:url((#ICONE|sinon{#CHEMIN{images/formulaire-saisie-defaut.png}}))"]>
<span>#TITRE</span>
</button>
</BOUCLE_saisies_disponibles>
</fieldset>
</[(#DIV|sinon{li})]>
</B_saisies_disponibles>
</BOUCLE_saisies_disponibles_par_categories>
</[(#DIV|sinon{li})]>
</B_saisies_disponibles>
</B_saisies_disponibles_par_categories>
<B_saisies_groupes_disponibles>
<[(#DIV|sinon{li})] class="editer haut saisies_groupes_disponibles" id="attrapable_bis">

2
formulaires/construire_formulaire.php

@ -86,7 +86,7 @@ function formulaires_construire_formulaire_charger($identifiant, $formulaire_ini
if (isset($options['saisies_exclues']) and is_array($options['saisies_exclues'])) {
$saisies_disponibles = array_diff_key($saisies_disponibles, array_flip($options['saisies_exclues']));
}
$contexte['_saisies_disponibles'] = $saisies_disponibles;
$contexte['_saisies_disponibles_par_categories'] = saisies_regrouper_disponibles_par_categories($saisies_disponibles);
// La liste des groupes de saisies
$saisies_groupes_disponibles = saisies_groupes_lister_disponibles('saisies/groupes');

3
inc/saisies.php

@ -14,6 +14,9 @@ if (!defined('_ECRIRE_INC_VERSION')) {
// Différentes méthodes pour trouver les saisies
include_spip('inc/saisies_lister');
// Différentes méthodes pour trouver les saisies avec un .yaml
include_spip('inc/saisies_lister_disponibles');
// Différentes méthodes pour manipuler une liste de saisies
include_spip('inc/saisies_manipuler');

158
inc/saisies_lister.php

@ -148,6 +148,7 @@ function saisies_lister_avec_type($saisies, $type, $tri = 'nom', $avec_conteneur
if (!is_array($type)) {
$type = array($type);
}
unset($saisies['options']);//Pas les options globales du formulaire
$saisies_type = array();
// tri par nom si ce n'est pas le cas
@ -406,163 +407,6 @@ function saisies_comparer_par_identifiant($saisies_anciennes, $saisies_nouvelles
return saisies_comparer($saisies_anciennes, $saisies_nouvelles, $avec_conteneur, 'identifiant');
}
/**
* Liste toutes les saisies configurables (ayant une description).
* @param string $saisies_repertoire le répertoire où trouver les saisies
* @param bool $inclure_obsolete : faut-il inclure les saisies obsolètes ?
* @return array Un tableau listant des saisies et leurs options
*/
function saisies_lister_disponibles($saisies_repertoire = 'saisies', $inclure_obsoletes = true) {
static $saisies = null;
if (is_null($saisies)) {
$saisies = array();
$liste = find_all_in_path("$saisies_repertoire/", '.+[.]yaml$');
if (count($liste)) {
foreach ($liste as $fichier => $chemin) {
$type_saisie = preg_replace(',[.]yaml$,i', '', $fichier);
$dossier = str_replace($fichier, '', $chemin);
// On ne garde que les saisies qui ont bien le HTML avec !
if (
file_exists("$dossier$type_saisie.html")
and (
is_array($saisie = saisies_charger_infos($type_saisie))
)
) {
if (!isset($saisie['obsolete'])
or $saisie['obsolete'] == false
or $inclure_obsoletes
) {
$saisies[$type_saisie] = $saisie;
}
}
}
}
}
return $saisies;
}
/**
* Liste tous les groupes de saisies configurables (ayant une description).
* @return array Un tableau listant des saisies et leurs options
*/
function saisies_groupes_lister_disponibles($saisies_repertoire = 'saisies') {
static $saisies = null;
if (is_null($saisies)) {
$saisies = array();
$liste = find_all_in_path("$saisies_repertoire/", '.+[.]yaml$');
if (count($liste)) {
foreach ($liste as $fichier => $chemin) {
$type_saisie = preg_replace(',[.]yaml$,i', '', $fichier);
$dossier = str_replace($fichier, '', $chemin);
if (is_array($saisie = saisies_charger_infos($type_saisie, $saisies_repertoire))) {
$saisies[$type_saisie] = $saisie;
}
}
}
}
return $saisies;
}
/**
* Lister les saisies existantes ayant une définition SQL.
* @param string $saisies_repertoire le répertoire où trouver les saisies
* @param bool $inclure_obsoletes : faut-il inclure les saisies obsolètes ?
* @return array Un tableau listant des saisies et leurs options
*/
function saisies_lister_disponibles_sql($saisies_repertoire = 'saisies', $inclure_obsoletes = true) {
$saisies = array();
$saisies_disponibles = saisies_lister_disponibles($saisies_repertoire, $inclure_obsoletes);
foreach ($saisies_disponibles as $type => $saisie) {
if (isset($saisie['defaut']['options']['sql']) and $saisie['defaut']['options']['sql']) {
$saisies[$type] = $saisie;
}
}
return $saisies;
}
/**
* Charger les informations contenues dans le YAML d'une saisie.
*
* @param string $type_saisie Le type de la saisie
*
* @return array Un tableau contenant le YAML décodé
*/
function saisies_charger_infos($type_saisie, $saisies_repertoire = 'saisies') {
if (defined('_DIR_PLUGIN_YAML')) {
include_spip('inc/yaml');
$fichier = find_in_path("$saisies_repertoire/$type_saisie.yaml");
$saisie = yaml_charger_inclusions(yaml_decode_file($fichier));
if (is_array($saisie)) {
// En cas d'héritage, récuperer les paramètres de la saisie "mère"
// On peut avoir plusieurs saisies mère.
// Dans le cas, la dernière de la liste l'emporte sur les précédentes
if (isset($saisie['heritage'])) {
$type_mere = $saisie['heritage'];
$saisie = saisies_recuperer_heritage($saisie, $type_mere, $saisies_repertoire);
}
$saisie['titre'] = (isset($saisie['titre']) and $saisie['titre'])
? _T_ou_typo($saisie['titre']) : $type_saisie;
$saisie['description'] = (isset($saisie['description']) and $saisie['description'])
? _T_ou_typo($saisie['description']) : '';
$saisie['icone'] = (isset($saisie['icone']) and $saisie['icone'])
? find_in_path($saisie['icone']) : '';
}
}
else {
$saisie = array();
}
return $saisie;
}
/**
* Permet à une saisie d'hériter des options et valeur par défaut d'une autre saisies
* @param string $saisie la saisie
* @param string $type_mere le type de la saisie dont on hérite
* @param string $saisies_repertoire = 'saisies'
* @return array
**/
function saisies_recuperer_heritage($saisie, $type_mere, $saisies_repertoire = 'saisies') {
$mere = saisies_charger_infos($type_mere, $saisies_repertoire);
$options_mere = &$mere['options'];
unset($saisie['heritage']);
if (isset($saisie['heritage_supprimer_options'])) {
foreach($saisie['heritage_supprimer_options'] as $option) {
$options_mere = saisies_supprimer($options_mere, $option);
}
unset($saisie['heritage_supprimer_options']);
}
if (isset($saisie['heritage_modifier_options'])) {
foreach ($saisie['heritage_modifier_options'] as $c => $option) {
$nom_option = $option['options']['nom'];
$fusion = isset($option['fusion']) ? $option['fusion'] : false;
unset($option['fusion']);
$options_mere = saisies_modifier($options_mere, $nom_option, $option, $fusion);
}
unset($saisie['heritage_modifier_options']);
}
if (isset($saisie['heritage_inserer_options'])) {
foreach ($saisie['heritage_inserer_options'] as $option) {
$chemin = $option['chemin'];
unset($option['chemin']);
$options_mere = saisies_inserer($options_mere, $option, $chemin);
}
unset($saisie['heritage_inserer_options']);
}
return array_replace_recursive($mere,$saisie);
}
/**
* Quelles sont les saisies qui se débrouillent toutes seules, sans le _base commun.
*

325
inc/saisies_lister_disponibles.php

@ -0,0 +1,325 @@
<?php
/**
* Gestion de listes des saisies disponibles (via .yaml)
*
* @return SPIP\Saisies\Listes\Disponibles
**/
/**
* Liste toutes les saisies configurables (ayant une description).
* @param string $saisies_repertoire le répertoire où trouver les saisies
* @param bool $inclure_obsolete : faut-il inclure les saisies obsolètes ?
* @return array Un tableau listant des saisies et leurs options
*/
function saisies_lister_disponibles($saisies_repertoire = 'saisies', $inclure_obsoletes = true) {
static $saisies = null;
if (is_null($saisies)) {
$saisies = array();
$liste = find_all_in_path("$saisies_repertoire/", '.+[.]yaml$');
if (count($liste)) {
foreach ($liste as $fichier => $chemin) {
$type_saisie = preg_replace(',[.]yaml$,i', '', $fichier);
$dossier = str_replace($fichier, '', $chemin);
// On ne garde que les saisies qui ont bien le HTML avec !
if (
file_exists("$dossier$type_saisie.html")
and (
is_array($saisie = saisies_charger_infos($type_saisie))
)
) {
if (!isset($saisie['obsolete'])
or $saisie['obsolete'] == false
or $inclure_obsoletes
) {
$saisies[$type_saisie] = $saisie;
}
}
}
}
}
$saisies = pipeline('saisies_lister_disponibles', $saisies);
return $saisies;
}
/**
* Liste tous les groupes de saisies configurables (ayant une description).
* @return array Un tableau listant des saisies et leurs options
*/
function saisies_groupes_lister_disponibles($saisies_repertoire = 'saisies') {
static $saisies = null;
if (is_null($saisies)) {
$saisies = array();
$liste = find_all_in_path("$saisies_repertoire/", '.+[.]yaml$');
if (count($liste)) {
foreach ($liste as $fichier => $chemin) {
$type_saisie = preg_replace(',[.]yaml$,i', '', $fichier);
$dossier = str_replace($fichier, '', $chemin);
if (is_array($saisie = saisies_charger_infos($type_saisie, $saisies_repertoire))) {
$saisies[$type_saisie] = $saisie;
}
}
}
}
return $saisies;
}
/**
* Lister les saisies existantes ayant une définition SQL.
* @param string $saisies_repertoire le répertoire où trouver les saisies
* @param bool $inclure_obsoletes : faut-il inclure les saisies obsolètes ?
* @return array Un tableau listant des saisies et leurs options
*/
function saisies_lister_disponibles_sql($saisies_repertoire = 'saisies', $inclure_obsoletes = true) {
$saisies = array();
$saisies_disponibles = saisies_lister_disponibles($saisies_repertoire, $inclure_obsoletes);
foreach ($saisies_disponibles as $type => $saisie) {
if (isset($saisie['defaut']['options']['sql']) and $saisie['defaut']['options']['sql']) {
$saisies[$type] = $saisie;
}
}
return $saisies;
}
/**
* Charger les informations contenues dans le YAML d'une saisie.
*
* @param string $type_saisie Le type de la saisie
*
* @return array Un tableau contenant le YAML décodé
*/
function saisies_charger_infos($type_saisie, $saisies_repertoire = 'saisies') {
if (defined('_DIR_PLUGIN_YAML')) {
include_spip('inc/yaml');
$fichier = find_in_path("$saisies_repertoire/$type_saisie.yaml");
$saisie = yaml_charger_inclusions(yaml_decode_file($fichier));
if (is_array($saisie)) {
// En cas d'héritage, récuperer les paramètres de la saisie "mère"
// On peut avoir plusieurs saisies mère.
// Dans le cas, la dernière de la liste l'emporte sur les précédentes
if (isset($saisie['heritage'])) {
$type_mere = $saisie['heritage'];
$saisie = saisies_recuperer_heritage($saisie, $type_mere, $saisies_repertoire);
}
$saisie['titre'] = (isset($saisie['titre']) and $saisie['titre'])
? _T_ou_typo($saisie['titre']) : $type_saisie;
$saisie['description'] = (isset($saisie['description']) and $saisie['description'])
? _T_ou_typo($saisie['description']) : '';
$saisie['icone'] = (isset($saisie['icone']) and $saisie['icone'])
? find_in_path($saisie['icone']) : '';
}
}
else {
$saisie = array();
}
return $saisie;
}
/**
* Permet à une saisie d'hériter des options et valeur par défaut d'une autre saisies
* @param string $saisie la saisie
* @param string $type_mere le type de la saisie dont on hérite
* @param string $saisies_repertoire = 'saisies'
* @return array
**/
function saisies_recuperer_heritage($saisie, $type_mere, $saisies_repertoire = 'saisies') {
$mere = saisies_charger_infos($type_mere, $saisies_repertoire);
$options_mere = &$mere['options'];
unset($saisie['heritage']);
if (isset($saisie['heritage_supprimer_options'])) {
foreach($saisie['heritage_supprimer_options'] as $option) {
$options_mere = saisies_supprimer($options_mere, $option);
}
unset($saisie['heritage_supprimer_options']);
}
if (isset($saisie['heritage_modifier_options'])) {
foreach ($saisie['heritage_modifier_options'] as $c => $option) {
$nom_option = $option['options']['nom'];
$fusion = isset($option['fusion']) ? $option['fusion'] : false;
unset($option['fusion']);
$options_mere = saisies_modifier($options_mere, $nom_option, $option, $fusion);
}
unset($saisie['heritage_modifier_options']);
}
if (isset($saisie['heritage_inserer_options'])) {
foreach ($saisie['heritage_inserer_options'] as $option) {
$chemin = $option['chemin'];
unset($option['chemin']);
$options_mere = saisies_inserer($options_mere, $option, $chemin);
}
unset($saisie['heritage_inserer_options']);
}
return array_replace_recursive($mere,$saisie);
}
/**
* Lister les catégories par défaut, puis les envoyer au pipeline
* @return array liste des catégories
**/
function saisies_lister_categories() {
$categories = pipeline('saisies_lister_categories',
array(
'libre' => array(
'nom' => _T('saisies:categorie_libre_label'),
),
'choix' => array(
'nom' => _T('saisies:categorie_choix_label'),
),
'structure' => array(
'nom' => _T('saisies:categorie_structure_label'),
),
'objet' => array(
'nom' => _T('saisies:categorie_objet_label'),
),
'defaut' => array(
'nom' => _T('saisies:categorie_defaut_label'),
)
)
);
// S'assurer que defaut soit tout le temps à la fin
$defaut = $categories['defaut'];
unset($categories['defaut']);
$categories['defaut'] = $defaut;
return $categories;
}
/**
* Lister les saisies disponibles en les regroupants en catégorie
* @param array $options
* 'saisies_repertoire' => string ('saisies')
* 'inclure_obsoletes' => bool (false)
* 'categorie' => string|null|false (false)
* 'uniquement_sql' => bool (false) pour limiter à celle avec sql
* @return array
**/
function saisies_lister_disponibles_par_categories($options = array()) {
// Options par défaut
if (!isset($options['saisies_repertoire'])) {
$options['saisies_repertoire'] = 'saisies';
}
if (!isset($options['inclure_obsoletes'])) {
$options['inclure_obsoletes'] = false;
}
if (!isset($options['categorie'])) {
$options['categorie'] = false;
}
if (isset($options['uniquement_sql']) and $options['uniquement_sql']) {
$saisies = saisies_lister_disponibles_sql($options['saisies_repertoire'], $options['inclure_obsolete']);
} else {
$saisies = saisies_lister_disponibles($options['saisies_repertoire'], $options['inclure_obsolete']);
}
return saisies_regrouper_disponibles_par_categories($saisies, $options['categorie']);
}
/**
* Liste par catégorie les saisies disponibles ayant une définition SQL
* @param array $options > voir saisies_lister_disponibles_par_categories
* return array
**/
function saisies_lister_disponibles_sql_par_categories($options = array()) {
$options['uniquement_sql'] = true;
return saisies_lister_disponibles_par_categories($options);
}
/**
* Regroupe par categories les saisies
* @param array $saisies
* @param string|null $categorie_demande pour ne renvoyer que cette catégorie
* @return array
**/
function saisies_regrouper_disponibles_par_categories($saisies = array(), $categorie_demande = null) {
$categories = saisies_lister_categories();
foreach ($saisies as $s => $saisie) {
if (isset($saisie['categorie']['type'])) {
$categorie = $saisie['categorie']['type'];
} else {//Sinon defaut
$categorie = 'defaut';
spip_log($saisie['titre'].' sans catégorie, reclassée en defaut', 'saisies');
}
// Saisie dans une catégorie non existante
if (!isset($categories[$categorie])) {
spip_log($saisie['titre']. "dans une catégorie inexistante ($categorie), reclassée en defaut", 'saisies');
$categorie = 'defaut';
}
// Si l'On demande uniquement une cate
if ($categorie_demande and $categorie_demande !== $categorie) {
continue;
}
// Vérifier qu'il y a deja des saisies pour cette catégorie
if (!isset($categories[$categorie]['saisies'])) {
$categories[$categorie]['saisies'] = array();
}
$categories[$categorie]['saisies'][$s] = $saisie;
}
foreach ($categories as $cat => &$desc) {
if (isset($desc['saisies'])) {
uasort($desc['saisies'], 'saisies_lister_disponibles_par_categories_usort');
}
}
return $categories;
}
/**
* Function de comparaison pour trier les saisies disponibles par rang
* Si pas de rang défini, on le considère à 0
* Si deux saisies avec le même rang, on se rabat sur l'ordre alpha
* @param $saisie1
* @param $saisie2
* @return int
**/
function saisies_lister_disponibles_par_categories_usort($saisie1, $saisie2) {
if (!isset($saisie1['categorie']['rang'])) {
$rang1 = 0;
} else {
$rang1 = $saisie1['categorie']['rang'];
}
if (!isset($saisie2['categorie']['rang'])) {
$rang2 = 0;
} else {
$rang2 = $saisie2['categorie']['rang'];
}
// On utilise la fonction translitteration faute de mieux, pour avoir Évenement avant Rubrique, mais en réalité il faudrait gerer cela par les fonctions de comparaison de Inl
$titre1 = translitteration($saisie1['titre']);
$titre2 = translitteration($saisie2['titre']);
// Rangs égaux > on tri par titre
if ($rang1 == $rang2) {
if ($titre1 > $titre2) {
return 1;
} elseif ($saisie1['titre'] < $saisie2['titre']) {//Même si a priori peu probable que ce soit égal !
return -1;
}
return 0;
// Rang différent : on tri par rang
} else {
return $rang1 - $rang2;
}
}

10
lang/saisies_fr.php

@ -20,6 +20,11 @@ $GLOBALS[$GLOBALS['idx_lang']] = array(
// C
'caracteres_restants' => 'caractères restants',
'configuration' => 'Configuration du plugins Saisies',
'categorie_libre_label' => 'Champ libre',
'categorie_choix_label' => 'Choix restreint',
'categorie_structure_label' => 'Structure',
'categorie_objet_label' => 'Contenu éditorial',
'categorie_defaut_label' => 'Divers',
'construire_action_annuler' => 'Annuler',
'construire_action_configurer' => 'Configurer',
'construire_action_deplacer' => 'Déplacer',
@ -234,13 +239,10 @@ Vous trouverez la <a href="https://contrib.spip.net/5080" target="_blank" rel="n
'saisie_radio_explication' => 'Permet de choisir une option parmi plusieurs disponibles.',
'saisie_radio_titre' => 'Boutons radios',
'saisie_selecteur_article' => 'Affiche un navigateur de sélection d’article',
'saisie_selecteur_article_titre' => 'Sélecteur d’article',
'saisie_selecteur_document' => 'Affiche un sélecteur de document',
'saisie_selecteur_document_titre' => 'Sélecteur de document',
'saisie_selecteur_rubrique' => 'Affiche un navigateur de sélection de rubrique',
'saisie_selecteur_rubrique_article' => 'Affiche un navigateur de sélection d’article ou de rubrique',
'saisie_selecteur_rubrique_article_titre' => 'Sélecteur d’article ou rubrique',
'saisie_selecteur_rubrique_titre' => 'Sélecteur de rubrique',
'saisie_selecteur_rubrique_article_titre' => 'Article ou rubrique',
'saisie_selection_explication' => 'Choisir une option dans une liste déroulante.',
'saisie_selection_multiple_explication' => 'Permet de choisir plusieurs options avec une liste.',
'saisie_selection_multiple_titre' => 'Sélection multiple',

1
paquet.xml

@ -24,6 +24,7 @@
<pipeline nom="saisie_est_tabulaire" action="" />
<pipeline nom="saisies_afficher_si_js_type" />
<pipeline nom="saisies_lister_disponibles" action="" />
<pipeline nom="saisies_lister_categories" action="" />
<pipeline nom="saisies_construire_formulaire_config" action="" />
<pipeline nom="formulaire_saisies" action="" />
<pipeline nom="saisies_verifier" action="" />

2
saisies/auteurs.yaml

@ -2,6 +2,8 @@
titre: '<:saisies:saisie_auteurs_titre:>'
description: '<:saisies:saisie_auteurs_explication:>'
icone: 'images/saisies_auteurs.png'
categorie:
type: 'objet'
options:
-
saisie: 'fieldset'

2
saisies/case.yaml

@ -2,6 +2,8 @@
titre: '<:saisies:saisie_case_titre:>'
description: '<:saisies:saisie_case_explication:>'
icone: 'images/saisies_case.png'
categorie:
type: 'choix'
options:
-
saisie: 'fieldset'

2
saisies/checkbox.yaml

@ -2,6 +2,8 @@
titre: '<:saisies:saisie_checkbox_titre:>'
description: '<:saisies:saisie_checkbox_explication:>'
icone: 'images/saisies_checkbox.png'
categorie:
type: 'choix'
options:
-
saisie: 'fieldset'

3
saisies/choix_grille.yaml

@ -1,5 +1,8 @@
titre: '<:saisies:saisie_choix_grille_titre:>'
description: '<:saisies:saisie_choix_grille_explication:>'
categorie:
type: 'choix'
rang: 50
options:
-
saisie: 'fieldset'

3
saisies/date.yaml

@ -2,6 +2,9 @@
titre: '<:saisies:saisie_date_titre:>'
description: '<:saisies:saisie_date_explication:>'
icone: 'images/saisies_date.png'
categorie:
type: 'libre'
rang: 20
options:
-
saisie: 'fieldset'

3
saisies/destinataires.yaml

@ -1,6 +1,9 @@
titre: '<:saisies:saisie_destinataires_titre:>'
description: '<:saisies:saisie_destinataires_explication:>'
categorie:
type: 'choix'
rang: 30
options:
-
saisie: 'fieldset'

3
saisies/email.yaml

@ -1,6 +1,9 @@
titre: '<:saisies:saisie_email_titre:>'
description: '<:saisies:saisie_email_explication:>'
icone: 'images/saisies_email.png'
categorie:
type: 'libre'
rang: 10
options:
-
saisie: 'fieldset'

2
saisies/explication.yaml

@ -2,6 +2,8 @@
titre: '<:saisies:saisie_explication_titre:>'
description: '<:saisies:saisie_explication_explication:>'
icone: 'images/saisies_explication.png'
categorie:
type: 'structure'
options:
-
saisie: 'fieldset'

3
saisies/fieldset.yaml

@ -2,6 +2,9 @@
titre: '<:saisies:saisie_fieldset_titre:>'
description: '<:saisies:saisie_fieldset_explication:>'
icone: 'images/saisies_fieldset.png'
categorie:
type: 'structure'
rang: -10
options:
-
saisie: 'fieldset'

2
saisies/hidden.yaml

@ -2,6 +2,8 @@
titre: '<:saisies:saisie_hidden_titre:>'
description: '<:saisies:saisie_hidden_explication:>'
icone: 'images/saisies_hidden.png'
categorie:
type: 'defaut'
options:
-
saisie: 'fieldset'

2
saisies/input.yaml

@ -2,6 +2,8 @@
titre: '<:saisies:saisie_input_titre:>'
description: '<:saisies:saisie_input_explication:>'
icone: 'images/saisies_input.png'
categorie:
type: 'libre'
options:
-
saisie: 'fieldset'

2
saisies/mot.yaml

@ -2,6 +2,8 @@
titre: '<:saisies:saisie_mot_titre:>'
description: '<:saisies:saisie_mot_explication:>'
icone: 'images/saisies_mot.png'
categorie:
type: 'objet'
options:
-
saisie: 'fieldset'

2
saisies/oui_non.yaml

@ -2,6 +2,8 @@
titre: '<:saisies:saisie_oui_non_titre:>'
description: '<:saisies:saisie_oui_non_explication:>'
icone: 'images/saisies_oui_non.png'
categorie:
type: 'choix'
obsolete: true
options:
-

2
saisies/radio.yaml

@ -2,6 +2,8 @@
titre: '<:saisies:saisie_radio_titre:>'
description: '<:saisies:saisie_radio_explication:>'
icone: 'images/saisies_radio.png'
categorie:
type: 'choix'
options:
-
saisie: 'fieldset'

6
saisies/selecteur_article.yaml

@ -1,7 +1,9 @@
titre: '<:saisies:saisie_selecteur_article_titre:>'
titre: '<:public:article:>'
description: '<:saisies:saisie_selecteur_article:>'
icone: 'images/saisies_selecteur_article.png'
categorie:
type: 'objet'
options:
-
saisie: 'fieldset'
@ -94,6 +96,6 @@ options:
- 'inclure:saisies/_base/obligatoire.yaml'
defaut:
options:
label: '<:saisies:saisie_selecteur_article_titre:>'
label: '<:public:article:>'
# champs extras (definition du champ sql)
sql: "text DEFAULT '' NOT NULL"

6
saisies/selecteur_document.yaml

@ -1,6 +1,8 @@
titre: '<:saisies:saisie_selecteur_document_titre:>'
titre: '<:medias:objet_document:>'
description: '<:saisies:saisie_selecteur_document:>'
icone: 'images/saisies_selecteur_article.png'
categorie:
type: 'objet'
options:
-
saisie: 'fieldset'
@ -45,6 +47,6 @@ options:
- 'inclure:saisies/_base/obligatoire.yaml'
defaut:
options:
label: '<:saisies:saisie_selecteur_document_titre:>'
label: '<:medias:objet_document:>'
# champs extras (definition du champ sql)
sql: "text DEFAULT '' NOT NULL"

8
saisies/selecteur_rubrique.yaml

@ -1,7 +1,9 @@
titre: '<:saisies:saisie_selecteur_rubrique_titre:>'
titre: '<:public:rubrique:>'
description: '<:saisies:saisie_selecteur_rubrique:>'
icone: 'images/saisies_selecteur_rubrique.png'
categorie:
type: 'objet'
options:
-
saisie: 'fieldset'
@ -84,7 +86,7 @@ options:
nom: 'attention'
label: '<:saisies:option_attention_label:>'
explication: '<:saisies:option_attention_explication:>'
size: 50
size: 50saisie_selecteur_rubrique_titre
-
saisie: 'fieldset'
options:
@ -94,6 +96,6 @@ options:
- 'inclure:saisies/_base/obligatoire.yaml'
defaut:
options:
label: '<:saisies:saisie_selecteur_rubrique_titre:>'
label: '<:public:rubrique:>'
# champs extras (definition du champ sql)
sql: "text DEFAULT '' NOT NULL"

2
saisies/selecteur_rubrique_article.yaml

@ -2,6 +2,8 @@
titre: '<:saisies:saisie_selecteur_rubrique_article_titre:>'
description: '<:saisies:saisie_selecteur_rubrique_article:>'
icone: 'images/saisies_selecteur_rubrique_article.png'
categorie:
type: 'objet'
options:
-
saisie: 'fieldset'

2
saisies/selection.yaml

@ -2,6 +2,8 @@
titre: '<:saisies:saisie_selection_titre:>'
description: '<:saisies:saisie_selection_explication:>'
icone: 'images/saisies_selection.png'
categorie:
type: 'choix'
options:
-
saisie: 'fieldset'

2
saisies/selection_multiple.yaml

@ -2,6 +2,8 @@
titre: '<:saisies:saisie_selection_multiple_titre:>'
description: '<:saisies:saisie_selection_multiple_explication:>'
icone: 'images/saisies_selection_multiple.png'
categorie:
type: 'choix'
options:
-
saisie: 'fieldset'

2
saisies/textarea.yaml

@ -2,6 +2,8 @@
titre: '<:saisies:saisie_textarea_titre:>'
description: '<:saisies:saisie_textarea_explication:>'
icone: 'images/saisies_textarea.png'
categorie:
type: 'libre'
options:
-
saisie: 'fieldset'

Loading…
Cancel
Save