Changeset 95562 in spip-zone


Ignore:
Timestamp:
Feb 27, 2016, 8:13:03 PM (4 years ago)
Author:
abelass@…
Message:
  • afficher les rérvations en statut accepte_part
  • afficher la puce statut
  • tableau des statuts après la pipeleine, pour récupérer des éventuels changements dr statut
  • vérification plus souple
Location:
_plugins_/reservation_evenement/branches/v1
Files:
7 edited

Legend:

Unmodified
Added
Removed
  • _plugins_/reservation_evenement/branches/v1/action/editer_reservation.php

    r95027 r95562  
    11<?php
    22if (!defined('_ECRIRE_INC_VERSION'))
    3   return;
     3        return;
    44
    55function reservation_inserer($id_parent = null, $set = null) {
    6   $table_sql = table_objet_sql('reservation');
    7   $champs = array();
    8   $champs['statut'] = 'encours';
    9   $champs['date'] = date('Y-m-d H:i:s');
    10 
    11   if ($set)
    12     $champs = array_merge($champs, $set);
    13 
    14   // Envoyer aux plugins
    15   $champs = pipeline('pre_insertion', array(
    16     'args' => array('table' => $table_sql, ),
    17     'data' => $champs
    18   ));
    19 
    20   $id = sql_insertq($table_sql, $champs);
    21 
    22   if ($id) {
    23     pipeline('post_insertion', array(
    24       'args' => array(
    25         'table' => $table_sql,
    26         'id_objet' => $id,
    27       ),
    28       'data' => $champs
    29     ));
    30   }
    31   return $id;
     6        $table_sql = table_objet_sql('reservation');
     7        $champs = array();
     8        $champs['statut'] = 'encours';
     9        $champs['date'] = date('Y-m-d H:i:s');
     10
     11        if ($set)
     12                $champs = array_merge($champs, $set);
     13
     14        // Envoyer aux plugins
     15        $champs = pipeline('pre_insertion', array(
     16                'args' => array('table' => $table_sql, ),
     17                'data' => $champs
     18        ));
     19
     20        $id = sql_insertq($table_sql, $champs);
     21
     22        if ($id) {
     23                pipeline('post_insertion', array(
     24                        'args' => array(
     25                                'table' => $table_sql,
     26                                'id_objet' => $id,
     27                        ),
     28                        'data' => $champs
     29                ));
     30        }
     31        return $id;
    3232}
    3333
    3434function reservation_instituer($id_reservation, $c, $calcul_rub = true) {
    35   $table_sql = table_objet_sql('reservation');
    36   $trouver_table = charger_fonction('trouver_table', 'base');
    37 
    38   include_spip('inc/autoriser');
    39   include_spip('inc/rubriques');
    40   include_spip('inc/modifier');
    41   include_spip('inc/config');
    42   $config = lire_config('reservation_evenement');
    43  
    44   $statut_calculer_auto = isset($config['statut_calculer_auto']) ? $config['statut_calculer_auto'] : '';
    45  
    46   if ($statut_calculer_auto == 'on') set_request('statuts_details_reservation',array());
    47 
    48   $row = sql_fetsel('statut,date,id_auteur,email,lang,donnees_auteur', 'spip_reservations', 'id_reservation=' . intval($id_reservation));
    49   $statut_ancien = $statut = $row['statut'];
    50   $date_ancienne = $date = $row['date'];
    51   $donnees_auteur = isset($row['donnees_auteur']) ? $row['donnees_auteur'] :'';
    52   if ($donnees_auteur) {
    53         $donnees_auteur = unserialize($donnees_auteur);
    54   }
    55 
    56   $d = isset($c['date']) ? $c['date'] : null;
    57   $s = isset($c['statut']) ? $c['statut'] : $statut;
    58 
    59   $champs = array();
    60   // cf autorisations dans inc/instituer_objet
    61   if ($s != $statut OR ($d AND $d != $date)) {
    62     if (autoriser('modifier', 'reservation', $id_reservation))
    63       $statut = $champs['statut'] = $s;
    64     else
    65       spip_log("editer_reservation $id_reservation refus " . join(' ', $c));
    66 
    67     // En cas de paiement, fixer la date_paiement a "maintenant"
    68 
    69     if ($statut == 'accepte' AND $statut_ancien == 'attente_paiement')
    70       $champs['date_paiement'] = date('Y-m-d H:i:s');
    71   }
    72  
    73   // Gérer les détails des réservations
    74   $set = array(
    75     'id_reservation' => $id_reservation,
    76     'statut' => $statut,
    77     'statut_calculer_auto' => $statut_calculer_auto
    78   );
    79  
    80   $evenements = _request('id_evenement');
    81 
    82   // Si les déclinaisons sont actives on récupère les évenements via le prix
    83   if (test_plugin_actif('declinaisons')) {
    84     $evenements = array();
    85     if ($id_prix_objet = _request('id_objet_prix')) {
    86       foreach (array_keys($id_prix_objet ) AS $id_evenement) {
    87         $evenements[] = $id_evenement;
    88       }
    89     }
    90   }
    91   // Si on n'est pas dans le cas d'une création, on récupère les détails attachées à la réservation
    92   if (!is_array($evenements) OR (is_array($evenements) AND count($evenements) == 0)) {
    93     include_spip('action/editer_reservations_detail');
    94     $c = array('statut' => $statut,'statut_calculer_auto' => $statut_calculer_auto);
    95     $sql = sql_select('id_reservations_detail', 'spip_reservations_details', 'id_reservation=' . $id_reservation);
    96     // Eviter l'envoi d'une notification pour chaque détail
    97     set_request('envoi_separe_actif', 'non');
    98     while ($data = sql_fetch($sql)) {
    99       reservations_detail_instituer($data['id_reservations_detail'], $c);
    100     }
    101   }
    102   else {
    103     $action = charger_fonction('editer_objet', 'action');
    104     $set['evenements'] = $evenements;
    105     set_request('evenements', $evenements);
    106   }
    107   //Si on est dans le cas d'une création
    108   if (is_array($evenements)) {
    109     // Pour chaque évènement on crée un détail de la réservation
    110     foreach ($evenements AS $id_evenement) {
    111       // Si aucun détail n'est attaché à l'évènement, on le crée
    112       if (!$reservations_detail = sql_fetsel('*', 'spip_reservations_details', 'id_reservation=' . $id_reservation . ' AND id_evenement=' . $id_evenement)) {
    113         $id_reservations_detail = 'new';
    114         $set['id_prix_objet'] = $id_prix_objet[$id_evenement];
    115       }
    116       else {
    117         $id_reservations_detail = $reservations_detail['id_reservations_detail'];
    118         $set['quantite'] = $reservations_detail['quantite'];
    119       }
    120 
    121       // Pour l'enregistrement
    122       $set['id_evenement'] = $id_evenement;
    123 
    124       // Eviter l'envoi d'une notification pour chaque détail
    125       set_request('envoi_separe_actif', 'non');
    126       $detail = $action($id_reservations_detail, 'reservations_detail', $set);
    127     }
    128   }
    129  
    130   //Etablir si tous les détails d'événement ont le statut de la réservation
    131   if ($statut_calculer_auto  == 'on' AND $champs['statut'] == 'accepte') {
    132 
    133     $statuts_details_reservation = _request('statuts_details_reservation');
    134     $statut_modifie=array();
    135    
    136     foreach ($statuts_details_reservation AS $id_detail_reservation => $data) {
    137        $statut_modifie[] = $data['statut_modifie'];
    138     }
    139     //Sinon lui attibuer lms statut accepté partiellement.
    140     if (array_sum( $statut_modifie) > 0) $champs['statut'] = 'accepte_part';
    141   }
    142 
    143   //les champs extras auteur
    144   include_spip('cextras_pipelines');
    145   $valeurs_extras = array();
    146 
    147   if (function_exists('champs_extras_objet')) {
    148     //Charger les définitions pour la création des formulaires
    149     $champs_extras_auteurs = champs_extras_objet(table_objet_sql('auteur'));
    150 
    151     if (is_array($champs_extras_auteurs)) {
    152       foreach ($champs_extras_auteurs as $value) {
    153 
    154         $valeurs_extras[$value['options']['nom']] = _request($value['options']['nom']) ? _request($value['options']['nom']) : (isset($donnees_auteur[$value['options']['nom']]) ? $donnees_auteur[$value['options']['nom']] : '');
    155       }
    156     }
    157     $champs['donnees_auteur'] = serialize($valeurs_extras);
    158   }
    159 
    160   // Envoyer aux plugins
    161   $champs = pipeline('pre_edition', array(
    162     'args' => array(
    163       'table' => 'spip_reservations',
    164       'id_reservation' => $id_reservation,
    165       'action' => 'instituer',
    166       'statut_ancien' => $statut_ancien,
    167       'date_ancienne' => $date_ancienne,
    168     ),
    169     'data' => $champs
    170   ));
    171 
    172   if (!count($champs))
    173     return '';
    174 
    175   // Envoyer les modifs.
    176   objet_editer_heritage('reservation', $id_reservation, '', $statut_ancien, $champs);
    177 
    178   // Invalider les caches
    179   include_spip('inc/invalideur');
    180   suivre_invalideur("id='reservation/$id_reservation'");
    181 
    182   // Pipeline
    183   pipeline('post_edition', array(
    184     'args' => array(
    185       'table' => 'spip_reservations',
    186       'id_reservation' => $id_reservation,
    187       'action' => 'instituer',
    188       'statut_ancien' => $statut_ancien,
    189       'date_ancienne' => $date_ancienne,
    190       'id_parent_ancien' => $id_rubrique,
    191     ),
    192     'data' => $champs
    193   ));
    194 
    195   // Les traitements spécifiques
    196   // Notifications
    197   if ((!$statut_ancien OR $statut != $statut_ancien) && (isset($config['activer'])) && (isset($config['quand']) && is_array($config['quand']) && in_array($statut, $config['quand'])) && ($notifications = charger_fonction('notifications', 'inc', true))) {
    198     //Déterminer la langue pour les notifications
    199     $lang = isset($row['lang']) ? $row['lang'] : lire_config('langue_site');
    200     lang_select($lang);
    201     // Determiner l'expediteur
    202     $options = array(
    203       'statut' => $champs['statut'],
    204       'lang' => $lang
    205     );
    206     if ($config['expediteur'] != "facteur")
    207       $options['expediteur'] = $config['expediteur_' . $config['expediteur']];
    208 
    209     // Envoyer au vendeur et au client
    210     $notifications('reservation_vendeur', $id_reservation, $options);
    211     if ($config['client']) {
    212       //$row['email']=trim($row['email']);
    213       if (intval($row['id_auteur']) AND $row['id_auteur'] > 0)
    214         $options['email'] = sql_getfetsel('email', 'spip_auteurs', 'id_auteur=' . $row['id_auteur']);
    215       else
    216         $options['email'] = $row['email'];
    217 
    218       $notifications('reservation_client', $id_reservation, $options);
    219     }
    220 
    221   }
    222 
    223   return '';
    224   // pas d'erreur
     35        $table_sql = table_objet_sql('reservation');
     36        $trouver_table = charger_fonction('trouver_table', 'base');
     37
     38        include_spip('inc/autoriser');
     39        include_spip('inc/rubriques');
     40        include_spip('inc/modifier');
     41        include_spip('inc/config');
     42        $config = lire_config('reservation_evenement');
     43
     44        $statut_calculer_auto = isset($config['statut_calculer_auto']) ? $config['statut_calculer_auto'] : '';
     45
     46        if ($statut_calculer_auto == 'on')
     47                set_request('statuts_details_reservation', array());
     48
     49        $row = sql_fetsel('statut,date,id_auteur,email,lang,donnees_auteur', 'spip_reservations', 'id_reservation=' . intval($id_reservation));
     50        $statut_ancien = $statut = $row['statut'];
     51        $date_ancienne = $date = $row['date'];
     52        $donnees_auteur = isset($row['donnees_auteur']) ? $row['donnees_auteur'] : '';
     53        if ($donnees_auteur) {
     54                $donnees_auteur = unserialize($donnees_auteur);
     55        }
     56
     57        $d = isset($c['date']) ? $c['date'] : null;
     58        $s = isset($c['statut']) ? $c['statut'] : $statut;
     59
     60        $champs = array();
     61        // cf autorisations dans inc/instituer_objet
     62        if ($s != $statut OR ($d AND $d != $date)) {
     63                if (autoriser('modifier', 'reservation', $id_reservation))
     64                        $statut = $champs['statut'] = $s;
     65                else
     66                        spip_log("editer_reservation $id_reservation refus " . join(' ', $c));
     67
     68                // En cas de paiement, fixer la date_paiement a "maintenant"
     69
     70                if ($statut == 'accepte' AND $statut_ancien == 'attente_paiement')
     71                        $champs['date_paiement'] = date('Y-m-d H:i:s');
     72        }
     73
     74        // Gérer les détails des réservations
     75        $set = array(
     76                'id_reservation' => $id_reservation,
     77                'statut' => $statut,
     78                'statut_calculer_auto' => $statut_calculer_auto
     79        );
     80
     81        $evenements = _request('id_evenement');
     82
     83        // Si les déclinaisons sont actives on récupère les évenements via le prix
     84        if (test_plugin_actif('declinaisons')) {
     85                $evenements = array();
     86                if ($id_prix_objet = _request('id_objet_prix')) {
     87                        foreach (array_keys($id_prix_objet ) AS $id_evenement) {
     88                                $evenements[] = $id_evenement;
     89                        }
     90                }
     91        }
     92        // Si on n'est pas dans le cas d'une création, on récupère les détails attachées à la réservation
     93        if (!is_array($evenements) OR (is_array($evenements) AND count($evenements) == 0)) {
     94                include_spip('action/editer_reservations_detail');
     95                $c = array(
     96                        'statut' => $statut,
     97                        'statut_calculer_auto' => $statut_calculer_auto
     98                );
     99                $sql = sql_select('id_reservations_detail', 'spip_reservations_details', 'id_reservation=' . $id_reservation);
     100                // Eviter l'envoi d'une notification pour chaque détail
     101                set_request('envoi_separe_actif', 'non');
     102                while ($data = sql_fetch($sql)) {
     103                        reservations_detail_instituer($data['id_reservations_detail'], $c);
     104                }
     105        }
     106        else {
     107                $action = charger_fonction('editer_objet', 'action');
     108                $set['evenements'] = $evenements;
     109                set_request('evenements', $evenements);
     110        }
     111        //Si on est dans le cas d'une création
     112        if (is_array($evenements)) {
     113                // Pour chaque évènement on crée un détail de la réservation
     114                foreach ($evenements AS $id_evenement) {
     115                        // Si aucun détail n'est attaché à l'évènement, on le crée
     116                        if (!$reservations_detail = sql_fetsel('*', 'spip_reservations_details', 'id_reservation=' . $id_reservation . ' AND id_evenement=' . $id_evenement)) {
     117                                $id_reservations_detail = 'new';
     118                                $set['id_prix_objet'] = $id_prix_objet[$id_evenement];
     119                        }
     120                        else {
     121                                $id_reservations_detail = $reservations_detail['id_reservations_detail'];
     122                                $set['quantite'] = $reservations_detail['quantite'];
     123                        }
     124
     125                        // Pour l'enregistrement
     126                        $set['id_evenement'] = $id_evenement;
     127
     128                        // Eviter l'envoi d'une notification pour chaque détail
     129                        set_request('envoi_separe_actif', 'non');
     130                        $detail = $action($id_reservations_detail, 'reservations_detail', $set);
     131                }
     132        }
     133
     134        //Etablir si tous les détails d'événement ont le statut de la réservation
     135        if ($statut_calculer_auto == 'on' AND $c['statut'] == 'accepte') {
     136
     137                $statuts_details_reservation = _request('statuts_details_reservation');
     138                $statut_modifie = array();
     139
     140                foreach ($statuts_details_reservation AS $id_detail_reservation => $data) {
     141                        $statut_modifie[] = $data['statut_modifie'];
     142                }
     143                //Sinon lui attibuer lms statut accepté partiellement.
     144                if (array_sum($statut_modifie) > 0)
     145                        $champs['statut'] = 'accepte_part';
     146        }
     147
     148        //les champs extras auteur
     149        include_spip('cextras_pipelines');
     150        $valeurs_extras = array();
     151
     152        if (function_exists('champs_extras_objet')) {
     153                //Charger les définitions pour la création des formulaires
     154                $champs_extras_auteurs = champs_extras_objet(table_objet_sql('auteur'));
     155
     156                if (is_array($champs_extras_auteurs)) {
     157                        foreach ($champs_extras_auteurs as $value) {
     158
     159                                $valeurs_extras[$value['options']['nom']] = _request($value['options']['nom']) ? _request($value['options']['nom']) : (isset($donnees_auteur[$value['options']['nom']]) ? $donnees_auteur[$value['options']['nom']] : '');
     160                        }
     161                }
     162                $champs['donnees_auteur'] = serialize($valeurs_extras);
     163        }
     164
     165        // Envoyer aux plugins
     166        $champs = pipeline('pre_edition', array(
     167                'args' => array(
     168                        'table' => 'spip_reservations',
     169                        'id_reservation' => $id_reservation,
     170                        'action' => 'instituer',
     171                        'statut_ancien' => $statut_ancien,
     172                        'date_ancienne' => $date_ancienne,
     173                ),
     174                'data' => $champs
     175        ));
     176
     177        if (!count($champs))
     178                return '';
     179
     180        // Envoyer les modifs.
     181        objet_editer_heritage('reservation', $id_reservation, '', $statut_ancien, $champs);
     182
     183        // Invalider les caches
     184        include_spip('inc/invalideur');
     185        suivre_invalideur("id='reservation/$id_reservation'");
     186
     187        // Pipeline
     188        pipeline('post_edition', array(
     189                'args' => array(
     190                        'table' => 'spip_reservations',
     191                        'id_reservation' => $id_reservation,
     192                        'action' => 'instituer',
     193                        'statut_ancien' => $statut_ancien,
     194                        'date_ancienne' => $date_ancienne,
     195                        'id_parent_ancien' => $id_rubrique,
     196                ),
     197                'data' => $champs
     198        ));
     199
     200        // Les traitements spécifiques
     201        // Notifications
     202        if ((!$statut_ancien OR $statut != $statut_ancien) && (isset($config['activer'])) && (isset($config['quand']) && is_array($config['quand']) && in_array($statut, $config['quand'])) && ($notifications = charger_fonction('notifications', 'inc', true))) {
     203                //Déterminer la langue pour les notifications
     204                $lang = isset($row['lang']) ? $row['lang'] : lire_config('langue_site');
     205                lang_select($lang);
     206                // Determiner l'expediteur
     207                $options = array(
     208                        'statut' => $champs['statut'],
     209                        'lang' => $lang
     210                );
     211                if ($config['expediteur'] != "facteur")
     212                        $options['expediteur'] = $config['expediteur_' . $config['expediteur']];
     213
     214                // Envoyer au vendeur et au client
     215                $notifications('reservation_vendeur', $id_reservation, $options);
     216                if ($config['client']) {
     217                        //$row['email']=trim($row['email']);
     218                        if (intval($row['id_auteur']) AND $row['id_auteur'] > 0)
     219                                $options['email'] = sql_getfetsel('email', 'spip_auteurs', 'id_auteur=' . $row['id_auteur']);
     220                        else
     221                                $options['email'] = $row['email'];
     222
     223                        $notifications('reservation_client', $id_reservation, $options);
     224                }
     225
     226        }
     227
     228        return '';
     229        // pas d'erreur
    225230}
  • _plugins_/reservation_evenement/branches/v1/action/editer_reservations_detail.php

    r91649 r95562  
    102102      $champs['statut'] = 'attente';
    103103  }
    104 
    105104
    106105  if ((isset($desc['date']) AND $d=$desc['date']) OR isset($desc['field'][$d='date']))
     
    181180  }
    182181
    183   // Si la config le prévoit, établir si il y eu un changement de statut.
    184   if ($c['statut_calculer_auto'] == 'on') {
    185     if ($c['statut'] != $champs['statut']) $statut_modifie = 1;
    186     else $statut_modifie = 0;
    187    
    188     set_request('statuts_details_reservation',
    189       array_merge(
    190         _request('statuts_details_reservation'),
    191         array(
    192           $id_reservations_detail => array(
    193             'statut' => $champs['statut'],
    194             'statut_modifie' => $statut_modifie
    195           )
    196         )
    197       )
    198     );
    199   }
    200182
    201183  // Envoyer aux plugins
     
    204186      'args' => array(
    205187        'table' => 'spip_reservations_details',
    206         'id_reservation_detail' => $id,
     188        'id_reservation_detail' => $id_reservations_detail,
    207189        'action'=>'instituer',
    208190        'statut_ancien' => $statut_ancien,
     
    212194    )
    213195  );
     196
     197  // Si la config le prévoit, établir si il y eu un changement de statut.
     198  if ($c['statut_calculer_auto'] == 'on') {
     199    if ($c['statut'] != $champs['statut']) $statut_modifie = 1;
     200    else $statut_modifie = 0;
     201               
     202                $statuts_details_reservation = _request('statuts_details_reservation');
     203               
     204                $statuts_details_reservation[$id_reservations_detail] = array(
     205                        'statut' => $champs['statut'],
     206            'statut_modifie' => $statut_modifie
     207                );
     208
     209    set_request('statuts_details_reservation',$statuts_details_reservation);
     210  }
    214211
    215212  if (!count($champs)) return '';
  • _plugins_/reservation_evenement/branches/v1/paquet.xml

    r95450 r95562  
    22  prefix="reservation_evenement"
    33  categorie="date"
    4   version="1.21.14"
     4  version="1.21.15"
    55  etat="test"
    66  compatibilite="[3.0.16;3.1.*]"
  • _plugins_/reservation_evenement/branches/v1/prive/objets/contenu/inc-reservation_montant.html

    r92041 r95562  
    11<BOUCLE_reservation(RESERVATIONS){id_reservation}{tout}>
    2   [(#REM) Si on trouve une reservation on prend ça comme base ]
    3   #SET{details, #ARRAY}
    4   #SET{total,0}
    5   <BOUCLE_reservation_details(RESERVATIONS_DETAILS){id_reservation}{id_reservations_detail ?}{tout}>
    6     #SET{details,
    7       #GET{details}|push{
    8         #ARRAY{
    9           prix, #PRIX*,
    10         }
    11       }}
    12     [(#SET{total,[(#GET{total}|plus{#PRIX*})]})]
    13   </BOUCLE_reservation_details>
    14     #SET{reservation, #ARRAY{details, #GET{details}}}
     2        [(#REM) Si on trouve une reservation on prend ça comme base ]
     3        #SET{details, #ARRAY}
     4        #SET{total,0}
     5        <BOUCLE_reservation_details(RESERVATIONS_DETAILS){id_reservation}{id_reservations_detail ?}{tout}>
     6                #SET{details,
     7                #GET{details}|push{
     8                #ARRAY{
     9                prix, #PRIX*,
     10                }
     11                }}
     12                [(#SET{total,[(#GET{total}|plus{#PRIX*})]})]
     13        </BOUCLE_reservation_details>
     14        #SET{reservation, #ARRAY{details, #GET{details}}}
    1515</BOUCLE_reservation>
    1616
    1717[(#GET{total}|>{0}|oui)
    18 <div class="champ contenu_montant">
    19   <label><:reservation:montant:> : </label>
    20   <span>[(#GET{total}|appliquer_filtre{prix_formater,#GET{total}|})]</span>
    21 </div>
     18        <div class="champ contenu_montant">
     19                <label><:reservation:montant:> : </label>
     20                <span>[(#GET{total}|appliquer_filtre{prix_formater,#GET{total}|})]</span>
     21        </div>
    2222]
    23 
    24 [<div class="champ contenu_email[ (#EMAIL*|strlen|?{'',vide})]">
    25     <label><:reservation:label_email:>
    26     <span dir='#LANG_DIR' class='#EDIT{email} email'>(#EMAIL)</span>
    27 </div>]
  • _plugins_/reservation_evenement/branches/v1/prive/objets/contenu/reservation.html

    r91470 r95562  
    11<BOUCLE_reservation(RESERVATIONS){id_reservation}{statut?}>
    2     [<div class="champ contenu_date[ (#DATE*|strlen|?{'',vide})]">
    3         <label><:reservation:label_date:></label>
    4         <span dir='#LANG_DIR' class='#EDIT{date} date'>(#DATE)</span>
    5     </div>]
    6    
    7     [(#DATE_PAIEMENT|!={0000-00-00 00:00:00}|oui)<div class="champ contenu_date_paiement">
    8         <label><:reservation:label_date_paiement:></label>
    9         <span dir='#LANG_DIR' class='#EDIT{date_paiement} date_paiement'>[(#DATE_PAIEMENT)]</span>
    10     </div>]
    11    
    12     [<div class="champ contenu_type_paiement[ (#TYPE_PAIEMENT*|strlen|?{'',vide})]">
    13         <label><:reservation:label_type_paiement:></label>
    14         <span dir='#LANG_DIR' class='#EDIT{type_paiement} type_paiement'>(#TYPE_PAIEMENT)</span>
    15     </div>]
    16    
    17     <BOUCLE_auteur(AUTEURS){id_auteur}{tout}>
    18     <div class="champ contenu_nom">
    19         <label><:reservation:label_nom:> </label>
    20         <span dir='#LANG_DIR' class='#EDIT{nom} nom'><a href="#URL_ECRIRE{auteur,id_auteur=#ID_AUTEUR}">#NOM</a></span>
    21     </div>
    22    
    23     [<div class="champ contenu_email[ (#EMAIL*|strlen|?{'',vide})]">
    24         <label><:reservation:label_email:></label>
    25         <span dir='#LANG_DIR' class='#EDIT{email} email'>(#EMAIL)</span>
    26     </div>]
    27    
    28         #SET{extras,#VAL|champs_extras_reservation}#SET{champs_extras,#ARRAY}
    29         <BOUCLE_extras(DATA){source tableau, #GET{extras}}>
    30         [<div class="champ contenu_#VALEUR{options/nom}">
    31             <label>[(#VALEUR{options/label}|chercher_label{#GET{extras}}|extraire_multi|_T)]</label>
    32             <span dir="#LANG_DIR" class="#CLE">(#ID_AUTEUR|generer_info_entite{auteur,#VALEUR{options/nom}})</span>
    33         </div>]   
    34         </BOUCLE_extras>
    35     </BOUCLE_auteur>
    36         [<div class="champ contenu_nom[ (#NOM*|strlen|?{'',vide})]">
    37             <label><:reservation:label_nom:></label>
    38            <span dir='#LANG_DIR' class='#EDIT{nom} nom'>(#NOM)</span>
    39         </div>]
    40        
    41         [<div class="champ contenu_email[ (#EMAIL*|strlen|?{'',vide})]">
    42             <label><:reservation:label_email:></label>
    43             <span dir='#LANG_DIR' class='#EDIT{email} email'>(#EMAIL)</span>
    44         </div>]
    45      
    46             <BOUCLE_champs_extras(DATA){source tableau, #DONNEES_AUTEUR|unserialize}>
    47             [<div class="champ contenu_#CLE">
    48                 <label>[(#CLE|chercher_label|extraire_multi|_T)] :</label>
    49                 <span dir="#LANG_DIR" class="#CLE">(#VALEUR)</span>
    50             </div> ]   
    51             </BOUCLE_champs_extras>
    52     <//B_auteur>   
    53    
    54     [<div class="champ contenu_reference[ (#REFERENCE*|strlen|?{'',vide})]">
    55         <label><:reservation:label_reference:></label>
    56         <span dir='#LANG_DIR' class='#EDIT{reference} reference'>(#REFERENCE)</span>
    57     </div>]
    58    
    59     [<div class="champ contenu_reference[ (#LANG*|strlen|?{'',vide})]">
    60         <label><:reservation:label_lang:></label>
    61         <span dir='#LANG_DIR' class='#EDIT{lang} reference'>(#LANG|traduire_nom_langue)</span>
    62     </div>]
    63     <INCLURE{fond=prive/objets/contenu/inc-reservation_montant,id_reservation}/>
     2        [<div class="champ contenu_date[ (#DATE*|strlen|?{'',vide})]">
     3                <label><:reservation:label_date:></label>
     4                <span dir='#LANG_DIR' class='#EDIT{date} date'>(#DATE)</span>
     5        </div>]
     6
     7        [(#DATE_PAIEMENT|!={0000-00-00 00:00:00}|oui)
     8        <div class="champ contenu_date_paiement">
     9                <label><:reservation:label_date_paiement:></label>
     10                <span dir='#LANG_DIR' class='#EDIT{date_paiement} date_paiement'>[(#DATE_PAIEMENT)]</span>
     11        </div>]
     12
     13        [<div class="champ contenu_type_paiement[ (#TYPE_PAIEMENT*|strlen|?{'',vide})]">
     14                <label><:reservation:label_type_paiement:></label>
     15                <span dir='#LANG_DIR' class='#EDIT{type_paiement} type_paiement'>(#TYPE_PAIEMENT)</span>
     16        </div>]
     17
     18        <BOUCLE_auteur(AUTEURS){id_auteur}{tout}>
     19                <div class="champ contenu_nom">
     20                        <label><:reservation:label_nom:> </label>
     21                        <span dir='#LANG_DIR' class='#EDIT{nom} nom'><a href="#URL_ECRIRE{auteur,id_auteur=#ID_AUTEUR}">#NOM</a></span>
     22                </div>
     23
     24                [<div class="champ contenu_email[ (#EMAIL*|strlen|?{'',vide})]">
     25                        <label><:reservation:label_email:></label>
     26                        <span dir='#LANG_DIR' class='#EDIT{email} email'>(#EMAIL)</span>
     27                </div>]
     28
     29                #SET{extras,#VAL|champs_extras_reservation}#SET{champs_extras,#ARRAY}
     30                <BOUCLE_extras(DATA){source tableau, #GET{extras}}>
     31                        [<div class="champ contenu_#VALEUR{options/nom}">
     32                                <label>[(#VALEUR{options/label}|chercher_label{#GET{extras}}|extraire_multi|_T)]</label>
     33                                <span dir="#LANG_DIR" class="#CLE">(#ID_AUTEUR|generer_info_entite{auteur,#VALEUR{options/nom}})</span>
     34                        </div>]
     35                </BOUCLE_extras>
     36        </BOUCLE_auteur>
     37                [<div class="champ contenu_nom[ (#NOM*|strlen|?{'',vide})]">
     38                        <label><:reservation:label_nom:></label>
     39                        <span dir='#LANG_DIR' class='#EDIT{nom} nom'>(#NOM)</span>
     40                </div>]
     41
     42                [<div class="champ contenu_email[ (#EMAIL*|strlen|?{'',vide})]">
     43                        <label><:reservation:label_email:></label>
     44                        <span dir='#LANG_DIR' class='#EDIT{email} email'>(#EMAIL)</span>
     45                </div>]
     46
     47                <BOUCLE_champs_extras(DATA){source tableau, #DONNEES_AUTEUR|unserialize}>
     48                        [<div class="champ contenu_#CLE">
     49                                <label>[(#CLE|chercher_label|extraire_multi|_T)] :</label>
     50                                <span dir="#LANG_DIR" class="#CLE">(#VALEUR)</span>
     51                        </div> ]
     52                </BOUCLE_champs_extras>
     53        <//B_auteur>
     54
     55        [<div class="champ contenu_reference[ (#REFERENCE*|strlen|?{'',vide})]">
     56                <label><:reservation:label_reference:></label>
     57                <span dir='#LANG_DIR' class='#EDIT{reference} reference'>(#REFERENCE)</span>
     58        </div>]
     59
     60        [<div class="champ contenu_reference[ (#LANG*|strlen|?{'',vide})]">
     61                <label><:reservation:label_lang:></label>
     62                <span dir='#LANG_DIR' class='#EDIT{lang} reference'>(#LANG|traduire_nom_langue)</span>
     63        </div>
     64        ]
     65        <INCLURE{fond=prive/objets/contenu/inc-reservation_montant,id_reservation}/>
    6466</BOUCLE_reservation>
  • _plugins_/reservation_evenement/branches/v1/prive/objets/liste/inc-reservations_reservations.html

    r95450 r95562  
    3333                                        <tr>
    3434                                                <INCLURE{fond=prive/objets/liste/inc-reservations_row,
     35                                                        statut,
    3536                                                        id_reservation,
    3637                                                        reference,
  • _plugins_/reservation_evenement/branches/v1/prive/objets/liste/reservations.html

    r91368 r95562  
    22#SET{date_debut,#ENV{date_debut,#ENV{date}}|affdate{Y-m-d 00:00:00}|agenda_dateplus{-1}}
    33
    4 <INCLURE{fond=prive/objets/liste/inc-reservations_reservations,env,titre='',statut=#LISTE{ attente,attente_paiement,accepte,encours,refuse},id_reservation_source=#ENV{id_reservation_source}}/>
     4<INCLURE{fond=prive/objets/liste/inc-reservations_reservations,env,titre='',statut=#LISTE{ attente,attente_paiement,accepte,encours,refuse,accepte_part},id_reservation_source=#ENV{id_reservation_source}}/>
    55
    66<BOUCLE_liste_reservations(RESERVATIONS){id_auteur?}{id_mot?}{email?}{where?}{statut=poubelle}{recherche?}{0,1}>
Note: See TracChangeset for help on using the changeset viewer.