Blame view

src/Template/Materiels/edit.ctp 12 KB
19798ef9   Alexandre   Mode_install, maj...
1
<?php 
19798ef9   Alexandre   Mode_install, maj...
2

19798ef9   Alexandre   Mode_install, maj...
3
4
5
6
7
8
9
10
11
12

$administrationData = array (
		'eotp',
		'numero_commande',
		'code_comptable',
		'numero_inventaire_organisme',
		'numero_inventaire_old' 
);

$myReadonlyFields = array ();
04a6b875   Alexandre   Version: 2.4.2.0
13
if ($IS_VALIDATED)
19798ef9   Alexandre   Mode_install, maj...
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
	// can only modify some fields
	$myReadonlyFields = array_merge (
			array (
					'sur_categorie_id',
					'categorie_id',
					'sous_categorie_id',
					'materiel_administratif',
					'materiel_technique',
					'site_id',
					'date_acquisition',
					'date_reception',
					'nom_responsable',
					'fournisseur',
					'organisme_id',
					'prix_ht'
			),
			$administrationData
			);

04a6b875   Alexandre   Version: 2.4.2.0
33
	elseif ($IS_ARCHIVED_OR_TOBE) {
19798ef9   Alexandre   Mode_install, maj...
34
35
36
37
38
39
40
		$myReadonlyFields = array ('*','status');
	}
?>



<div class="materiels form">
6c4edfa3   Alexandre   First Commit LabI...
41
42
    <?= $this->Form->create($materiel) ?>
    <fieldset>
19798ef9   Alexandre   Mode_install, maj...
43
        <h2><i class="icon-edit"></i> Editer un Matériel</h2>
0e5846aa   Alexandre   Css bouton valide...
44
        <?= $this->Form->submit(__('Enregistrer')) ?>
19798ef9   Alexandre   Mode_install, maj...
45
       
6c4edfa3   Alexandre   First Commit LabI...
46
        <?php
19798ef9   Alexandre   Mode_install, maj...
47
48
        echo $this->Form->input('designation', [
        		'label' => 'Désignation',
04a6b875   Alexandre   Version: 2.4.2.0
49
        		'disabled' => $isReadonlyField('designation', $myReadonlyFields)
19798ef9   Alexandre   Mode_install, maj...
50
51
52
53
54
55
56
        		
        ]);
        
        echo $this->Form->input('sur_categorie_id', [
        		'label' => 'Domaine', 
        		'options' => $surCategories, 
        		'empty' => 'Choisir un domaine',
758a84af   Alexandre   Version: 2.2.4.0
57
        		'style' => 'width: 260px',
04a6b875   Alexandre   Version: 2.4.2.0
58
59
        		'readonly' => $isReadonlyField ( 'sur_categorie_id', $myReadonlyFields ),
        		'disabled' => $isReadonlyField ( 'sur_categorie_id', $myReadonlyFields )
19798ef9   Alexandre   Mode_install, maj...
60
61
        		
        ]);
a97b5772   Alexandre   Migration fonctio...
62
63
64
65
66
67
        
        $categs = $categories;
        // if a domaine is selected, reduce the categories list to this domaine
        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']]);
        }
19798ef9   Alexandre   Mode_install, maj...
68
69
        echo $this->Form->input('categorie_id', [
        		'label' => 'Catégorie', 
758a84af   Alexandre   Version: 2.2.4.0
70
        		'style' => 'width: 380px',
a97b5772   Alexandre   Migration fonctio...
71
        		'options' => $categs, 
19798ef9   Alexandre   Mode_install, maj...
72
        		'empty' => 'Choisir une catégorie',
04a6b875   Alexandre   Version: 2.4.2.0
73
        		'disabled' => $isReadonlyField('categorie_id', $myReadonlyFields)
19798ef9   Alexandre   Mode_install, maj...
74
        ]);
a97b5772   Alexandre   Migration fonctio...
75
76
77
78
79
80
81
82
83
        
        // SOUS-CATEGORIES
        // 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']]);
        }
