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

Progess

parent 9b855628
Loading
Loading
Loading
Loading
+0 −1
Original line number Diff line number Diff line
@@ -51,7 +51,6 @@ return [
                    'action' => [
                        'ajouter',
                        'importer-depuis-csv',
//                        'ajouter-terminer',
                    ],
                    'privileges' => [
                        FicheMetierPrivileges::FICHEMETIER_AJOUTER,
+0 −34
Original line number Diff line number Diff line
@@ -94,41 +94,7 @@ class FicheMetierController extends AbstractActionController
        ]);
    }

    public function ajouterAction(): ViewModel
    {
        /** @var FicheMetier $fiche */
        $fiche = new FicheMetier();
        $fiche->setEtat($this->getEtatService()->getEtatByCode(FicheMetierEtats::ETAT_REDACTION));

        $form = $this->getSelectionnerMetierForm();
        $form->setAttribute('action', $this->url()->fromRoute('fiche-metier-type/ajouter', [], [], true));
        $form->bind($fiche);

        /** @var Request $request */
        $request = $this->getRequest();
        if ($request->isPost()) {
            $data = $request->getPost();
            $form->setData($data);
            if ($form->isValid()) {
                $this->getFicheMetierService()->create($fiche);
                $this->getConfigurationService()->addDefaultToFicheMetier($fiche);
                $this->getFicheMetierService()->update($fiche);

                $libelle = $this->getMetierService()->computeEcritureInclusive($fiche->getMetier()->getLibelleFeminin(), $fiche->getMetier()->getLibelleMasculin());
                $this->flashMessenger()->addSuccessMessage(
                    "Une nouvelle fiche métier vient d'être ajouter pour le métier <strong>" . $libelle . "</strong>.<br/> " .
                    "Vous pouvez modifier celle-ci en utilisant le lien suivant : <a href='" . $this->url()->fromRoute('fiche-metier-type/editer', ['id' => $fiche->getId()], [], true) . "'>Modification de la fiche métier #" . $fiche->getId() . "</a>");
            }
        }

        $vm = new ViewModel();
        $vm->setTemplate('application/default/default-form');
        $vm->setVariables([
            'title' => "Ajout d'une fiche metier",
            'form' => $form,
        ]);
        return $vm;
    }

    /** ACTIVITE LIEE *************************************************************************************************/

+6 −9
Original line number Diff line number Diff line
@@ -2,26 +2,24 @@

namespace Application\Service\Configuration;

use Application\Entity\Db\ConfigurationEntretienProfessionnel;
use Application\Entity\Db\ConfigurationFicheMetier;
use Doctrine\ORM\NonUniqueResultException;
use Doctrine\ORM\ORMException;
use Element\Entity\Db\Application;
use Element\Entity\Db\ApplicationElement;
use Element\Entity\Db\Competence;
use Element\Entity\Db\CompetenceElement;
use Application\Entity\Db\ConfigurationEntretienProfessionnel;
use Application\Entity\Db\ConfigurationFicheMetier;
use FicheMetier\Entity\Db\FicheMetier;
use Element\Service\ApplicationElement\ApplicationElementServiceAwareTrait;
use Element\Service\CompetenceElement\CompetenceElementServiceAwareTrait;
use Application\Service\FicheMetier\FicheMetierServiceAwareTrait;
use Element\Service\HasApplicationCollection\HasApplicationCollectionServiceAwareTrait;
use Element\Service\HasCompetenceCollection\HasCompetenceCollectionServiceAwareTrait;
use Doctrine\ORM\NonUniqueResultException;
use Doctrine\ORM\ORMException;
use FicheMetier\Entity\Db\FicheMetier;
use Laminas\Mvc\Controller\AbstractActionController;
use UnicaenApp\Exception\RuntimeException;
use UnicaenApp\Service\EntityManagerAwareTrait;
use Laminas\Mvc\Controller\AbstractActionController;

