Commit 46d745d7 authored by Jean-Philippe Metivier's avatar Jean-Philippe Metivier
Browse files

Changement mail pour attachement

parent 987286a9
Loading
Loading
Loading
Loading
+2 −0
Original line number Diff line number Diff line
@@ -10,6 +10,8 @@ Version 1.1.2
+ [Interface] changement de l'intitulé 'applicatif' en 'logiciels métiers' 
+ Refonte des ElementBlocs : applicationBloc, CompetenceBloc, formationBloc remplacent les agentApplication, agentCompetence, agentFormation
+ Possibilité de liés des compétences et des applications dans une formation qui sont transmises sur la fiche de l'agent si la formation a été suivie.
+ Ajout d'un attachement au mail pour pouvoir lister ceux-ci en fonction d'un élément (un entretien, une action de formation, ...)
+ Attachement des mails aux entretiens professionnels et aux campagnes d'entretien professionnel

Version 1.1.1
-------------
+4 −2
Original line number Diff line number Diff line
@@ -34,8 +34,10 @@ class CampagneController extends AbstractActionController {
            $form->setData($data);
            if ($form->isValid()) {
                $this->getCampagneService()->create($campagne);
                $this->getMailingService()->sendMailType("CAMPAGNE_OUVERTURE_DAC", ['campagne' => $campagne, 'mailing' => 'ZZZcentrale-liste@unicaen.fr']);
                $this->getMailingService()->sendMailType("CAMPAGNE_OUVERTURE_BIATSS", ['campagne' => $campagne, 'mailing' => 'ZZZunicaen-biats@unicaen.fr']);
                $mail1 = $this->getMailingService()->sendMailType("CAMPAGNE_OUVERTURE_DAC", ['campagne' => $campagne, 'mailing' => 'ZZZcentrale-liste@unicaen.fr']);
                $this->getMailingService()->addAttachement($mail1, Campagne::class, $campagne->getId());
                $mail2 = $this->getMailingService()->sendMailType("CAMPAGNE_OUVERTURE_BIATSS", ['campagne' => $campagne, 'mailing' => 'ZZZunicaen-biats@unicaen.fr']);
                $this->getMailingService()->addAttachement($mail2, Campagne::class, $campagne->getId());
            }
        }

+18 −10
Original line number Diff line number Diff line
@@ -176,8 +176,8 @@ class EntretienProfessionnelController extends AbstractActionController
                $entretien->setEtat($this->getEtatService()->getEtatByCode(EntretienProfessionnel::ETAT_ACCEPTATION));
                $this->getEntretienProfessionnelService()->create($entretien);
                $this->getEntretienProfessionnelService()->recopiePrecedent($entretien);
                $this->getMailingService()->sendMailType("ENTRETIEN_CONVOCATION_AGENT", ['campagne' => $entretien->getCampagne(), 'entretien' => $entretien, 'user' => $entretien->getAgent()]);
                //return $this->redirect()->toRoute('entretien-professionnel/renseigner', ['entretien' => $entretien->getId()], [], true);
                $mail = $this->getMailingService()->sendMailType("ENTRETIEN_CONVOCATION_AGENT", ['campagne' => $entretien->getCampagne(), 'entretien' => $entretien, 'user' => $entretien->getAgent()]);
                $this->getMailingService()->addAttachement($mail, EntretienProfessionnel::class, $entretien->getId());
            }
        }

@@ -193,7 +193,8 @@ class EntretienProfessionnelController extends AbstractActionController
    public function envoyerConvocationAction()
    {
        $entretien = $this->getEntretienProfessionnelService()->getRequestedEntretienProfessionnel($this, 'entretien');
        $this->getMailingService()->sendMailType("ENTRETIEN_CONVOCATION_AGENT", ['campagne' => $entretien->getCampagne(), 'entretien' => $entretien, 'user' => $entretien->getAgent()]);
        $mail = $this->getMailingService()->sendMailType("ENTRETIEN_CONVOCATION_AGENT", ['campagne' => $entretien->getCampagne(), 'entretien' => $entretien, 'user' => $entretien->getAgent()]);
        $this->getMailingService()->addAttachement($mail, EntretienProfessionnel::class, $entretien->getId());
        return $this->redirect()->toRoute('entretien-professionnel', [], [], true);
    }

