Commit 5973ba4e205d7cbabd3eb6e0908c2be66a266b49
1 parent
69ea278c
Exists in
master
and in
3 other branches
mise a jour fichier
Showing
7 changed files
with
411 additions
and
116 deletions
Show diff stats
src/Controller/EmpruntsController.php
... | ... | @@ -199,4 +199,95 @@ class EmpruntsController extends AppController |
199 | 199 | } |
200 | 200 | return $this->redirect(['action' => 'index']); |
201 | 201 | } |
202 | + | |
203 | + | |
204 | + | |
205 | + /** | |
206 | + * GetConditionForField method | |
207 | + * | |
208 | + * @param unknown $fieldName | |
209 | + * @return string[]|NULL | |
210 | + */ | |
211 | + private function getConditionForField($fieldName) { | |
212 | + $searchFieldName = 's_' . $fieldName; | |
213 | + if ( isset($this->request->data[$searchFieldName]) && ($this->request->data[$searchFieldName] != '')) return ["Suivis.$fieldName LIKE" => '%'.$this->request->data[$searchFieldName].'%']; | |
214 | + return NULL; | |
215 | + } | |
216 | + | |
217 | + public function find() { | |
218 | + | |
219 | + | |
220 | + | |
221 | + $s_site = $this->Emprunts->Sites->find('list', [ 'keyField' => 'id', 'valueField' => 'nom', 'order' => 'Sites.nom']); | |
222 | + $s_nomEmprunteur = $this->Emprunts->find('list', [ 'keyField' => 'nom_emprunteur', 'valueField' => 'nom_emprunteur', 'order' => 'nom_emprunteur']); | |
223 | + $s_e_lieu_detail = $this->Emprunts->find('list', [ 'keyField' => 'e_lieu_detail' , 'valueField' => 'e_lieu_detail', 'order' => 'e_lieu_detail', 'conditions' => array('emprunt_interne =' => '1')]); | |
224 | + $materiels = $this->Emprunts->Materiels; | |
225 | + $nom_emprunteur_ext = $this->Emprunts->find('list', [ 'keyField' => 'nom_emprunteur' , 'valueField' => 'nom_emprunteur', 'order' => 'nom_emprunteur', 'conditions' => ['emprunt_interne =' => '0' ]]); | |
226 | + $nom_emprunteur_int = $this->Emprunts->find('list', [ 'keyField' => 'nom_emprunteur' , 'valueField' => 'nom_emprunteur', 'order' => 'nom_emprunteur', 'conditions' => array('emprunt_interne =' => '1' )]); | |
227 | + $s_laboratoire =$this->Emprunts->find('list', [ 'keyField' => 'laboratoire' , 'valueField' => 'laboratoire', 'order' => 'laboratoire' , 'conditions' => array('emprunt_interne =' => '0')]); | |
228 | + $sites = $this->Emprunts->Sites; | |
229 | + | |
230 | + $this->set(compact('s_site','s_nomEmprunteur', 'materiels','s_e_lieu_detail', 'nom_emprunteur_int','nom_emprunteur_ext','s_laboratoire','sites')); | |
231 | + | |
232 | + $resultTri = $this->request->session()->read("resultTri"); | |
233 | + | |
234 | + if ($this->request->is('post')) { | |
235 | + $specificFieldsConditions = NULL; | |
236 | + $nom_emprunteur = NULL; | |
237 | + $periode_interventionRequest = NULL; | |
238 | + if ($this->request->data['s_date_emprunt'] != '') $periode_interventionRequest['Emprunts.date_emprunt >='] = date('Y-m-d', strtotime(str_replace('/', '-', $this->request->data['s_date_emprunt']))); | |
239 | + if ($this->request->data['s_date_retour_emprunt'] != '') $periode_interventionRequest['Emprunts.date_retour_emprunt <='] = date('Y-m-d', strtotime(str_replace('/', '-', $this->request->data['s_date_retour_emprunt']))); | |
240 | + if($this->request->data['emprunt_interne'] == true){ | |
241 | + $nom_emprunteur['Emprunts.emprunt_interne =']= true; | |
242 | + if($this->request->data['nom_emprunteur_int'] != '') | |
243 | + $nom_emprunteur['Emprunts.nom_emprunteur =']= $this->request->data['nom_emprunteur_int']; | |
244 | + if($this->request->data['e_lieu_detail'] != '') | |
245 | + $nom_emprunteur['Emprunts.e_lieu_detail =']= $this->request->data['e_lieu_detail']; | |
246 | + if($this->request->data['site'] != '') | |
247 | + $nom_emprunteur['Emprunts.site_id =']= $this->request->data['site']; | |
248 | + }else { | |
249 | + $nom_emprunteur['Emprunts.emprunt_interne =']= false; | |
250 | + | |
251 | + if($this->request->data['nom_emprunteur_ext'] != '') | |
252 | + $nom_emprunteur['Emprunts.nom_emprunteur =']= $this->request->data['nom_emprunteur_ext']; | |
253 | + if($this->request->data['laboratoire'] != '') | |
254 | + $nom_emprunteur['Emprunts.laboratoire =']= $this->request->data['laboratoire']; | |
255 | + } | |
256 | + | |
257 | + /*if($this->request->data['emprunt_interne'] == true) | |
258 | + $nom_emprunteur['Emprunts.emprunt_interne =']= true; | |
259 | + else | |
260 | + $nom_emprunteur['Emprunts.emprunt_interne =']= false;*/ | |
261 | + $specificFieldsConditions = [ | |
262 | + $periode_interventionRequest, | |
263 | + $nom_emprunteur | |
264 | + ]; | |
265 | + | |
266 | + // CONSTRUCTION DE LA REQUETE SQL COMPLETE = $specificFieldsConditions | |
267 | + // by default, no sort | |
268 | + // | |
269 | + $lastResults = $this->Emprunts->find('all' , ['conditions' => $specificFieldsConditions]); | |
270 | + | |
271 | + $this->paginate = ['limit' => 1000]; | |
272 | + $_results = $this->paginate($lastResults); | |
273 | + $this->set(compact('_results')); | |
274 | + | |
275 | + } // end if() | |
276 | + else if (isset($resultTri) && strstr($this->request->here(), 'sort') != false && strstr($this->request->here(), 'direction') != false) { | |
277 | + $findedEmprunts = []; | |
278 | + | |
279 | + foreach($resultTri as $r) { | |
280 | + array_push($findedEmprunts, $r->id); | |
281 | + } | |
282 | + $res = $this->Emprunts->find('all', ['limit' => 1000]); | |
283 | + for($i = 0; $i < sizeof($findedEmprunts); $i++) { | |
284 | + $res->orWhere(['id =' => $findedEmprunts[$i]]); | |
285 | + } | |
286 | + | |
287 | + $this->paginate = ['limit' => 1000]; | |
288 | + $_results = $this->paginate($res); | |
289 | + $this->set(compact('_results')); | |
290 | + | |
291 | + } | |
292 | + } | |
202 | 293 | } | ... | ... |
src/Controller/SuivisController.php
... | ... | @@ -27,7 +27,7 @@ class SuivisController extends AppController |
27 | 27 | $action = $this->request->params['action']; |
28 | 28 | |
29 | 29 | if($this->userHasRole('Administration')) return true; |
30 | - | |
30 | + | |
31 | 31 | //Pour un "utilisateur" |
32 | 32 | if (in_array($action, ['edit', 'delete'])) { |
33 | 33 | $id = (int)$this->request->params['pass'][0]; |
... | ... | @@ -67,7 +67,7 @@ class SuivisController extends AppController |
67 | 67 | public function index() |
68 | 68 | { |
69 | 69 | $condition = ''; |
70 | - | |
70 | + | |
71 | 71 | $GM = $this->request->query('GM'); |
72 | 72 | $GT = $this->request->query('GT'); |
73 | 73 | |
... | ... | @@ -104,13 +104,19 @@ class SuivisController extends AppController |
104 | 104 | public function view($id = null) |
105 | 105 | { |
106 | 106 | $suivi = $this->Suivis->get($id, [ |
107 | - 'contain' => ['Materiels', 'Documents', 'TypeSuivis', 'GroupesThematiques', 'GroupesMetiers'] | |
107 | + 'contain' => ['Materiels', 'Documents', 'TypeSuivis', 'GroupesThematiques', 'GroupesMetiers','Unites','Fichemetrologiques'] | |
108 | 108 | ]); |
109 | - | |
110 | - $typeDocuments = TableRegistry::get('TypeDocuments'); | |
111 | - $this->set('typeDocuments', $typeDocuments); | |
112 | - | |
113 | - $this->set('suivi', $suivi); | |
109 | + $typeDocuments = TableRegistry::get('TypeDocuments'); | |
110 | + $fichemet= TableRegistry::get('Fichemetrologiques')->find('all',['conditions' => [ 'suivi_id' => $this->passedArgs[0] ] ,'order' => ('id DESC')]); | |
111 | + | |
112 | + if($fichemet == null) | |
113 | + $fiche = null; | |
114 | + else | |
115 | + $fiche = $fichemet->first(); | |
116 | + | |
117 | + $this->set('typeDocuments', $typeDocuments); | |
118 | + $this->set('suivi', $suivi); | |
119 | + $this->set('fiche', $fiche); | |
114 | 120 | $this->set('_serialize', ['suivi']); |
115 | 121 | } |
116 | 122 | |
... | ... | @@ -124,28 +130,47 @@ class SuivisController extends AppController |
124 | 130 | $suivi = $this->Suivis->newEntity(); |
125 | 131 | if ($this->request->is('post')) { |
126 | 132 | $suivi = $this->Suivis->patchEntity($suivi, $this->request->data); |
127 | - | |
133 | + if($this->request->data['typemesure']=="1") | |
134 | + $suivi->typemesure="Indirect"; | |
128 | 135 | $suivi->panne_resolu = false; |
129 | 136 | if ($this->Suivis->save($suivi)) { |
130 | 137 | $this->Flash->success(__('Le suivi a bien été ajouté.')); |
131 | 138 | return $this->redirect(['controller' => 'Materiels', 'action' => 'view', $this->passedArgs[0]]); |
132 | 139 | } else { |
133 | 140 | $this->Flash->error(__('Le suivi n\'a pas pu être ajouté.')); |
141 | + return $this->redirect(['controller' => 'Materiels', 'action' => 'view', $this->passedArgs[0]]); | |
134 | 142 | } |
135 | 143 | } |
136 | 144 | $materiels = $this->Suivis->Materiels->find('list'); |
137 | - | |
138 | - $materiel = $this->Suivis->Materiels->find()->where(['id =' => $this->passedArgs[0]])->first(); | |
139 | - | |
145 | + $unite = TableRegistry::get('Unites')->find('list', [ 'keyfield' => 'id', 'valueField' =>'nom']); | |
146 | + $formule = TableRegistry::get('Formules')->find('list', [ 'keyfield' => 'id', 'valueField' =>'formule']); | |
147 | + $formules = TableRegistry::get('Formules')->find('all'); | |
148 | + $metro = TableRegistry::get('Materiels')->find()->select('metrologie')->where(['id =' => $this->passedArgs[0]])->first()['metrologie']; | |
149 | + $variables = TableRegistry::get('Variables')->find('list')->toArray(); | |
150 | + | |
151 | + $materiel = $this->Suivis->Materiels->find()->where(['id =' => $this->passedArgs[0]])->first(); | |
152 | + //$domaineresp= TableRegistry::get('Users')->find()->select('sur_categorie_id')->where(['username =' => $this->LdapAuth->user($this->request->session()->read('authType'))[0]])->first()['sur_categorie_id']; | |
153 | + if($metro ==1){ | |
140 | 154 | $typeSuivis = $this->Suivis->TypeSuivis->find('list', [ 'keyField' => 'id', 'valueField' => 'nom']); |
141 | - | |
155 | + }else{ | |
156 | + $typeSuivis = $this->Suivis->TypeSuivis->find('list', [ 'keyField' => 'id', 'valueField' => 'nom', 'conditions' => [ 'AND' => [['id !=' => '4'] , ['id !=' => '5'], ['id !=' => '6']]]]); | |
157 | + } | |
158 | + $dom= TableRegistry::get('Materiels')->find()->select('sur_categorie_id')->where(['id =' => $materiel->id])->first()['sur_categorie_id']; | |
159 | + $domaines= TableRegistry::get('Users')->find()->select('sur_categorie_id')->where(['username =' => $this->LdapAuth->user($this->request->session()->read('authType'))[0]])->first()['sur_categorie_id']; | |
160 | + if($dom == $domaines) | |
161 | + $domaineresp=true; | |
162 | + else | |
163 | + $domaineresp=false; | |
164 | + | |
165 | + | |
142 | 166 | $groupesThematiques = $this->Suivis->GroupesThematiques->find('list', [ 'keyField' => 'id', 'valueField' => 'nom', 'order' => 'GroupesThematiques.nom']); |
143 | 167 | $groupesMetiers = $this->Suivis->GroupesMetiers->find('list', [ 'keyField' => 'id', 'valueField' => 'nom', 'order' => 'GroupesMetiers.nom']); |
144 | - | |
145 | - $this->set(compact('suivi', 'materiels', 'typeSuivis', 'materiel', 'groupesThematiques', 'groupesMetiers')); | |
168 | + | |
169 | + $this->set(compact('variables','formule','formules','unite','domaineresp','suivi', 'materiels', 'typeSuivis', 'materiel', 'groupesThematiques', 'groupesMetiers')); | |
146 | 170 | $this->set('_serialize', ['suivi']); |
147 | 171 | } |
148 | 172 | |
173 | + | |
149 | 174 | /** |
150 | 175 | * Edit method |
151 | 176 | * |
... | ... | @@ -168,16 +193,33 @@ class SuivisController extends AppController |
168 | 193 | } |
169 | 194 | } |
170 | 195 | $materiels = $this->Suivis->Materiels->find('list'); |
196 | + $materiel = $this->Suivis->Materiels->find()->where(['id =' => $suivi->materiel_id])->first(); | |
197 | + $unite = TableRegistry::get('Unites')->find('list', [ 'keyfield' => 'id', 'valueField' =>'nom']); | |
171 | 198 | |
172 | 199 | $numMateriel = $this->Suivis->Materiels->find()->select('numero_laboratoire')->where(['id =' => $suivi->get('materiel_id')])->first()['numero_laboratoire']; |
173 | - | |
200 | + $metro = TableRegistry::get('Materiels')->find()->select('metrologie')->where(['id =' => $suivi->materiel_id])->first()['metrologie']; | |
201 | + | |
174 | 202 | $typeSuivis = $this->Suivis->TypeSuivis->find('list', [ 'keyField' => 'id', 'valueField' => 'nom']); |
175 | 203 | |
176 | - $groupesThematiques = $this->Suivis->GroupesThematiques->find('list', [ 'keyField' => 'id', 'valueField' => 'nom', 'order' => 'GroupesThematiques.nom']); | |
204 | + $groupesThematiques = $this->Suivis->GroupesThematiques->find('list', [ 'keyField' => 'id', 'valueField' => 'nom', 'order' => 'GroupesThematiques.nom']); | |
177 | 205 | $groupesMetiers = $this->Suivis->GroupesMetiers->find('list', [ 'keyField' => 'id', 'valueField' => 'nom', 'order' => 'GroupesMetiers.nom']); |
178 | 206 | |
179 | - $this->set(compact('suivi', 'materiels', 'typeSuivis', 'numMateriel', 'groupesThematiques', 'groupesMetiers')); | |
207 | + if($metro == 1){ | |
208 | + $typeSuivis = $this->Suivis->TypeSuivis->find('list', [ 'keyField' => 'id', 'valueField' => 'nom']); | |
209 | + }else{ | |
210 | + $typeSuivis = $this->Suivis->TypeSuivis->find('list', [ 'keyField' => 'id', 'valueField' => 'nom', 'conditions' => [ 'AND' => [['id !=' => '4'] , ['id !=' => '5'], ['id !=' => '6']]]]); | |
211 | + } | |
212 | + $dom= TableRegistry::get('Materiels')->find()->select('sur_categorie_id')->where(['id =' => $suivi->materiel_id])->first()['sur_categorie_id']; | |
213 | + $domaines= TableRegistry::get('Users')->find()->select('sur_categorie_id')->where(['username =' => $this->LdapAuth->user($this->request->session()->read('authType'))[0]])->first()['sur_categorie_id']; | |
214 | + if($dom == $domaines) | |
215 | + $domaineresp=true; | |
216 | + else | |
217 | + $domaineresp=false; | |
218 | + | |
219 | + $this->set(compact('unite','metro','domaineresp','suivi','materiel', 'materiels', 'typeSuivis', 'numMateriel', 'groupesThematiques', 'groupesMetiers')); | |
180 | 220 | $this->set('_serialize', ['suivi']); |
221 | + | |
222 | + | |
181 | 223 | } |
182 | 224 | |
183 | 225 | /** |
... | ... | @@ -199,6 +241,8 @@ class SuivisController extends AppController |
199 | 241 | return $this->redirect(['action' => 'index']); |
200 | 242 | } |
201 | 243 | |
244 | + | |
245 | + | |
202 | 246 | /** |
203 | 247 | * GetConditionForField method |
204 | 248 | * |
... | ... | @@ -241,8 +285,8 @@ class SuivisController extends AppController |
241 | 285 | |
242 | 286 | if ($this->request->is('post')) { |
243 | 287 | $specificFieldsConditions = NULL; |
244 | - | |
245 | - $periode_interventionRequest = NULL; | |
288 | + | |
289 | + $periode_interventionRequest = NULL; | |
246 | 290 | $date_intervention = NULL; |
247 | 291 | if ($this->request->data['s_periode_controle1'] != '') $periode_interventionRequest['Suivis.date_controle >='] = date('Y-m-d', strtotime(str_replace('/', '-', $this->request->data['s_periode_controle1']))); |
248 | 292 | if ($this->request->data['s_periode_controle2'] != '') $periode_interventionRequest['Suivis.date_controle <='] = date('Y-m-d', strtotime(str_replace('/', '-', $this->request->data['s_periode_controle2']))); | ... | ... |
src/Controller/UsersController.php
... | ... | @@ -36,7 +36,7 @@ class UsersController extends AppController |
36 | 36 | if($role == 'Super Administrateur') return true; |
37 | 37 | |
38 | 38 | //Pour tout le monde |
39 | - if (in_array($action, ['index', 'view', 'getLdapLogin', 'getLdapEmail'])) return true; | |
39 | + if (in_array($action, ['index', 'view', 'getLdapLogin', 'getLdapEmail','indexRecap'])) return true; | |
40 | 40 | |
41 | 41 | |
42 | 42 | // Par défaut refuser |
... | ... | @@ -79,7 +79,7 @@ class UsersController extends AppController |
79 | 79 | public function index() |
80 | 80 | { |
81 | 81 | $this->paginate = [ |
82 | - 'contain' => ['GroupesMetiers', 'GroupesThematiques'] | |
82 | + 'contain' => ['GroupesMetiers', 'GroupesThematiques','SurCategories'] | |
83 | 83 | ]; |
84 | 84 | $users = $this->paginate($this->Users); |
85 | 85 | |
... | ... | @@ -91,7 +91,28 @@ class UsersController extends AppController |
91 | 91 | $this->set(compact('users')); |
92 | 92 | $this->set('_serialize', ['users']); |
93 | 93 | } |
94 | - | |
94 | + | |
95 | + /** | |
96 | + * Index_recap method | |
97 | + * | |
98 | + * @return \Cake\Network\Response|null | |
99 | + */ | |
100 | + public function indexRecap() | |
101 | + { | |
102 | + $this->paginate = [ | |
103 | + 'contain' => ['GroupesMetiers', 'GroupesThematiques','SurCategories'] | |
104 | + ]; | |
105 | + $users = $this->paginate($this->Users->find('all', ['conditions' => [ 'role =' => 'Responsable' ]])); | |
106 | + | |
107 | + //Affichage informations disponible pour l'utilisateur connecté | |
108 | + $this->myDebug($this->LdapAuth->user()); | |
109 | + | |
110 | + $this->set('nbUsers', $this->Users->find('all', ['conditions' => [ 'role =' => 'Responsable' ]])->count()); | |
111 | + | |
112 | + $this->set(compact('users')); | |
113 | + $this->set('_serialize', ['users']); | |
114 | + } | |
115 | + | |
95 | 116 | /** |
96 | 117 | * View method |
97 | 118 | * |
... | ... | @@ -102,7 +123,7 @@ class UsersController extends AppController |
102 | 123 | public function view($id = null) |
103 | 124 | { |
104 | 125 | $user = $this->Users->get($id, [ |
105 | - 'contain' => ['GroupesMetiers', 'GroupesThematiques'] | |
126 | + 'contain' => ['GroupesMetiers', 'GroupesThematiques','SurCategories'] | |
106 | 127 | ]); |
107 | 128 | |
108 | 129 | $this->set('user', $user); |
... | ... | @@ -123,13 +144,13 @@ class UsersController extends AppController |
123 | 144 | $this->Flash->success(__('L\'utilisateur a bien été ajouté.')); |
124 | 145 | return $this->redirect(['action' => 'view', $user->id]); |
125 | 146 | } else { |
126 | - $this->Flash->error(__('L\utilisateur na pas pu être ajouté.')); | |
147 | + $this->Flash->error(__('L\'utilisateur na pas pu être ajouté.')); | |
127 | 148 | } |
128 | 149 | } |
129 | 150 | $groupesMetiers = $this->Users->GroupesMetiers->find('list', [ 'keyField' => 'id', 'valueField' => 'nom']); |
130 | 151 | $groupesThematiques = $this->Users->GroupesThematiques->find('list', [ 'keyField' => 'id', 'valueField' => 'nom']); |
131 | - | |
132 | - $users = TableRegistry::get('LdapConnections')->getListUsers(); | |
152 | + $sur_categorie = $this->Users->SurCategories->find('list', [ 'keyField' => 'id', 'valueField' => 'nom']); | |
153 | + $users = TableRegistry::get('LdapConnections')->getListUsers(); | |
133 | 154 | //tri des utilisateurs par nom |
134 | 155 | sort($users); |
135 | 156 | $utilisateurs = []; |
... | ... | @@ -137,7 +158,7 @@ class UsersController extends AppController |
137 | 158 | $utilisateurs[$users[$i]] = $users[$i]; |
138 | 159 | } |
139 | 160 | |
140 | - $this->set(compact('user', 'groupesMetiers', 'utilisateurs', 'groupesThematiques')); | |
161 | + $this->set(compact('user', 'groupesMetiers', 'utilisateurs', 'groupesThematiques','sur_categorie')); | |
141 | 162 | $this->set('_serialize', ['user']); |
142 | 163 | } |
143 | 164 | |
... | ... | @@ -156,16 +177,16 @@ class UsersController extends AppController |
156 | 177 | if ($this->request->is(['patch', 'post', 'put'])) { |
157 | 178 | $user = $this->Users->patchEntity($user, $this->request->data); |
158 | 179 | if ($this->Users->save($user)) { |
159 | - $this->Flash->success(__('L\utilisateur a bien été édité.')); | |
180 | + $this->Flash->success(__('L\'utilisateur a bien été édité.')); | |
160 | 181 | return $this->redirect(['action' => 'view', $id]); |
161 | 182 | } else { |
162 | - $this->Flash->error(__('L\utilisateur na pas pu être édité.')); | |
183 | + $this->Flash->error(__('L\'utilisateur na pas pu être édité.')); | |
163 | 184 | } |
164 | 185 | } |
165 | 186 | $groupesMetiers = $this->Users->GroupesMetiers->find('list', [ 'keyField' => 'id', 'valueField' => 'nom']); |
166 | 187 | $groupesThematiques = $this->Users->GroupesThematiques->find('list', [ 'keyField' => 'id', 'valueField' => 'nom']); |
167 | - | |
168 | - $this->set(compact('user', 'groupesMetiers', 'groupesThematiques')); | |
188 | + $sur_categorie = $this->Users->SurCategories->find('list', [ 'keyField' => 'id', 'valueField' => 'nom']); | |
189 | + $this->set(compact('user', 'groupesMetiers', 'groupesThematiques','sur_categorie')); | |
169 | 190 | $this->set('_serialize', ['user']); |
170 | 191 | } |
171 | 192 | |
... | ... | @@ -181,9 +202,9 @@ class UsersController extends AppController |
181 | 202 | $this->request->allowMethod(['post', 'delete']); |
182 | 203 | $user = $this->Users->get($id); |
183 | 204 | if ($this->Users->delete($user)) { |
184 | - $this->Flash->success(__('L\utilisateur a bien été supprimé.')); | |
205 | + $this->Flash->success(__('L\'utilisateur a bien été supprimé.')); | |
185 | 206 | } else { |
186 | - $this->Flash->error(__('L\utilisateur na pas pu être supprimé.')); | |
207 | + $this->Flash->error(__('L\'utilisateur na pas pu être supprimé.')); | |
187 | 208 | } |
188 | 209 | return $this->redirect(['action' => 'index']); |
189 | 210 | } | ... | ... |
src/Template/Materiels/add.ctp
... | ... | @@ -45,9 +45,13 @@ else { |
45 | 45 | <fieldset> |
46 | 46 | <h2><i class="icon-plus"></i> Ajouter un Matériel</h2> |
47 | 47 | <?= $this->Form->submit(__('Enregistrer')) ?> |
48 | - | |
48 | + | |
49 | 49 | <?php |
50 | - echo $this->Form->input('designation', ['label' => 'Désignation', 'default' => $Designation]); | |
50 | + echo '<div class="input text required"><label for="designation">Désignation</label><input list="designa" id="designation" name="designation" type="text" placeholder="choisir/ajouter une designation" autocomplete="off"><datalist id="designa">'; | |
51 | + foreach($designation as $e){ | |
52 | + echo "<option value=\"$e\">"; | |
53 | + } | |
54 | + echo '</datalist> </div>'; | |
51 | 55 | |
52 | 56 | echo $this->Form->input('sur_categorie_id', ['label' => 'Domaine', 'style' => 'width: 260px', 'options' => $surCategories, 'empty' => 'Choisir un domaine', 'default' => $Sur_categ_id]); |
53 | 57 | |
... | ... | @@ -69,15 +73,24 @@ else { |
69 | 73 | |
70 | 74 | echo $this->Form->input('materiel_technique', ['label' => 'Technique', 'default' => $Mat_technique]); |
71 | 75 | echo $this->Form->input('materiel_administratif', ['label' => 'Inventoriable (>'.$configuration->prix_inventaire_administratif.'€)', 'default' => $Mat_administratif]); |
72 | - | |
76 | + | |
77 | + if($configuration->metrologie =='1'){ | |
78 | + echo '<div id="metro" style="display:none">'; | |
79 | + echo $this->Form->input('metrologie', ['label' => 'Métrologie', 'default' => false]); | |
80 | + echo '</div>'; | |
81 | + } | |
73 | 82 | echo $this->Form->input('description', ['label' => 'Description', 'default' => $Description]); |
74 | 83 | |
75 | 84 | if(in_array($role, ['Responsable', 'Administration', 'Administration Plus', 'Super Administrateur'])) { |
76 | 85 | echo $this->Form->input('etiquette', ['label' => 'Etiquette posée']); |
77 | 86 | } |
78 | - | |
87 | + | |
79 | 88 | echo $this->Form->input('site_id', ['options' => $sites, 'style' => 'width: 380px', 'default' => $Site_id]); |
80 | - echo $this->Form->input('lieu_detail', ['label' => 'Détail lieu de stockage', 'default' => $Lieu_detail]); | |
89 | + echo '<div class="input text"><label for="lieu_detail">Détail lieu de stockage</label><input list="lieu" id="lieu_detail" name="lieu_detail" type="text" placeholder="choisir/ajouter un lieu" autocomplete="off"><datalist id="lieu">'; | |
90 | + foreach($lieu_detail as $e){ | |
91 | + echo "<option value=\"$e\">"; | |
92 | + } | |
93 | + echo '</datalist> </div>'; | |
81 | 94 | |
82 | 95 | 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]); |
83 | 96 | 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]); |
... | ... | @@ -134,8 +147,8 @@ else { |
134 | 147 | 'readonly' => true, |
135 | 148 | 'default' => $mail_responsable |
136 | 149 | ]); |
137 | - | |
138 | - // Modif BD : | |
150 | + | |
151 | + // Modif BD : | |
139 | 152 | // ALTER TABLE `materiels` ADD `nom_gestionnaire` VARCHAR( 45 ) CHARACTER SET latin1 COLLATE latin1_swedish_ci NOT NULL AFTER `email_responsable` ; |
140 | 153 | // Condition pour vérifier que se soit un admin qui est connecté : (!is_null($res)) ? |
141 | 154 | $res = TableRegistry::get('Users')->find()->where(['username' => $username, 'role' => 'Administration'])->first(); |
... | ... | @@ -146,9 +159,9 @@ else { |
146 | 159 | 'default' => $_SESSION['Auth']['User']['sn'][0], |
147 | 160 | 'options' => $administrateurs |
148 | 161 | ]); |
149 | - | |
150 | - echo $this->Form->input('fournisseur', ['label' => 'Fournisseur', 'default' => $Fournisseur]); | |
151 | - echo $this->Form->input('organisme_id', ['options' => $organismes, 'style' => 'width: 380px', 'empty' => 'Choisir un organisme', 'default' => $Organisme_id]); | |
162 | + | |
163 | + echo $this->Form->input('fournisseur', ['label' => 'Fournisseur', 'default' => $Fournisseur , 'option' => $fournisseurs , 'empty' => 'N/A']); | |
164 | + echo $this->Form->input('organisme_id', ['options' => $organismes, 'style' => 'width: 380px', 'empty' => 'Choisir un organisme', 'default' => $Organisme_id]); | |
152 | 165 | echo $this->Form->input('prix_ht', ['label' => 'Prix HT (€)', 'default' => $Prix_ht]); |
153 | 166 | |
154 | 167 | if(in_array($role, ['Administration', 'Administration Plus', 'Super Administrateur'])) { |
... | ... | @@ -196,7 +209,7 @@ else { |
196 | 209 | ?> |
197 | 210 | |
198 | 211 | <script type="text/javascript"> |
199 | - | |
212 | + | |
200 | 213 | /** |
201 | 214 | * Event DOMAINE change |
202 | 215 | * |
... | ... | @@ -208,16 +221,29 @@ else { |
208 | 221 | * - puis (dans les 2 cas) vider scateg |
209 | 222 | * |
210 | 223 | */ |
211 | - | |
224 | + | |
212 | 225 | $(document).ready(function () { |
213 | 226 | $("#sur-categorie-id").bind("change", function (event) { |
227 | + | |
214 | 228 | var domaineId=$("#sur-categorie-id :selected").val(); |
215 | - | |
229 | + | |
230 | + var domaineresp= <?php echo $domaineresp ?>; | |
231 | + | |
232 | + var role= "<?php echo $role ?>"; | |
233 | + if(domaineId== domaineresp){ | |
234 | + if(role == "Responsable"){ | |
235 | + $("#metro").css("display", "block"); | |
236 | + }else | |
237 | + $("#metro").css("display", "none"); | |
238 | + } | |
239 | + else | |
240 | + $("#metro").css("display", "none"); | |
241 | + | |
216 | 242 | if (domaineId=="") |
217 | 243 | updateSelectOptionsFromAnother("#categorie-id", "#sur-categorie-id", "Categories/getAll", "Choisir une catégorie"); |
218 | 244 | else |
219 | 245 | updateSelectOptionsFromAnother("#categorie-id", "#sur-categorie-id", "Categories/getBySurCategorie", "Choisir une catégorie"); |
220 | - emptySelectOptions("#sous-categorie-id","Choisir une sous-catégorie"); | |
246 | + emptySelectOptions("#sous-categorie-id","Choisir une sous-catégorie"); | |
221 | 247 | return false; |
222 | 248 | }); |
223 | 249 | }); |
... | ... | @@ -229,12 +255,13 @@ $(document).ready(function () { |
229 | 255 | * - si select = "choisir" ==> vider scateg |
230 | 256 | * - si select <> "choisir" ==> domaine value selected = celui de la categ, et scateg values = from categ |
231 | 257 | */ |
258 | + | |
232 | 259 | $(document).ready(function () { |
233 | 260 | $("#categorie-id").bind("change", function (event) { |
234 | 261 | var categId=$("#categorie-id :selected").val(); |
235 | 262 | var categLabel=$("#categorie-id :selected").text(); |
236 | 263 | |
237 | - if (categId=="") emptySelectOptions("#sous-categorie-id","Choisir une sous-catégorie"); | |
264 | + if (categId=="") emptySelectOptions("#sous-categorie-id","Choisir une sous-catégorie"); | |
238 | 265 | else { |
239 | 266 | updateSelectOptionsFromAnother("#sous-categorie-id", "#categorie-id", "SousCategories/getByCategorie", "Choisir une sous-catégorie "+categLabel); |
240 | 267 | updateSelectOptionsFromAnother("#sur-categorie-id", "#categorie-id", "SurCategories/getFromCategorie", ""); | ... | ... |
src/Template/Materiels/edit.ctp
... | ... | @@ -52,12 +52,12 @@ if ($IS_VALIDATED) |
52 | 52 | <?= $this->Form->submit(__('Enregistrer')) ?> |
53 | 53 | |
54 | 54 | <?php |
55 | - | |
56 | - echo $this->Form->input('designation', [ | |
57 | - 'label' => 'Désignation', | |
58 | - 'disabled' => $isReadonlyField('designation', $myReadonlyFields) | |
59 | - | |
60 | - ]); | |
55 | + | |
56 | + echo '<div class="input text required"><label for="designation">Désignation</label><input list="designa" disabled="'.$isReadonlyField ( 'designation', $myReadonlyFields ).'" id="designation" name="designation" value="'.array_shift($designation_edit) .'" type="text" placeholder="choisir/ajouter une designation" autocomplete="off"><datalist id="designa">'; | |
57 | + foreach($designation as $e){ | |
58 | + echo "<option value=\"$e\">"; | |
59 | + } | |
60 | + echo '</datalist> </div>'; | |
61 | 61 | |
62 | 62 | if(in_array($role, ['Administration', 'Administration Plus', 'Super Administrateur']) || ($role == 'Utilisateur' && (in_array($username, [$materiel->nom_createur, $materiel->nom_responsable]))) || ($role == 'Responsable' && ($materiel->groupes_metier_id == $userConnected->groupes_metier_id || $materiel->groupes_thematique_id == $userConnected->groupe_thematique_id))) { |
63 | 63 | echo $this->Form->input('hors_service', ['label' => 'Appareil hors_service']); |
... | ... | @@ -110,7 +110,14 @@ if ($IS_VALIDATED) |
110 | 110 | 'label' => 'Inventoriable (>'.$configuration->prix_inventaire_administratif.'€)', |
111 | 111 | 'disabled' => $isReadonlyField('materiel_administratif', $myReadonlyFields) |
112 | 112 | ]); |
113 | - | |
113 | + | |
114 | + if($configuration->metrologie =='1'){ | |
115 | + echo "<div id=\"metro\" > "; | |
116 | + echo $this->Form->input('metrologie', [ | |
117 | + 'label' => 'Suivi en métrologie' | |
118 | + ]); | |
119 | + echo "</div>"; | |
120 | + } | |
114 | 121 | echo $this->Form->input('description', [ |
115 | 122 | 'label' => 'Description', |
116 | 123 | 'disabled' => $isReadonlyField('description', $myReadonlyFields) |
... | ... | @@ -129,9 +136,14 @@ if ($IS_VALIDATED) |
129 | 136 | 'default' => 9, |
130 | 137 | 'disabled' => $isReadonlyField('site_id', $myReadonlyFields) |
131 | 138 | ]); |
132 | - | |
133 | - echo $this->Form->input('lieu_detail', ['label' => 'Détail lieu de stockage', | |
134 | - 'disabled' => $isReadonlyField('lieu_detail', $myReadonlyFields)]); | |
139 | + | |
140 | + echo '<div class="input text"><label for="lieu-detail">Détail lieu de stockage</label><input list="lieu" id="lieu-detail" name="lieu_detail" value="'.array_shift($lieu_detail_edit) .'" type="text" placeholder="choisir/ajouter un lieu" autocomplete="off" ><datalist id="lieu">'; | |
141 | + foreach($lieu_detail as $e){ | |
142 | + echo "<option value=\"$e\">"; | |
143 | + } | |
144 | + echo '</datalist> </div>'; | |
145 | + | |
146 | + | |
135 | 147 | |
136 | 148 | echo $this->Form->input('date_acquisition', [ |
137 | 149 | 'type' => 'text', |
... | ... | @@ -170,7 +182,7 @@ if ($IS_VALIDATED) |
170 | 182 | 'label' => 'Date fin de garantie', |
171 | 183 | 'placeholder' => 'Cliquez pour selectionner une date', |
172 | 184 | 'class' => 'datepicker', |
173 | - 'default' => NULL | |
185 | + 'default' => NULL | |
174 | 186 | ]); |
175 | 187 | |
176 | 188 | |
... | ... | @@ -226,20 +238,24 @@ if ($IS_VALIDATED) |
226 | 238 | 'readonly' => true, |
227 | 239 | 'default' => $mail_responsable |
228 | 240 | ]); |
229 | - | |
230 | - $res = TableRegistry::get('Users')->find()->where(['username' => $username, 'role' => 'Administration'])->first(); | |
241 | + | |
242 | + $res = TableRegistry::get('Users')->find()->where(['username' => $username, 'role' => 'Administration'])->first(); | |
231 | 243 | $administrateurs = TableRegistry::get('Users')->find('list', [ 'keyField' => 'nom', 'valueField' => 'nom'])->where(['role =' => 'Administration'])->toArray(); |
232 | 244 | echo $this->Form->input('nom_gestionnaire', [ |
233 | - 'label' => 'Nom du gestionnaire de référence du matériel', | |
234 | - 'empty' => 'Choisir un gestionnaire', | |
235 | - 'default' => $_SESSION['Auth']['User']['sn'][0], | |
245 | + 'label' => 'Nom du gestionnaire de référence du matériel', | |
246 | + 'empty' => 'Choisir un gestionnaire', | |
247 | + 'default' => $_SESSION['Auth']['User']['sn'][0], | |
236 | 248 | 'options' => $administrateurs |
237 | 249 | ]); |
238 | - | |
239 | - echo $this->Form->input('fournisseur', [ | |
250 | + | |
251 | + echo $this->Form->input('fournisseur_id', [ | |
240 | 252 | 'label' => 'Fournisseur', |
241 | - 'disabled' => $isReadonlyField('fournisseur', $myReadonlyFields) | |
253 | + 'options' => $fournisseurs, | |
254 | + 'style' => 'width: 380px', | |
255 | + 'empty' => 'choisir un fournisseur', | |
256 | + 'disabled' => in_array($role,['Utilisateur']) | |
242 | 257 | ]); |
258 | + | |
243 | 259 | echo $this->Form->input('organisme_id', [ |
244 | 260 | 'options' => $organismes, |
245 | 261 | 'style' => 'width: 380px', |
... | ... | @@ -260,7 +276,7 @@ if ($IS_VALIDATED) |
260 | 276 | 'onchange' => 'changeAdminEdit();', |
261 | 277 | 'default' => false |
262 | 278 | ]); |
263 | - | |
279 | + | |
264 | 280 | echo $this->Form->input('eotp', [ |
265 | 281 | 'label' => 'Centre financier/EOTP', |
266 | 282 | 'disabled' => true |
... | ... | @@ -281,7 +297,7 @@ if ($IS_VALIDATED) |
281 | 297 | 'label' => 'Ancien N° inventaire', |
282 | 298 | 'disabled' => true |
283 | 299 | ]); |
284 | - echo '</div>'; | |
300 | + echo '</div>'; | |
285 | 301 | } |
286 | 302 | |
287 | 303 | echo $this->Form->hidden('nom_modificateur', ['value' => $username ]); |
... | ... | @@ -327,8 +343,8 @@ $(document).ready(function () { |
327 | 343 | if ( <?php echo (!is_null($res)) ? true : false ?>) $("#nom-gestionnaire").val("<?php echo $_SESSION['Auth']['User']['sn'][0]?>"); |
328 | 344 | // Oui, c'est un bâtard entre du JavaScript et du PHP ... Mais au moins ca fonctionne en une seule ligne ! |
329 | 345 | }); |
330 | - | |
331 | - | |
346 | + | |
347 | + | |
332 | 348 | /** |
333 | 349 | * Event DOMAINE change |
334 | 350 | * |
... | ... | @@ -344,7 +360,18 @@ $(document).ready(function () { |
344 | 360 | $(document).ready(function () { |
345 | 361 | $("#sur-categorie-id").bind("change", function (event) { |
346 | 362 | var domaineId=$("#sur-categorie-id :selected").val(); |
347 | - | |
363 | + var domaineresp= "<?php echo $domaine ?>"; | |
364 | + alert(domaineresp); | |
365 | + var role= "<?php echo $role ?>"; | |
366 | + if(domaineId== domaineresp){ | |
367 | + if(role == "Responsable"){ | |
368 | + $("#metro").css("display", "block"); | |
369 | + }else | |
370 | + $("#metro").css("display", "none"); | |
371 | + } | |
372 | + else | |
373 | + $("#metro").css("display", "none"); | |
374 | + | |
348 | 375 | if (domaineId=="") |
349 | 376 | updateSelectOptionsFromAnother("#categorie-id", "#sur-categorie-id", "Categories/getAll", "Choisir une catégorie"); |
350 | 377 | else |
... | ... | @@ -422,5 +449,5 @@ $(document).ready(function () { |
422 | 449 | } |
423 | 450 | }); |
424 | 451 | }); |
425 | - | |
452 | + | |
426 | 453 | </script> | ... | ... |
src/Template/Materiels/view.ctp
... | ... | @@ -304,8 +304,8 @@ if (h ( $materiel->status ) == 'ARCHIVED') |
304 | 304 | <th></th> |
305 | 305 | </tr> |
306 | 306 | |
307 | - | |
308 | - <?php | |
307 | + | |
308 | + <?php | |
309 | 309 | // Pour changer la couleur de la date de garantie si elle est passée - Ajout par Thibault Ajas le 02/05/2017 |
310 | 310 | $time = Time::now(); // On récupère la date et l'heure actuelles |
311 | 311 | $today = new date("$time->year-$time->month-$time->day"); // On extrait la date pour la vérification de fin de garantie |
... | ... | @@ -317,8 +317,8 @@ if (h ( $materiel->status ) == 'ARCHIVED') |
317 | 317 | } |
318 | 318 | if($materiel->date_fin_garantie !== NULL) $style = ($today >= $dateFin) ? 'style="color: #FF0000"' : '' ; else $style = ''; |
319 | 319 | ?> |
320 | - | |
321 | - | |
320 | + | |
321 | + | |
322 | 322 | <?php |
323 | 323 | $type = ""; |
324 | 324 | if (h ( $materiel->materiel_administratif ) == 1 && h ( $materiel->materiel_technique ) == 1) { |
... | ... | @@ -330,7 +330,7 @@ if (h ( $materiel->status ) == 'ARCHIVED') |
330 | 330 | } |
331 | 331 | |
332 | 332 | echo '<tr><td><strong>'.__('Description').' </strong></td><td>'.nl2br($materiel->description).'</td></tr>'; |
333 | - | |
333 | + | |
334 | 334 | // La variable-fonction $displayElement est définie dans le fichier src/Controller/AppController.php |
335 | 335 | |
336 | 336 | $displayElement ( __ ( 'Materiel inventorié' ), $type ); |
... | ... | @@ -345,6 +345,7 @@ if (h ( $materiel->status ) == 'ARCHIVED') |
345 | 345 | $etiq = "Oui"; |
346 | 346 | } |
347 | 347 | $displayElement ( __ ( 'Etiquette posée' ), $etiq ); |
348 | + $displayElement ( __ ( 'N° de série'),$materiel->numero_serie ); | |
348 | 349 | $displayElement ( __ ( $configuration->nom_groupe_thematique ), $materiel->has ( 'groupes_thematique' ) ? $this->Html->link ( $materiel->groupes_thematique->nom, [ |
349 | 350 | 'controller' => 'GroupesThematiques', |
350 | 351 | 'action' => 'view', |
... | ... | @@ -355,6 +356,14 @@ if (h ( $materiel->status ) == 'ARCHIVED') |
355 | 356 | 'action' => 'view', |
356 | 357 | $materiel->groupes_metier->id |
357 | 358 | ] ) : '' ); |
359 | + if($configuration->metrologie == 1){ | |
360 | + if (h ( $materiel->metrologie ) == 0) { | |
361 | + $metro = "Non"; | |
362 | + } else { | |
363 | + $metro = "Oui"; | |
364 | + } | |
365 | + $displayElement ( __ ( 'Métrologie' ), $metro); | |
366 | + } | |
358 | 367 | $displayElement ( __ ( 'Date d\'achat' ), h ( $materiel->date_acquisition ) ); |
359 | 368 | |
360 | 369 | $displayElement ( __ ( 'Date de reception' ), h ( $materiel->date_reception ) ); |
... | ... | @@ -362,21 +371,20 @@ if (h ( $materiel->status ) == 'ARCHIVED') |
362 | 371 | $displayElement ( __ ( 'Duree garantie' ), h ( $materiel->duree_garantie ) . ' ' . h ( $materiel->unite_duree_garantie ) ); |
363 | 372 | } |
364 | 373 | $displayElement ( __ ( 'Date fin de garantie' ), h ( $materiel->date_fin_garantie ), $style ); |
365 | - | |
374 | + | |
366 | 375 | $displayElement ( __ ( 'Statut' ), h ( $materiel->status ) ); |
367 | 376 | if ($materiel->status == 'ARCHIVED') { |
368 | 377 | $displayElement ( __ ( 'Date d\'archivage' ), h ( $materiel->date_archivage ) ); |
369 | 378 | } |
370 | 379 | $displayElement ( __ ( 'Prix (HT)' ), h ( $materiel->prix_ht ) . ' €' ); |
371 | - $displayElement ( __ ( 'Fournisseur' ), h ( $materiel->fournisseur ) ); | |
380 | + $displayElement ( __ ( 'Fournisseur' ), $materiel->has( 'fournisseur' )? $materiel->fournisseur->nom : '' ); | |
372 | 381 | |
373 | 382 | $displayElement ( __ ( 'Lieu de stockage' ), $materiel->has ( 'site' ) ? h ( $materiel->site->nom ) : '' ); |
374 | 383 | $displayElement ( __ ( 'Détail lieu de stockage' ), h ( $materiel->lieu_detail ) ); |
375 | 384 | |
376 | 385 | $displayElement ( __ ( 'Nom du propriétaire' ), $this->Html->link ( h ( $materiel->nom_responsable ), 'mailto:' . h ( $materiel->email_responsable ) ) ); |
377 | - $displayElement ( __ ( 'Nom du gestionnaire de référence' ), h ( $materiel->nom_gestionnaire ) ); | |
378 | 386 | $displayElement ( __ ( 'N. interne (labo)' ), h ( $materiel->numero_laboratoire ) ); |
379 | - | |
387 | + $displayElement ( __ ( 'Nom du gestionnaire de référence' ), h ( $materiel->nom_gestionnaire ) ); | |
380 | 388 | if ($role == 'Super Administrateur') { |
381 | 389 | $displayElement ( __ ( 'Date création' ), h ( $materiel->created ) ); |
382 | 390 | $displayElement ( __ ( 'Nom du créateur' ), h ( $materiel->nom_createur ) ); |
... | ... | @@ -407,7 +415,6 @@ if (h ( $materiel->status ) == 'ARCHIVED') |
407 | 415 | echo '<tr><td><strong>' . __ ( 'CentreFinancier/EOTP' ) . ' </strong></td><td>' . h ( $materiel->eotp ) . '</td></tr>'; |
408 | 416 | echo '<tr><td><strong>' . __ ( 'N° commande' ) . ' </strong></td><td>' . h ( $materiel->numero_commande ) . '</td></tr>'; |
409 | 417 | echo '<tr><td><strong>' . __ ( 'Code comptable' ) . ' </strong></td><td>' . h ( $materiel->code_comptable ) . '</td></tr>'; |
410 | - echo '<tr><td><strong>' . __ ( 'N° de série' ) . ' </strong></td><td>' . h ( $materiel->numero_serie ) . '</td></tr>'; | |
411 | 418 | echo '<tr><td><strong>' . __ ( 'N. Inventaire Organisme' ) . ' </strong></td><td>' . h ( $materiel->numero_inventaire_organisme ) . '</td></tr>'; |
412 | 419 | echo '<tr><td><strong>' . __ ( 'N. inventaire (ancien)' ) . ' </strong></td><td>' . h ( $materiel->numero_inventaire_old ) . '</td></tr>'; |
413 | 420 | |
... | ... | @@ -429,10 +436,10 @@ if (h ( $materiel->status ) == 'ARCHIVED') |
429 | 436 | <tr> |
430 | 437 | <th class="actions"><?= __('') ?></th> |
431 | 438 | <th><?= __('N°') ?></th> |
432 | - <th><?= __('Prestataire') ?></th> | |
433 | - <th><?= __('Date du contrôle') ?></th> | |
434 | - <th><?= __('Date prochain contrôle') ?></th> | |
435 | 439 | <th><?= __('Type d\'intervention') ?></th> |
440 | + <th><?= __('Intitulé') ?></th> | |
441 | + <th><?= __('Etat metrologique') ?></th> | |
442 | + <th><?= __('Date prochain contrôle') ?></th> | |
436 | 443 | <th><?= __('Statut') ?></th> |
437 | 444 | </tr> |
438 | 445 | <?php foreach ($materiel->suivis as $suivis): ?> |
... | ... | @@ -450,10 +457,10 @@ if (h ( $materiel->status ) == 'ARCHIVED') |
450 | 457 | <?php } ?> |
451 | 458 | </td> |
452 | 459 | <td><?= $this->Html->link('Suivi '.$suivis->id, ['controller' => 'suivis', 'action' => 'view', $suivis->id]) ?></td> |
453 | - <td><?= h($suivis->organisme) ?></td> | |
454 | - <td><?= h($suivis->date_controle) ?></td> | |
455 | - <td><?= h($suivis->date_prochain_controle) ?></td> | |
456 | 460 | <td><?= $typeSuivis->find()->where(['id =' => h($suivis->type_suivi_id)])->first()['nom']; ?></td> |
461 | + <td><?= h($suivis->intitule) ?></td> | |
462 | + <td><?= h($suivis->conforme) ?></td> | |
463 | + <td><?= h($suivis->date_prochain_controle) ?></td> | |
457 | 464 | <td><?= h($suivis->statut) ?></td> |
458 | 465 | </tr> |
459 | 466 | <?php endforeach; ?> | ... | ... |
src/Template/Suivis/edit.ctp
... | ... | @@ -7,29 +7,20 @@ |
7 | 7 | |
8 | 8 | echo $this->Form->hidden('materiel_id', ['options' => $materiels, 'default' => $suivi->get('materiel_id')]); |
9 | 9 | |
10 | - echo $this->Form->input ('materiel_numero_laboratoire', [ | |
10 | + echo $this->Form->input ('materiel_numero_laboratoire', [ | |
11 | 11 | 'label' => 'N° materiel labo', |
12 | - 'default' => $numMateriel, | |
12 | + 'default' => $materiel['numero_laboratoire'], | |
13 | 13 | 'disabled' => TRUE |
14 | 14 | ]); |
15 | - | |
15 | + | |
16 | 16 | echo $this->Form->input('type_suivi_id', [ |
17 | 17 | 'label' => 'Type d\'intervention', |
18 | - 'options' => $typeSuivis | |
19 | - ]); | |
20 | - | |
21 | - echo $this->Form->input ('statut', [ | |
22 | - 'options' => ['En cours' => 'En cours', 'Terminé' => 'Terminé'], | |
23 | - ]); | |
24 | - | |
25 | - echo $this->Form->input('date_controle', [ | |
26 | - 'type' => 'text', | |
27 | - 'label' => 'Date intervention', | |
28 | - 'placeholder' => 'Cliquez pour selectionner une date', | |
29 | - 'class' => 'datepicker', | |
30 | - 'default' => NULL | |
18 | + 'options' => $typeSuivis, | |
19 | + 'disabled' => TRUE | |
31 | 20 | ]); |
32 | - | |
21 | + | |
22 | + echo '<div id="frequence" style="display:none">'; | |
23 | + | |
33 | 24 | echo '<table id="tableAlignementFrequence"><tr><td>'; |
34 | 25 | echo $this->Form->input('frequence', [ |
35 | 26 | 'type' => 'text', |
... | ... | @@ -46,20 +37,78 @@ |
46 | 37 | 'default' => '/ Mois' |
47 | 38 | ]); |
48 | 39 | echo '</td></tr></table>'; |
49 | - | |
50 | - echo $this->Form->input('date_prochain_controle', [ | |
51 | - 'type' => 'text', | |
52 | - 'label' => 'Date prochaine intervention', | |
53 | - 'placeholder' => 'Cliquez pour selectionner une date', | |
54 | - 'class' => 'datepicker' | |
40 | + echo '</div>'; | |
41 | + echo $this->Form->input ('statut', [ | |
42 | + 'options' => ['En cours' => 'En cours', 'Terminé' => 'Terminé'], | |
55 | 43 | ]); |
56 | 44 | echo $this->Form->input('organisme', ['label' => 'Prestataire']); |
57 | 45 | |
58 | - echo $this->Form->input('groupes_thematique_id', ['label' => $configuration->nom_groupe_thematique, 'options' => $groupesThematiques, 'default' => 1]); | |
59 | - echo $this->Form->input('groupes_metier_id', ['label' => $configuration->nom_groupe_metier, 'options' => $groupesMetiers, 'default' => 1]); | |
46 | + echo $this->Form->input('groupes_thematique_id', ['label' => $configuration->nom_groupe_thematique, 'options' => $groupesThematiques, 'default' => $materiel['groupes_thematique_id']]); | |
47 | + echo $this->Form->input('groupes_metier_id', ['label' => $configuration->nom_groupe_metier, 'options' => $groupesMetiers, 'default' => $materiel['groupes_metier_id']]); | |
60 | 48 | |
61 | - echo $this->Form->input('commentaire', ['type' => 'textarea']); | |
49 | + echo $this->Form->input('intitule', ['label' => 'Intitulé']); | |
50 | + echo '<div id="typedemesure" style="display:none">'; | |
51 | + echo '<div class="input select required"><label for="typemesure">Type de mesure</label><select name="typemesure" id="typemesure"><option value="1">Direct</option><option value="2">Indirect</option></select></div>'; | |
52 | + echo '</div>'; | |
53 | + echo '<div id="metro" style="display:none">'; | |
54 | + | |
55 | + | |
56 | + echo $this->Form->input('nommesure', [ | |
57 | + 'label' => 'Nom de la mesure', | |
58 | + 'required' => 'required' | |
59 | + | |
60 | + ]); | |
61 | + echo $this->Form->input('symbole', ['label' => 'Symbole', 'required' => 'required']); | |
62 | + echo $this->Form->input('unite_id', [ | |
63 | + 'options' => $unite, | |
64 | + 'label' => 'Unité', | |
65 | + 'empty' => 'choisir une unité', | |
66 | + 'required' => 'required' | |
67 | + ]); | |
68 | + echo $this->Form->input('valeurRef', [ | |
69 | + 'label' => 'Valeur de référence', | |
70 | + 'required' => 'required' | |
71 | + | |
72 | + ]); | |
73 | + echo $this->Form->input('plage_debut', [ | |
74 | + 'label' => 'Plage de mesure (debut)' | |
75 | + | |
76 | + ]); | |
77 | + echo $this->Form->input('plage_fin', [ | |
78 | + 'label' => 'Plage de mesure (fin)' | |
79 | + | |
80 | + ]); | |
81 | + echo $this->Form->input('resolution', [ | |
82 | + 'label' => 'Resolution', | |
83 | + 'required' => 'required' | |
84 | + | |
85 | + ]); | |
86 | + echo $this->Form->input('tolerance', [ | |
87 | + 'label' => 'Tolerance', | |
88 | + 'required' => 'required' | |
89 | + | |
90 | + ]); | |
91 | + echo $this->Form->input('sensibilite', [ | |
92 | + 'label' => 'Sensibilité' | |
93 | + | |
94 | + ]); | |
95 | + echo $this->Form->input('justesse', [ | |
96 | + 'label' => 'Justesse' | |
97 | + | |
98 | + ]); | |
99 | + | |
100 | + echo $this->Form->input('fidelite', [ | |
101 | + 'label' => 'Fidelite' | |
102 | + ]); | |
103 | + echo $this->Form->input('emtstandart', [ | |
104 | + 'label' => 'EMT standart', | |
105 | + 'required' => 'required' | |
106 | + | |
107 | + ]); | |
108 | + echo '</div>'; | |
109 | + echo $this->Form->input('commentaire', ['type' => 'textarea']); | |
62 | 110 | |
111 | + | |
63 | 112 | echo $this->Form->hidden('nom_modificateur', ['value' => $username ]); |
64 | 113 | ?> |
65 | 114 | </fieldset> |
... | ... | @@ -76,6 +125,35 @@ |
76 | 125 | |
77 | 126 | <script type="text/javascript"> |
78 | 127 | |
128 | + | |
129 | + | |
130 | + | |
131 | + | |
132 | + $(document).ready(function () { | |
133 | + | |
134 | + var domaineId=$("#type-suivi-id :selected").text(); | |
135 | + | |
136 | + if (domaineId== "Réparation" || domaineId == "Etalonnage externe" || domaineId== "Etalonnage interne" || domaineId =="Maintenance") { | |
137 | + | |
138 | + | |
139 | + $("#metro").hide(); | |
140 | + $("#typedemesure").hide(); | |
141 | + | |
142 | + }else { | |
143 | + | |
144 | + $("#metro").show(); | |
145 | + $("#typedemesure").show(); | |
146 | + } | |
147 | + if( domaineId == "Réparation"){ | |
148 | + $("#frequence").hide(); | |
149 | + } | |
150 | + else{ | |
151 | + $("#frequence").show(); | |
152 | + } | |
153 | + | |
154 | + }); | |
155 | + | |
156 | + | |
79 | 157 | /** |
80 | 158 | * Event calcul date prochain controle |
81 | 159 | */ | ... | ... |