class ConfigurationService {
    use FicheMetierServiceAwareTrait;
    use EntityManagerAwareTrait;
    use ApplicationElementServiceAwareTrait;
    use HasApplicationCollectionServiceAwareTrait;
@@ -161,7 +159,6 @@ class ConfigurationService {
                $this->getHasCompetenceCollectionService()->addCompetence($fiche,$competenceElement);
            }
        }
        $this->getFicheMetierService()->update($fiche);
        return $fiche;
    }

+6 −6
Original line number Diff line number Diff line
@@ -2,13 +2,14 @@

namespace Application\Service\Configuration;

use Doctrine\ORM\EntityManager;
use Element\Service\ApplicationElement\ApplicationElementService;
use Element\Service\CompetenceElement\CompetenceElementService;
use Application\Service\FicheMetier\FicheMetierService;
use Element\Service\HasApplicationCollection\HasApplicationCollectionService;
use Element\Service\HasCompetenceCollection\HasCompetenceCollectionService;
use Doctrine\ORM\EntityManager;
use Interop\Container\ContainerInterface;
use Psr\Container\ContainerExceptionInterface;
use Psr\Container\NotFoundExceptionInterface;

;

@@ -17,8 +18,10 @@ class ConfigurationServiceFactory {
    /**
     * @param ContainerInterface $container
     * @return ConfigurationService
     * @throws ContainerExceptionInterface
     * @throws NotFoundExceptionInterface
     */
    public function __invoke(ContainerInterface $container)
    public function __invoke(ContainerInterface $container) :ConfigurationService
    {
        /**
         * @var EntityManager $entityManager
@@ -26,14 +29,12 @@ class ConfigurationServiceFactory {
         * @var HasApplicationCollectionService $hasApplicationCollectionService
         * @var CompetenceElementService $competenceElementService
         * @var HasCompetenceCollectionService $hasCompetenceCollectionService
         * @var FicheMetierService $ficheMetierService
         */
        $entityManager = $container->get('doctrine.entitymanager.orm_default');
        $applicationElementService = $container->get(ApplicationElementService::class);
        $hasApplicationCollectionService = $container->get(HasApplicationCollectionService::class);
        $competenceElementService = $container->get(CompetenceElementService::class);
        $hasCompetenceCollectionService = $container->get(HasCompetenceCollectionService::class);
        $ficheMetierService = $container->get(FicheMetierService::class);

        /** @var ConfigurationService $service */
        $service = new ConfigurationService();
@@ -42,7 +43,6 @@ class ConfigurationServiceFactory {
        $service->setHasApplicationCollectionService($hasApplicationCollectionService);
        $service->setCompetenceElementService($competenceElementService);
        $service->setHasCompetenceCollectionService($hasCompetenceCollectionService);
        $service->setFicheMetierService($ficheMetierService);
        return $service;
    }
}
 No newline at end of file
+9 −0
Original line number Diff line number Diff line
@@ -6,6 +6,7 @@ use Application\Controller\FicheMetierController;
use Application\Entity\Db\Activite;
use Application\Entity\Db\ActiviteDescription;
use Application\Provider\Template\PdfTemplate;
use Application\Service\Configuration\ConfigurationServiceAwareTrait;
use FicheMetier\Entity\Db\FicheMetier;
use Application\Entity\Db\FicheMetierActivite;
use Application\Provider\Etat\FicheMetierEtats;
@@ -42,6 +43,7 @@ class FicheMetierService {
    use ApplicationElementServiceAwareTrait;
    use CompetenceServiceAwareTrait;
    use CompetenceElementServiceAwareTrait;
    use ConfigurationServiceAwareTrait;
    use DomaineServiceAwareTrait;
    use EtatServiceAwareTrait;
    use EntityManagerAwareTrait;
@@ -333,6 +335,13 @@ class FicheMetierService {

    /** FACADE ********************************************************************************************************/

    public function setDefaultValues(FicheMetier $fiche) : FicheMetier
    {
        $fiche->setEtat($this->getEtatService()->getEtatByCode(FicheMetierEtats::ETAT_REDACTION));
        $this->getConfigurationService()->addDefaultToFicheMetier($fiche);
        return $fiche;
    }

    /**
     * @param Request $request
     * @param Form $form
Loading