@@ -236,7 +237,7 @@ class EntretienProfessionnelController extends AbstractActionController
    {
        $entretien = $this->getEntretienProfessionnelService()->getRequestedEntretienProfessionnel($this, 'entretien');
        $agent = $this->getAgentService()->getAgent($entretien->getAgent()->getId());

        $mails = $this->getMailingService()->getMailsByAttachement(EntretienProfessionnel::class, $entretien->getId());

        $fichesposte = ($agent) ? $agent->getFichePosteActif() : [];
        $fichesmetiers = [];
@@ -253,6 +254,7 @@ class EntretienProfessionnelController extends AbstractActionController
            'fichesposte'               => $fichesposte,
            'fichesmetiers'             => $fichesmetiers,
            'parcours'                  => $parcours,
            'mails'                     => $mails,
        ]);
    }

@@ -264,7 +266,7 @@ class EntretienProfessionnelController extends AbstractActionController
        $ficheposte = ($agent) ? $agent->getFichePosteActif() : null;
        $fichesmetiers = [];
        $parcours = ($ficheposte) ? $this->getParcoursDeFormationService()->generateParcoursArrayFromFichePoste($ficheposte) : null;

        $mails = $this->getMailingService()->getMailsByAttachement(EntretienProfessionnel::class, $entretien->getId());

        $fiches = ($ficheposte)?$ficheposte->getFichesMetiers():[];
        foreach ($fiches as $fiche) {
@@ -280,6 +282,7 @@ class EntretienProfessionnelController extends AbstractActionController
            'ficheposte' => $agent->getFichePosteActif(),
            'fichesmetiers' => $fichesmetiers,
            'connectedUser' => $this->getUserService()->getConnectedUser(),
            'mails'                     => $mails,
        ]);
    }

@@ -361,20 +364,24 @@ class EntretienProfessionnelController extends AbstractActionController
                        $entretien->setValidationAgent($validation);
                        $responsables = $this->getAgentService()->getResponsablesHierarchiques($entretien->getAgent());
                        $entretien->setEtat($this->getEtatService()->getEtatByCode(EntretienProfessionnel::ETAT_VALIDATION_AGENT));
                        $this->getMailingService()->sendMailType("ENTRETIEN_VALIDATION_AGENT", ['campagne' => $entretien->getCampagne(), 'entretien' => $entretien, 'user' => $responsables]);
                        $mail = $this->getMailingService()->sendMailType("ENTRETIEN_VALIDATION_AGENT", ['campagne' => $entretien->getCampagne(), 'entretien' => $entretien, 'user' => $responsables]);
                        $this->getMailingService()->addAttachement($mail, EntretienProfessionnel::class, $entretien->getId());
                        $this->getEntretienProfessionnelService()->update($entretien);
                        break;
                    case 'Responsable' :
                        $entretien->setValidationResponsable($validation);
                        $entretien->setEtat($this->getEtatService()->getEtatByCode(EntretienProfessionnel::ETAT_VALIDATION_RESPONSABLE));
                        $this->getMailingService()->sendMailType("ENTRETIEN_VALIDATION_RESPONSABLE", ['campagne' => $entretien->getCampagne(), 'entretien' => $entretien, 'mailing' => $entretien->getAgent()->getUtilisateur()->getEmail()]);
                        $this->getMailingService()->sendMailType("COMMUNICATION_AGENT_OBSERVATIONS", ['campagne' => $entretien->getCampagne(), 'entretien' => $entretien, 'mailing' => $entretien->getAgent()->getUtilisateur()->getEmail()]);
                        $mail1 = $this->getMailingService()->sendMailType("ENTRETIEN_VALIDATION_RESPONSABLE", ['campagne' => $entretien->getCampagne(), 'entretien' => $entretien, 'mailing' => $entretien->getAgent()->getUtilisateur()->getEmail()]);
                        $this->getMailingService()->addAttachement($mail1, EntretienProfessionnel::class, $entretien->getId());
                        $mail2 = $this->getMailingService()->sendMailType("COMMUNICATION_AGENT_OBSERVATIONS", ['campagne' => $entretien->getCampagne(), 'entretien' => $entretien, 'mailing' => $entretien->getAgent()->getUtilisateur()->getEmail()]);
                        $this->getMailingService()->addAttachement($mail2, EntretienProfessionnel::class, $entretien->getId());
                        $this->getEntretienProfessionnelService()->update($entretien);
                        break;
                    case 'DRH' :
                        $entretien->setValidationDRH($validation);
                        $entretien->setEtat($this->getEtatService()->getEtatByCode(EntretienProfessionnel::ETAT_VALIDATION_HIERARCHIE));
                        $this->getMailingService()->sendMailType("ENTRETIEN_VALIDATION_DRH", ['campagne' => $entretien->getCampagne(), 'entretien' => $entretien, 'mailing' => $entretien->getResponsable()->getEmail()]);
                        $mail = $this->getMailingService()->sendMailType("ENTRETIEN_VALIDATION_DRH", ['campagne' => $entretien->getCampagne(), 'entretien' => $entretien, 'mailing' => $entretien->getResponsable()->getEmail()]);
                        $this->getMailingService()->addAttachement($mail, EntretienProfessionnel::class, $entretien->getId());
                        $this->getEntretienProfessionnelService()->update($entretien);
                        break;
                }
