Blame view

src/Template/Materiels/add.ctp 12.3 KB
5d0d680d   Alexandre   Version: 2.2.0
1
<?php 
82721df2   Thibaud Ajas   Modif des mails g...
2
3
use Cake\ORM\TableRegistry;

5d0d680d   Alexandre   Version: 2.2.0
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
if(isset($cpMateriel)) {
	$Designation = $cpMateriel->designation;
	$Sur_categ_id = $cpMateriel->sur_categorie_id;
	$Categ_id = $cpMateriel->categorie_id;
	$Sous_categ_id = $cpMateriel->sous_categorie_id;
	$Description = $cpMateriel->description;
	$Organisme_id = $cpMateriel->organisme_id;
	$Mat_administratif = $cpMateriel->materiel_administratif;
	$Mat_technique = $cpMateriel->materiel_technique;
	$Date_acquisition = $cpMateriel->date_acquisition;
	$Date_reception = $cpMateriel->date_reception;
	$Fournisseur = $cpMateriel->fournisseur;
	$Prix_ht = $cpMateriel->prix_ht;
	$Groupes_thematique_id = $cpMateriel->groupes_thematique_id;
	$Groupes_metier_id = $cpMateriel->groupes_metier_id;
5d0d680d   Alexandre   Version: 2.2.0
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
	$Lieu_detail = $cpMateriel->lieu_detail;
	$Site_id = $cpMateriel->site_id;
}
else {
	$Designation = NULL;
	$Sur_categ_id = NULL;
	$Categ_id = NULL;
	$Sous_categ_id = NULL;
	$Description = NULL;
	$Organisme_id = NULL;
	$Mat_administratif = NULL;
	$Mat_technique = NULL;
	$Date_acquisition = NULL;
	$Date_reception = NULL;
	$Fournisseur = NULL;
	$Prix_ht = NULL;
e1f6c5b7   Alexandre   Version: 2.3.0.0
35
36
	$Groupes_thematique_id = 1;
	$Groupes_metier_id = 1;
5d0d680d   Alexandre   Version: 2.2.0
37
	$Lieu_detail = NULL;
9cfb4997   Alexandre   Version: 2.4.3.10
38
	$Site_id = 9;
5d0d680d   Alexandre   Version: 2.2.0
39
}
5d0d680d   Alexandre   Version: 2.2.0
40
41
?>

19798ef9   Alexandre   Mode_install, maj...
42
43

<div class="materiels form">
6c4edfa3   Alexandre   First Commit LabI...
44
45
    <?= $this->Form->create($materiel) ?>
    <fieldset>
19798ef9   Alexandre   Mode_install, maj...
46
        <h2><i class="icon-plus"></i> Ajouter un Matériel</h2>
0e5846aa   Alexandre   Css bouton valide...
47
        <?= $this->Form->submit(__('Enregistrer')) ?>
19798ef9   Alexandre   Mode_install, maj...
48

6c4edfa3   Alexandre   First Commit LabI...
49
        <?php
5d0d680d   Alexandre   Version: 2.2.0
50
        echo $this->Form->input('designation', ['label' => 'Désignation', 'default' => $Designation]);
a97b5772   Alexandre   Migration fonctio...
51
        
758a84af   Alexandre   Version: 2.2.4.0
52
        echo $this->Form->input('sur_categorie_id', ['label' => 'Domaine', 'style' => 'width: 260px', 'options' => $surCategories, 'empty' => 'Choisir un domaine', 'default' => $Sur_categ_id]);
a97b5772   Alexandre   Migration fonctio...
53
54
55
56
57
58
        
        // if a domaine is selected, reduce the categories list to this domaine
        $categs = $categories;
        if (isset ( $this->request->data['sur_categorie_id'] ) && ($this->request->data['sur_categorie_id'] != '')) {
        	$categs = $categs->where(['sur_categorie_id =' => $this->request->data['sur_categorie_id']]);
        }
758a84af   Alexandre   Version: 2.2.4.0
59
        echo $this->Form->input('categorie_id', ['label' => 'Catégorie', 'style' => 'width: 380px', 'options' => $categs, 'empty' => 'Choisir une catégorie', 'default' => $Categ_id]);
a97b5772   Alexandre   Migration fonctio...
60
61
62
63
64
65
66
67
        
        // by default, list is empty
        $souscategs = [];
        // if a categ is selected, update sous-categs list for this categ (only)
        if (isset ( $this->request->data['categorie_id'] ) && ($this->request->data['categorie_id'] != '')) {
        	$souscategs = $sousCategories;
        	$souscategs = $souscategs->where(['categorie_id' => $this->request->data['categorie_id']]);
        }