19798ef9   Alexandre   Mode_install, maj...
84
85
        echo $this->Form->input('sous_categorie_id', [
        		'label' => 'Sous-catégorie', 
758a84af   Alexandre   Version: 2.2.4.0
86
        		'style' => 'width: 380px',
a97b5772   Alexandre   Migration fonctio...
87
        		'options' => $souscategs, 
19798ef9   Alexandre   Mode_install, maj...
88
        		'empty' => 'Choisir une sous-catégorie',
04a6b875   Alexandre   Version: 2.4.2.0
89
        		'disabled' => $isReadonlyField('sous_categorie_id', $myReadonlyFields)
19798ef9   Alexandre   Mode_install, maj...
90
91
92
93
        ]);
        
        echo $this->Form->input('materiel_technique', [
        		'label' => 'Technique',
04a6b875   Alexandre   Version: 2.4.2.0
94
        		'disabled' => $isReadonlyField('materiel_technique', $myReadonlyFields)
19798ef9   Alexandre   Mode_install, maj...
95
96
        ]);
        echo $this->Form->input('materiel_administratif', [
3499987c   Alexandre   Version: 2.4.3.14
97
        		'label' => 'Inventoriable (>'.$configuration->prix_inventaire_administratif.'€)',
04a6b875   Alexandre   Version: 2.4.2.0
98
        		'disabled' => $isReadonlyField('materiel_administratif', $myReadonlyFields)
19798ef9   Alexandre   Mode_install, maj...
99
100
101
102
        ]);
        
        echo $this->Form->input('description', [
        		'label' => 'Description',
04a6b875   Alexandre   Version: 2.4.2.0
103
        		'disabled' => $isReadonlyField('description', $myReadonlyFields)
19798ef9   Alexandre   Mode_install, maj...
104
        ]);
04a6b875   Alexandre   Version: 2.4.2.0
105
106
        
        if(in_array($role, ['Responsable', 'Administration', 'Administration Plus', 'Super Administrateur'])) {
19798ef9   Alexandre   Mode_install, maj...
107
108
		echo $this->Form->input('etiquette', [
				'label' => 'Etiquette posée',
04a6b875   Alexandre   Version: 2.4.2.0
109
				'disabled' => $isReadonlyField('etiquette', $myReadonlyFields)
19798ef9   Alexandre   Mode_install, maj...
110
		]);
04a6b875   Alexandre   Version: 2.4.2.0
111
112
        }
        
19798ef9   Alexandre   Mode_install, maj...
113
114
        echo $this->Form->input('site_id', [
        		'options' => $sites, 
758a84af   Alexandre   Version: 2.2.4.0
115
        		'style' => 'width: 380px',
9cfb4997   Alexandre   Version: 2.4.3.10
116
        		'default' => 9,
04a6b875   Alexandre   Version: 2.4.2.0
117
        		'disabled' => $isReadonlyField('site_id', $myReadonlyFields)
19798ef9   Alexandre   Mode_install, maj...
118
        ]);
1f7e0355   Alexandre   Version: 2.4.2.4
119

9fc6b8a2   Alexandre   Version: 2.4.2.6
120
121
		echo $this->Form->input('lieu_detail', ['label' => 'Détail lieu de stockage', 
				'disabled' => $isReadonlyField('lieu_detail', $myReadonlyFields)]);
19798ef9   Alexandre   Mode_install, maj...
122
123
124
125
126
127
		
        echo $this->Form->input('date_acquisition', [
        		'type' => 'text', 
        		'label' => 'Date de la commande', 
        		'class' => 'datepicker', 
        		'placeholder' => 'Cliquez pour sélectionner une date',
04a6b875   Alexandre   Version: 2.4.2.0
128
        		'disabled' => $isReadonlyField('date_acquisition', $myReadonlyFields),
19798ef9   Alexandre   Mode_install, maj...
129
130
131
132
133
134
        ]);
        echo $this->Form->input('date_reception', [
        		'type' => 'text', 
        		'label' => 'Date de réception', 
        		'class' => 'datepicker', 
        		'placeholder' => 'A éditer lors de la réception uniquement.', 
04a6b875   Alexandre   Version: 2.4.2.0
135
        		'disabled' => $isReadonlyField('date_reception', $myReadonlyFields),
19798ef9   Alexandre   Mode_install, maj...
136
137
        		'empty' => true]);
        
