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

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

Page de page publique pour les prestations, ni les types et unités

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        $interfaces['table_des_tables']['prestations'] = 'prestations';
28        $interfaces['table_des_tables']['prestations_types'] = 'prestations_types';
29        $interfaces['table_des_tables']['prestations_unites'] = 'prestations_unites';
30
31        return $interfaces;
32}
33
34
35/**
36 * Déclaration des objets éditoriaux
37 *
38 * @pipeline declarer_tables_objets_sql
39 * @param array $tables
40 *     Description des tables
41 * @return array
42 *     Description complétée des tables
43 */
44function prestations_declarer_tables_objets_sql($tables) {
45        $tables['spip_prestations'] = array(
46                'type' => 'prestation',
47                'principale' => 'oui',
48                'page' => '',
49                'field'=> array(
50                        'id_prestation'          => 'bigint(21) NOT NULL',
51                        'titre'                  => 'text NOT NULL DEFAULT ""',
52                        'id_prestations_type'    => 'bigint(21) NOT NULL DEFAULT 0',
53                        'prix_unitaire_ht'       => 'decimal(20,6) NOT NULL DEFAULT 0',
54                        'quantite'               => 'decimal(8,4) NOT NULL DEFAULT 0',
55                        'quantite_relative'      => 'decimal(4,4) NOT NULL DEFAULT 0',
56                        'quantite_relative_type' => 'varchar(25) not null default ""',
57                        'quantite_relative_rang' => 'varchar(25) not null default ""',
58                        'id_prestations_unite'   => 'bigint(21) NOT NULL DEFAULT 0',
59                        'taxe'                   => 'decimal(4,4) not null default 0',
60                        'objet'                  => 'varchar(25) NOT NULL DEFAULT ""',
61                        'id_objet'               => 'bigint(21) NOT NULL DEFAULT 0',
62                        'rang'                   => 'int(11) NOT NULL DEFAULT 0',
63                        'maj'                    => 'TIMESTAMP'
64                ),
65                'key' => array(
66                        'PRIMARY KEY'        => 'id_prestation',
67                ),
68                'titre' => 'titre AS titre, "" AS lang',
69                 #'date' => '',
70                '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'),
71                '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'),
72                'rechercher_champs' => array("titre" => 10),
73                'tables_jointures'  => array(),
74                'parent' => array('champ_type' => 'objet', 'champ' => 'id_objet'),
75        );
76
77        $tables['spip_prestations_types'] = array(
78                'type' => 'prestations_type',
79                'principale' => 'oui',
80                'page' => '',
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        $tables['spip_prestations_unites'] = array(
102                'type' => 'prestations_unite',
103                'principale' => 'oui',
104                'page' => '',
105                'table_objet_surnoms' => array('prestationsunite'), // table_objet('prestations_unite') => 'prestations_unites'
106                'field'=> array(
107                        'id_prestations_unite' => 'bigint(21) NOT NULL',
108                        'titre'              => 'text NOT NULL DEFAULT ""',
109                        'maj'                => 'TIMESTAMP'
110                ),
111                'key' => array(
112                        'PRIMARY KEY'        => 'id_prestations_unite',
113                ),
114                'titre' => 'titre AS titre, "" AS lang',
115                 #'date' => '',
116                'champs_editables'  => array('titre'),
117                'champs_versionnes' => array('titre'),
118                'rechercher_champs' => array(),
119                'tables_jointures'  => array(),
120        );
121
122        return $tables;
123}
Note: See TracBrowser for help on using the repository browser.