758a84af   Alexandre   Version: 2.2.4.0
68
        echo $this->Form->input('sous_categorie_id', ['label' => 'Sous-catégorie', 'style' => 'width: 380px', 'options' => $souscategs, 'empty' => 'Choisir une sous-catégorie', 'default' => $Sous_categ_id]);
19798ef9   Alexandre   Mode_install, maj...
69
        
5d0d680d   Alexandre   Version: 2.2.0
70
        echo $this->Form->input('materiel_technique', ['label' => 'Technique', 'default' => $Mat_technique]);
3499987c   Alexandre   Version: 2.4.3.14
71
        echo $this->Form->input('materiel_administratif', ['label' => 'Inventoriable (>'.$configuration->prix_inventaire_administratif.'€)', 'default' => $Mat_administratif]);
19798ef9   Alexandre   Mode_install, maj...
72
        
5d0d680d   Alexandre   Version: 2.2.0
73
        echo $this->Form->input('description', ['label' => 'Description', 'default' => $Description]);
04a6b875   Alexandre   Version: 2.4.2.0
74
75
76
77
78
        
        if(in_array($role, ['Responsable', 'Administration', 'Administration Plus', 'Super Administrateur'])) {
			echo $this->Form->input('etiquette', ['label' => 'Etiquette posée']);
        }
        
d06fca7b   Alexandre   Version: 2.4.2.19
79
        echo $this->Form->input('site_id', ['options' => $sites, 'style' => 'width: 380px', 'default' => $Site_id]);
5d0d680d   Alexandre   Version: 2.2.0
80
		echo $this->Form->input('lieu_detail', ['label' => 'Détail lieu de stockage', 'default' => $Lieu_detail]);
19798ef9   Alexandre   Mode_install, maj...
81
		
5d0d680d   Alexandre   Version: 2.2.0
82
83
        echo $this->Form->input('date_acquisition', ['type' => 'text', 'label' => 'Date de la commande', 'class' => 'datepicker', 'placeholder' => 'Cliquez pour sélectionner une date', 'default' => $Date_acquisition]);
        echo $this->Form->input('date_reception', ['type' => 'text', 'label' => 'Date de réception', 'class' => 'datepicker', 'placeholder' => 'A éditer lors de la réception uniquement.', 'empty' => true, 'default' => $Date_reception]);
19798ef9   Alexandre   Mode_install, maj...
84
        
94e21fe8   Alexandre   Version: 2.4.6.9
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111

        
        echo '<table id="tableAlignementFrequence"><tr><td>';
        echo $this->Form->input('duree_garantie', [
        		'type' => 'text',
        		'label' => 'Durée garantie',
        		'style' => 'width: 100px',
        		'templates' => ['inputContainer' => '<div class="A">{{content}}</div>'],
        		'placeholder' => ''
        ]);
        echo '</td><td>';
        echo $this->Form->input ('unite_duree_garantie', [
        		'label' => false,
        		'templates' => ['inputContainer' => '<div class="typeFrequence">{{content}}</div>'],
        		'options' => ['Mois' => 'Mois', 'Ans' => 'Ans'],
        		'default' => 'Ans'
        ]);
        echo '</td></tr></table>';
        echo $this->Form->input('date_fin_garantie', [
        		'type' => 'text',
        		'label' => 'Date fin de garantie',
        		'placeholder' => 'Cliquez pour selectionner une date',
        		'class' => 'datepicker',
        		'default' => NULL
        ]);
                
                
19798ef9   Alexandre   Mode_install, maj...
112
        echo $this->Form->input('numero_serie', ['label' => 'Numéro de série']);
e3633c13   Alexandre   Version: 2.4.2.23
113
114
        echo $this->Form->input('groupes_thematique_id', ['label' => $configuration->nom_groupe_thematique, 'options' => $groupesThematiques, 'default' => $Groupes_thematique_id]);
        echo $this->Form->input('groupes_metier_id', ['label' => $configuration->nom_groupe_metier, 'options' => $groupesMetiers, 'default' => $Groupes_metier_id]);
19798ef9   Alexandre   Mode_install, maj...
115

04a6b875   Alexandre   Version: 2.4.2.0
116
117
        if(!(in_array($role, ['Responsable', 'Administration', 'Administration Plus', 'Super Administrateur']))) {
        echo $this->Form->hidden('nom_responsable', [
cb0ff3ca   Alexandre   Version: 2.4.3.1
118
        		'label' => 'Nom du propriétaire',
19798ef9   Alexandre   Mode_install, maj...
119
120
        		'empty' => 'Choisir un utilisateur',
        		'default' => $username,
04a6b875   Alexandre   Version: 2.4.2.0
121
        		'options' => $utilisateurs,
19798ef9   Alexandre   Mode_install, maj...
122
        ]);
04a6b875   Alexandre   Version: 2.4.2.0
123
124
125
        }
        else {
        	echo $this->Form->input('nom_responsable', [
cb0ff3ca   Alexandre   Version: 2.4.3.1
126
        			'label' => 'Nom du propriétaire',
04a6b875   Alexandre   Version: 2.4.2.0
127
128
129
130
131
        			'empty' => 'Choisir un utilisateur',
        			'default' => $username,
        			'options' => $utilisateurs
        	]);
        }
