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

Changement document pdf

parent 76956f02
Loading
Loading
Loading
Loading
+29 −20
Original line number Diff line number Diff line
@@ -19,7 +19,6 @@ use Application\Form\SelectionCompetence\SelectionCompetenceFormAwareTrait;
use Application\Service\Activite\ActiviteServiceAwareTrait;
use Application\Service\Agent\AgentServiceAwareTrait;
use Application\Service\Configuration\ConfigurationServiceAwareTrait;
use Application\Service\Export\FicheMetier\FicheMetierPdfExporter;
use Application\Service\FicheMetier\FicheMetierServiceAwareTrait;
use Application\Service\HasApplicationCollection\HasApplicationCollectionServiceAwareTrait;
use Application\Service\HasCompetenceCollection\HasCompetenceCollectionServiceAwareTrait;
@@ -28,10 +27,11 @@ use Application\Service\RendererAwareTrait;
use Formation\Form\SelectionFormation\SelectionFormationFormAwareTrait;
use Metier\Service\Domaine\DomaineServiceAwareTrait;
use Metier\Service\Metier\MetierServiceAwareTrait;
use UnicaenDocument\Service\Exporter\ExporterServiceAwareTrait;
use UnicaenEtat\Form\SelectionEtat\SelectionEtatFormAwareTrait;
use UnicaenEtat\Service\Etat\EtatServiceAwareTrait;
use UnicaenEtat\Service\EtatType\EtatTypeServiceAwareTrait;
use UnicaenPdf\Exporter\PdfExporter;
use UnicaenRenderer\Service\Contenu\ContenuServiceAwareTrait;
use UnicaenUtilisateur\Entity\DateTimeAwareTrait;
use Zend\Form\Element\Select;
use Zend\Http\Request;
@@ -46,6 +46,7 @@ class FicheMetierController extends AbstractActionController
    /** Traits associé aux services */
    use ActiviteServiceAwareTrait;
    use AgentServiceAwareTrait;
    use ContenuServiceAwareTrait;
    use DomaineServiceAwareTrait;
    use FicheMetierServiceAwareTrait;
    use HasApplicationCollectionServiceAwareTrait;
@@ -53,7 +54,6 @@ class FicheMetierController extends AbstractActionController
    use MetierServiceAwareTrait;
    use ParcoursDeFormationServiceAwareTrait;
    use EtatServiceAwareTrait;
    use ExporterServiceAwareTrait;

    /** Traits associé aux formulaires */
    use ActiviteFormAwareTrait;
@@ -210,26 +210,35 @@ class FicheMetierController extends AbstractActionController
    public function exporterAction()
    {
        $fichemetier = $this->getFicheMetierService()->getRequestedFicheMetier($this, 'id', true);
        $this->getExporterService()->setVars([
            'type' => 'FICHE_METIER',

        $contenu = $this->getContenuService()->getContenuByCode("FICHE_METIER");
        $vars = [
            'fichemetier' => $fichemetier,
            'metier' => $fichemetier->getMetier(),
            'parcours' => $this->getParcoursDeFormationService()->getParcoursDeFormationByTypeAndReference(ParcoursDeFormation::TYPE_CATEGORIE, $fichemetier->getMetier()->getCategorie()->getId()),
        ]);
        $this->getExporterService()->export('export.pdf');
        exit;
    }

    public function exporterToutesAction()
    {
        $fiches = $this->getFicheMetierService()->getFichesMetiers();

        $exporter = new FicheMetierPdfExporter($this->renderer, 'A4');
        $exporter->setVars([]);
        $filemane = "EMC2" . $this->getDateTime()->format('YmdHis') . "_fiches_metiers.pdf";
        $exporter->exportAll($fiches, $filemane);
        exit;
    }
        ];
        $titre = $this->getContenuService()->generateTitre($contenu, $vars);
        $texte = $this->getContenuService()->generateContenu($contenu, $vars);
        $complement = $this->getContenuService()->generateComplement($contenu, $vars);

        $exporter = new PdfExporter();
        $exporter->getMpdf()->SetTitle($titre);
        $exporter->setHeaderScript('');
        $exporter->setFooterScript('');
        $exporter->addBodyHtml($texte);
        return $exporter->export($complement, PdfExporter::DESTINATION_BROWSER, null);
    }

