Commit b584227aa6ed76a453761148dc503069a07aaaab
1 parent
727b4dd0
Exists in
master
and in
3 other branches
Dernier Update + Last modification par Malik
J'ai modifié la règle alphanumerique sur les noms des documents pour qu'elle accepte aussi les tirets et les underscore, J'ai ajouté le script d'insertion du type de doc Devis, et du type de suivi Panne dans les database updates, J'ai fait passer la version de git à 2.9.0.0
Showing
9 changed files
with
76 additions
and
62 deletions
Show diff stats
... | ... | @@ -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 | * |
... | ... | @@ -1254,55 +1255,17 @@ class AppController extends Controller |
1254 | 1255 | // owner's mail (utilisateur du matériel associé ) |
1255 | 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); | |
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 | ... | ... |