19798ef9   Alexandre   Mode_install, maj...
132
        echo $this->Form->input('email_responsable', [
cb0ff3ca   Alexandre   Version: 2.4.3.1
133
        		'label' => 'Email du propriétaire', 
19798ef9   Alexandre   Mode_install, maj...
134
135
136
        		'readonly' => true,
        		'default' => $mail_responsable
        ]);
82721df2   Thibaud Ajas   Modif des mails g...
137
        
82721df2   Thibaud Ajas   Modif des mails g...
138
139
        // Modif BD :
        // ALTER TABLE `materiels` ADD `nom_gestionnaire` VARCHAR( 45 ) CHARACTER SET latin1 COLLATE latin1_swedish_ci NOT NULL AFTER `email_responsable` ;
82721df2   Thibaud Ajas   Modif des mails g...
140
141
142
143
144
145
146
        echo $this->Form->input('nom_gestionnaire', [
	        'label' => 'Nom du gestionnaire de référence du matériel',
	        'empty' => 'Choisir un utilisateur',
	        'default' => $username,
	        'options' => TableRegistry::get('Users')->find('list', [ 'keyField' => 'nom', 'valueField' => 'nom'])->where(['role =' => 'Administration'])
        ]);
        
5d0d680d   Alexandre   Version: 2.2.0
147
        echo $this->Form->input('fournisseur', ['label' => 'Fournisseur', 'default' => $Fournisseur]);
758a84af   Alexandre   Version: 2.2.4.0
148
        echo $this->Form->input('organisme_id', ['options' => $organismes, 'style' => 'width: 380px', 'empty' => 'Choisir un organisme', 'default' => $Organisme_id]);
5d0d680d   Alexandre   Version: 2.2.0
149
        echo $this->Form->input('prix_ht', ['label' => 'Prix HT (€)', 'default' => $Prix_ht]);
19798ef9   Alexandre   Mode_install, maj...
150
        
15ebf91f   Alexandre   Version: 2.4.7.2
151
        if(in_array($role, ['Administration', 'Administration Plus', 'Super Administrateur'])) {
04a6b875   Alexandre   Version: 2.4.2.0
152
153
154
155
156
157
158
159
160
        	echo '<div style="border-top: 1px solid #CCC; border-bottom: 1px solid #CCC; margin-bottom: 0; background: #EEE;"><span style="font-size: 9px; color: red;">Partie administrative</span>';
        	echo $this->Form->input('eotp', ['label' => 'Centre financier/EOTP']);
        	echo $this->Form->input('numero_commande', ['label' => 'Numéro de commande']);
        	echo $this->Form->input('code_comptable', ['label' => 'Code comptable']);
        	echo $this->Form->input('numero_inventaire_organisme', ['label' => 'N° inventaire organisme']);
        	echo $this->Form->input('numero_inventaire_old', ['label' => 'Ancien N° inventaire']);
        	echo '</div>';
        }
		echo $this->Form->hidden('nom_createur', ['value' => $username ]);
6c4edfa3   Alexandre   First Commit LabI...
161
162
        ?>
    </fieldset>
0e5846aa   Alexandre   Css bouton valide...
163
    <?= $this->Form->submit(__('Enregistrer')) ?>
6c4edfa3   Alexandre   First Commit LabI...
164
165
    <?= $this->Form->end() ?>
</div>
19798ef9   Alexandre   Mode_install, maj...
166
167
168
169
170
171

<div class="actions">
	<?php 
		echo $this->element('menu');
		echo $this->element('menu_form', [ 'pluralHumanName' => 'Matériels' ]);
	?>
758a84af   Alexandre   Version: 2.2.4.0
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
</div>

<?php
/**
 * GESTION DES EVENEMENTS SUR LES DOMAINES/CATEGORIES/SOUS-CATEGORIES 
 *
 * Phase initialisation (1ère ouverture de la page) :
 * - domaine ==> value = TOUS, select = "choisir" (ADD) ou data (EDIT)
 * - categ ==> value = TOUTES (ADD) ou from domaine (EDIT), select = "choisir" (ADD) ou data (EDIT)
 * - scateg ==> value = Aucune (ADD) ou from categ (EDIT), select = "choisir" (ADD) ou data (EDIT)
 *
 * Event domaine change :
 * - si select <> "choisir" ==> categ value = from domaine (select="choisir"), et vider scateg
 * - si select = "choisir" ==> categ value = TOUTES (select="choisir"), et vider scateg
 *
 * Event categ change :
 * - si select <> "choisir" ==> domaine select = from categ, et scateg values = from categ
 * - si select = "choisir" ==> vider scateg
 *
 * Event scateg change : RIEN A FAIRE
 */
