Commit 85c85ca7 authored by Jean-Philippe Metivier's avatar Jean-Philippe Metivier
Browse files

Merging pous vers 0.1.0

parents 55fc7954 1e886eb8
Loading
Loading
Loading
Loading
+2 −2
Original line number Diff line number Diff line
@@ -14,8 +14,8 @@ return [
        'app_infos' => [
            'nom'     => "PrEECoG",
            'desc'    => "Gestion Prévisionnelle des effectifs, des emplois et des compétences",
            'version' => "0.0.3",
            'date'    => "18/12/2018",
            'version' => "0.1.0",
            'date'    => "24/12/2018",
            'contact' => ['mail' => "dsi.applications@unicaen.fr", /*'tel' => "01 02 03 04 05"*/],
            'mentionsLegales'        => "http://www.unicaen.fr/acces-direct/mentions-legales/",
            'informatiqueEtLibertes' => "http://www.unicaen.fr/acces-direct/informatique-et-libertes/",
+106 −0
Original line number Diff line number Diff line
@@ -8,6 +8,13 @@ use Application\Controller\RessourceRh\RessourceRhControllerFactory;
use Application\Form\RessourceRh\DomaineForm;
use Application\Form\RessourceRh\DomaineFormFactory;
use Application\Form\RessourceRh\DomaineHydrator;
use Application\Form\RessourceRh\FonctionForm;
use Application\Form\RessourceRh\FonctionFormFactory;
use Application\Form\RessourceRh\FonctionHydrator;
use Application\Form\RessourceRh\GradeForm;
use Application\Form\RessourceRh\GradeFormFactory;
use Application\Form\RessourceRh\GradeHydrator;
use Application\Form\RessourceRh\GradeHydratorFactory;
use Application\Form\RessourceRh\MetierFamilleForm;
use Application\Form\RessourceRh\MetierFamilleFormFactory;
use Application\Form\RessourceRh\MetierFamilleHydrator;
@@ -39,6 +46,7 @@ return [
                    'controller' => RessourceRhController::class,
                    'action' => [
                        'index',
                        'get-grades-json',
                    ],
                    'privileges' => [
                        RessourceRhPrivileges::AFFICHER,
@@ -53,6 +61,8 @@ return [
                        'creer-metier',
                        'creer-famille',
                        'ajouter-domaine',
                        'ajouter-fonction',
                        'ajouter-grade',
                    ],
                    'privileges' => [
                        RessourceRhPrivileges::AJOUTER,
@@ -67,6 +77,8 @@ return [
                        'modifier-metier',
                        'modifier-famille',
                        'modifier-domaine',
                        'modifier-fonction',
                        'modifier-grade',
                    ],
                    'privileges' => [
                        RessourceRhPrivileges::MODIFIER,
@@ -81,6 +93,8 @@ return [
                        'effacer-agent-status',
                        'effacer-famille',
                        'supprimer-domaine',
                        'supprimer-fonction',
                        'supprimer-grade',
                    ],
                    'privileges' => [
                        RessourceRhPrivileges::EFFACER,
@@ -341,6 +355,94 @@ return [
                            ],
                        ],
                    ],
                    'fonction' => [
                        'type' => Literal::class,
                        'options' => [
                            'route'    => '/fonction',
                        ],
                        'may_terminate' => false,
                        'child_routes' => [
                            'ajouter' => [
                                'type'  => Literal::class,
                                'options' => [
                                    'route'    => '/ajouter',
                                    'defaults' => [
                                        'controller' => RessourceRhController::class,
                                        'action'     => 'ajouter-fonction',
                                    ],
                                ],
                            ],
                            'modifier' => [
                                'type'  => Segment::class,
                                'options' => [
                                    'route'    => '/modifier/:fonction',
                                    'defaults' => [
                                        'controller' => RessourceRhController::class,
                                        'action'     => 'modifier-fonction',
                                    ],
                                ],
                            ],
                            'supprimer' => [
                                'type'  => Segment::class,
                                'options' => [
                                    'route'    => '/supprimer/:fonction',
                                    'defaults' => [
                                        'controller' => RessourceRhController::class,
                                        'action'     => 'supprimer-fonction',
                                    ],
                                ],
                            ],
                        ],
                    ],
                    'grade' => [
                        'type' => Literal::class,
                        'options' => [
                            'route'    => '/grade',
                        ],
                        'may_terminate' => false,
                        'child_routes' => [
                            'get-grades' => [
                                'type'  => Literal::class,
                                'options' => [
                                    'route'    => '/get-grades',
                                    'defaults' => [
                                        'controller' => RessourceRhController::class,
                                        'action'     => 'get-grades-json',
                                    ],
                                ],
                            ],
                            'ajouter' => [
                                'type'  => Literal::class,
                                'options' => [
                                    'route'    => '/ajouter',
                                    'defaults' => [
                                        'controller' => RessourceRhController::class,
                                        'action'     => 'ajouter-grade',
                                    ],
                                ],
                            ],
                            'modifier' => [
                                'type'  => Segment::class,
                                'options' => [
                                    'route'    => '/modifier/:grade',
                                    'defaults' => [
                                        'controller' => RessourceRhController::class,
                                        'action'     => 'modifier-grade',
                                    ],
                                ],
                            ],
                            'supprimer' => [
                                'type'  => Segment::class,
                                'options' => [
                                    'route'    => '/supprimer/:grade',
                                    'defaults' => [
                                        'controller' => RessourceRhController::class,
                                        'action'     => 'supprimer-grade',
                                    ],
                                ],
                            ],
                        ],
                    ],
                ],
            ],
        ],
@@ -366,6 +468,8 @@ return [
            MetierForm::class => MetierFormFactory::class,
            MetierFamilleForm::class => MetierFamilleFormFactory::class,
            DomaineForm::class => DomaineFormFactory::class,
            FonctionForm::class => FonctionFormFactory::class,
            GradeForm::class => GradeFormFactory::class,
        ],
    ],
    'hydrators' => [
@@ -375,9 +479,11 @@ return [
            CorrespondanceHydrator::class => CorrespondanceHydrator::class,
            MetierFamilleHydrator::class => MetierFamilleHydrator::class,
            DomaineHydrator::class => DomaineHydrator::class,
            FonctionHydrator::class => FonctionHydrator::class,
        ],
        'factories' => [
            MetierHydrator::class => MetierHydratorFactory::class,
            GradeHydrator::class => GradeHydratorFactory::class,
        ],
    ]

+2 −2
Original line number Diff line number Diff line
@@ -53,7 +53,7 @@ class AgentController extends AbstractActionController
        }

        $vm = new ViewModel();
        $vm->setTemplate('application/default/default-form');
        $vm->setTemplate('application/agent/modifier');
        $vm->setVariables([
            'title' => 'Ajouter un agent',
            'form' => $form,
@@ -83,7 +83,7 @@ class AgentController extends AbstractActionController
        }

        $vm = new ViewModel();
        $vm->setTemplate('application/default/default-form');
        $vm->setTemplate('application/agent/modifier');
        $vm->setVariables([
            'title' => 'Modifier un agent',
            'form' => $form,
+178 −2
Original line number Diff line number Diff line
@@ -6,9 +6,13 @@ use Application\Entity\Db\AgentStatus;
use Application\Entity\Db\Corps;
use Application\Entity\Db\Correspondance;
use Application\Entity\Db\Domaine;
use Application\Entity\Db\Fonction;
use Application\Entity\Db\Grade;
use Application\Entity\Db\Metier;
use Application\Entity\Db\MetierFamille;
use Application\Form\RessourceRh\DomaineForm;
use Application\Form\RessourceRh\FonctionForm;
use Application\Form\RessourceRh\GradeForm;
use Application\Form\RessourceRh\MetierFamilleForm;
use Application\Form\RessourceRh\MetierForm;
use Application\Form\RessourceRh\AgentStatusForm;
@@ -17,6 +21,7 @@ use Application\Form\RessourceRh\CorrespondanceForm;
use Application\Service\RessourceRh\RessourceRhServiceAwareTrait;
use Zend\Http\Request;
use Zend\Mvc\Controller\AbstractActionController;
use Zend\View\Model\JsonModel;
use Zend\View\Model\ViewModel;

class RessourceRhController extends AbstractActionController {
@@ -30,6 +35,8 @@ class RessourceRhController extends AbstractActionController {
        $corps = $this->getRessourceRhService()->getCorpsListe('libelle');
        $familles = $this->getRessourceRhService()->getMetiersFamilles('libelle');
        $domaines = $this->getRessourceRhService()->getDomaines('libelle');
        $fonctions = $this->getRessourceRhService()->getFonctions('libelle');
        $grades = $this->getRessourceRhService()->getGrades();

        return new ViewModel([
            'status' => $status,
@@ -38,6 +45,8 @@ class RessourceRhController extends AbstractActionController {
            'familles' => $familles,
            'corps' => $corps,
            'domaines' => $domaines,
            'fonctions' => $fonctions,
            'grades' => $grades,
        ]);
    }

@@ -136,7 +145,7 @@ class RessourceRhController extends AbstractActionController {
        $vm = new ViewModel();
        $vm->setTemplate('application/default/default-form');
        $vm->setVariables([
            'title' => 'Ajouter une nouvelle correspondance',
            'title' => 'Ajouter une nouvelle catégorie',
            'form' => $form,
        ]);
        return $vm;
@@ -165,7 +174,7 @@ class RessourceRhController extends AbstractActionController {
        $vm = new ViewModel();
        $vm->setTemplate('application/default/default-form');
        $vm->setVariables([
            'title' => 'Éditer une correspondance',
            'title' => 'Éditer une catégorie',
            'form' => $form,
        ]);
        return $vm;
@@ -470,4 +479,171 @@ class RessourceRhController extends AbstractActionController {
        $this->redirect()->toRoute('ressource-rh', [], [], true);
    }

    /** FONCTION ******************************************************************************************************/

    public function ajouterFonctionAction()
    {
        /** @var Fonction $fonction */
        $fonction = new Fonction();

        /** @var FonctionForm $form */
        $form = $this->getServiceLocator()->get('FormElementManager')->get(FonctionForm::class);
        $form->setAttribute('action', $this->url()->fromRoute('ressource-rh/fonction/ajouter', [], [], true));
        $form->bind($fonction);

        /** @var Request $request */
        $request = $this->getRequest();
        if ($request->isPost()) {
            $data = $request->getPost();
            $form->setData($data);
            if ($form->isValid()) {
                $this->getRessourceRhService()->createFonction($fonction);
            }
        }

        $vm = new ViewModel();
        $vm->setTemplate('application/default/default-form');
        $vm->setVariables([
            'title' => 'Ajouter une fonction',
            'form' => $form,
        ]);
        return $vm;
    }

    public function modifierFonctionAction()
    {
        /** @var Fonction $fonction */
        $fonctionId = $this->params()->fromRoute('fonction');
        $fonction = $this->getRessourceRhService()->getFonction($fonctionId);

        /** @var FonctionForm $form */
        $form = $this->getServiceLocator()->get('FormElementManager')->get(FonctionForm::class);
        $form->setAttribute('action', $this->url()->fromRoute('ressource-rh/fonction/modifier', ['fonction' => $fonction->getId()], [], true));
        $form->bind($fonction);

        /** @var Request $request */
        $request = $this->getRequest();
        if ($request->isPost()) {
            $data = $request->getPost();
            $form->setData($data);
            if ($form->isValid()) {
                $this->getRessourceRhService()->updateFonction($fonction);
            }
        }

        $vm = new ViewModel();
        $vm->setTemplate('application/default/default-form');
        $vm->setVariables([
            'title' => 'Modifier une fonction',
            'form' => $form,
        ]);
        return $vm;
    }

    public function supprimerFonctionAction()
    {
        /** @var Fonction $fonction */
        $fonctionId = $this->params()->fromRoute('fonction');
        $fonction = $this->getRessourceRhService()->getFonction($fonctionId);

        if ($fonction !== null) {
            $this->getRessourceRhService()->deleteFonction($fonction);
        }

        $this->redirect()->toRoute('ressource-rh', [], [], true);
    }

    /** Grade ******************************************************************************************************/

    public function ajouterGradeAction()
    {
        /** @var Grade $grade */
        $grade = new Grade();

        /** @var GradeForm $form */
        $form = $this->getServiceLocator()->get('FormElementManager')->get(GradeForm::class);
        $form->setAttribute('action', $this->url()->fromRoute('ressource-rh/grade/ajouter', [], [], true));
        $form->bind($grade);

        /** @var Request $request */
        $request = $this->getRequest();
        if ($request->isPost()) {
            $data = $request->getPost();
            $form->setData($data);
            if ($form->isValid()) {
                $this->getRessourceRhService()->createGrade($grade);
            }
        }

        $vm = new ViewModel();
        $vm->setTemplate('application/default/default-form');
        $vm->setVariables([
            'title' => 'Ajouter un grade',
            'form' => $form,
        ]);
        return $vm;
    }

    public function modifierGradeAction()
    {
        /** @var Grade $grade */
        $gradeId = $this->params()->fromRoute('grade');
        $grade = $this->getRessourceRhService()->getGrade($gradeId);

        /** @var GradeForm $form */
        $form = $this->getServiceLocator()->get('FormElementManager')->get(GradeForm::class);
        $form->setAttribute('action', $this->url()->fromRoute('ressource-rh/grade/modifier', ['grade' => $grade->getId()], [], true));
        $form->bind($grade);

        /** @var Request $request */
        $request = $this->getRequest();
        if ($request->isPost()) {
            $data = $request->getPost();
            $form->setData($data);
            if ($form->isValid()) {
                $this->getRessourceRhService()->updateGrade($grade);
            }
        }

        $vm = new ViewModel();
        $vm->setTemplate('application/default/default-form');
        $vm->setVariables([
            'title' => 'Modifier un grade',
            'form' => $form,
        ]);
        return $vm;
    }

    public function supprimerGradeAction()
    {
        /** @var Grade $grade */
        $gradeId = $this->params()->fromRoute('grade');
        $grade = $this->getRessourceRhService()->getGrade($gradeId);

        if ($grade !== null) {
            $this->getRessourceRhService()->deleteGrade($grade);
        }

        $this->redirect()->toRoute('ressource-rh', [], [], true);
    }

    public function getGradesJsonAction()
    {
        $grades = $this->getRessourceRhService()->getGrades();

        $result = [];
        foreach ($grades as $grade) {
            $result[$grade->getId()] = [
                'id' => $grade->getId(),
                'corps' => $grade->getCorps()->getId(),
                'libelle' => $grade->getLibelle(),
            ];
        }
        $jm = new JsonModel(
            $result
        );
        return $jm;

    }

}
 No newline at end of file
+22 −7
Original line number Diff line number Diff line
@@ -3,7 +3,6 @@
namespace Application\Entity\Db;

use DateTime;
use Doctrine\Common\Collections\ArrayCollection;

class Agent {

@@ -30,16 +29,13 @@ class Agent {
    private $correspondance;
    /** @var Corps */
    private $corps;
    /** @var Grade */
    private $grade;


    /** @var string */
    private $missionsComplementaires;


    public function __construct()
    {
        $this->missionsComplementaires = new ArrayCollection();
    }

    /**
     * @return int
     */
@@ -233,6 +229,25 @@ class Agent {
        return $this;
    }

    /**
     * @return Grade
     */
    public function getGrade()
    {
        return $this->grade;
    }

    /**
     * @param Grade $grade
     * @return Agent
     */
    public function setGrade($grade)
    {
        $this->grade = $grade;
        return $this;
    }




}
 No newline at end of file
Loading