Loading module/Application/config/merged/metier.config.php +0 −20 Changes for module/Application/config/merged/metier.config.php: 0 added lines, 20 removed lines. Original line number Diff line number Diff line Loading @@ -4,10 +4,6 @@ namespace Application; use Application\Controller\MetierController; use Application\Controller\MetierControllerFactory; use Application\Form\Domaine\DomaineForm; use Application\Form\Domaine\DomaineFormFactory; use Application\Form\Domaine\DomaineHydrator; use Application\Form\Domaine\DomaineHydratorFactory; use Application\Form\Metier\MetierForm; use Application\Form\Metier\MetierFormFactory; use Application\Form\Metier\MetierHydrator; Loading @@ -21,8 +17,6 @@ use Application\Form\MetierReferentiel\MetierReferentielFormFactory; use Application\Form\MetierReferentiel\MetierReferentielHydrator; use Application\Form\MetierReferentiel\MetierReferentielHydratorFactory; use Application\Provider\Privilege\MetierPrivileges; use Application\Service\Domaine\DomaineService; use Application\Service\Domaine\DomaineServiceFactory; use Application\Service\FamilleProfessionnelle\FamilleProfessionnelleService; use Application\Service\FamilleProfessionnelle\FamilleProfessionnelleServiceFactory; use Application\Service\Metier\MetierService; Loading Loading @@ -105,7 +99,6 @@ return [ 'controller' => MetierController::class, 'action' => [ 'cartographie', 'export-cartographie', ], 'privileges' => [ MetierPrivileges::METIER_CARTOGRAPHIE, Loading Loading @@ -378,19 +371,6 @@ return [ ], ], 'may_terminate' => true, 'child_routes' => [ 'export' => [ 'type' => Literal::class, 'options' => [ 'route' => '/export', 'defaults' => [ 'controller' => MetierController::class, 'action' => 'export-cartographie', ], ], 'may_terminate' => true, ], ], ], ], ], Loading module/Application/src/Application/Controller/MetierController.php +0 −16 Changes for module/Application/src/Application/Controller/MetierController.php: 0 added lines, 16 removed lines. Original line number Diff line number Diff line Loading @@ -359,20 +359,4 @@ class MetierController extends AbstractActionController { 'results' => $results, ]); } public function exportCartographieAction() { $results = $this->getMetierService()->generateCartographyArray(); $headers = [ 'Metier', 'Niveau', 'Références', 'Domaine', 'Fonction', 'Famille', '#Fiche']; $today = new DateTime(); $result = new CsvModel(); $result->setDelimiter(';'); $result->setEnclosure('"'); $result->setHeader($headers); $result->setData($results); $result->setFilename('cartographie_metier_'.$today->format('Ymd-His').'.csv'); return $result; } } module/Application/view/application/metier/cartographie.phtml +37 −7 Changes for module/Application/view/application/metier/cartographie.phtml: 37 added lines, 7 removed lines. Original line number Diff line number Diff line Loading @@ -19,13 +19,7 @@ $this->headTitle('Cartographie des métiers'); <div class="col-md-5" > <?php if ($canCarto) : ?> <a <?php /** @see \Application\Controller\MetierController::exportCartographieAction() */ ?> class="btn btn-primary action " href="<?php echo $this->url('metier/cartographie/export', [], [], true); ?>" > Export de la cartographie </a> <span class="export btn btn-primary action" id="cartographie"></span> <?php endif ; ?> </div> Loading Loading @@ -78,4 +72,40 @@ $this->headTitle('Cartographie des métiers'); } } ); } ); downloadCSVFromJson = (filename, arrayOfJson) => { // convert JSON to CSV const replacer = (key, value) => value === null ? '-' : value const header = Object.keys(arrayOfJson[0]) let csv = arrayOfJson.map(row => header.map(fieldName => JSON.stringify(row[fieldName], replacer)).join(';')) csv.unshift(header.join(';')) csv = csv.join('\r\n') // Create link and download var link = document.createElement('a'); link.setAttribute('href', 'data:text/csv;charset=utf-8,%EF%BB%BF' + encodeURIComponent(csv)); link.setAttribute('download', filename); link.style.visibility = 'hidden'; document.body.appendChild(link); link.click(); document.body.removeChild(link); }; $('span.export#cartographie').on('click', function() { let tableau = <?php echo json_encode($results); ?>; downloadCSVFromJson('cartographie_'+ Date.now().toString() +'.csv', tableau); }); </script> <style> span.export { cursor: pointer; width: 20rem:; } span.export::before{ content: "Télécharger la cartographie"; } </style> Loading
module/Application/config/merged/metier.config.php +0 −20 Changes for module/Application/config/merged/metier.config.php: 0 added lines, 20 removed lines. Original line number Diff line number Diff line Loading @@ -4,10 +4,6 @@ namespace Application; use Application\Controller\MetierController; use Application\Controller\MetierControllerFactory; use Application\Form\Domaine\DomaineForm; use Application\Form\Domaine\DomaineFormFactory; use Application\Form\Domaine\DomaineHydrator; use Application\Form\Domaine\DomaineHydratorFactory; use Application\Form\Metier\MetierForm; use Application\Form\Metier\MetierFormFactory; use Application\Form\Metier\MetierHydrator; Loading @@ -21,8 +17,6 @@ use Application\Form\MetierReferentiel\MetierReferentielFormFactory; use Application\Form\MetierReferentiel\MetierReferentielHydrator; use Application\Form\MetierReferentiel\MetierReferentielHydratorFactory; use Application\Provider\Privilege\MetierPrivileges; use Application\Service\Domaine\DomaineService; use Application\Service\Domaine\DomaineServiceFactory; use Application\Service\FamilleProfessionnelle\FamilleProfessionnelleService; use Application\Service\FamilleProfessionnelle\FamilleProfessionnelleServiceFactory; use Application\Service\Metier\MetierService; Loading Loading @@ -105,7 +99,6 @@ return [ 'controller' => MetierController::class, 'action' => [ 'cartographie', 'export-cartographie', ], 'privileges' => [ MetierPrivileges::METIER_CARTOGRAPHIE, Loading Loading @@ -378,19 +371,6 @@ return [ ], ], 'may_terminate' => true, 'child_routes' => [ 'export' => [ 'type' => Literal::class, 'options' => [ 'route' => '/export', 'defaults' => [ 'controller' => MetierController::class, 'action' => 'export-cartographie', ], ], 'may_terminate' => true, ], ], ], ], ], Loading
module/Application/src/Application/Controller/MetierController.php +0 −16 Changes for module/Application/src/Application/Controller/MetierController.php: 0 added lines, 16 removed lines. Original line number Diff line number Diff line Loading @@ -359,20 +359,4 @@ class MetierController extends AbstractActionController { 'results' => $results, ]); } public function exportCartographieAction() { $results = $this->getMetierService()->generateCartographyArray(); $headers = [ 'Metier', 'Niveau', 'Références', 'Domaine', 'Fonction', 'Famille', '#Fiche']; $today = new DateTime(); $result = new CsvModel(); $result->setDelimiter(';'); $result->setEnclosure('"'); $result->setHeader($headers); $result->setData($results); $result->setFilename('cartographie_metier_'.$today->format('Ymd-His').'.csv'); return $result; } }
module/Application/view/application/metier/cartographie.phtml +37 −7 Changes for module/Application/view/application/metier/cartographie.phtml: 37 added lines, 7 removed lines. Original line number Diff line number Diff line Loading @@ -19,13 +19,7 @@ $this->headTitle('Cartographie des métiers'); <div class="col-md-5" > <?php if ($canCarto) : ?> <a <?php /** @see \Application\Controller\MetierController::exportCartographieAction() */ ?> class="btn btn-primary action " href="<?php echo $this->url('metier/cartographie/export', [], [], true); ?>" > Export de la cartographie </a> <span class="export btn btn-primary action" id="cartographie"></span> <?php endif ; ?> </div> Loading Loading @@ -78,4 +72,40 @@ $this->headTitle('Cartographie des métiers'); } } ); } ); downloadCSVFromJson = (filename, arrayOfJson) => { // convert JSON to CSV const replacer = (key, value) => value === null ? '-' : value const header = Object.keys(arrayOfJson[0]) let csv = arrayOfJson.map(row => header.map(fieldName => JSON.stringify(row[fieldName], replacer)).join(';')) csv.unshift(header.join(';')) csv = csv.join('\r\n') // Create link and download var link = document.createElement('a'); link.setAttribute('href', 'data:text/csv;charset=utf-8,%EF%BB%BF' + encodeURIComponent(csv)); link.setAttribute('download', filename); link.style.visibility = 'hidden'; document.body.appendChild(link); link.click(); document.body.removeChild(link); }; $('span.export#cartographie').on('click', function() { let tableau = <?php echo json_encode($results); ?>; downloadCSVFromJson('cartographie_'+ Date.now().toString() +'.csv', tableau); }); </script> <style> span.export { cursor: pointer; width: 20rem:; } span.export::before{ content: "Télécharger la cartographie"; } </style>