?>

<script type="text/javascript">
758a84af   Alexandre   Version: 2.2.4.0
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
           
/** 
 * Event DOMAINE change
 * 
 * Sur sélection d'un DOMAINE ==> update CATEGORIES + empty SOUS-CATEGORIES
 * 
 * Dans le détail :
 * - si select <> "choisir" ==> categ value = from domaine (select="choisir")
 * - si select = "choisir" ==> categ value = TOUTES (select="choisir")
 * - puis (dans les 2 cas) vider scateg
 * 
 */

$(document).ready(function () {
	$("#sur-categorie-id").bind("change", function (event) {
			var domaineId=$("#sur-categorie-id :selected").val();
e1f6c5b7   Alexandre   Version: 2.3.0.0
212

758a84af   Alexandre   Version: 2.2.4.0
213
214
			if (domaineId=="") 
				updateSelectOptionsFromAnother("#categorie-id", "#sur-categorie-id", "Categories/getAll", "Choisir une catégorie");
758a84af   Alexandre   Version: 2.2.4.0
215
216
			else 
				updateSelectOptionsFromAnother("#categorie-id", "#sur-categorie-id", "Categories/getBySurCategorie", "Choisir une catégorie");
758a84af   Alexandre   Version: 2.2.4.0
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
			emptySelectOptions("#sous-categorie-id","Choisir une sous-catégorie");
			return false;
	});
});

/**
 *
 * Event CATEGORIE change
 *
 * - si select = "choisir" ==> vider scateg
 * - si select <> "choisir" ==> domaine value selected = celui de la categ, et scateg values = from categ
 */
$(document).ready(function () {
	$("#categorie-id").bind("change", function (event) {
		var categId=$("#categorie-id :selected").val();
		var categLabel=$("#categorie-id :selected").text();
e1f6c5b7   Alexandre   Version: 2.3.0.0
233

758a84af   Alexandre   Version: 2.2.4.0
234
		if (categId=="") emptySelectOptions("#sous-categorie-id","Choisir une sous-catégorie");
758a84af   Alexandre   Version: 2.2.4.0
235
		else {
758a84af   Alexandre   Version: 2.2.4.0
236
			updateSelectOptionsFromAnother("#sous-categorie-id", "#categorie-id", "SousCategories/getByCategorie", "Choisir une sous-catégorie "+categLabel);
758a84af   Alexandre   Version: 2.2.4.0
237
238
239
240
241
			updateSelectOptionsFromAnother("#sur-categorie-id", "#categorie-id", "SurCategories/getFromCategorie", "");
		}
		return false;
	});
});
e1f6c5b7   Alexandre   Version: 2.3.0.0
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259

/**
 * Event Mail change
 */
 $(document).ready(function () {
 	$("#nom-responsable").bind("change", function (event) {
 		var url = document.URL;
 		var reg=new RegExp("(materiels).*$","g");
 		var emailUrl = url.replace(reg, "Users/getLdapEmail/");
 		$.ajax({
 			url: emailUrl + $("#nom-responsable").val()
 		}).done(function(data) { 
 			$("#email-responsable").val(data)
 		});
 	});
 });


94e21fe8   Alexandre   Version: 2.4.6.9
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
 /**
  * Event calcul date fin de garantie
  */
   $(document).ready(function () {
   	$("#duree-garantie").bind("change", function (event) {
   		if($("#date-reception").val() != "" && $("#duree-garantie").val() != "") {
   			var url = document.URL;
   			var reg=new RegExp("(materiels).*$","g");
   			var dateUrl = url.replace(reg, "Materiels/getDateGarantie/");
   			$.ajax({
   				url: dateUrl + $("#date-reception").val() + "/" + $("#duree-garantie").val() + "/" + $("#unite-duree-garantie").val()
   			}).done(function(data) { 
   				$("#date-fin-garantie").val(data)
   			});
   		}
   	});
   	$("#unite-duree-garantie").bind("change", function (event) {
   		if($("#date-reception").val() != "" && $("#duree-garantie").val() != "") {
   			var url = document.URL;
   			var reg=new RegExp("(materiels).*$","g");
   			var dateUrl = url.replace(reg, "Materiels/getDateGarantie/");
   			$.ajax({
   				url: dateUrl + $("#date-reception").val() + "/" + $("#duree-garantie").val() + "/" + $("#unite-duree-garantie").val()
   			}).done(function(data) { 
   				$("#date-fin-garantie").val(data)
   			});
   		}
   	});
   });
   

758a84af   Alexandre   Version: 2.2.4.0
291
</script>