Commit 04a2099cc84e1a6bf3db191d5b8ea58d3038fa28
Exists in
master
and in
3 other branches
Merge branch 'dev'
Showing
10 changed files
with
79 additions
and
63 deletions
Show diff stats
database/labinvent_last_version.sql
... | ... | @@ -723,9 +723,11 @@ ALTER TABLE `variables` |
723 | 723 | |
724 | 724 | -- Insertion par défaut |
725 | 725 | Insert into type_suivis(nom) values ('Réparation'); |
726 | +Insert into type_suivis(id,nom) values ('2','Panne'); | |
726 | 727 | Insert into sites(id, nom) values (9, 'N/A'); |
727 | 728 | |
728 | 729 | Insert into type_documents(id, nom) values (1, 'N/A'); |
730 | +Insert into type_documents(id, nom) values (13, 'Devis'); | |
729 | 731 | Insert into type_documents(nom) values ('Bon de commande'); |
730 | 732 | Insert into type_documents(nom) values ('Bon de livraison'); |
731 | 733 | Insert into type_documents(nom) values ('Photo'); | ... | ... |
... | ... | @@ -0,0 +1,39 @@ |
1 | +#!/bin/bash | |
2 | + | |
3 | +#myname=`basename $0 .sh` | |
4 | +myname=`basename $0` | |
5 | +myname=${myname%%.*} | |
6 | + | |
7 | +# Pour Mac OS recent (10.10, Yosemite), la syntaxe du SED est differente | |
8 | +# Il faut donc faire une copie de ce fichier et transformer les instructions sed a l'interieur | |
9 | +# Pour cela, il suffit d'executer ces 2 lignes : | |
10 | +# cp ce_script.sh ce_script_macosx.sh | |
11 | +# sed -e "s/ -i / -i '' /" -i '' ce_script_macosx.sh | |
12 | + | |
13 | +if [ ! -f ../../config/app.php ] ; then | |
14 | +echo "Vous devez executer ce script depuis le dossier database/update/" | |
15 | +exit 1 | |
16 | +fi | |
17 | + | |
18 | + | |
19 | +# Get login, pass, dbname, and hostname | |
20 | +username=$(grep "/\*d\*/'username'" ../../config/app.php | cut -d"'" -f4) | |
21 | +password=$(grep "/\*d\*/'password'" ../../config/app.php | cut -d"'" -f4) | |
22 | +database=$(grep "/\*d\*/'database'" ../../config/app.php | cut -d"'" -f4) | |
23 | +host=$(grep "/\*d\*/'host'" ../../config/app.php | cut -d"'" -f4) | |
24 | + | |
25 | + | |
26 | +#cp -p ./script_sql/db-update-2016-07-01-irap.sql ./script_sql/db-update-2016-07-01-irap-build.sql | |
27 | +cp -p ./script_sql/$myname.sql ./script_sql/$myname-build.sql | |
28 | + | |
29 | +# Execute sql update script | |
30 | +sed -e "s/database/$database/" -i ./script_sql/$myname-build.sql | |
31 | +mysql --user=$username --password=$password -h $host < ./script_sql/$myname-build.sql | |
32 | + | |
33 | +# Delete cakephp cache | |
34 | +sudo rm ../../tmp/cache/models/* | |
35 | +sudo rm ../../tmp/cache/persistent/* | |
36 | + | |
37 | +sudo chmod -R 777 ../../tmp | |
38 | +sudo chmod -R 777 ../../vendor | |
39 | +sudo chmod -R 777 ../../webroot | ... | ... |
src/Controller/AppController.php
... | ... | @@ -1026,7 +1026,7 @@ class AppController extends Controller |
1026 | 1026 | } |
1027 | 1027 | } |
1028 | 1028 | |
1029 | - // Fonction d'envoi de mails avec pièce jointe | |
1029 | + // MI Fonction d'envoi de mails avec pièce jointe | |
1030 | 1030 | private function sendEmailPJTo($subject, $msg, $mail, $config, $nomDoc) |
1031 | 1031 | { |
1032 | 1032 | if ($mail != null && ! $config->test) { |
... | ... | @@ -1044,7 +1044,8 @@ class AppController extends Controller |
1044 | 1044 | } |
1045 | 1045 | } |
1046 | 1046 | } |
1047 | - /**Version noob | |
1047 | + | |
1048 | + /**Version MI - version modifiée de la fonction sendEmail par malik du 18 juin au 24 août | |
1048 | 1049 | * |
1049 | 1050 | * Envoi un mail avec un sujet, contenant un message à destination d'un email, selon l'action effectuée. |
1050 | 1051 | * |
... | ... | @@ -1252,57 +1253,19 @@ class AppController extends Controller |
1252 | 1253 | if ($configuration->envoi_mail && $action != 'printLabelRuban') { |
1253 | 1254 | |
1254 | 1255 | // owner's mail (utilisateur du matériel associé ) |
1255 | - $mailList[0] = $entity->materiel->email_responsable; | |
1256 | + //$mailList[0] = $entity->materiel->email_responsable; | |
1256 | 1257 | |
1257 | - // resp's mail | |
1258 | - $mailsRespMetier = null; | |
1259 | - $mailRespThematique = null; | |
1260 | - /* | |
1261 | - if ( $entity->materiel->groupes_metier_id != null && $entity->materiel->groupes_metier_id != 1) { | |
1262 | - | |
1263 | - // Le ..!= 1 c'est parce que le groupe métier/thématique d'id 1 correspond au groupe N/A, soit aucun groupe | |
1264 | - $mailsRespMetier = TableRegistry::get('Users')->find() | |
1265 | - ->select('email') | |
1266 | - ->where([ | |
1267 | - 'role =' => 'Responsable', | |
1268 | - 'groupes_metier_id =' => $mat->groupes_metier_id | |
1269 | - ]) | |
1270 | - ->toArray(); | |
1271 | - $mailRespThematique = TableRegistry::get('Users')->find() | |
1272 | - ->select('email') | |
1273 | - ->where([ | |
1274 | - 'role =' => 'Responsable', | |
1275 | - 'groupe_thematique_id =' => $mat->groupes_thematique_id | |
1276 | - ]) | |
1277 | - ->toArray(); | |
1278 | - } | |
1279 | - | |
1280 | - if ($mailsRespMetier != null || $mailRespThematique != null) { | |
1281 | - $mailsResp = array_unique(array_merge($mailsRespMetier, $mailRespThematique)); | |
1282 | - for ($i = 0; $i < sizeof($mailsResp); $i ++) { | |
1283 | - $mailList[] = $mailsResp[$i]['email']; | |
1284 | - // $mailList[sizeof($mailList)] = $mailsResp[$i]['email']; | |
1285 | - } | |
1286 | - } | |
1287 | - */ | |
1288 | - | |
1289 | - // mail admin de reference (ici appele gestionnaire) -> Partie administration | |
1290 | - // Cela a été mis en commentaire car de toute façon l'utilisateur va voir un administratif pour faire valider sa fiche, | |
1291 | - // Pas la peine de spam l'administration de mails non plus hein ! | |
1292 | - | |
1293 | - //A remettre pour les docs ? | |
1258 | + //MI - gestionaire ratachée au matériel | |
1259 | + $mailList[1]= TableRegistry::get('Users')->find() | |
1260 | + ->select('email') | |
1261 | + ->where([ | |
1262 | + 'role =' => 'Administration', | |
1263 | + 'id =' => $materiel->gestionnaire_id | |
1264 | + ]); | |
1294 | 1265 | |
1295 | - /* | |
1296 | - * if ($action != 'statusValidated' && $action != 'statusArchived') { | |
1297 | - * $mailsAdmin = TableRegistry::get('Users')->find()->select('email') | |
1298 | - * ->where(['role =' => 'Administration']) | |
1299 | - * ->toArray(); | |
1300 | - * for ($i = 0; $i < sizeof($mailsAdmin); $i ++) { | |
1301 | - * $mailList[sizeof($mailList)] = $mailsAdmin[$i]['email']; | |
1302 | - * } | |
1303 | - * } | |
1304 | - */ | |
1305 | 1266 | } |
1267 | + | |
1268 | + | |
1306 | 1269 | } else if ($entity instanceof Suivi) { |
1307 | 1270 | ; |
1308 | 1271 | } else if ($entity instanceof Emprunt) { | ... | ... |
src/Controller/DocumentsController.php
... | ... | @@ -638,7 +638,7 @@ class DocumentsController extends AppController |
638 | 638 | |
639 | 639 | |
640 | 640 | |
641 | - /* | |
641 | + /* M - I | |
642 | 642 | * Envoi de mail - cette fonction sera appelée si l'on clique sur le bouton envelloppe d'un document sur la page vue d'un matériel |
643 | 643 | * Met en place l'envoi de mail |
644 | 644 | */ |
... | ... | @@ -685,4 +685,6 @@ class DocumentsController extends AppController |
685 | 685 | ]); |
686 | 686 | } |
687 | 687 | } |
688 | + | |
689 | + | |
688 | 690 | } | ... | ... |
src/Controller/MaterielsController.php
... | ... | @@ -1237,7 +1237,7 @@ class MaterielsController extends AppController |
1237 | 1237 | //évite le double envoi car il y a un envoi de mail a la fonction add et à l'état created |
1238 | 1238 | //évite les envois succcessifs si qqn fait une erreur sur la fiche, valide la fiche, et dévalide pour remodifier |
1239 | 1239 | if ($newStatus == 'ARCHIVED' || $newStatus == 'TOBEARCHIVED') { |
1240 | - $this->sendEmail($materiel); | |
1240 | + $this->sendmail($materiel,3); | |
1241 | 1241 | } |
1242 | 1242 | } |
1243 | 1243 | ... | ... |
src/Model/Table/DocumentsTable.php
... | ... | @@ -71,14 +71,17 @@ class DocumentsTable extends AppTable |
71 | 71 | |
72 | 72 | $validator->allowEmpty('suivi_id'); |
73 | 73 | |
74 | - $validator->add('nom', 'alphaNumeric', [ | |
75 | - 'rule' => 'alphaNumeric', | |
76 | - 'message' => __('Le nom du document ne doit contenir que des chiffres et des lettres.'), | |
74 | + //Mi regex pour mettre la règle alphaNumericDashUnderscore | |
75 | + $validator->add('nom', 'alphaNumericDashUnderscore', [ | |
76 | + 'rule' => ['custom', '|^[0-9a-zA-Z_-]*$|'], | |
77 | + 'message' => __('Le nom du document ne doit contenir que des chiffres, des lettres, des tirets, ou des tirets.'), | |
77 | 78 | ]); |
78 | 79 | |
79 | 80 | return $validator; |
80 | 81 | } |
81 | 82 | |
83 | + | |
84 | + | |
82 | 85 | /** |
83 | 86 | * Returns a rules checker object that will be used for validating |
84 | 87 | * application integrity. |
... | ... | @@ -194,8 +197,8 @@ class DocumentsTable extends AppTable |
194 | 197 | $file = $entity->get('chemin_file'); |
195 | 198 | if (! empty($file['tmp_name'])) { |
196 | 199 | $extension = strtolower(pathinfo($file['name'], PATHINFO_EXTENSION)); |
197 | - //nouvelle norme pour les noms de documents uploadés | |
198 | - // | |
200 | + // MI nouvelle norme pour les noms de documents uploadés | |
201 | + // id(du matériel ou suivi associé)_NomDoc_id(Doc).extension | |
199 | 202 | if(!$entity->get('materiel_id')== Null ) { |
200 | 203 | $id=$entity->get('materiel_id'); |
201 | 204 | } else { |
... | ... | @@ -215,8 +218,8 @@ class DocumentsTable extends AppTable |
215 | 218 | */ |
216 | 219 | public function afterDelete($event, $entity, $options) |
217 | 220 | { |
218 | - //nouvelle norme pour les noms de documents uploadés | |
219 | - // | |
221 | + // MI nouvelle norme pour les noms de documents uploadés | |
222 | + // id(du matériel ou suivi associé)_NomDoc_id(Doc).extension | |
220 | 223 | if(!$entity->get('materiel_id')== Null ) { |
221 | 224 | $id=$entity->get('materiel_id'); |
222 | 225 | } else { | ... | ... |
src/Template/Element/menu_index.ctp
... | ... | @@ -50,7 +50,7 @@ if (in_array($singularHumanName, [ |
50 | 50 | $bol = true; |
51 | 51 | } |
52 | 52 | |
53 | -//Pour l'ajout de fournisseurs par tous les profils il faut que le bouton d'ajout apparaisse | |
53 | +//MI Pour l'ajout de fournisseurs par tous les profils il faut que le bouton d'ajout apparaisse | |
54 | 54 | if(in_array($singularHumanName, ['Fournisseur'])) |
55 | 55 | $bol = true; |
56 | 56 | ... | ... |
src/Template/Element/menu_view.ctp
... | ... | @@ -380,13 +380,13 @@ if ($isAuthorized == true) { |
380 | 380 | <li> |
381 | 381 | |
382 | 382 | <?php |
383 | - //Add action dans le cas des utilisateurs, et pour le superadmin | |
383 | + //MI Add action dans le cas des utilisateurs, et pour le superadmin | |
384 | 384 | //cela évite de devoir quitter la page pour repartir à la liste des utilisateurs pour faire un ajout |
385 | 385 | |
386 | 386 | |
387 | 387 | if ($role == 'Super Administrateur' && strstr($t, 'utilisateur')) { |
388 | 388 | $action = ' Ajouter un'; |
389 | - echo $this->Form->postLink('<i class="icon-trash"></i>' . $action . ' ' . $t, [ | |
389 | + echo $this->Form->postLink('<i class="icon-plus"></i>' . $action . ' ' . $t, [ | |
390 | 390 | 'action' => 'add', |
391 | 391 | $lien |
392 | 392 | ], [ | ... | ... |
src/Template/Layout/default.ctp
... | ... | @@ -119,7 +119,7 @@ $cakeDescription = 'Labinvent 2'; |
119 | 119 | </i></td> |
120 | 120 | <td id="version"> |
121 | 121 | <!-- VERSION M.m.f.b (version (M)ajeure, version (m)ineure, numero de nouvelle (f)onctionnalite, numero de (b)ugfix) --> |
122 | - <font color="black">VERSION 2.8.0.7 (23/01/2018)</font> <br /> <font | |
122 | + <font color="black">VERSION 2.9.0.0 (23/01/2018)</font> <br /> <font | |
123 | 123 | color="black"><a |
124 | 124 | href="<?php |
125 | 125 | ... | ... |