Commit 5bfeadcbb6b51b60ff2a70cba6dc333860226274
1 parent
02b1f815
Exists in
master
and in
3 other branches
Les 2 profils de mails (liste et général) sont configurables séparément.
Showing
5 changed files
with
91 additions
and
39 deletions
Show diff stats
... | ... | @@ -0,0 +1,34 @@ |
1 | +#!/bin/bash | |
2 | + | |
3 | +# Pour Mac OS recent (10.10, Yosemite), la syntaxe du SED est differente | |
4 | +# Il faut donc faire une copie de ce fichier et transformer les instructions sed a l'interieur | |
5 | +# Pour cela, il suffit d'executer ces 2 lignes : | |
6 | +# cp ce_script.sh ce_script_macosx.sh | |
7 | +# sed -e "s/ -i / -i '' /" -i '' ce_script_macosx.sh | |
8 | + | |
9 | +if [ ! -f ../../config/app.php ] ; then | |
10 | +echo "Vous devez executer ce script depuis le dossier database/update/" | |
11 | +exit 1 | |
12 | +fi | |
13 | + | |
14 | + | |
15 | +# Get login, pass, dbname, and hostname | |
16 | +username=$(grep "/\*d\*/'username'" ../../config/app.php | cut -d"'" -f4) | |
17 | +password=$(grep "/\*d\*/'password'" ../../config/app.php | cut -d"'" -f4) | |
18 | +database=$(grep "/\*d\*/'database'" ../../config/app.php | cut -d"'" -f4) | |
19 | +host=$(grep "/\*d\*/'host'" ../../config/app.php | cut -d"'" -f4) | |
20 | + | |
21 | + | |
22 | +cp -p ./script_sql/db-update-2017-05-19.sql ./script_sql/db-update-2017-05-19-build.sql | |
23 | + | |
24 | +# Execute sql update script | |
25 | +sed -e "s/database/$database/" -i ./script_sql/db-update-2017-05-19-build.sql | |
26 | +mysql --user=$username --password=$password -h $host < ./script_sql/db-update-2017-05-19-build.sql | |
27 | + | |
28 | +# Delete cakephp cache | |
29 | +sudo rm ../../tmp/cache/models/* | |
30 | +sudo rm ../../tmp/cache/persistent/* | |
31 | + | |
32 | +sudo chmod -R 777 ../../tmp | |
33 | +sudo chmod -R 777 ../../vendor | |
34 | +sudo chmod -R 777 ../../webroot | |
... | ... |
src/Controller/AppController.php
... | ... | @@ -427,7 +427,8 @@ class AppController extends Controller |
427 | 427 | $configuration = TableRegistry::get('Configurations')->find()->where(['id =' => 1])->first(); |
428 | 428 | $action = $this->request->params['action']; // add or edit or delete or ... |
429 | 429 | |
430 | - if(!$configuration->envoi_mail) return null; | |
430 | + // Si les deux cases "Activer l'envoi des mails.." sont décochée, on se fatigue pas à exécuter la fonction | |
431 | + if(!$configuration->envoi_mail && !$configuration->envoi_mail_guests) return null; | |
431 | 432 | |
432 | 433 | // On détermine le message et le sujet du mail en fonction de l'action effectuee |
433 | 434 | if($idObj != null || $nomObj != null) { |
... | ... | @@ -481,44 +482,49 @@ class AppController extends Controller |
481 | 482 | |
482 | 483 | // Et maintenant on construit la liste de mails ... |
483 | 484 | $mailList = array(); |
484 | - | |
485 | - //mail owner | |
486 | - if($idObj != null) $mailList[0] = $materiel->email_responsable; | |
487 | - else $mailList[0] = $mailOwner; | |
488 | - | |
489 | - //mail resp | |
490 | - $mailsRespMetier = null; | |
491 | - $mailsRespMetier = null; | |
492 | - | |
493 | - if ($idObj != null){ | |
494 | - if ($materiel->groupes_metier_id != null && $materiel->groupes_metier_id != 1) $mailsRespMetier = TableRegistry::get('Users')->find()->select('email')->where(['role =' => 'Responsable', 'groupes_metier_id =' => $materiel->groupes_metier_id])->toArray(); | |
495 | - if ($materiel->groupes_thematique_id != null && $materiel->groupes_thematique_id != 1) $mailRespThematique = TableRegistry::get('Users')->find()->select('email')->where(['role =' => 'Responsable', 'groupe_thematique_id =' => $materiel->groupes_thematique_id])->toArray(); | |
496 | - } else { | |
497 | - if ($groupesMetier != null) $mailsResp = TableRegistry::get('Users')->find()->select('email')->where(['role =' => 'Responsable', 'groupes_metier_id =' => $groupesMetier])->toArray(); | |
498 | - if ($groupesThematique != null) $mailsResp = TableRegistry::get('Users')->find()->select('email')->where(['role =' => 'Responsable', 'groupe_thematique_id =' => $groupesThematique])->toArray(); | |
499 | - } | |
500 | - // Le ..!= 1 c'est parce que le groupe métier/thématique d'id 1 correspond au groupe N/A, soit aucun groupe | |
501 | - | |
502 | - if ($mailsRespMetier != null && $mailsRespMetier != null) { | |
503 | - $mailResp = array_unique(array_merge($mailsRespMetier, $mailRespThematique)); | |
504 | - for($i = 0; $i < sizeof($mailsResp); $i++) { | |
505 | - $mailList[sizeof($mailList)]= $mailsResp[$i]['email']; | |
485 | + // Si l'envoi général est activé : | |
486 | + if ($configuration->envoi_mail) { | |
487 | + //mail owner | |
488 | + if($idObj != null) $mailList[0] = $materiel->email_responsable; | |
489 | + else $mailList[0] = $mailOwner; | |
490 | + | |
491 | + //mail resp | |
492 | + $mailsRespMetier = null; | |
493 | + $mailsRespMetier = null; | |
494 | + | |
495 | + if ($idObj != null){ | |
496 | + if ($materiel->groupes_metier_id != null && $materiel->groupes_metier_id != 1) $mailsRespMetier = TableRegistry::get('Users')->find()->select('email')->where(['role =' => 'Responsable', 'groupes_metier_id =' => $materiel->groupes_metier_id])->toArray(); | |
497 | + if ($materiel->groupes_thematique_id != null && $materiel->groupes_thematique_id != 1) $mailRespThematique = TableRegistry::get('Users')->find()->select('email')->where(['role =' => 'Responsable', 'groupe_thematique_id =' => $materiel->groupes_thematique_id])->toArray(); | |
498 | + } else { | |
499 | + if ($groupesMetier != null) $mailsResp = TableRegistry::get('Users')->find()->select('email')->where(['role =' => 'Responsable', 'groupes_metier_id =' => $groupesMetier])->toArray(); | |
500 | + if ($groupesThematique != null) $mailsResp = TableRegistry::get('Users')->find()->select('email')->where(['role =' => 'Responsable', 'groupe_thematique_id =' => $groupesThematique])->toArray(); | |
501 | + } | |
502 | + // Le ..!= 1 c'est parce que le groupe métier/thématique d'id 1 correspond au groupe N/A, soit aucun groupe | |
503 | + | |
504 | + if ($mailsRespMetier != null && $mailsRespMetier != null) { | |
505 | + $mailResp = array_unique(array_merge($mailsRespMetier, $mailRespThematique)); | |
506 | + for($i = 0; $i < sizeof($mailsResp); $i++) { | |
507 | + $mailList[sizeof($mailList)]= $mailsResp[$i]['email']; | |
508 | + } | |
509 | + } | |
510 | + | |
511 | + //mail admin de reference (ici appele gestionnaire) | |
512 | + if ($action != 'statusValidated' && $action != 'statusArchived') { | |
513 | + $mailsAdmin = TableRegistry::get('Users')->find()->select('email')->where(['role =' => 'Administration'])->toArray(); | |
514 | + for($i = 0; $i < sizeof($mailsAdmin); $i++) { | |
515 | + $mailList[sizeof($mailList)]= $mailsAdmin[$i]['email']; | |
516 | + } | |
506 | 517 | } |
507 | 518 | } |
508 | 519 | |
509 | - //mail admin de reference (ici appele gestionnaire) | |
510 | - if ($action != 'statusValidated' && $action != 'statusArchived') { | |
511 | - $mailsAdmin = TableRegistry::get('Users')->find()->select('email')->where(['role =' => 'Administration'])->toArray(); | |
512 | - for($i = 0; $i < sizeof($mailsAdmin); $i++) { | |
513 | - $mailList[sizeof($mailList)]= $mailsAdmin[$i]['email']; | |
520 | + //Si l'envoi à la liste spécifiée est activé : | |
521 | + if ($configuration->envoi_mail_guests) { | |
522 | + //mail aux adresses specifiees dans la config | |
523 | + for($i = 0; $i < 11; $i++) { | |
524 | + if ($configuration['emailGuest'.$i]) $mailList[sizeof($mailList)] = $configuration['emailGuest'.$i]; | |
525 | + // Le if vérifie que la ligne soit pas null | |
514 | 526 | } |
515 | - } | |
516 | - | |
517 | - //de mail aux adresses specifiees dans la config | |
518 | - for($i = 0; $i < 11; $i++) { | |
519 | - if ($configuration['emailGuest'.$i]) $mailList[sizeof($mailList)] = $configuration['emailGuest'.$i]; | |
520 | - // Le if vérifie que la ligne soit pas null | |
521 | - } | |
527 | + } | |
522 | 528 | |
523 | 529 | //On dedoublonne la liste des mails, c'pas tres cool de se faire spam 2-3 fois pour la meme action sur le meme materiel, non mais ! |
524 | 530 | $List = array_unique($mailList); |
... | ... |
src/Template/Configurations/edit.ctp
... | ... | @@ -52,8 +52,9 @@ |
52 | 52 | echo '<span style="text-decoration: underline;">Emails</span>'; |
53 | 53 | echo '</h3>'; |
54 | 54 | echo '<div id="emprunts" style="margin-bottom: 20px;">'; |
55 | - echo $this->Form->input('envoi_mail', ['label' => 'Activer l\'envoi des mails']); | |
55 | + echo $this->Form->input('envoi_mail', ['label' => 'Activer l\'envoi des mails général']); | |
56 | 56 | echo $this->Form->input('sender_mail', ['label' => 'Attribut "sender" (mail)']); |
57 | + echo $this->Form->input('envoi_mail_guests', ['label' => 'Activer l\'envoi des mails pour la liste spécifique ci-dessous']); | |
57 | 58 | echo $this->Form->input('emailGuest1', ['label' => 'Mail guest 1']); |
58 | 59 | echo $this->Form->input('emailGuest2', ['label' => 'Mail guest 2']); |
59 | 60 | echo $this->Form->input('emailGuest3', ['label' => 'Mail guest 3']); |
... | ... |
src/Template/Configurations/view.ctp
... | ... | @@ -32,10 +32,17 @@ |
32 | 32 | }else { |
33 | 33 | $ldap="Non"; |
34 | 34 | } |
35 | + | |
35 | 36 | if(h($configurationObj->envoi_mail) == 0) { |
36 | - $local="Non"; | |
37 | + $mail_general="Non"; | |
38 | + }else { | |
39 | + $mail_general="Oui"; | |
40 | + } | |
41 | + | |
42 | + if(h($configurationObj->envoi_mail_guests) == 0) { | |
43 | + $mail_guests="Non"; | |
37 | 44 | }else { |
38 | - $local="Oui"; | |
45 | + $mail_guests="Oui"; | |
39 | 46 | } |
40 | 47 | |
41 | 48 | if(h($configurationObj->numero_labo_sans_annee) == 1) { |
... | ... | @@ -102,8 +109,9 @@ |
102 | 109 | echo '<div id="emprunts" style="margin-bottom: 20px;">'; |
103 | 110 | echo '<table>'; |
104 | 111 | echo '<tr><th style="width: 250px;"></th><th></th></tr>'; |
105 | - $displayElement(__('Activer l\'envoi des mails'), $local); | |
112 | + $displayElement(__('Activer l\'envoi des mails général'), $mail_general); | |
106 | 113 | $displayElement(__('Attribut "sender" (mail)'), h($configurationObj->sender_mail)); |
114 | + $displayElement(__('Activer l\'envoi des mails pour la liste spécifique ci-dessous'), $mail_guests); | |
107 | 115 | $displayElement(__('Mail guest 1'), h($configurationObj->emailGuest1)); |
108 | 116 | $displayElement(__('Mail guest 2'), h($configurationObj->emailGuest2)); |
109 | 117 | $displayElement(__('Mail guest 3'), h($configurationObj->emailGuest3)); |
... | ... |