//    public function exporterToutesAction()
//    {
//        $fiches = $this->getFicheMetierService()->getFichesMetiers();
//
//        $exporter = new FicheMetierPdfExporter($this->renderer, 'A4');
//        $exporter->setVars([]);
//        $filemane = "EMC2" . $this->getDateTime()->format('YmdHis') . "_fiches_metiers.pdf";
//        $exporter->exportAll($fiches, $filemane);
//        exit;
//    }

    public function historiserAction()
    {
+5 −5
Original line number Diff line number Diff line
@@ -18,23 +18,23 @@ use Formation\Form\SelectionFormation\SelectionFormationForm;
use Interop\Container\ContainerInterface;
use Metier\Service\Domaine\DomaineService;
use Metier\Service\Metier\MetierService;
use UnicaenDocument\Service\Exporter\ExporterService;
use UnicaenEtat\Form\SelectionEtat\SelectionEtatForm;
use UnicaenEtat\Service\Etat\EtatService;
use UnicaenEtat\Service\EtatType\EtatTypeService;
use UnicaenRenderer\Service\Contenu\ContenuService;
use Zend\View\Renderer\PhpRenderer;

class FicheMetierControllerFactory {

    public function __invoke(ContainerInterface $container)
    public function __invoke(ContainerInterface $container) : FicheMetierController
    {
        /**
         * @var ActiviteService $activiteService
         * @var AgentService $agentService;
         * @var ContenuService $contenuService;
         * @var DomaineService $domaineService
         * @var EtatService $etatService
         * @var EtatTypeService $etatTypeService
         * @var ExporterService $exporterService
         * @var FicheMetierService $ficheMetierService
         * @var HasApplicationCollectionService $hasApplicationCollectionService
         * @var HasCompetenceCollectionService $hasCompetenceCollectionService
@@ -44,10 +44,10 @@ class FicheMetierControllerFactory {
         */
        $activiteService = $container->get(ActiviteService::class);
        $agentService = $container->get(AgentService::class);
        $contenuService = $container->get(ContenuService::class);
        $domaineService = $container->get(DomaineService::class);
        $etatService = $container->get(EtatService::class);
        $etatTypeService = $container->get(EtatTypeService::class);
        $exporterService = $container->get(ExporterService::class);
        $ficheMetierService = $container->get(FicheMetierService::class);
        $hasApplicationCollectionService = $container->get(HasApplicationCollectionService::class);
        $hasCompetenceCollectionService = $container->get(HasCompetenceCollectionService::class);
@@ -81,10 +81,10 @@ class FicheMetierControllerFactory {

        $controller->setActiviteService($activiteService);
        $controller->setAgentService($agentService);
        $controller->setContenuService($contenuService);
        $controller->setDomaineService($domaineService);
        $controller->setEtatService($etatService);
        $controller->setEtatTypeService($etatTypeService);
        $controller->setExporterService($exporterService);
        $controller->setFicheMetierService($ficheMetierService);
        $controller->setHasApplicationCollectionService($hasApplicationCollectionService);
        $controller->setHasCompetenceCollectionService($hasCompetenceCollectionService);
+22 −11
Original line number Diff line number Diff line
@@ -32,6 +32,8 @@ use Application\Service\RendererAwareTrait;
use Application\Service\SpecificitePoste\SpecificitePosteServiceAwareTrait;
use Application\Service\Structure\StructureServiceAwareTrait;
//use UnicaenDocument\Service\Exporter\ExporterServiceAwareTrait;
use UnicaenPdf\Exporter\PdfExporter;
use UnicaenRenderer\Service\Contenu\ContenuServiceAwareTrait;
use UnicaenUtilisateur\Entity\DateTimeAwareTrait;
use Zend\Http\Request;
use Zend\Mvc\Controller\AbstractActionController;
@@ -59,6 +61,8 @@ class FichePosteController extends AbstractActionController {
    use ParcoursDeFormationServiceAwareTrait;
    use RendererAwareTrait;

    use ContenuServiceAwareTrait;

    /** Form **/
    use AjouterFicheMetierFormAwareTrait;
    use AssocierAgentFormAwareTrait;
@@ -223,7 +227,8 @@ class FichePosteController extends AbstractActionController {

        return new ViewModel([
            'fiche' => $fiche,
            'agent' => $this->getAgentService()->getAgent($fiche->getAgent()->getId()),
//            'agent' => $this->getAgentService()->getAgent($fiche->getAgent()->getId()),
            'agent' => $fiche->getAgent(),
            'structure' => $structure,
            'applications' => $applications,
            'competences' => $competences,
@@ -287,23 +292,29 @@ class FichePosteController extends AbstractActionController {

    public function exporterAction()
    {
        exit;

        $ficheposte = $this->getFichePosteService()->getRequestedFichePoste($this, 'fiche-poste');
        $agent = $ficheposte->getAgent();
        $ficheposte->addDictionnaire('applications', $this->getFichePosteService()->getApplicationsDictionnaires($ficheposte));
        $ficheposte->addDictionnaire('competences', $this->getFichePosteService()->getCompetencesDictionnaires($ficheposte));
        $ficheposte->addDictionnaire('formations', $this->getFichePosteService()->getFormationsDictionnaires($ficheposte));
        $ficheposte->addDictionnaire('parcours', $this->getParcoursDeFormationService()->generateParcoursArrayFromFichePoste($ficheposte));

        $this->getExporterService()->setVars([
            'type' => 'FICHE_DE_POSTE',
        $contenu = $this->getContenuService()->getContenuByCode("FICHE_DE_POSTE");
        $vars = [
            'ficheposte' => $ficheposte,
            'agent' => $ficheposte->getAgent(),
            //todo prendre la structure du poste une fois les postes remontés
            'structure' => $ficheposte->getAgent()->getAffectationPrincipale()->getStructure(),
        ]);
        $this->getExporterService()->export('export.pdf');
        exit;
            'agent' => $agent,
            'structure' => ($agent)?$agent->getAffectationPrincipale()->getStructure():null,
        ];
        $titre = $this->getContenuService()->generateTitre($contenu, $vars);
        $texte = $this->getContenuService()->generateContenu($contenu, $vars);
        $complement = $this->getContenuService()->generateComplement($contenu, $vars);

        $exporter = new PdfExporter();
        $exporter->getMpdf()->SetTitle($titre);
        $exporter->setHeaderScript('');
        $exporter->setFooterScript('');
        $exporter->addBodyHtml($texte);
        return $exporter->export($complement, PdfExporter::DESTINATION_BROWSER, null);
    }
    /** TITRE *********************************************************************************************************/

+4 −3
Original line number Diff line number Diff line
@@ -21,6 +21,7 @@ use Application\Service\SpecificitePoste\SpecificitePosteService;
use Application\Service\Structure\StructureService;
use Interop\Container\ContainerInterface;
use UnicaenPdf\Exporter\PdfExporter;
use UnicaenRenderer\Service\Contenu\ContenuService;
use Zend\View\Renderer\PhpRenderer;

class FichePosteControllerFactory {
@@ -35,8 +36,8 @@ class FichePosteControllerFactory {
         * @var ActivitesDescriptionsRetireesService $activitesDescriptionsRetireesSercice
         * @var ApplicationsRetireesService $applicationsConserveesService
         * @var CompetencesRetireesService $competencesRetireesService
         * @var ContenuService $contenuService
         * @var ExpertiseService $expertiseService
         * @var PdfExporter $exporterService
         * @var SpecificitePosteService $specificitePosteService
         * @var ParcoursDeFormationService $parcoursService
         */
@@ -48,8 +49,8 @@ class FichePosteControllerFactory {
        $activitesDescriptionsRetireesSercice = $container->get(ActivitesDescriptionsRetireesService::class);
        $applicationsConserveesService = $container->get(ApplicationsRetireesService::class);
        $competencesRetireesService = $container->get(CompetencesRetireesService::class);
        $contenuService = $container->get(ContenuService::class);
        $expertiseService = $container->get(ExpertiseService::class);
        //$exporterService = $container->get(PdfExporter::class);
        $specificitePosteService = $container->get(SpecificitePosteService::class);
        $parcoursService = $container->get(ParcoursDeFormationService::class);

@@ -83,8 +84,8 @@ class FichePosteControllerFactory {
        $controller->setActivitesDescriptionsRetireesService($activitesDescriptionsRetireesSercice);
        $controller->setApplicationsRetireesService($applicationsConserveesService);
        $controller->setCompetencesRetireesService($competencesRetireesService);
        $controller->setContenuService($contenuService);
        $controller->setExpertiseService($expertiseService);
        //$controller->setPdf($exporterService);
        $controller->setSpecificitePosteService($specificitePosteService);
        $controller->setParcoursDeFormationService($parcoursService);

+17 −7
Original line number Diff line number Diff line
@@ -7,14 +7,15 @@ use Application\Form\FicheProfil\FicheProfilFormAwareTrait;
use Application\Service\FichePoste\FichePosteServiceAwareTrait;
use Application\Service\FicheProfil\FicheProfilServiceAwareTrait;
use Application\Service\Structure\StructureServiceAwareTrait;
use UnicaenDocument\Service\Exporter\ExporterServiceAwareTrait;
use UnicaenParametre\Service\Parametre\ParametreServiceAwareTrait;
use UnicaenPdf\Exporter\PdfExporter;
use UnicaenRenderer\Service\Contenu\ContenuServiceAwareTrait;
use Zend\Http\Request;
use Zend\Mvc\Controller\AbstractActionController;
use Zend\View\Model\ViewModel;

class FicheProfilController extends AbstractActionController {
    use ExporterServiceAwareTrait;
    use ContenuServiceAwareTrait;
    use FichePosteServiceAwareTrait;
    use FicheProfilServiceAwareTrait;
    use StructureServiceAwareTrait;
@@ -112,14 +113,23 @@ class FicheProfilController extends AbstractActionController {
        $ficheposte = $ficheprofil->getFichePoste();
        $ficheposte->addDictionnaire('competences', $this->getFichePosteService()->getCompetencesDictionnaires($ficheposte));

        $this->getExporterService()->setVars([
            'type' => 'PROFIL_DE_RECRUTMENT',
        $contenu = $this->getContenuService()->getContenuByCode("PROFIL_DE_RECRUTEMENT");

        $vars = [
            'ficheprofil' => $ficheprofil,
            'ficheposte' => $ficheposte,
            'structure' => $ficheprofil->getStructure(),
        ]);
        $this->getExporterService()->export('export.pdf');
        exit;
        ];
        $titre = $this->getContenuService()->generateTitre($contenu, $vars);
        $texte = $this->getContenuService()->generateContenu($contenu, $vars);
        $complement = $this->getContenuService()->generateComplement($contenu, $vars);

        $exporter = new PdfExporter();
        $exporter->getMpdf()->SetTitle($titre);
        $exporter->setHeaderScript('');
        $exporter->setFooterScript('');
        $exporter->addBodyHtml($texte);
        return $exporter->export($complement, PdfExporter::DESTINATION_BROWSER, null);
    }

    public function historiserAction()
Loading