Blame view

src/Template/Materiels/add.ctp 9.56 KB
5d0d680d   Alexandre   Version: 2.2.0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
<?php 
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
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
	$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
33
34
	$Groupes_thematique_id = 1;
	$Groupes_metier_id = 1;
5d0d680d   Alexandre   Version: 2.2.0
35
	$Lieu_detail = NULL;
9cfb4997   Alexandre   Version: 2.4.3.10
36
	$Site_id = 9;
5d0d680d   Alexandre   Version: 2.2.0
37
}
5d0d680d   Alexandre   Version: 2.2.0
38
39
?>

19798ef9   Alexandre   Mode_install, maj...
40
41

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

6c4edfa3   Alexandre   First Commit LabI...
47
        <?php
5d0d680d   Alexandre   Version: 2.2.0
48
        echo $this->Form->input('designation', ['label' => 'Désignation', 'default' => $Designation]);
a97b5772   Alexandre   Migration fonctio...
49
        
758a84af   Alexandre   Version: 2.2.4.0
50
        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...
51
52
53
54
55
56
        
        // 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
57
        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...
58
59
60
61
62
63
64
65
        
        // 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
66
        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...
67
        
5d0d680d   Alexandre   Version: 2.2.0
68
        echo $this->Form->input('materiel_technique', ['label' => 'Technique', 'default' => $Mat_technique]);
3499987c   Alexandre   Version: 2.4.3.14
69
        echo $this->Form->input('materiel_administratif', ['label' => 'Inventoriable (>'.$configuration->prix_inventaire_administratif.'€)', 'default' => $Mat_administratif]);
19798ef9   Alexandre   Mode_install, maj...
70
        
5d0d680d   Alexandre   Version: 2.2.0
71
        echo $this->Form->input('description', ['label' => 'Description', 'default' => $Description]);
04a6b875   Alexandre   Version: 2.4.2.0
72
73
74
75
76
        
        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
77
        echo $this->Form->input('site_id', ['options' => $sites, 'style' => 'width: 380px', 'default' => $Site_id]);
5d0d680d   Alexandre   Version: 2.2.0
78
		echo $this->Form->input('lieu_detail', ['label' => 'Détail lieu de stockage', 'default' => $Lieu_detail]);
19798ef9   Alexandre   Mode_install, maj...
79
		
5d0d680d   Alexandre   Version: 2.2.0
80
81
        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...
82
83
        
        echo $this->Form->input('numero_serie', ['label' => 'Numéro de série']);
e3633c13   Alexandre   Version: 2.4.2.23
84
85
        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...
86

04a6b875   Alexandre   Version: 2.4.2.0
87
88
        if(!(in_array($role, ['Responsable', 'Administration', 'Administration Plus', 'Super Administrateur']))) {
        echo $this->Form->hidden('nom_responsable', [
cb0ff3ca   Alexandre   Version: 2.4.3.1
89
        		'label' => 'Nom du propriétaire',
19798ef9   Alexandre   Mode_install, maj...
90
91
        		'empty' => 'Choisir un utilisateur',
        		'default' => $username,
04a6b875   Alexandre   Version: 2.4.2.0
92
        		'options' => $utilisateurs,
19798ef9   Alexandre   Mode_install, maj...
93
        ]);
04a6b875   Alexandre   Version: 2.4.2.0
94
95
96
        }
        else {
        	echo $this->Form->input('nom_responsable', [
cb0ff3ca   Alexandre   Version: 2.4.3.1
97
        			'label' => 'Nom du propriétaire',
04a6b875   Alexandre   Version: 2.4.2.0
98
99
100
101
102
        			'empty' => 'Choisir un utilisateur',
        			'default' => $username,
        			'options' => $utilisateurs
        	]);
        }
19798ef9   Alexandre   Mode_install, maj...
103
        echo $this->Form->input('email_responsable', [
cb0ff3ca   Alexandre   Version: 2.4.3.1
104
        		'label' => 'Email du propriétaire', 
19798ef9   Alexandre   Mode_install, maj...
105
106
107
        		'readonly' => true,
        		'default' => $mail_responsable
        ]);
5d0d680d   Alexandre   Version: 2.2.0
108
        echo $this->Form->input('fournisseur', ['label' => 'Fournisseur', 'default' => $Fournisseur]);
758a84af   Alexandre   Version: 2.2.4.0
109
        echo $this->Form->input('organisme_id', ['options' => $organismes, 'style' => 'width: 380px', 'empty' => 'Choisir un organisme', 'default' => $Organisme_id]);
5d0d680d   Alexandre   Version: 2.2.0
110
        echo $this->Form->input('prix_ht', ['label' => 'Prix HT (€)', 'default' => $Prix_ht]);
19798ef9   Alexandre   Mode_install, maj...
111
        
cb0ff3ca   Alexandre   Version: 2.4.3.1
112
        if(in_array($role, ['Administration', 'Administration Plus'])) {
04a6b875   Alexandre   Version: 2.4.2.0
113
114
115
116
117
118
119
120
121
        	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...
122
123
        ?>
    </fieldset>
0e5846aa   Alexandre   Css bouton valide...
124
    <?= $this->Form->submit(__('Enregistrer')) ?>
6c4edfa3   Alexandre   First Commit LabI...
125
126
    <?= $this->Form->end() ?>
</div>
19798ef9   Alexandre   Mode_install, maj...
127
128
129
130
131
132

<div class="actions">
	<?php 
		echo $this->element('menu');
		echo $this->element('menu_form', [ 'pluralHumanName' => 'Matériels' ]);
	?>
758a84af   Alexandre   Version: 2.2.4.0
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
</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
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
           
/** 
 * 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
173

758a84af   Alexandre   Version: 2.2.4.0
174
175
			if (domaineId=="") 
				updateSelectOptionsFromAnother("#categorie-id", "#sur-categorie-id", "Categories/getAll", "Choisir une catégorie");
758a84af   Alexandre   Version: 2.2.4.0
176
177
			else 
				updateSelectOptionsFromAnother("#categorie-id", "#sur-categorie-id", "Categories/getBySurCategorie", "Choisir une catégorie");
758a84af   Alexandre   Version: 2.2.4.0
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
			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
194

758a84af   Alexandre   Version: 2.2.4.0
195
		if (categId=="") emptySelectOptions("#sous-categorie-id","Choisir une sous-catégorie");
758a84af   Alexandre   Version: 2.2.4.0
196
		else {
758a84af   Alexandre   Version: 2.2.4.0
197
			updateSelectOptionsFromAnother("#sous-categorie-id", "#categorie-id", "SousCategories/getByCategorie", "Choisir une sous-catégorie "+categLabel);
758a84af   Alexandre   Version: 2.2.4.0
198
199
200
201
202
			updateSelectOptionsFromAnother("#sur-categorie-id", "#categorie-id", "SurCategories/getFromCategorie", "");
		}
		return false;
	});
});
e1f6c5b7   Alexandre   Version: 2.3.0.0
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220

/**
 * 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
221
</script>