diff --git a/src/Domain/Reporting/Generator/Word/ContractorGenerator.php b/src/Domain/Reporting/Generator/Word/ContractorGenerator.php index e0545ec5e2898b8f4b871965780fc92b9108e448..2f7307ec6abf849c835bc99b654c3aac2f5775bb 100644 --- a/src/Domain/Reporting/Generator/Word/ContractorGenerator.php +++ b/src/Domain/Reporting/Generator/Word/ContractorGenerator.php @@ -154,6 +154,21 @@ class ContractorGenerator extends AbstractGenerator implements ImpressionGenerat $section->addTitle($contractor->getName(), 2); $generalInformationsData = [ + [ + 'Nom', + $contractor->getName(), + ], + ]; + + // Ajouter les services si le module est actif + if ($contractor->getCollectivity()->getIsServicesEnabled()) { + $generalInformationsData[] = [ + 'Service', + $contractor->getService(), + ]; + } + + $generalInformationsData = array_merge($generalInformationsData, [ [ 'Agent référent', $contractor->getReferent() ?? $this->parameterBag->get('APP_DEFAULT_REFERENT'), @@ -178,7 +193,7 @@ class ContractorGenerator extends AbstractGenerator implements ImpressionGenerat 'Autres informations', $contractor->getOtherInformations(), ], - ]; + ]); $addressData = [ [ diff --git a/src/Domain/Reporting/Generator/Word/MesurementGenerator.php b/src/Domain/Reporting/Generator/Word/MesurementGenerator.php index 231652b3bea1b5581299da09300b56e3c51f6af1..c3f4f722e5fa866665b7d8c94ad551cef2538a13 100644 --- a/src/Domain/Reporting/Generator/Word/MesurementGenerator.php +++ b/src/Domain/Reporting/Generator/Word/MesurementGenerator.php @@ -314,6 +314,17 @@ class MesurementGenerator extends AbstractGenerator implements ImpressionGenerat 'Nom', $mesurement->getName(), ], + ]; + + // Ajouter les services si le module est actif + if ($mesurement->getCollectivity()->getIsServicesEnabled()) { + $generalInformationsData[] = [ + 'Service', + $mesurement->getService(), + ]; + } + + $generalInformationsData = array_merge($generalInformationsData, [ [ 'Description', $mesurement->getDescription() ? \preg_split('/\R/', $mesurement->getDescription()) : null, @@ -334,7 +345,7 @@ class MesurementGenerator extends AbstractGenerator implements ImpressionGenerat 'Charge', $mesurement->getCharge(), ], - ]; + ]); $applicationData = [ [ @@ -344,7 +355,7 @@ class MesurementGenerator extends AbstractGenerator implements ImpressionGenerat [ 'Échéance', MesurementStatusDictionary::STATUS_NOT_APPLICABLE !== $mesurement->getStatus() - ? ($mesurement->getPlanificationDate() ? $this->getDate($mesurement->getPlanificationDate()) : null) + ? ($mesurement->getPlanificationDate() ? $this->getDate($mesurement->getPlanificationDate(), 'd/m/Y') : null) : 'Non applicable', ], [ diff --git a/src/Domain/Reporting/Generator/Word/RequestGenerator.php b/src/Domain/Reporting/Generator/Word/RequestGenerator.php index d89b73273b7cb33b15c3d68b16b263f800581d09..fc0e0f843426285907f28703d3c120bb4c500bb8 100644 --- a/src/Domain/Reporting/Generator/Word/RequestGenerator.php +++ b/src/Domain/Reporting/Generator/Word/RequestGenerator.php @@ -121,7 +121,18 @@ class RequestGenerator extends AbstractGenerator implements ImpressionGeneratorI $section->addPageBreak(); } $section->addTitle($request->__toString(), 2); - $requestData = [ + + $requestData = []; + + // Ajouter les services si le module est actif + if ($request->getCollectivity()->getIsServicesEnabled()) { + $requestData[] = [ + 'Service', + $request->getService(), + ]; + } + + $requestData = array_merge($requestData, [ [ 'Objet de la demande', $request->getObject() ? RequestObjectDictionary::getObjects()[$request->getObject()] : null, @@ -150,7 +161,7 @@ class RequestGenerator extends AbstractGenerator implements ImpressionGeneratorI 'Demande légitime', $request->isLegitimateRequest() ? 'Oui' : 'Non', ], - ]; + ]); $applicant = $request->getApplicant(); $applicantData = [ diff --git a/src/Domain/Reporting/Generator/Word/ToolGenerator.php b/src/Domain/Reporting/Generator/Word/ToolGenerator.php index 4c1b2d97691e9e241d9d8d12505b6c32d806ce2f..2c583bf024af8bede13006d94e073f0685a597a3 100644 --- a/src/Domain/Reporting/Generator/Word/ToolGenerator.php +++ b/src/Domain/Reporting/Generator/Word/ToolGenerator.php @@ -116,6 +116,21 @@ class ToolGenerator extends AbstractGenerator implements ImpressionGeneratorInte $section->addTitle($tool->getName(), 2); $generalInformationsData = [ + [ + 'Nom', + $tool->getName(), + ], + ]; + + // Ajouter les services si le module est actif + if ($tool->getCollectivity()->getIsServicesEnabled()) { + $generalInformationsData[] = [ + 'Service', + $tool->getService(), + ]; + } + + $generalInformationsData = array_merge($generalInformationsData, [ [ 'Type', ToolTypeDictionary::getTypes()[$tool->getType()], @@ -140,7 +155,7 @@ class ToolGenerator extends AbstractGenerator implements ImpressionGeneratorInte 'Pays d\'hébergement ou de stockage', $this->translator->trans($tool->getCountryType()), ], - ]; + ]); if (Tool::COUNTRY_FRANCE !== $tool->getCountryType()) { $generalInformationsData[] = [ diff --git a/src/Domain/Reporting/Generator/Word/TreatmentGenerator.php b/src/Domain/Reporting/Generator/Word/TreatmentGenerator.php index 56ca6c96214cea51be7af82422ef5a6d987b0e80..a9674b9e97925f6d731366cd56c655756cbac215 100644 --- a/src/Domain/Reporting/Generator/Word/TreatmentGenerator.php +++ b/src/Domain/Reporting/Generator/Word/TreatmentGenerator.php @@ -220,8 +220,8 @@ class TreatmentGenerator extends AbstractGenerator implements ImpressionGenerato $generalInformationsData = [ [ - 'Registre public', - $treatment->getPublic() ? 'Oui' : 'Non', + 'Nom', + $treatment->getName(), ], ]; @@ -233,14 +233,16 @@ class TreatmentGenerator extends AbstractGenerator implements ImpressionGenerato ]; } - $generalInformationsData[] = [ - 'Finalités', - $treatment->getGoal() ? \preg_split('/\R/', $treatment->getGoal()) : null, - ]; - $generalInformationsData[] = [ - 'En tant que', - !\is_null($treatment->getAuthor()) && array_key_exists($treatment->getAuthor(), TreatmentAuthorDictionary::getAuthors()) ? TreatmentAuthorDictionary::getAuthors()[$treatment->getAuthor()] : $treatment->getAuthor(), - ]; + $generalInformationsData = array_merge($generalInformationsData, [ + [ + 'Finalités', + $treatment->getGoal() ? \preg_split('/\R/', $treatment->getGoal()) : null, + ], + [ + 'En tant que', + !\is_null($treatment->getAuthor()) && array_key_exists($treatment->getAuthor(), TreatmentAuthorDictionary::getAuthors()) ? TreatmentAuthorDictionary::getAuthors()[$treatment->getAuthor()] : $treatment->getAuthor(), + ], + ]); // Ajouter les coordonnées du responsable de traitement si l'auteur est différent du Responsable de Traitement if ('processing_manager' !== $treatment->getAuthor()) { @@ -250,40 +252,49 @@ class TreatmentGenerator extends AbstractGenerator implements ImpressionGenerato ]; } - $generalInformationsData[] = [ - 'Gestionnaire', - $treatment->getManager() ?? $this->parameterBag->get('APP_DEFAULT_REFERENT'), - ]; - $generalInformationsData[] = [ - 'État', - $treatment->isActive() ? 'Actif' : 'Inactif', - ]; - $generalInformationsData[] = [ - 'Base légale', - TreatmentLegalBasisDictionary::getBasis()[$treatment->getLegalBasis()], - ]; - $generalInformationsData[] = [ - 'Justification de la base légale', - $treatment->getLegalBasisJustification() ? \preg_split('/\R/', $treatment->getLegalBasisJustification()) : null, - ]; + $generalInformationsData = array_merge($generalInformationsData, [ + [ + 'Gestionnaire', + $treatment->getManager() ?? $this->parameterBag->get('APP_DEFAULT_REFERENT'), + ], + [ + 'État', + $treatment->isActive() ? 'Actif' : 'Inactif', + ], + [ + 'Base légale', + TreatmentLegalBasisDictionary::getBasis()[$treatment->getLegalBasis()], + ], + [ + 'Justification de la base légale', + $treatment->getLegalBasisJustification() ? \preg_split('/\R/', $treatment->getLegalBasisJustification()) : null, + ], + ]); // Ajouter le consentement demandé et son format si la base légale est "consent" if ('consent' === $treatment->getLegalBasis()) { - $generalInformationsData[] = [ - 'Consentement demandé', - $treatment->getConsentRequest() ? 'Oui' : 'Non', - ]; - - $generalInformationsData[] = [ - 'Format de la demande du consentement', - $treatment->getConsentRequestFormat(), - ]; + $generalInformationsData = array_merge($generalInformationsData, [ + [ + 'Consentement demandé', + $treatment->getConsentRequest() ? 'Oui' : 'Non', + ], + [ + 'Format de la demande du consentement', + $treatment->getConsentRequestFormat(), + ], + ]); } - $generalInformationsData[] = [ - 'Observations', - $treatment->getObservation() ? \preg_split('/\R/', $treatment->getObservation()) : null, - ]; + $generalInformationsData = array_merge($generalInformationsData, [ + [ + 'Observations', + $treatment->getObservation() ? \preg_split('/\R/', $treatment->getObservation()) : null, + ], + [ + 'Registre public', + $treatment->getPublic() ? 'Oui' : 'Non', + ], + ]); $detailsData = [ [ @@ -312,10 +323,19 @@ class TreatmentGenerator extends AbstractGenerator implements ImpressionGenerato return TreatmentCollectingMethodDictionary::getMethods()[$cm]; }, $treatment->getCollectingMethod())) : '', ], - [ - 'Mentions légales apposées', - $treatment->getLegalMentions() ? 'Oui' : 'Non', - ], + ]; + + // Ajouter l'autre moyen de collecte si le champ n'est pas vide + if (!empty($treatment->getOtherCollectingMethod())) { + $detailsData[] = [ + 'Autre moyen de collecte', + $treatment->getOtherCollectingMethod(), + ]; + } + + $detailsData[] = [ + 'Mentions légales apposées', + $treatment->getLegalMentions() ? 'Oui' : 'Non', ]; // "Durée de conservation" @@ -553,7 +573,7 @@ class TreatmentGenerator extends AbstractGenerator implements ImpressionGenerato $cell->addText($item->getName()); $cell = $treatmentAnnexListTable->addCell(2000); $cell->addText($item->getManager()); - $cell = $treatmentAnnexListTable->addCell(1500); + $cell = $treatmentAnnexListTable->addCell(1500); $support = $item->isPaperProcessing() ? 'Papier, ' : ''; $support = $item->getCollectivity() && $item->getCollectivity()->isHasModuleTools() ? $item->getToolsString() : $item->getSoftware(); diff --git a/src/Domain/Reporting/Generator/Word/ViolationGenerator.php b/src/Domain/Reporting/Generator/Word/ViolationGenerator.php index d0009a673050b26ef99ea9f7f366318f8df151c5..06591a06662d5a20a9c1ccf3625fcc1751549a9a 100644 --- a/src/Domain/Reporting/Generator/Word/ViolationGenerator.php +++ b/src/Domain/Reporting/Generator/Word/ViolationGenerator.php @@ -177,12 +177,23 @@ class ViolationGenerator extends AbstractGenerator implements ImpressionGenerato $cellDate = $this->getDate($violation->getDate(), 'd/m/Y'); - $natures = join(', ', array_map(function ($n) { return ViolationNatureDictionary::getNatures()[$n] ?? $n; }, (array) $violation->getViolationNatures())); - $generalInformationData = [ + $generalInformationsData = [ [ 'Date de la violation', $cellDate, ], + ]; + + // Ajouter les services si le module est actif + if ($violation->getCollectivity()->getIsServicesEnabled()) { + $generalInformationsData[] = [ + 'Service', + $violation->getService(), + ]; + } + + $natures = join(', ', array_map(function ($n) { return ViolationNatureDictionary::getNatures()[$n] ?? $n; }, (array) $violation->getViolationNatures())); + $generalInformationsData = array_merge($generalInformationsData, [ [ 'Violation en cours', $violation->isInProgress() ? 'Oui' : 'Non', @@ -215,7 +226,7 @@ class ViolationGenerator extends AbstractGenerator implements ImpressionGenerato 'Nombre approximatif de personnes concernées par la violation', $violation->getNbAffectedPersons(), ], - ]; + ]); $consequenceData = [ [ @@ -268,7 +279,7 @@ class ViolationGenerator extends AbstractGenerator implements ImpressionGenerato ]; $section->addTitle('Informations sur la violation', 3); - $this->addTable($section, $generalInformationData, false, self::TABLE_ORIENTATION_VERTICAL); + $this->addTable($section, $generalInformationsData, false, self::TABLE_ORIENTATION_VERTICAL); $section->addTitle('Conséquences de la violation', 3); $this->addTable($section, $consequenceData, false, self::TABLE_ORIENTATION_VERTICAL); diff --git a/templates/Registry/Request/list.html.twig b/templates/Registry/Request/list.html.twig index deea71f66c9aa7a38a59b87a60fc631f349e41fc..b1f8bcd1d584af6f3e35c20a9c09576a073c1aa9 100644 --- a/templates/Registry/Request/list.html.twig +++ b/templates/Registry/Request/list.html.twig @@ -40,16 +40,16 @@ {{ 'registry.request.action.new'|trans }} </a> {% endif %} - <a href="{{ path('registry_request_report') }}" class="btn btn-default"> - <i aria-hidden="true" class="fa fa-clipboard-list"></i> - {{ 'global.action.report'|trans }} - </a> {% if app.request.query.get('archive') == 'true' %} <a href="{{ path('registry_request_list', {'archive' : 'false'}) }}" class="btn btn-default"> <i aria-hidden="true" class="fa fa-archive"></i> {{ 'registry.request.action.not_archived'|trans }} </a> {% else %} + <a href="{{ path('registry_request_report') }}" class="btn btn-default"> + <i aria-hidden="true" class="fa fa-clipboard-list"></i> + {{ 'global.action.report'|trans }} + </a> <a href="{{ path('registry_request_list', {'archive' : 'true'}) }}" class="btn btn-default"> <i aria-hidden="true" class="fa fa-archive"></i> {{ 'registry.request.action.archived'|trans }} diff --git a/templates/Registry/Treatment/list.html.twig b/templates/Registry/Treatment/list.html.twig index 8325de3d9413e2e2b03e1ca700e184293e3978db..b1bcc8ce871f0ae538eeb0381610516d2e8e4ef3 100644 --- a/templates/Registry/Treatment/list.html.twig +++ b/templates/Registry/Treatment/list.html.twig @@ -39,16 +39,16 @@ {{ 'registry.treatment.action.new'|trans }} </a> {% endif %} - <a href="{{ path('registry_treatment_report') }}" class="btn btn-default"> - <i aria-hidden="true" class="fa fa-clipboard-list"></i> - {{ 'global.action.report'|trans }} - </a> {% if app.request.query.get('active') == 'false' %} <a href="{{ path('registry_treatment_list', {'active' : 'true'}) }}" class="btn btn-default"> <i aria-hidden="true" class="fa fa-list"></i> {{ 'registry.treatment.action.active'|trans }} </a> {% else %} + <a href="{{ path('registry_treatment_report') }}" class="btn btn-default"> + <i aria-hidden="true" class="fa fa-clipboard-list"></i> + {{ 'global.action.report'|trans }} + </a> <a href="{{ path('registry_treatment_list', {'active' : 'false'}) }}" class="btn btn-default"> <i aria-hidden="true" class="fa fa-list"></i> {{ 'registry.treatment.action.inactive'|trans }} diff --git a/templates/Registry/Treatment/pdf.html.twig b/templates/Registry/Treatment/pdf.html.twig index 3b685ee4a51bf1e8831e1b27415865217bfe0ed5..7b75994afe29c188784709f05037feed8e12ac62 100644 --- a/templates/Registry/Treatment/pdf.html.twig +++ b/templates/Registry/Treatment/pdf.html.twig @@ -40,16 +40,6 @@ <div class="box-body no-padding"> <table class="table"> <tbody> - <tr> - <td><strong>{{ 'registry.treatment.label.public_registry'|trans }}</strong></td> - <td> - {% if object.public == true %} - <span class="badge bg-green">{{ 'global.label.yes'|trans }}</span> - {% else %} - <span class="badge bg-yellow">{{ 'global.label.no'|trans }}</span> - {% endif %} - </td> - </tr> <tr> <td><strong>{{ 'registry.treatment.label.name'|trans }}</strong></td> <td>{{ object.name }}</td> @@ -116,6 +106,16 @@ <td><strong>{{ 'registry.treatment.label.observation'|trans }}</strong></td> <td>{{ object.observation|nl2br }}</td> </tr> + <tr> + <td><strong>{{ 'registry.treatment.label.public_registry'|trans }}</strong></td> + <td> + {% if object.public == true %} + <span class="badge bg-green">{{ 'global.label.yes'|trans }}</span> + {% else %} + <span class="badge bg-yellow">{{ 'global.label.no'|trans }}</span> + {% endif %} + </td> + </tr> </tbody> </table> </div> @@ -472,7 +472,7 @@ </ul> </td> </tr> - {% if object.otherCollectingMethod is not null %} + {% if object.otherCollectingMethod is not null %} <tr> <td><strong>{{ 'registry.treatment.label.otherCollectingMethod'|trans }}</strong></td> <td>{{ object.otherCollectingMethod }}</td> diff --git a/templates/Registry/Treatment/pdf_all.html.twig b/templates/Registry/Treatment/pdf_all.html.twig index 7aa1a6854527a39f22506c7d0ded99c97f2ffaf1..1111d07e0292ce52f8aa5e6bf18ce02a7fe253c3 100644 --- a/templates/Registry/Treatment/pdf_all.html.twig +++ b/templates/Registry/Treatment/pdf_all.html.twig @@ -42,16 +42,6 @@ <div class="box-body no-padding"> <table class="table"> <tbody> - <tr> - <td><strong>{{ 'registry.treatment.label.public_registry'|trans }}</strong></td> - <td> - {% if object.public == true %} - <span class="badge bg-green">{{ 'global.label.yes'|trans }}</span> - {% else %} - <span class="badge bg-yellow">{{ 'global.label.no'|trans }}</span> - {% endif %} - </td> - </tr> <tr> <td><strong>{{ 'registry.treatment.label.name'|trans }}</strong></td> <td>{{ object.name }}</td> @@ -118,6 +108,16 @@ <td><strong>{{ 'registry.treatment.label.observation'|trans }}</strong></td> <td>{{ object.observation|nl2br }}</td> </tr> + <tr> + <td><strong>{{ 'registry.treatment.label.public_registry'|trans }}</strong></td> + <td> + {% if object.public == true %} + <span class="badge bg-green">{{ 'global.label.yes'|trans }}</span> + {% else %} + <span class="badge bg-yellow">{{ 'global.label.no'|trans }}</span> + {% endif %} + </td> + </tr> </tbody> </table> </div> @@ -474,7 +474,7 @@ </ul> </td> </tr> - {% if object.otherCollectingMethod is not null %} + {% if object.otherCollectingMethod is not null %} <tr> <td><strong>{{ 'registry.treatment.label.otherCollectingMethod'|trans }}</strong></td> <td>{{ object.otherCollectingMethod }}</td> diff --git a/templates/Registry/Treatment/show.html.twig b/templates/Registry/Treatment/show.html.twig index 65c09ada4300784a185c59581c7ec227c14dd563..4034bf72cdaeea2fa35e9acf4f32f75dd528ea05 100644 --- a/templates/Registry/Treatment/show.html.twig +++ b/templates/Registry/Treatment/show.html.twig @@ -78,16 +78,6 @@ <div class="box-body no-padding"> <table role="presentation" class="table"> <tbody> - <tr> - <td><strong>{{ 'registry.treatment.label.public_registry'|trans }}</strong></td> - <td> - {% if object.public == true %} - <span class="badge bg-green">{{ 'global.label.yes'|trans }}</span> - {% else %} - <span class="badge bg-yellow">{{ 'global.label.no'|trans }}</span> - {% endif %} - </td> - </tr> <tr> <td><strong>{{ 'registry.treatment.label.name'|trans }}</strong></td> <td>{{ object.name }}</td> @@ -154,6 +144,16 @@ <td><strong>{{ 'registry.treatment.label.observation'|trans }}</strong></td> <td>{{ object.observation|nl2br }}</td> </tr> + <tr> + <td><strong>{{ 'registry.treatment.label.public_registry'|trans }}</strong></td> + <td> + {% if object.public == true %} + <span class="badge bg-green">{{ 'global.label.yes'|trans }}</span> + {% else %} + <span class="badge bg-yellow">{{ 'global.label.no'|trans }}</span> + {% endif %} + </td> + </tr> </tbody> </table> </div> diff --git a/templates/Registry/Violation/list.html.twig b/templates/Registry/Violation/list.html.twig index 4de2d4c0924cab7bc0f22837f381a13c30f91464..56326f9bb19624ce5af8a1c4416059a486f820cd 100644 --- a/templates/Registry/Violation/list.html.twig +++ b/templates/Registry/Violation/list.html.twig @@ -40,16 +40,16 @@ {{ 'registry.violation.action.new'|trans }} </a> {% endif %} - <a href="{{ path('registry_violation_report') }}" class="btn btn-default"> - <i aria-hidden="true" class="fa fa-clipboard-list"></i> - {{ 'global.action.report'|trans }} - </a> {% if app.request.query.get('archive') == 'true' %} <a href="{{ path('registry_violation_list', {'archive' : 'false'}) }}" class="btn btn-default"> <i aria-hidden="true" class="fa fa-archive"></i> {{ 'registry.violation.action.not_archived'|trans }} </a> {% else %} + <a href="{{ path('registry_violation_report') }}" class="btn btn-default"> + <i aria-hidden="true" class="fa fa-clipboard-list"></i> + {{ 'global.action.report'|trans }} + </a> <a href="{{ path('registry_violation_list', {'archive' : 'true'}) }}" class="btn btn-default"> <i aria-hidden="true" class="fa fa-archive"></i> {{ 'registry.violation.action.archived'|trans }}