source: spip-zone/_plugins_/prestations/trunk/base/prestations.php @ 110264

Last change on this file since 110264 was 110264, checked in by rastapopoulos@…, 17 months ago

Déclarer le parent pour les prestations

File size: 4.4 KB
Line 
1<?php
2/**
3 * Déclarations relatives à la base de données
4 *
5 * @plugin     Prestations
6 * @copyright  2018
7 * @author     Les Développements Durables
8 * @licence    GNU/GPL
9 * @package    SPIP\Prestations\Pipelines
10 */
11
12if (!defined('_ECRIRE_INC_VERSION')) {
13        return;
14}
15
16
17/**
18 * Déclaration des alias de tables et filtres automatiques de champs
19 *
20 * @pipeline declarer_tables_interfaces
21 * @param array $interfaces
22 *     Déclarations d'interface pour le compilateur
23 * @return array
24 *     Déclarations d'interface pour le compilateur
25 */
26function prestations_declarer_tables_interfaces($interfaces) {
27
28        $interfaces['table_des_tables']['prestations'] = 'prestations';
29        $interfaces['table_des_tables']['prestations_types'] = 'prestations_types';
30        $interfaces['table_des_tables']['prestations_unites'] = 'prestations_unites';
31
32        return $interfaces;
33}
34
35
36/**
37 * Déclaration des objets éditoriaux
38 *
39 * @pipeline declarer_tables_objets_sql
40 * @param array $tables
41 *     Description des tables
42 * @return array
43 *     Description complétée des tables
44 */
45function prestations_declarer_tables_objets_sql($tables) {
46
47        $tables['spip_prestations'] = array(
48                'type' => 'prestation',
49                'principale' => 'oui',
50                'field'=> array(
51                        'id_prestation'          => 'bigint(21) NOT NULL',
52                        'titre'                  => 'text NOT NULL DEFAULT ""',
53                        'id_prestations_type'    => 'bigint(21) NOT NULL DEFAULT 0',
54                        'prix_unitaire_ht'       => 'decimal(20,6) NOT NULL DEFAULT 0',
55                        'quantite'               => 'decimal(8,4) NOT NULL DEFAULT 0',
56                        'quantite_relative'      => 'decimal(4,4) NOT NULL DEFAULT 0',
57                        'quantite_relative_type' => 'varchar(25) not null default ""',
58                        'quantite_relative_rang' => 'varchar(25) not null default ""',
59                        'id_prestations_unite'   => 'bigint(21) NOT NULL DEFAULT 0',
60                        'taxe'                   => 'decimal(4,4) not null default 0',
61                        'objet'                  => 'varchar(25) NOT NULL DEFAULT ""',
62                        'id_objet'               => 'bigint(21) NOT NULL DEFAULT 0',
63                        'rang'                   => 'int(11) NOT NULL DEFAULT 0',
64                        'maj'                    => 'TIMESTAMP'
65                ),
66                'key' => array(
67                        'PRIMARY KEY'        => 'id_prestation',
68                ),
69                'titre' => 'titre AS titre, "" AS lang',
70                 #'date' => '',
71                'champs_editables'  => array('titre', 'id_prestations_type', 'prix_unitaire_ht', 'quantite', 'quantite_relative', 'quantite_relative_type', 'quantite_relative_rang', 'id_prestations_unite', 'taxe', 'objet', 'id_objet', 'rang'),
72                'champs_versionnes' => array('titre', 'id_prestations_type', 'prix_unitaire_ht', 'quantite', 'quantite_relative', 'quantite_relative_type', 'quantite_relative_rang', 'id_prestations_unite', 'taxe', 'objet', 'id_objet', 'rang'),
73                'rechercher_champs' => array("titre" => 10),
74                'tables_jointures'  => array(),
75                'parent' => array('champ_type' => 'objet', 'champ' => 'id_objet'),
76        );
77
78        $tables['spip_prestations_types'] = array(
79                'type' => 'prestations_type',
80                'principale' => 'oui',
81                'table_objet_surnoms' => array('prestationstype'), // table_objet('prestations_type') => 'prestations_types'
82                'field'=> array(
83                        'id_prestations_type' => 'bigint(21) NOT NULL',
84                        'titre'              => 'text NOT NULL DEFAULT ""',
85                        'prix_unitaire_ht'   => 'decimal(20,6) NOT NULL DEFAULT 0',
86                        'id_prestations_unite' => 'bigint(21) NOT NULL DEFAULT 0',
87                        'taxe'               => 'decimal(4,4) not null default 0',
88                        'maj'                => 'TIMESTAMP'
89                ),
90                'key' => array(
91                        'PRIMARY KEY'        => 'id_prestations_type',
92                ),
93                'titre' => 'titre AS titre, "" AS lang',
94                 #'date' => '',
95                'champs_editables'  => array('titre', 'prix_unitaire_ht', 'id_prestations_unite', 'taxe'),
96                'champs_versionnes' => array('titre', 'prix_unitaire_ht', 'id_prestations_unite', 'taxe'),
97                'rechercher_champs' => array(),
98                'tables_jointures'  => array(),
99
100
101        );
102
103        $tables['spip_prestations_unites'] = array(
104                'type' => 'prestations_unite',
105                'principale' => 'oui',
106                'table_objet_surnoms' => array('prestationsunite'), // table_objet('prestations_unite') => 'prestations_unites'
107                'field'=> array(
108                        'id_prestations_unite' => 'bigint(21) NOT NULL',
109                        'titre'              => 'text NOT NULL DEFAULT ""',
110                        'maj'                => 'TIMESTAMP'
111                ),
112                'key' => array(
113                        'PRIMARY KEY'        => 'id_prestations_unite',
114                ),
115                'titre' => 'titre AS titre, "" AS lang',
116                 #'date' => '',
117                'champs_editables'  => array('titre'),
118                'champs_versionnes' => array('titre'),
119                'rechercher_champs' => array(),
120                'tables_jointures'  => array(),
121
122
123        );
124
125        return $tables;
126}
Note: See TracBrowser for help on using the repository browser.