Skip to content
Extraits de code Groupes Projets

Comparer les révisions

Les modifications sont affichées comme si la révision source était fusionnée avec la révision cible. En savoir plus sur la comparaison des révisions.

Source

Sélectionner le projet cible
No results found

Cible

Sélectionner le projet cible
  • spip-contrib-extensions/livraison
1 résultat
Afficher les modifications
Validations sur la source (5)
......@@ -55,6 +55,8 @@ function formulaires_editer_livraisonmode_identifier_dist($id_livraisonmode='new
* Hash du formulaire
*/
function formulaires_editer_livraisonmode_saisies_dist($id_livraisonmode='new', $retour='', $lier_trad=0, $config_fonc='', $row=array(), $hidden=''){
include_spip('inc/utils');
$select2 = test_plugin_actif('select2');
$saisies = [
[
'saisie' => 'input',
......@@ -73,11 +75,25 @@ function formulaires_editer_livraisonmode_saisies_dist($id_livraisonmode='new',
],
],
[
'saisie' => 'input',
'saisie' => ($select2 ? 'pays' : 'input'),
'options' => [
'nom' => 'zone_pays',
'label' => _T('livraisonmode:champ_zone_pays_label'),
'explication' => _T('livraisonmode:champ_zone_pays_explication'),
'class' => ($select2 ? 'select2' : ''),
'champ_pays' => 'code',
'multiple' => true,
],
],
[
'saisie' => ($select2 ? 'pays' : 'input'),
'options' => [
'nom' => 'zone_pays_exclus',
'label' => _T('livraisonmode:champ_zone_pays_exclus_label'),
'explication' => _T('livraisonmode:champ_zone_pays_exclus_explication'),
'class' => ($select2 ? 'select2' : ''),
'champ_pays' => 'code',
'multiple' => true,
],
],
[
......@@ -96,14 +112,6 @@ function formulaires_editer_livraisonmode_saisies_dist($id_livraisonmode='new',
'explication' => _T('livraisonmode:champ_zone_cp_exclus_explication'),
],
],
[
'saisie' => 'input',
'options' => [
'nom' => 'zone_pays_exclus',
'label' => _T('livraisonmode:champ_zone_pays_exclus_label'),
'explication' => _T('livraisonmode:champ_zone_pays_exclus_explication'),
],
],
[
'saisie' => 'input',
'options' => [
......@@ -134,6 +142,14 @@ function formulaires_editer_livraisonmode_saisies_dist($id_livraisonmode='new',
'label' => _T('livraisonmode:champ_prix_poids_ht_label'),
'explication' => _T('livraisonmode:champ_prix_poids_ht_explication'),
'rows' => 5,
'attributs_data' => [
'saisies-editer-valeurs-tabulaires' => [
'colonnes_labels' => [
_T('livraisonmode:champ_poids_label'),
_T('livraisonmode:champ_prix_ht_label'),
],
],
],
],
],
[
......@@ -143,6 +159,14 @@ function formulaires_editer_livraisonmode_saisies_dist($id_livraisonmode='new',
'label' => _T('livraisonmode:champ_prix_volume_ht_label'),
'explication' => _T('livraisonmode:champ_prix_volume_ht_explication'),
'rows' => 5,
'attributs_data' => [
'saisies-editer-valeurs-tabulaires' => [
'colonnes_labels' => [
_T('livraisonmode:champ_volume_label'),
_T('livraisonmode:champ_prix_ht_label'),
],
],
],
],
],
];
......@@ -228,6 +252,13 @@ function formulaires_editer_livraisonmode_verifier_dist($id_livraisonmode='new',
* Retours des traitements
*/
function formulaires_editer_livraisonmode_traiter_dist($id_livraisonmode='new', $retour='', $lier_trad=0, $config_fonc='', $row=array(), $hidden=''){
// Normaliser les sélections de pays si nécessaire
foreach (['zone_pays', 'zone_pays_exclus'] as $champ) {
$valeur = _request($champ);
if (is_array($valeur)) {
set_request($champ, implode(',', $valeur));
}
}
return formulaires_editer_objet_traiter('livraisonmode',$id_livraisonmode,'',$lier_trad,$retour,$config_fonc,$row,$hidden);
}
......
......@@ -9,18 +9,26 @@ $GLOBALS[$GLOBALS['idx_lang']] = array(
// A
'ajouter_lien_livraisonmode' => 'Ajouter ce mode de livraison',
// B
'bouton_ajouter_tranche' => 'Ajouter une tranche',
'bouton_supprimer_tranche' => 'Supprimer cette tranche',
'bouton_deplacer_tranche' => 'Déplacer cette tranche',
// C
'champ_descriptif_label' => 'Descriptif',
'champ_poids_label' => 'Poids (g)',
'champ_prix_forfait_ht_explication' => 'Coût forfaitaire pour la livraison, indépendant du contenu',
'champ_prix_forfait_ht_label' => 'Prix Forfaitaire H.T.',
'champ_prix_poids_ht_explication' => 'Liste des tranches de prix, une tranche par ligne, au format <tt>Poids (g)|Prix HT</tt>',
'champ_prix_poids_ht_label' => 'Prix au poids H.T.',
'champ_prix_unit_ht_explication' => 'Coût de la livraison par produit livré',
'champ_prix_unit_ht_label' => 'Prix Unitaire H.T.',
'champ_prix_volume_ht_explication' => 'Liste des tranches de prix, une tranche par ligne, au format <tt>Volume (cm3)|Prix HT</tt>',
'champ_prix_volume_ht_explication' => 'Liste des tranches de prix, une tranche par ligne, au format <tt>Volume (cm³)|Prix HT</tt>',
'champ_prix_volume_ht_label' => 'Prix au volume H.T.',
'champ_prix_ht_label' => 'Prix H.T.',
'champ_taxe_label' => 'TVA applicable',
'champ_titre_label' => 'Titre',
'champ_volume_label' => 'Volume (cm³)',
'champ_zone_cp_exclus_explication' => 'Si la livraison n\'est pas applicable à certains départements/états, liste des débuts de code postaux non livrables par ce mode, séparés par une virgule (Ex : <tt>971,973</tt> pour exclure la Guadeloupe et la Guyanne)',
'champ_zone_cp_exclus_label' => 'Départements exclus',
'champ_zone_cp_explication' => 'Si la livraison est limitée à certains départements/états, liste des débuts de code postaux livrables par ce mode, séparés par une virgule (Ex : <tt>971,973</tt> pour limiter à la Guadeloupe et la Guyanne)',
......
......@@ -10,10 +10,23 @@
<span dir='#LANG_DIR' class='#EDIT{descriptif} descriptif'>(#DESCRIPTIF)</span>
</div>]
[<div class="champ contenu_zone_pays[ (#ZONE_PAYS*|strlen|?{'',vide})]">
<div class="champ contenu_zone_pays[ (#ZONE_PAYS*|strlen|?{'',vide})]">
<label><:livraisonmode:champ_zone_pays_label:> : </label>
<span dir='#LANG_DIR' class='#EDIT{zone_pays} zone_pays'>(#ZONE_PAYS)</span>
</div>]
<span dir='#LANG_DIR' class='#EDIT{zone_pays} zone_pays'>
<BOUCLE_zone_pays(PAYS) {code IN #ZONE_PAYS*|explode{","}} {", "}>
<abbr title="[(#CODE|attribut_html)]">#NOM</abbr>
</BOUCLE_zone_pays>
</span>
</div>
<div class="champ contenu_zone_pays_exclus[ (#ZONE_PAYS_EXCLUS*|strlen|?{'',vide})]">
<label><:livraisonmode:champ_zone_pays_exclus_label:> : </label>
<span dir='#LANG_DIR' class='#EDIT{zone_pays_exclus} zone_pays_exclus'>
<BOUCLE_zone_pays_exclus(PAYS) {code IN #ZONE_PAYS_EXCLUS*|explode{","}} {", "}>
<abbr title="[(#CODE|attribut_html)]">#NOM</abbr>
</BOUCLE_zone_pays_exclus>
</span>
</div>
[<div class="champ contenu_zone_cp[ (#ZONE_CP*|strlen|?{'',vide})]">
<label><:livraisonmode:champ_zone_cp_label:> : </label>
......@@ -40,14 +53,40 @@
<span dir='#LANG_DIR' class='#EDIT{prix_unit_ht} prix_unit_ht'>(#PRIX_UNIT_HT)</span>
</div>]
[<div class="champ contenu_prix_poids_ht[ (#PRIX_POIDS_HT*|strlen|?{'',vide})]">
<B_lignes_poids>
<div class="champ contenu_prix_poids_ht[ (#PRIX_POIDS_HT*|strlen|?{'',vide})]">
<label><:livraisonmode:champ_prix_poids_ht_label:> : </label>
<span dir='#LANG_DIR' class='#EDIT{prix_poids_ht} prix_poids_ht'>(#PRIX_POIDS_HT)</span>
</div>]
<div dir='#LANG_DIR' class='#EDIT{prix_poids_ht} prix_poids_ht'>
<table class="spip">
<thead>
<tr><th><:livraisonmode:champ_poids_label:></th><th><:livraisonmode:champ_prix_ht_label:></th></tr>
</thead>
<tbody>
<BOUCLE_lignes_poids(DATA) {source table, #VAL{"/\R/"}|preg_split{#PRIX_POIDS_HT*}}>
<tr><td>[(#VALEUR|strstr{'|',#EVAL{true}})]</td><td>[(#VALEUR|strstr{'|'}|substr{1})]</td></tr>
</BOUCLE_lignes_poids>
</tbody>
</table>
</div>
</div>
</B_lignes_poids>
[<div class="champ contenu_prix_volume_ht[ (#PRIX_VOLUME_HT*|strlen|?{'',vide})]">
<B_lignes_volume>
<div class="champ contenu_prix_volume_ht[ (#PRIX_VOLUME_HT*|strlen|?{'',vide})]">
<label><:livraisonmode:champ_prix_volume_ht_label:> : </label>
<span dir='#LANG_DIR' class='#EDIT{prix_volume_ht} prix_volume_ht'>(#PRIX_VOLUME_HT)</span>
</div>]
<div dir='#LANG_DIR' class='#EDIT{prix_volume_ht} prix_volume_ht'>
<table class="spip">
<thead>
<tr><th><:livraisonmode:champ_volume_label:></th><th><:livraisonmode:champ_prix_ht_label:></th></tr>
</thead>
<tbody>
<BOUCLE_lignes_volume(DATA) {source table, #VAL{"/\R/"}|preg_split{#PRIX_VOLUME_HT*}}>
<tr><td>[(#VALEUR|strstr{'|',#EVAL{true}})]</td><td>[(#VALEUR|strstr{'|'}|substr{1})]</td></tr>
</BOUCLE_lignes_volume>
</tbody>
</table>
</div>
</div>
</B_lignes_volume>
</BOUCLE_livraisonmode>
\ No newline at end of file
#HTTP_HEADER{Content-Type: text/css; charset=#CHARSET}
#HTTP_HEADER{Vary: Accept-Encoding}
[(#REM)<style>]
/**
* Formulaire d'édition d'un mode de livraison
*/
.tableau-editer-tranches {
background-color: var(--spip-color-gray-lightest);
}
.tableau-editer-tranches :is(tbody, tfoot) :is(tr, tr:nth-child(2n)) > :is(td, th) {
background-color: transparent;
}
.tableau-editer-tranches tfoot td {
text-align: center;
}
.formulaire_editer_livraisonmode .visually-hidden {
position: absolute !important; /* patch css dist */
}
/* Drag/drop */
.formulaire_editer_livraisonmode td.drag {
padding: 0;
}
.formulaire_editer_livraisonmode tr.sortable-chosen td {
background-color: var(--spip-color-theme-lighter) !important;
}
.formulaire_editer_livraisonmode .btn_drag:hover {
cursor: pointer;
}
\ No newline at end of file