source: spip-zone/_plugins_/ayants_droit/trunk/formulaires/editer_droits_contrat.php @ 95347

Last change on this file since 95347 was 95347, checked in by rastapopoulos@…, 4 years ago

Gros changement, on utilise finalement une table de liens complète. Bien sûr (même si personne ne l'utilise vriament pour l'instant) il y a une migration de l'unique lien précédent vers la table.

File size: 6.4 KB
Line 
1<?php
2/**
3 * Gestion du formulaire de d'édition de droits_contrat
4 *
5 * @plugin     Ayants droit
6 * @copyright  2016
7 * @author     Les Développements Durables
8 * @licence    GNU/GPL v3
9 * @package    SPIP\Ayantsdroit\Formulaires
10 */
11
12if (!defined('_ECRIRE_INC_VERSION')) return;
13
14include_spip('inc/actions');
15include_spip('inc/editer');
16
17function formulaires_editer_droits_contrat_saisies_dist($id_droits_contrat='new', $retour='', $lier_trad=0, $config_fonc='', $row=array(), $hidden=''){
18        $saisies = array(
19                array(
20                        'saisie' => 'droits_ayants',
21                        'options' => array(
22                                'nom' => 'id_droits_ayant',
23                                'label' => _T('droits_contrat:champ_id_droits_ayant_label'),
24                                'class' => 'chosen',
25                                'option_intro' => _T('droits_contrat:champ_id_droits_ayant_inconnu'),
26                        ),
27                ),
28                array(
29                        'saisie' => 'licences',
30                        'options' => array(
31                                'nom' => 'id_licence',
32                                'label' => _T('droits_contrat:champ_id_licence_label'),
33                                'class' => 'chosen',
34                                'defaut' => 1,
35                                'cacher_option_intro' => 'oui',
36                                'obligatoire' => 'oui',
37                        ),
38                ),
39                array(
40                        'saisie' => 'date',
41                        'options' => array(
42                                'nom' => 'date_debut',
43                                'label' => _T('droits_contrat:champ_date_debut_label'),
44                        ),
45                        'verifier' => array(
46                                'type' => 'date',
47                                'options' => array(
48                                        'normaliser' => 'datetime',
49                                ),
50                        ),
51                ),
52                array(
53                        'saisie' => 'date',
54                        'options' => array(
55                                'nom' => 'date_fin',
56                                'label' => _T('droits_contrat:champ_date_fin_label'),
57                        ),
58                        'verifier' => array(
59                                'type' => 'date',
60                                'options' => array(
61                                        'normaliser' => 'datetime',
62                                ),
63                        ),
64                ),
65                array(
66                        'saisie' => 'input',
67                        'options' => array(
68                                'nom' => 'montant',
69                                'label' => _T('droits_contrat:champ_montant_label'),
70                        ),
71                ),
72                array(
73                        'saisie' => 'textarea',
74                        'options' => array(
75                                'nom' => 'credits',
76                                'label' => _T('droits_contrat:champ_credits_label'),
77                                'explication' => _T('droits_contrat:champ_credits_explication'),
78                                'rows' => 4,
79                        ),
80                ),
81        );
82       
83        return $saisies;
84}
85
86/**
87 * Identifier le formulaire en faisant abstraction des paramètres qui ne représentent pas l'objet edité
88 *
89 * @param int|string $id_droits_contrat
90 *     Identifiant du droits_contrat. 'new' pour un nouveau droits_contrat.
91 * @param string $retour
92 *     URL de redirection après le traitement
93 * @param int $lier_trad
94 *     Identifiant éventuel d'un droits_contrat source d'une traduction
95 * @param string $config_fonc
96 *     Nom de la fonction ajoutant des configurations particulières au formulaire
97 * @param array $row
98 *     Valeurs de la ligne SQL du droits_contrat, si connu
99 * @param string $hidden
100 *     Contenu HTML ajouté en même temps que les champs cachés du formulaire.
101 * @return string
102 *     Hash du formulaire
103 */
104function formulaires_editer_droits_contrat_identifier_dist($id_droits_contrat='new', $retour='', $lier_trad=0, $config_fonc='', $row=array(), $hidden=''){
105        return serialize(array(intval($id_droits_contrat)));
106}
107
108/**
109 * Chargement du formulaire d'édition de droits_contrat
110 *
111 * Déclarer les champs postés et y intégrer les valeurs par défaut
112 *
113 * @uses formulaires_editer_objet_charger()
114 *
115 * @param int|string $id_droits_contrat
116 *     Identifiant du droits_contrat. 'new' pour un nouveau droits_contrat.
117 * @param string $retour
118 *     URL de redirection après le traitement
119 * @param int $lier_trad
120 *     Identifiant éventuel d'un droits_contrat source d'une traduction
121 * @param string $config_fonc
122 *     Nom de la fonction ajoutant des configurations particulières au formulaire
123 * @param array $row
124 *     Valeurs de la ligne SQL du droits_contrat, si connu
125 * @param string $hidden
126 *     Contenu HTML ajouté en même temps que les champs cachés du formulaire.
127 * @return array
128 *     Environnement du formulaire
129 */
130function formulaires_editer_droits_contrat_charger_dist($id_droits_contrat='new', $retour='', $lier_trad=0, $config_fonc='', $row=array(), $hidden=''){
131        $valeurs = formulaires_editer_objet_charger('droits_contrat',$id_droits_contrat,'',$lier_trad,$retour,$config_fonc,$row,$hidden);
132        unset($valeurs['id_droits_contrat']);
133        unset($valeurs['objet']);
134        unset($valeurs['id_objet']);
135       
136        return $valeurs;
137}
138
139/**
140 * Vérifications du formulaire d'édition de droits_contrat
141 *
142 * Vérifier les champs postés et signaler d'éventuelles erreurs
143 *
144 * @uses formulaires_editer_objet_verifier()
145 *
146 * @param int|string $id_droits_contrat
147 *     Identifiant du droits_contrat. 'new' pour un nouveau droits_contrat.
148 * @param string $retour
149 *     URL de redirection après le traitement
150 * @param int $lier_trad
151 *     Identifiant éventuel d'un droits_contrat source d'une traduction
152 * @param string $config_fonc
153 *     Nom de la fonction ajoutant des configurations particulières au formulaire
154 * @param array $row
155 *     Valeurs de la ligne SQL du droits_contrat, si connu
156 * @param string $hidden
157 *     Contenu HTML ajouté en même temps que les champs cachés du formulaire.
158 * @return array
159 *     Tableau des erreurs
160 */
161function formulaires_editer_droits_contrat_verifier_dist($id_droits_contrat='new', $retour='', $lier_trad=0, $config_fonc='', $row=array(), $hidden=''){
162        $erreurs = formulaires_editer_objet_verifier('droits_contrat', $id_droits_contrat);
163       
164        return $erreurs;
165}
166
167/**
168 * Traitement du formulaire d'édition de droits_contrat
169 *
170 * Traiter les champs postés
171 *
172 * @uses formulaires_editer_objet_traiter()
173 *
174 * @param int|string $id_droits_contrat
175 *     Identifiant du droits_contrat. 'new' pour un nouveau droits_contrat.
176 * @param string $retour
177 *     URL de redirection après le traitement
178 * @param int $lier_trad
179 *     Identifiant éventuel d'un droits_contrat source d'une traduction
180 * @param string $config_fonc
181 *     Nom de la fonction ajoutant des configurations particulières au formulaire
182 * @param array $row
183 *     Valeurs de la ligne SQL du droits_contrat, si connu
184 * @param string $hidden
185 *     Contenu HTML ajouté en même temps que les champs cachés du formulaire.
186 * @return array
187 *     Retours des traitements
188 */
189function formulaires_editer_droits_contrat_traiter_dist($id_droits_contrat='new', $retour='', $lier_trad=0, $config_fonc='', $row=array(), $hidden=''){
190        // Pas de dates nulles
191        if (!_request('date_debut')) {
192                set_request('date_debut', '0000-00-00 00:00:00');
193        }
194        if (!_request('date_fin')) {
195                set_request('date_fin', '0000-00-00 00:00:00');
196        }
197       
198        $retours = formulaires_editer_objet_traiter('droits_contrat', $id_droits_contrat, '', $lier_trad, $retour, $config_fonc, $row, $hidden);
199       
200        return $retours;
201}
Note: See TracBrowser for help on using the repository browser.