@@ -460,7 +467,8 @@ class EntretienProfessionnelController extends AbstractActionController
            $entretien->setAcceptation($this->getDateTime());
            $entretien->setEtat($this->getEtatService()->getEtatByCode(EntretienProfessionnel::ETAT_ACCEPTER));
            $this->getEntretienProfessionnelService()->update($entretien);
            $this->getMailingService()->sendMailType("ENTRETIEN_ACCEPTER_AGENT", ['entretien' => $entretien, 'user' => $entretien->getResponsable()]);
            $mail = $this->getMailingService()->sendMailType("ENTRETIEN_ACCEPTER_AGENT", ['entretien' => $entretien, 'user' => $entretien->getResponsable()]);
            $this->getMailingService()->addAttachement($mail, EntretienProfessionnel::class, $entretien->getId());
        }

        return new ViewModel([
+3 −1
Original line number Diff line number Diff line
@@ -2,6 +2,7 @@

namespace EntretienProfessionnel\Controller;

use EntretienProfessionnel\Entity\Db\EntretienProfessionnel;
use EntretienProfessionnel\Entity\Db\Observation;
use EntretienProfessionnel\Form\Observation\ObservationFormAwareTrait;
use EntretienProfessionnel\Service\EntretienProfessionnel\EntretienProfessionnelServiceAwareTrait;
@@ -34,7 +35,8 @@ class ObservationController extends AbstractActionController {
            $form->setData($data);
            if ($form->isValid()) {
                $this->getObservationService()->create($observation);
                $this->getMailingService()->sendMailType("NOTIFICATION_OBSERVATION_AGENT", ['campagne' => $entretien->getCampagne(), 'entretien' => $entretien, 'mailing' => $entretien->getResponsable()->getEmail()]);
                $mail = $this->getMailingService()->sendMailType("NOTIFICATION_OBSERVATION_AGENT", ['campagne' => $entretien->getCampagne(), 'entretien' => $entretien, 'mailing' => $entretien->getResponsable()->getEmail()]);
                $this->getMailingService()->addAttachement($mail, EntretienProfessionnel::class, $entretien->getId());
            }
        }

+5 −2
Original line number Diff line number Diff line
@@ -2,6 +2,7 @@

namespace EntretienProfessionnel\Form\Campagne;

use DateTime;
use EntretienProfessionnel\Service\Campagne\CampagneServiceAwareTrait;
use UnicaenUtilisateur\Entity\DateTimeAwareTrait;
use Zend\Form\Element\Button;
@@ -44,12 +45,13 @@ class CampagneForm extends Form
        //DEBUT (DATE)
        $this->add([
            'name' => 'date_debut',
            'type' => Date::class,
            'type' => DateTime::class,
            'options' => [
                'label' => 'Date de début de la campagne * : ',
                'label_attributes' => [
                    'class' => 'control-label',
                ],
                'format' => 'd/m/Y'
            ],
            'attributes' => [
                'id'                => 'date_debut',
@@ -58,12 +60,13 @@ class CampagneForm extends Form
        //FIN (DATE)
        $this->add([
            'name' => 'date_fin',
            'type' => Date::class,
            'type' => DateTime::class,
            'options' => [
                'label' => 'Date de fin de la campagne * : ',
                'label_attributes' => [
                    'class' => 'control-label',
                ],
                'format' => 'd/m/Y'
            ],
            'attributes' => [
                'id'                => 'date_fin',
Loading