source: spip-zone/_plugins_/reservation_evenement/trunk/base/reservation_evenement.php @ 95027

Last change on this file since 95027 was 95027, checked in by abelass@…, 4 years ago
  • eviter d'effacer les champs extras lors d'un changement de statut
  • permettre de versionner et rechercher les détails der réservation
File size: 7.5 KB
Line 
1<?php
2/**
3 * Déclarations relatives à la base de données
4 *
5 * @plugin     Réservation Événements
6 * @copyright  2013 -
7 * @author     Rainer Müller
8 * @licence    GNU/GPL
9 * @package    SPIP\Promotions\Pipelines
10 */
11
12if (!defined('_ECRIRE_INC_VERSION'))
13  return;
14
15/**
16 * Déclaration des alias de tables et filtres automatiques de champs
17 *
18 * @pipeline declarer_tables_interfaces
19 * @param array $interfaces
20 *     Déclarations d'interface pour le compilateur
21 * @return array
22 *     Déclarations d'interface pour le compilateur
23 */
24function reservation_evenement_declarer_tables_interfaces($interfaces) {
25
26  $interfaces['table_des_tables']['reservations'] = 'reservations';
27  $interfaces['table_des_tables']['reservations_details'] = 'reservations_details';
28
29  return $interfaces;
30}
31
32/**
33 * Déclaration des objets éditoriaux
34 *
35 * @pipeline declarer_tables_objets_sql
36 * @param array $tables
37 *     Description des tables
38 * @return array
39 *     Description complétée des tables
40 */
41function reservation_evenement_declarer_tables_objets_sql($tables) {
42
43  $tables['spip_reservations'] = array(
44    'type' => 'reservation',
45    'principale' => "oui",
46    'field' => array(
47      "id_reservation" => "bigint(21) NOT NULL",
48      "id_reservation_source" => "bigint(21) NOT NULL",
49      "id_auteur" => "bigint(21) NOT NULL DEFAULT '0'",
50      "reference" => "varchar(255) NOT NULL DEFAULT ''",
51      "date_paiement" => "datetime NOT NULL DEFAULT '0000-00-00 00:00:00'",
52      "type_paiement" => "varchar(50) NOT NULL DEFAULT ''",
53      "nom" => "varchar(255) NOT NULL DEFAULT ''",
54      "email" => "varchar(255) NOT NULL DEFAULT ''",
55      "type_lien" => "varchar(25) NOT NULL DEFAULT ''",
56      "origine_lien" => "varchar(25) NOT NULL DEFAULT ''",
57      "maj" => "timestamp",
58      "donnees_auteur" => "text NOT NULL DEFAULT ''",
59      "date" => "datetime NOT NULL DEFAULT '0000-00-00 00:00:00'",
60      "statut" => "varchar(20)  DEFAULT '0' NOT NULL",
61      "lang" => "varchar(10)  DEFAULT '' NOT NULL",
62      "maj" => "TIMESTAMP"
63    ),
64    'key' => array(
65      "PRIMARY KEY" => "id_reservation",
66      "KEY statut" => "statut,id_auteur,lang,id_reservation_source",
67    ),
68    'titre' => "reference AS titre, '' AS lang",
69    'date' => "date",
70    'champs_editables' => array(
71      'id_reservation_source',
72      'id_auteur',
73      'date_paiement',
74      'nom',
75      'email',
76      'type_lien',
77      'origine_lien',
78      'donnees_auteur',
79      'reference',
80      'lang'
81    ),
82    'champs_versionnes' => array(
83      'id_auteur',
84      'date_paiement',
85      'nom',
86      'email',
87      'donnees_auteur',
88      'reference'
89    ),
90    'rechercher_champs' => array(
91      "reference" => 8,
92      "id_reservation" => 8,
93      "email" => 8,
94      "nom" => 8,     
95    ),
96    'tables_jointures' => array(
97      'id_reservation',
98      'id_auteur'
99    ),
100    'statut_textes_instituer' => array(
101      'attente' => 'reservation:texte_statut_attente',
102      'attente_paiement' => 'reservation:texte_statut_attente_paiement',
103      'accepte_part' => 'reservation:texte_statut_accepte_part',     
104      'accepte' => 'reservation:texte_statut_accepte',
105      'cloture' => 'reservation:texte_statut_cloture',
106      'encours' => 'reservation:texte_statut_encours',
107      'refuse' => 'reservation:texte_statut_refuse',
108      'poubelle' => 'reservation:texte_statut_poubelle',
109    ),
110    'statut_images' => array(
111      'attente' => 'puce-reservation-attente-16.png',
112      'attente_paiement' => 'puce-reservation-attente_paiement-16.png',
113      'accepte' => 'puce-reservation-accepte-16.png',
114      'accepte_part' => 'puce-reservation-accepte_part-16.png',
115      'cloture' => 'puce-reservation-cloture-16.png',
116      'encours' => 'puce-reservation-encours-16.png',
117      'refuse' => 'puce-reservation-refuse-16.png',
118      'poubelle' => 'puce-reservation-poubelle-16.png',
119    ),
120    'statut' => array( array(
121        'champ' => 'statut',
122        'publie' => 'accepte,cloture,accepte_part',
123        'previsu' => 'accepte,attente,attente_paiement,accepte_part',
124        'post_date' => 'date',
125        'exception' => array(
126          'statut',
127          'tout'
128        )
129      )),
130    'texte_changer_statut' => 'reservation:texte_changer_statut_reservation',
131  );
132
133  $tables['spip_reservations_details'] = array(
134    'type' => 'reservations_detail',
135    'principale' => "oui",
136    'table_objet_surnoms' => array('reservationsdetail'), // table_objet('reservations_detail') => 'reservations_details'
137    'field' => array(
138      "id_reservations_detail" => "bigint(21) NOT NULL",
139      "id_reservation" => "bigint(21) NOT NULL DEFAULT '0'",
140      "id_evenement" => "bigint(21) NOT NULL DEFAULT '0'",
141      "descriptif" => "text NOT NULL",
142      "quantite" => "int(11) NOT NULL DEFAULT '1'",
143      "prix_ht" => "float NOT NULL DEFAULT '0'",
144      "prix" => "float NOT NULL DEFAULT '0'",
145      "devise" => "varchar(3)  DEFAULT '' NOT NULL",
146      "taxe" => "decimal(4,3) NOT NULL DEFAULT '0.000'",
147      "statut" => "varchar(20)  DEFAULT '0' NOT NULL",
148      "maj" => "TIMESTAMP"
149    ),
150    'key' => array(
151      "PRIMARY KEY" => "id_reservations_detail",
152      "KEY statut" => "statut,id_reservation,id_evenement",
153    ),
154    'titre' => "descriptif AS titre, '' AS lang",
155    #'date' => "",
156    'champs_editables' => array(
157      'id_reservation',
158      'id_evenement',
159      'descriptif',
160      'quantite',
161      'prix_ht',
162      'prix',
163      'taxe',
164      'devise',
165      'id_prix_objet'
166    ),
167    'champs_versionnes' => array(
168        'descriptif',
169        'quantite',
170        'prix_ht',
171        'prix',
172        'taxe',
173        'devise',
174        'id_prix_objet',
175    ),
176    'rechercher_champs' => array(
177      "descriptif" => 8, 
178    ),
179    'tables_jointures' => array(
180      'id_evenement',
181      'id_reservation'
182    ),
183    'statut_textes_instituer' => array(
184      'attente' => 'reservation:texte_statut_attente',
185      'attente_paiement' => 'reservation:texte_statut_attente_paiement',
186      'accepte_part' => 'reservation:texte_statut_accepte_part',
187      'accepte' => 'reservation:texte_statut_accepte',
188      'cloture' => 'reservation:texte_statut_cloture',
189      'refuse' => 'reservation:texte_statut_refuse',
190      'poubelle' => 'reservation:texte_statut_poubelle',
191    ),
192    'statut_images' => array(
193      'attente' => 'puce-reservation-attente-16.png',
194      'attente_paiement' => 'puce-reservation-attente_paiement-16.png',
195      'accepte_part' => 'puce-reservation-accepte_part-16.png',     
196      'accepte' => 'puce-reservation-accepte-16.png',
197
198      'cloture' => 'puce-reservation-cloture-16.png',
199      'refuse' => 'puce-reservation-refuse-16.png',
200      'poubelle' => 'puce-reservation-poubelle-16.png',
201    ),
202    'statut' => array( array(
203        'champ' => 'statut',
204        'publie' => 'accepte,cloture,accepte_part',
205        'previsu' => 'accepte,attente,attente_paiement,accepte_part',
206        'post_date' => 'date',
207        'exception' => array(
208          'statut',
209          'tout'
210        )
211      )),
212    'texte_changer_statut' => 'reservations_detail:texte_changer_statut_reservations_detail',
213  );
214
215  //Ajouter le champ action_cloture dans le tables articles et evenements
216
217  $tables['spip_articles']['champs_editable'][] = "action_cloture";
218  $tables['spip_evenements']['champs_editable'][] = "action_cloture";
219
220  return $tables;
221
222}
223
224function reservation_evenement_declarer_tables_principales($tables_principales) {
225
226  $tables_principales['spip_articles']['field']['action_cloture'] = "tinyint(1) NOT NULL";
227  $tables_principales['spip_evenements']['field']['action_cloture'] = "tinyint(1) NOT NULL";
228
229  return $tables_principales;
230}
Note: See TracBrowser for help on using the repository browser.