04a6b875   Alexandre   Version: 2.4.2.0
138
        if(in_array($role, ['Administration Plus', 'Super Administrateur'])) {
19798ef9   Alexandre   Mode_install, maj...
139
140
141
142
143
        echo $this->Form->input('status', ['label' => 'Statut', 'options' => [
					'CREATED' => 'CREATED',
					'VALIDATED' => 'VALIDATED',
					'TOBEARCHIVED' => 'TOBEARCHIVED',
					'ARCHIVED' => 'ARCHIVED']]);
04a6b875   Alexandre   Version: 2.4.2.0
144
        }
19798ef9   Alexandre   Mode_install, maj...
145
146
147
        
        echo $this->Form->input('numero_serie', [
        		'label' => 'Numéro de série',
04a6b875   Alexandre   Version: 2.4.2.0
148
        		'disabled' => $isReadonlyField('numero_serie', $myReadonlyFields)
19798ef9   Alexandre   Mode_install, maj...
149
150
        ]);
        echo $this->Form->input('groupes_thematique_id', [
e3633c13   Alexandre   Version: 2.4.2.23
151
        		'label' => $configuration->nom_groupe_thematique, 
04a6b875   Alexandre   Version: 2.4.2.0
152
        		'disabled' => $isReadonlyField('groupes_thematique_id', $myReadonlyFields),
e1f6c5b7   Alexandre   Version: 2.3.0.0
153
154
        		'options' => $groupesThematiques,
        		'default' => 1]);
19798ef9   Alexandre   Mode_install, maj...
155
        echo $this->Form->input('groupes_metier_id', [
e3633c13   Alexandre   Version: 2.4.2.23
156
        		'label' => $configuration->nom_groupe_metier, 
04a6b875   Alexandre   Version: 2.4.2.0
157
        		'disabled' => $isReadonlyField('groupes_metier_id', $myReadonlyFields),
e1f6c5b7   Alexandre   Version: 2.3.0.0
158
159
        		'options' => $groupesMetiers,
				'default' => 1]);
19798ef9   Alexandre   Mode_install, maj...
160
        
04a6b875   Alexandre   Version: 2.4.2.0
161
162
        if(!(in_array($role, ['Responsable', 'Administration', 'Administration Plus', 'Super Administrateur']))) {
        echo $this->Form->hidden('nom_responsable', [
cb0ff3ca   Alexandre   Version: 2.4.3.1
163
        		'label' => 'Nom du propriétaire',
04a6b875   Alexandre   Version: 2.4.2.0
164
        		'disabled' => $isReadonlyField('nom_responsable', $myReadonlyFields),
19798ef9   Alexandre   Mode_install, maj...
165
166
        		'empty' => 'Choisir un utilisateur',
        		'default' => $username,
04a6b875   Alexandre   Version: 2.4.2.0
167
168
169
170
        		'options' => $utilisateurs,
        ]);
        } else {
        	echo $this->Form->input('nom_responsable', [
cb0ff3ca   Alexandre   Version: 2.4.3.1
171
        			'label' => 'Nom du propriétaire',
04a6b875   Alexandre   Version: 2.4.2.0
172
173
174
175
176
177
        			'disabled' => $isReadonlyField('nom_responsable', $myReadonlyFields),
        			'empty' => 'Choisir un utilisateur',
        			'default' => $username,
        			'options' => $utilisateurs
        	]);
        }
19798ef9   Alexandre   Mode_install, maj...
178
179
        if(isset($nom_ancien_responsable)){
        	echo $this->Form->input ('nom_ancien_responsable', [
cb0ff3ca   Alexandre   Version: 2.4.3.1
180
        		'label' => 'Nom ancien propriétaire',
19798ef9   Alexandre   Mode_install, maj...
181
182
183
184
185
        		'readonly' => true,
        		'default' => $nom_ancien_responsable
        	]);
        }
        echo $this->Form->input('email_responsable', [
cb0ff3ca   Alexandre   Version: 2.4.3.1
186
        		'label' => 'Email du propriétaire', 
19798ef9   Alexandre   Mode_install, maj...
187
188
189
190
191
192
193
        		'readonly' => true,
        		'default' => $mail_responsable
        ]);
       
        
        echo $this->Form->input('fournisseur', [
        		'label' => 'Fournisseur',
04a6b875   Alexandre   Version: 2.4.2.0
194
        		'disabled' => $isReadonlyField('email_responsable', $myReadonlyFields)
19798ef9   Alexandre   Mode_install, maj...
195
196
197
        ]);
        echo $this->Form->input('organisme_id', [
        		'options' => $organismes, 
758a84af   Alexandre   Version: 2.2.4.0
198
        		'style' => 'width: 380px',
04a6b875   Alexandre   Version: 2.4.2.0
199
        		'disabled' => $isReadonlyField('organisme_id', $myReadonlyFields),
19798ef9   Alexandre   Mode_install, maj...
200
201
202
203
        		'empty' => 'Choisir un organisme'
        ]);
        echo $this->Form->input('prix_ht', [
        		'label' => 'Prix HT (€)', 
04a6b875   Alexandre   Version: 2.4.2.0
204
        		'disabled' => $isReadonlyField('prix_ht', $myReadonlyFields)
19798ef9   Alexandre   Mode_install, maj...
205
206
        ]);
       
