Skip to content
Extraits de code Groupes Projets
Valider ef733821 rédigé par Eric Lupinacci's avatar Eric Lupinacci
Parcourir les fichiers

Mise au point des natures d'extra

parent c332a0cf
Aucune branche associée trouvée
Aucune étiquette associée trouvée
Aucune requête de fusion associée trouvée
Affichage de
avec 364 ajouts et 29 suppressions
<?php
/**
* Ce fichier contient l'action `supprimer_territoire_extra` lancée par un utilisateur autorisé pour
* supprimer un extra de territoire créé par formulaire.
*/
if (!defined('_ECRIRE_INC_VERSION')) {
return;
}
/**
* Cette action permet à l'utilisateur de supprimer, de façon sécurisée,
* un extra de territoire créé par formulaire. Cela consiste à supprimer le bloc de configuration dans la meta concernée.
*
* Cette action est réservée aux utilisateurs pouvant supprimer un extra de territoire.
* Elle nécessite l'id de l'extra uniquement.
*
* @param null|string $arguments Arguments de l'action ou null si l'action est appelée par une URL
*
* @return void
*/
function action_supprimer_territoire_extra_dist(?string $arguments = null) : void {
// Sécurisation.
// Arguments attendus :
// - l'identifiant de l'extra
if (null === $arguments) {
$securiser_action = charger_fonction('securiser_action', 'inc');
$arguments = $securiser_action();
}
$id_extra = $arguments;
// Verification des autorisations
if (!autoriser('supprimer', 'territoireextra', $id_extra)) {
include_spip('inc/minipres');
echo minipres();
exit();
}
// On supprime l'index de l'extra dans la configuration
include_spip('inc/config');
$config = lire_config('territoires_data', []);
if (isset($config['extras'][$id_extra])) {
unset($config['extras'][$id_extra]);
ecrire_config('territoires_data', $config);
}
}
...@@ -222,12 +222,12 @@ function territoires_data_feed_rediriger_admin(string $action, array $feed) : st ...@@ -222,12 +222,12 @@ function territoires_data_feed_rediriger_admin(string $action, array $feed) : st
if ($action === 'editer') { if ($action === 'editer') {
$url = parametre_url( $url = parametre_url(
generer_url_ecrire('feed_territoires_edit'), generer_url_ecrire('territoire_feed_editer'),
'feed_id', 'feed_id',
$feed['feed_id'] $feed['feed_id']
); );
} elseif ($action === 'creer') { } elseif ($action === 'creer') {
$url = generer_url_ecrire('feed_territoires_creer'); $url = generer_url_ecrire('territoire_feed_creer');
} }
return $url; return $url;
......
...@@ -13,7 +13,7 @@ if (!defined('_ECRIRE_INC_VERSION')) { ...@@ -13,7 +13,7 @@ if (!defined('_ECRIRE_INC_VERSION')) {
* *
* @return array Tableau des données à charger par le formulaire. * @return array Tableau des données à charger par le formulaire.
*/ */
function formulaires_creer_feed_territoires_charger(?string $categorie_id = '') : array { function formulaires_creer_territoire_feed_charger(?string $categorie_id = '') : array {
// Etape 1 // Etape 1
// Récupération des saisies éventuelles de l'étape 1 // Récupération des saisies éventuelles de l'étape 1
$valeurs = [ $valeurs = [
...@@ -106,7 +106,7 @@ function formulaires_creer_feed_territoires_charger(?string $categorie_id = '') ...@@ -106,7 +106,7 @@ function formulaires_creer_feed_territoires_charger(?string $categorie_id = '')
* *
* @return array Tableau des variables des saisies Fichiers. * @return array Tableau des variables des saisies Fichiers.
*/ */
function formulaires_creer_feed_territoires_fichiers(?string $categorie_id = '') { function formulaires_creer_territoire_feed_fichiers(?string $categorie_id = '') {
return ['fichier_source']; return ['fichier_source'];
} }
...@@ -116,7 +116,7 @@ function formulaires_creer_feed_territoires_fichiers(?string $categorie_id = '') ...@@ -116,7 +116,7 @@ function formulaires_creer_feed_territoires_fichiers(?string $categorie_id = '')
* @return array Message d'erreur si aucun pays choisi alors que la configuration du type de teritoire l'oblige. * @return array Message d'erreur si aucun pays choisi alors que la configuration du type de teritoire l'oblige.
* Sinon, chargement des champs utiles à l'étape 2 : * Sinon, chargement des champs utiles à l'étape 2 :
*/ */
function formulaires_creer_feed_territoires_verifier_1() : array { function formulaires_creer_territoire_feed_verifier_1() : array {
// Initialisation des erreurs de vérification. // Initialisation des erreurs de vérification.
$erreurs = []; $erreurs = [];
...@@ -238,7 +238,7 @@ function formulaires_creer_feed_territoires_verifier_1() : array { ...@@ -238,7 +238,7 @@ function formulaires_creer_feed_territoires_verifier_1() : array {
* *
* @return array Message d'erreur ou vide sinon * @return array Message d'erreur ou vide sinon
*/ */
function formulaires_creer_feed_territoires_verifier_2(?string $categorie_id = '') : array { function formulaires_creer_territoire_feed_verifier_2(?string $categorie_id = '') : array {
// Initialisation des erreurs de vérification. // Initialisation des erreurs de vérification.
$erreurs = []; $erreurs = [];
...@@ -293,7 +293,7 @@ function formulaires_creer_feed_territoires_verifier_2(?string $categorie_id = ' ...@@ -293,7 +293,7 @@ function formulaires_creer_feed_territoires_verifier_2(?string $categorie_id = '
* @return array Tableau retourné par le formulaire contenant toujours un message de bonne exécution ou * @return array Tableau retourné par le formulaire contenant toujours un message de bonne exécution ou
* d'erreur. * d'erreur.
*/ */
function formulaires_creer_feed_territoires_traiter(?string $categorie_id = '') : array { function formulaires_creer_territoire_feed_traiter(?string $categorie_id = '') : array {
// Initialisation du retour de la fonction // Initialisation du retour de la fonction
$retour = []; $retour = [];
......
<div class='formulaire_spip formulaire_editer formulaire_#FORM formulaire_#FORM[-(#ENV{extra, new})]'>
[<p class="reponse_formulaire reponse_formulaire_erreur">(#ENV*{message_erreur})</p>]
[(#ENV{editable})
<form method="post" action="#ENV{action}"><div>
#ACTION_FORMULAIRE
<input type="hidden" name="extra" value="#ENV{extra, new}" />
<fieldset>
<legend><:territoires_data:legende_extra_identite:></legend>
<div class="editer-groupe">
[(#SET{explication, #ENV{_edition}|?{'', <:territoires_data:explication_extra_id:>}})]
[(#SAISIE{input, extra_id,
explication=#GET{explication},
label=<:territoires_data:label_extra_id:>,
disable_avec_post=#ENV{_edition},
obligatoire=oui
})]
[(#ENV{_edition}|non)
[(#SAISIE{territoire_extra_types, type_extra,
label=<:territoires_data:label_extra_type:>,
obligatoire=oui
})]
]
[(#ENV{_edition}|oui)
[(#SAISIE{input, type_extra,
label=<:territoires_data:label_extra_type:>,
disable_avec_post=#ENV{_edition},
})]
]
[(#SAISIE{input, label,
explication=<:territoires_data:explication_extra_titre:>,
label=<:territoires_data:label_extra_titre:>,
obligatoire=oui
})]
</div>
</fieldset>
<fieldset>
<legend><:territoires_data:legende_extra_format:></legend>
<div class="editer-groupe">
[(#SAISIE{territoire_extra_formats, format,
label=<:territoires_data:label_extra_format:>,
obligatoire=oui
})]
<div id="nb_decimales">
[(#SAISIE{input, extra_decimale,
explication=<:territoires_data:explication_extra_decimale:>,
label=<:territoires_data:label_extra_decimale:>,
})]
</div>
<div id="unite">
[(#SAISIE{territoire_extra_unites, unite,
label=<:territoires_data:label_extra_unite:>,
fond_saisie=selection
})]
</div>
</div>
</fieldset>
[(#REM) ajouter les saisies supplementaires : extra et autre, a cet endroit ]
<!--extra-->
<p class="boutons"><input type="submit" class="submit" value="<:bouton_enregistrer|attribut_html:/>" /></p>
</div></form>
]
</div>
<script type="text/javascript">
//<![CDATA[
jQuery(document).ready(function() {
// Afficher ou cacher le bloc de choix du nombre de décimales.
function afficher_blocs_optionnels(format) {
if (format === 'float') {
jQuery("div#nb_decimales").show();
jQuery("div#unite").show();
} else if (format === 'integer') {
jQuery("div#nb_decimales").hide();
jQuery("div#unite").show();
} else {
jQuery("div#nb_decimales").hide();
jQuery("div#unite").hide();
}
}
// A l'initialisation
afficher_blocs_optionnels(jQuery("input[name='format']:checked").val());
// Sur saisie
jQuery("input[name='format']").change(function() {
afficher_blocs_optionnels(jQuery("input[name='format']:checked").val());
jQuery(this).blur();
});
});
//]]>
</script>
<?php
/**
* Gestion du formulaire de création et d'édition d'un extra de territoires.
*/
if (!defined('_ECRIRE_INC_VERSION')) {
return;
}
/**
* Chargement du formulaire de création et d'édition d'un extra de territoires.
*
* @param null|string $id_extra Identificant de la nature d'extra (édition) ou vide (création)
* @param null|string $redirect URL de redirection en sortie de formulaire
*
* @return array Environnement du formulaire
*/
function formulaires_editer_territoire_extra_charger_dist(?string $id_extra = 'new', ?string $redirect = '') : array {
// Initialisation du contexte du formulaire pour une création
$valeurs = [
'extra_id' => $id_extra,
'type_extra' => 'stat',
'label' => '',
'format' => 'integer',
'extra_decimale' => '',
'unite' => '',
'_edition' => '',
'editable' => true
];
// Si édition, on charge l'extra
if ($id_extra !== 'new') {
include_spip('inc/config');
$extra = lire_config("territoires_data/extras/{$id_extra}", []);
$valeurs = array_merge($valeurs, $extra);
// On détermine le nombre de décimales
if (strpos($extra['format'], 'float') !== false) {
$valeurs['format'] = 'float';
$valeurs['extra_decimale'] = str_replace('float', '', $extra['format']);
}
// On passe en mode édition
$valeurs['_edition'] = 'oui';
}
return $valeurs;
}
/**
* Vérifications du formulaire de création et d'édition d'un extra de territoires.
* En particulier, on ne peut pas créer un extra avec le même id.
*
* @param null|string $id_extra Identificant de la nature d'extra (édition) ou vide (création)
* @param null|string $redirect URL de redirection en sortie de formulaire
*
* @return array Tableau des erreurs
*/
function formulaires_editer_territoire_extra_verifier_dist(?string $id_extra = 'new', ?string $redirect = '') : array {
// Par défaut, aucune erreur
$erreurs = [];
// On ne cherche pas les champs obligatoires qui sont tous gérés par le formulaire, mais les erreurs suivantes:
// - id d'extra déjà existant ou toujours appelé `new`
// - un id mal formé
if ($id_extra === 'new') {
// inutile de vérifier un id si c'est une modification car il n'est pas modifiable
$id = _request('extra_id');
if (
include_spip('inc/config')
and (lire_config("territoires_data/extras/{$id}"))
) {
$erreurs['extra_id'] = _T('territoires_data:erreur_extra_id_existe');
} elseif ($id === 'new') {
$erreurs['extra_id'] = _T('territoires_data:erreur_extra_id_new');
} elseif (!preg_match('#^[\w]+$#i', $id)) {
$erreurs['extra_id'] = _T('territoires_data:erreur_extra_id');
}
}
// On vérifie que le nombre de décimales est compris entre 1 et 9
if (_request('format') === 'float') {
$decimale = (int) _request('extra_decimale');
if (
($decimale < 1)
or ($decimale > 9)
) {
$erreurs['extra_decimale'] = _T('territoires_data:erreur_extra_decimale');
}
}
return $erreurs;
}
/**
* Traitement du formulaire de création et d'édition d'un extra de territoires.
*
* @param null|string $id_extra Identificant de la nature d'extra (édition) ou vide (création)
* @param null|string $redirect URL de redirection en sortie de formulaire
*
* @return array Retours des traitements
*/
function formulaires_editer_territoire_extra_traiter_dist(?string $id_extra = 'new', ?string $redirect = '') : array {
// Initialisation du retour de la fonction
$retour = [];
// On récupère les saisies et on initialise la configuration de l'extra
$extra_id = _request('extra_id');
$extra = [
'label' => _request('label'),
'is_editable' => true,
'type_extra' => _request('type_extra'),
'format' => _request('format'),
'unite' => _request('unite'),
];
// On détermine les décimales
$decimales = '';
if ($extra['format'] === 'float') {
$decimales = _request('extra_decimale');
}
$extra['format'] .= $decimales;
// Ajout ou mise à jour de l'extra dans la meta de configuration
include_spip('inc/config');
ecrire_config("territoires_data/extras/{$extra_id}", $extra);
// Redirection vers la page demandée si tout s'est bien passé
if (
empty($retour['message_erreur'])
and $redirect
) {
$retour['redirect'] = $redirect;
}
$retour['editable'] = true;
return $retour;
}
...@@ -14,7 +14,7 @@ if (!defined('_ECRIRE_INC_VERSION')) { ...@@ -14,7 +14,7 @@ if (!defined('_ECRIRE_INC_VERSION')) {
* *
* @return array Environnement du formulaire * @return array Environnement du formulaire
*/ */
function formulaires_editer_feed_territoires_charger_dist(string $id_feed, string $redirect) { function formulaires_editer_territoire_feed_charger_dist(string $id_feed, string $redirect) {
// Récupération des informations sur le feed // Récupération des informations sur le feed
include_spip('inc/ezmashup_feed'); include_spip('inc/ezmashup_feed');
$feed = feed_lire('territoires_data', $id_feed); $feed = feed_lire('territoires_data', $id_feed);
...@@ -95,7 +95,7 @@ function formulaires_editer_feed_territoires_charger_dist(string $id_feed, strin ...@@ -95,7 +95,7 @@ function formulaires_editer_feed_territoires_charger_dist(string $id_feed, strin
* *
* @return array Tableau des erreurs * @return array Tableau des erreurs
*/ */
function formulaires_editer_feed_territoires_verifier_dist(string $id_feed, string $redirect) { function formulaires_editer_territoire_feed_verifier_dist(string $id_feed, string $redirect) {
$erreurs = []; $erreurs = [];
// Récupération des informations sur le feed // Récupération des informations sur le feed
...@@ -167,7 +167,7 @@ function formulaires_editer_feed_territoires_verifier_dist(string $id_feed, stri ...@@ -167,7 +167,7 @@ function formulaires_editer_feed_territoires_verifier_dist(string $id_feed, stri
* *
* @return array Retours des traitements * @return array Retours des traitements
*/ */
function formulaires_editer_feed_territoires_traiter_dist(string $id_feed, string $redirect) { function formulaires_editer_territoire_feed_traiter_dist(string $id_feed, string $redirect) {
// Initialisation du retour de la fonction // Initialisation du retour de la fonction
$retour = []; $retour = [];
......
...@@ -26,8 +26,11 @@ $GLOBALS[$GLOBALS['idx_lang']] = array( ...@@ -26,8 +26,11 @@ $GLOBALS[$GLOBALS['idx_lang']] = array(
// I // I
'info_1_extra' => '1 nature de données', 'info_1_extra' => '1 nature de données',
'info_1_unite' => '1 unité',
'info_extra_aucun' => 'Utilisez les boutons pour créer de nouvelles natures de données', 'info_extra_aucun' => 'Utilisez les boutons pour créer de nouvelles natures de données',
'info_unite_aucune' => 'Utilisez les boutons pour créer de nouvelles unites',
'info_nb_extra' => '@nb@ natures de données', 'info_nb_extra' => '@nb@ natures de données',
'info_nb_unite' => '@nb@ unités',
// T // T
'format_extra_date' => 'date', 'format_extra_date' => 'date',
......
...@@ -21,6 +21,10 @@ $GLOBALS[$GLOBALS['idx_lang']] = array( ...@@ -21,6 +21,10 @@ $GLOBALS[$GLOBALS['idx_lang']] = array(
'erreur_feed_extra' => 'L\'identifiant saisi n\'est pas valide', 'erreur_feed_extra' => 'L\'identifiant saisi n\'est pas valide',
'erreur_feed_id' => 'L\'identifiant saisi n\'est pas valide', 'erreur_feed_id' => 'L\'identifiant saisi n\'est pas valide',
'erreur_feed_id_existe' => 'L\'identifiant de feed saisi existe déjà : choisissez en un autre', 'erreur_feed_id_existe' => 'L\'identifiant de feed saisi existe déjà : choisissez en un autre',
'erreur_extra_id_existe' => 'L\'identifiant de nature de données saisi existe déjà : choisissez en un autre',
'erreur_extra_id_new' => 'L\'identifiant de nature de données `new` n\'est pas autorisé : choisissez en un autre',
'erreur_extra_id' => 'L\'identifiant saisi n\'est pas valide',
'erreur_extra_decimale' => 'Le nombre de décimales saisi n\'est pas autorisé',
'erreur_recuperation_source' => 'Le fichier source n\'a pas pu être stocké dans le feed', 'erreur_recuperation_source' => 'Le fichier source n\'a pas pu être stocké dans le feed',
'explication_feed_id' => 'L\'identifiant est un mot sans espace composé uniquement de lettres, chiffres et du caractère "_" (tiret bas). Il est initialisé avec une valeur unique non déjà utilisée mais vous pouvez néanmoins la modifier', 'explication_feed_id' => 'L\'identifiant est un mot sans espace composé uniquement de lettres, chiffres et du caractère "_" (tiret bas). Il est initialisé avec une valeur unique non déjà utilisée mais vous pouvez néanmoins la modifier',
'explication_feed_titre' => 'Le titre peut-être écrit en utilisant la balise multilangues', 'explication_feed_titre' => 'Le titre peut-être écrit en utilisant la balise multilangues',
...@@ -35,9 +39,13 @@ $GLOBALS[$GLOBALS['idx_lang']] = array( ...@@ -35,9 +39,13 @@ $GLOBALS[$GLOBALS['idx_lang']] = array(
'explication_feed_mapping_valeur' => 'Cet index racine représente la partie spécifique permettant d\'accéder à la valeur statistique dans le tableau des données source. Il est exprimé sous la forme index1/index2/index3', 'explication_feed_mapping_valeur' => 'Cet index racine représente la partie spécifique permettant d\'accéder à la valeur statistique dans le tableau des données source. Il est exprimé sous la forme index1/index2/index3',
'explication_feed_mapping_code_csv' => 'Cet index racine représente le nom de la colonne correspondant au code de territoire dans le le fichier CSV. Les lettres avec accents seront remplacées par leur équivalent sans accent.', 'explication_feed_mapping_code_csv' => 'Cet index racine représente le nom de la colonne correspondant au code de territoire dans le le fichier CSV. Les lettres avec accents seront remplacées par leur équivalent sans accent.',
'explication_feed_mapping_valeur_csv' => 'Cet index racine représente le nom de la colonne correspondant à la valeur statistique dans le fichier CSV. Les lettres avec accents seront remplacées par leur équivalent sans accent.', 'explication_feed_mapping_valeur_csv' => 'Cet index racine représente le nom de la colonne correspondant à la valeur statistique dans le fichier CSV. Les lettres avec accents seront remplacées par leur équivalent sans accent.',
'explication_extra_id' => 'L\'identifiant est un mot sans espace composé uniquement de lettres, chiffres et du caractère "_" (tiret bas). Il est initialisé avec la valeur `new` qu\'il convient de modifier.',
'explication_extra_decimale' => 'Choisissez une valeur supérieure à 1 et inférieure à 9.',
'explication_extra_titre' => 'Le libellé peut-être écrit en utilisant la balise multilangues ou un item de langue',
// I // I
'icone_creer_feed' => 'Créer un jeu de données', 'icone_creer_feed' => 'Créer un jeu de données',
'icone_creer_extra' => 'Créer une nature de données',
'icone_modifier_feed' => 'Modifier le jeu de données', 'icone_modifier_feed' => 'Modifier le jeu de données',
'info_0_feed' => 'Aucun jeu de données', 'info_0_feed' => 'Aucun jeu de données',
'info_1_feed' => '1 jeu de données', 'info_1_feed' => '1 jeu de données',
...@@ -71,11 +79,19 @@ $GLOBALS[$GLOBALS['idx_lang']] = array( ...@@ -71,11 +79,19 @@ $GLOBALS[$GLOBALS['idx_lang']] = array(
'label_feed_source_provider_name' => 'Fournisseur', 'label_feed_source_provider_name' => 'Fournisseur',
'label_feed_source_provider_url' => 'URL du fournisseur', 'label_feed_source_provider_url' => 'URL du fournisseur',
'label_feed_source_date' => 'Date de la dernière mise à jour', 'label_feed_source_date' => 'Date de la dernière mise à jour',
'label_extra_decimale' => 'Nombre de décimales affichées',
'label_extra_format' => 'Format des valeurs',
'label_extra_id' => 'Identifiant de la nature de données',
'label_extra_titre' => 'Libellé',
'label_extra_type' => 'Type de données',
'label_extra_unite' => 'Unité de la valeur',
'legende_feed_identite' => 'Identification du jeu de données', 'legende_feed_identite' => 'Identification du jeu de données',
'legende_feed_unite_peuplement' => 'Territoires concernés', 'legende_feed_unite_peuplement' => 'Territoires concernés',
'legende_feed_source' => 'Origine & signification des données', 'legende_feed_source' => 'Origine & signification des données',
'legende_feed_mapping' => 'Interprétation des données', 'legende_feed_mapping' => 'Interprétation des données',
'legende_feed_credit_licence' => 'Licence & Crédits', 'legende_feed_credit_licence' => 'Licence & Crédits',
'legende_extra_identite' => 'Identification de la nature de données',
'legende_extra_format' => 'Affichage des valeurs',
// M // M
'menu_peupler' => 'Ajouter des jeux de données', 'menu_peupler' => 'Ajouter des jeux de données',
...@@ -84,10 +100,15 @@ $GLOBALS[$GLOBALS['idx_lang']] = array( ...@@ -84,10 +100,15 @@ $GLOBALS[$GLOBALS['idx_lang']] = array(
'option_feed_type_code_iso_territoire' => 'Code primaire normalisé', 'option_feed_type_code_iso_territoire' => 'Code primaire normalisé',
'option_feed_type_source_api' => 'Données accessibles via une API', 'option_feed_type_source_api' => 'Données accessibles via une API',
'option_feed_type_source_file' => 'Fichier à télécharger', 'option_feed_type_source_file' => 'Fichier à télécharger',
'option_unite_aucune' => '-- Aucune unité',
// T // T
'titre_etape_creer' => 'Etape @etape@ / @etapes@', 'titre_etape_creer' => 'Etape @etape@ / @etapes@',
'titre_page_creer' => 'Créer un jeu de données', 'titre_page_creer' => 'Créer un jeu de données',
'titre_page_creer_extra' => 'Créer une nature de données',
'titre_page_editer_extra' => 'Editer une nature de données',
'titre_page_creer_unite' => 'Créer une unité de données',
'titre_page_editer_unite' => 'Editer une unité de données',
'titre_page_peupler' => 'Gestion des jeux de données sur les territoires', 'titre_page_peupler' => 'Gestion des jeux de données sur les territoires',
'titre_liste_extras_stat' => 'Données statistiques', 'titre_liste_extras_stat' => 'Données statistiques',
'titre_liste_extras_info' => 'Caractéristiques', 'titre_liste_extras_info' => 'Caractéristiques',
......
...@@ -6,14 +6,15 @@ ...@@ -6,14 +6,15 @@
logo="territoires_data.svg" logo="territoires_data.svg"
schema="1" schema="1"
> >
<nom>Statistiques pour les territoires</nom> <nom>Jeux de données pour territoires</nom>
<!-- Gérer des données statistiques sur les territoires --> <!-- Associer des données et statistiques aux territoires -->
<auteur lien="http://blog.smellup.net/">Eric Lupinacci</auteur> <auteur lien="http://blog.smellup.net/">Eric Lupinacci</auteur>
<licence lien="http://www.gnu.org/licenses/gpl-3.0.html">GPL</licence> <licence lien="http://www.gnu.org/licenses/gpl-3.0.html">GPL</licence>
<pipeline nom="declarer_tables_auxiliaires" inclure="base/territoires_data.php" /> <pipeline nom="declarer_tables_auxiliaires" inclure="base/territoires_data.php" />
<pipeline nom="autoriser" inclure="territoires_data_autorisations.php" />
<pipeline nom="affiche_milieu" inclure="territoires_data_pipelines.php" /> <pipeline nom="affiche_milieu" inclure="territoires_data_pipelines.php" />
<pipeline nom="post_depeupler_territoire" inclure="territoires_data_pipelines.php" /> <pipeline nom="post_depeupler_territoire" inclure="territoires_data_pipelines.php" />
......
...@@ -5,13 +5,13 @@ ...@@ -5,13 +5,13 @@
iso_pays,1, iso_pays,1,
points,-1 points,-1
}}) }})
]<B_liste_territoires_extras> ]<B_liste_territoire_extras>
#ANCRE_PAGINATION #ANCRE_PAGINATION
<div class="liste-objets territoire_extras"> <div class="liste-objets territoire_extras">
<table class="spip liste"> <table class="spip liste">
[<caption><strong class="caption">(#ENV*{titre})</strong></caption>] [<caption><strong class="caption">(#ENV*{titre})</strong></caption>]
<tbody> <tbody>
<BOUCLE_liste_territoires_extras(TERRITOIRES_EXTRAS) <BOUCLE_liste_territoire_extras(TERRITOIRES_EXTRAS)
{iso_territoire?}{extra?}{type_extra?}{type?}{iso_pays?}{where?} {iso_territoire?}{extra?}{type_extra?}{type?}{iso_pays?}{where?}
{tri #ENV{par, extra},#GET{defaut_tri}} {tri #ENV{par, extra},#GET{defaut_tri}}
{pagination #ENV{nb,10}} {pagination #ENV{nb,10}}
...@@ -21,11 +21,11 @@ ...@@ -21,11 +21,11 @@
<td class="extra principale">[(#EXTRA|territoire_extra_afficher_valeur{#VALEUR})]</td> <td class="extra principale">[(#EXTRA|territoire_extra_afficher_valeur{#VALEUR})]</td>
<td class="unite">[(#EXTRA|territoire_extra_afficher_unite)]</td> <td class="unite">[(#EXTRA|territoire_extra_afficher_unite)]</td>
</tr> </tr>
</BOUCLE_liste_territoires_extras> </BOUCLE_liste_territoire_extras>
</tbody> </tbody>
</table> </table>
[<div class="pagination">(#PAGINATION{#ENV{pagination, prive}})</div>] [<div class="pagination">(#PAGINATION{#ENV{pagination, prive}})</div>]
</div> </div>
</B_liste_territoires_extras>[ </B_liste_territoire_extras>[
<div class="liste-objets territoires caption-wrap"><strong class="caption">(#ENV*{sinon,''})</strong></div> <div class="liste-objets territoires caption-wrap"><strong class="caption">(#ENV*{sinon,''})</strong></div>
]<//B_liste_territoires_extras> ]<//B_liste_territoire_extras>
...@@ -17,6 +17,7 @@ ...@@ -17,6 +17,7 @@
(#SELF (#SELF
|parametre_url{composant, jeu} |parametre_url{composant, jeu}
|parametre_url{category, #CLE} |parametre_url{category, #CLE}
|parametre_url{feed_id, ''}
|lien_ou_expose{ |lien_ou_expose{
[(#GET{libelle}|spip_ucfirst)], [(#GET{libelle}|spip_ucfirst)],
#GET{composant}|=={jeu}|et{#GET{categorie}|=={#CLE}}}) #GET{composant}|=={jeu}|et{#GET{categorie}|=={#CLE}}})
...@@ -28,6 +29,7 @@ ...@@ -28,6 +29,7 @@
(#SELF (#SELF
|parametre_url{composant, #VALEUR} |parametre_url{composant, #VALEUR}
|parametre_url{category, ''} |parametre_url{category, ''}
|parametre_url{feed_id, ''}
|lien_ou_expose{ |lien_ou_expose{
[(#GET{libelle}|spip_ucfirst)], [(#GET{libelle}|spip_ucfirst)],
#GET{composant}|=={#VALEUR}}) #GET{composant}|=={#VALEUR}})
......
#SET{extra, #ENV{extra, new}}
#SET{redirect, #ENV{redirect, ''}}
[(#GET{extra}|=={new}|oui)
[(#AUTORISER{creer, territoireextra}|sinon_interdire_acces)]
][(#GET{extra}|=={new}|non)
[(#AUTORISER{editer, territoireextra, #GET{extra}}|sinon_interdire_acces)]
]
<h1 class="grostitre">
[(#GET{extra}|=={new}|?{<:territoires_data:titre_page_creer_extra:>, <:territoires_data:titre_page_editer_extra:>})]
</h1>
[<div class="noajax">
(#FORMULAIRE_EDITER_TERRITOIRE_EXTRA{#GET{extra}, #GET{redirect}})
</div>]
...@@ -2,5 +2,5 @@ ...@@ -2,5 +2,5 @@
<h1 class="grostitre"><:territoires_data:titre_page_creer:></h1> <h1 class="grostitre"><:territoires_data:titre_page_creer:></h1>
[<div class="noajax"> [<div class="noajax">
(#FORMULAIRE_CREER_FEED_TERRITOIRES{#ENV{categorie}}) (#FORMULAIRE_CREER_TERRITOIRE_FEED{#ENV{categorie}})
</div>] </div>]
...@@ -16,7 +16,7 @@ ...@@ -16,7 +16,7 @@
#SET{redirect,'javascript:if (window.jQuery) jQuery(".entete-formulaire .retour a").followLink();'} #SET{redirect,'javascript:if (window.jQuery) jQuery(".entete-formulaire .retour a").followLink();'}
<div class="ajax"> <div class="ajax">
] ]
[(#FORMULAIRE_EDITER_FEED_TERRITOIRES{#ENV{feed_id}, #GET{redirect}})] [(#FORMULAIRE_EDITER_TERRITOIRE_FEED{#ENV{feed_id}, #GET{redirect}})]
[(#ENV{retourajax,''}|oui) [(#ENV{retourajax,''}|oui)
</div> </div>
<script type="text/javascript">/*<!\[CDATA\[*/reloadExecPage('#ENV{exec}');/*\]\]>*/</script> <script type="text/javascript">/*<!\[CDATA\[*/reloadExecPage('#ENV{exec}');/*\]\]>*/</script>
......
[(#AUTORISER{creer, territoireextra})
[(#URL_ECRIRE{territoire_extra_editer}
|parametre_url{extra, new}
|parametre_url{redirect, #SELF}
|icone_verticale{<:territoires_data:icone_creer_extra:/>,territoires_feed,new,right})]
<div class="clearfix"></div>
]
[(#REM) <!-- Liste des natures d'extras enregistrées --> ] [(#REM) <!-- Liste des natures d'extras enregistrées --> ]
<INCLURE{fond=prive/squelettes/liste/territoires_extras, env, ajax} /> <INCLURE{fond=prive/squelettes/liste/territoire_extras, env, ajax} />
[(#AUTORISER{creer, feed, '', #NULL, #ARRAY{plugin, territoires_data}}) [(#AUTORISER{creer, feed, '', #NULL, #ARRAY{plugin, territoires_data}})
[(#URL_ECRIRE{feed_territoires_creer} [(#URL_ECRIRE{territoire_feed_creer}
|parametre_url{categorie, #ENV{categorie}} |parametre_url{categorie, #ENV{categorie}}
|icone_verticale{<:territoires_data:icone_creer_feed:/>,territoires_feed,new,right})] |icone_verticale{<:territoires_data:icone_creer_feed:/>,territoires_feed,new,right})]
<div class="clearfix"></div> <div class="clearfix"></div>
...@@ -11,7 +11,7 @@ ...@@ -11,7 +11,7 @@
</div>] </div>]
[(#AUTORISER{creer, feed, '', #NULL, #ARRAY{plugin, territoires_data}}) [(#AUTORISER{creer, feed, '', #NULL, #ARRAY{plugin, territoires_data}})
[(#URL_ECRIRE{feed_territoires_creer} [(#URL_ECRIRE{territoire_feed_creer}
|parametre_url{categorie, #ENV{categorie}} |parametre_url{categorie, #ENV{categorie}}
|icone_verticale{<:territoires_data:icone_creer_feed:/>,territoires_feed,new,right})] |icone_verticale{<:territoires_data:icone_creer_feed:/>,territoires_feed,new,right})]
] ]
...@@ -21,23 +21,29 @@ ...@@ -21,23 +21,29 @@
<th class="id" scope="col"><:territoire_extra:champ_extra_id:></th> <th class="id" scope="col"><:territoire_extra:champ_extra_id:></th>
<th class="titre principale" scope="col">[(#TRI{label, <:territoire_extra:champ_extra_titre:>, ajax})]</th> <th class="titre principale" scope="col">[(#TRI{label, <:territoire_extra:champ_extra_titre:>, ajax})]</th>
<th class="type_extra" scope="col">[(#TRI{type_extra, <:territoire_extra:champ_extra_type:>, ajax})]</th> <th class="type_extra" scope="col">[(#TRI{type_extra, <:territoire_extra:champ_extra_type:>, ajax})]</th>
<th class="type_data"><:territoire_extra:champ_extra_format:></th> <th class="format"><:territoire_extra:champ_extra_format:></th>
<th class="unite" scope="col"><:territoire_extra:champ_extra_unite:></th> <th class="unite" scope="col"><:territoire_extra:champ_extra_unite:></th>
<th class="action" scope="col">&nbsp;</th> <th class="action" scope="col">&nbsp;</th>
</tr> </tr>
</thead> </thead>
<tbody> <tbody>
<BOUCLE_liste_extras(DATA) {source table, #CONFIG{territoires_data/extras}}{where?}{tri #ENV{par, label}, #GET{defaut_tri}}{pagination #ENV{pas, 10}}> <BOUCLE_liste_extras(DATA) {source table, #CONFIG{territoires_data/extras}}{where?}{tri #ENV{par, label}, #GET{defaut_tri}}{pagination #ENV{pas, 10}}>
<tr class="[(#COMPTEUR_BOUCLE|alterner{row_odd, row_even})]"> <tr class="[(#COMPTEUR_BOUCLE|alterner{row_odd, row_even})]">
<td class="id">#CLE</td> <td class="id">#CLE</td>
<td class="titre principale">[(#VALEUR{label}|typo)]</td> <td class="titre principale">[(#VALEUR{label}|typo)]</td>
<td class="type_extra">[(#VAL{territoire_extra:type_extra_}|concat{#VALEUR{type_extra}}|_T)]</td> <td class="type_extra">[(#VALEUR{type_extra}|territoire_extra_type_traduire)]</td>
<td class="type_data">[(#VALEUR{type_data}|territoire_extra_afficher_format)]</td> <td class="format">[(#VALEUR{format}|territoire_extra_format_traduire)]</td>
<td class="unite">[(#VALEUR{unite}|oui)[(#VAL{territoire_extra:unite_}|concat{#VALEUR{unite}}|_T)]]</td> <td class="unite">[(#VALEUR{unite}|territoire_unite_traduire)]</td>
<td class="action"> <td class="action">
</td> <div class="groupe-btns">[
(#AUTORISER{editer, territoireextra, #CLE})
[<a href="(#URL_ECRIRE{territoire_extra_editer, extra=#CLE}|parametre_url{redirect, #SELF})" class="btn btn_mini btn_secondaire"><:ezmashup:bouton_editer:></a>][
(#AUTORISER{supprimer, territoireextra, #CLE})
[(#BOUTON_ACTION{<:ezmashup:bouton_supprimer:>, #URL_ACTION_AUTEUR{supprimer_territoire_extra, #CLE, #SELF}, btn_mini btn_secondaire})]
]</div>
]</td>
</tr> </tr>
</BOUCLE_liste_extras> </BOUCLE_liste_extras>
</tbody> </tbody>
</table> </table>
[<nav class="pagination">(#PAGINATION{#ENV{pagination, prive}})</nav>] [<nav class="pagination">(#PAGINATION{#ENV{pagination, prive}})</nav>]
......
0% Chargement en cours ou .
You are about to add 0 people to the discussion. Proceed with caution.
Veuillez vous inscrire ou vous pour commenter