cb0ff3ca   Alexandre   Version: 2.4.3.1
207
        if(in_array($role, ['Administration', 'Administration Plus'])) {
04a6b875   Alexandre   Version: 2.4.2.0
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
        	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',
        			'disabled' => $isReadonlyField('eotp', $myReadonlyFields)
        	]);
        	echo $this->Form->input('numero_commande', [
        			'label' => 'Numéro de commande',
        			'disabled' => $isReadonlyField('numero_commande', $myReadonlyFields)
        	]);
        	echo $this->Form->input('code_comptable', [
        			'label' => 'Code comptable',
        			'disabled' => $isReadonlyField('code_comptable', $myReadonlyFields)
        	]);
        	echo $this->Form->input('numero_inventaire_organisme', [
        			'label' => 'N° inventaire organisme',
        			'disabled' => $isReadonlyField('numero_inventaire_organisme', $myReadonlyFields)
        	]);
        	echo $this->Form->input('numero_inventaire_old', [
        			'label' => 'Ancien N° inventaire',
        			'disabled' => $isReadonlyField('numero_inventaire_old', $myReadonlyFields)
        	]);
        	echo '</div>';
        }
19798ef9   Alexandre   Mode_install, maj...
231
        
19798ef9   Alexandre   Mode_install, maj...
232
        echo $this->Form->hidden('nom_modificateur', ['value' => $username ]);
6c4edfa3   Alexandre   First Commit LabI...
233
234
        ?>
    </fieldset>
0e5846aa   Alexandre   Css bouton valide...
235
    <?= $this->Form->submit(__('Enregistrer')) ?>
6c4edfa3   Alexandre   First Commit LabI...
236
237
    <?= $this->Form->end() ?>
</div>
19798ef9   Alexandre   Mode_install, maj...
238
239
240
241
242
243
244
245

<div class="actions">
	<?php 
		echo $this->element('menu');
		echo $this->element('menu_form', [ 'pluralHumanName' => 'Matériels' ]);
	?>
</div>

758a84af   Alexandre   Version: 2.2.4.0
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268

<?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
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
           
/** 
 * 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
285

758a84af   Alexandre   Version: 2.2.4.0
286
287
			if (domaineId=="") 
				updateSelectOptionsFromAnother("#categorie-id", "#sur-categorie-id", "Categories/getAll", "Choisir une catégorie");
758a84af   Alexandre   Version: 2.2.4.0
288
289
			else 
				updateSelectOptionsFromAnother("#categorie-id", "#sur-categorie-id", "Categories/getBySurCategorie", "Choisir une catégorie");
758a84af   Alexandre   Version: 2.2.4.0
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
			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
306
		
758a84af   Alexandre   Version: 2.2.4.0
307
		if (categId=="") emptySelectOptions("#sous-categorie-id","Choisir une sous-catégorie");
758a84af   Alexandre   Version: 2.2.4.0
308
		else {
758a84af   Alexandre   Version: 2.2.4.0
309
			updateSelectOptionsFromAnother("#sous-categorie-id", "#categorie-id", "SousCategories/getByCategorie", "Choisir une sous-catégorie "+categLabel);
758a84af   Alexandre   Version: 2.2.4.0
310
311
312
313
314
			updateSelectOptionsFromAnother("#sur-categorie-id", "#categorie-id", "SurCategories/getFromCategorie", "");
		}
		return false;
	});
});
e1f6c5b7   Alexandre   Version: 2.3.0.0
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332

 
 /**
  * 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)
  		});
  	});
  });
 
758a84af   Alexandre   Version: 2.2.4.0
333
</script>