From c09466e0b94fedd56d3e4ef0d289bc292bb3980c Mon Sep 17 00:00:00 2001 From: Damien Labat <labat@datakode.fr> Date: Wed, 9 Nov 2022 11:12:00 +0100 Subject: [PATCH] feat: export change column change export data structure after first client review --- app/Http/Resources/EvaluationExportResource.php | 2 +- app/Http/Resources/OrganizationExportResource.php | 14 ++++++-------- app/Models/Evaluation.php | 8 ++++---- lang/fr/exports.php | 4 +++- 4 files changed, 14 insertions(+), 14 deletions(-) diff --git a/app/Http/Resources/EvaluationExportResource.php b/app/Http/Resources/EvaluationExportResource.php index 93b313f8..c5ef48af 100644 --- a/app/Http/Resources/EvaluationExportResource.php +++ b/app/Http/Resources/EvaluationExportResource.php @@ -83,7 +83,7 @@ private function _getActionPlanString(Collection $mesureLevels): string $actionPlan = []; foreach ($mesureLevels as $mesureLevel) { if ($mesureLevel->expected_level > $mesureLevel->actual_level) { - $actionPlan[] = implode(' ', [ + $actionPlan[] = implode(';', [ $mesureLevel->measure->short_name, '[' . $mesureLevel->actual_level . ' >> ' . $mesureLevel->expected_level . ']', (new Carbon($mesureLevel->end_date))->isoFormat('DD/MM/YYYY'), diff --git a/app/Http/Resources/OrganizationExportResource.php b/app/Http/Resources/OrganizationExportResource.php index 0ca08fc1..47bb499c 100644 --- a/app/Http/Resources/OrganizationExportResource.php +++ b/app/Http/Resources/OrganizationExportResource.php @@ -24,10 +24,6 @@ public function toArray($request): array /** @var Organization $organization */ $organization = $this->resource; - $referentsStringArray = [(string) $organization->referent]; - $referentsStringArray = (bool) $organization->referentCyber ? [...$referentsStringArray, $organization->referentCyber . ' (référent cyber)'] : $referentsStringArray; - $referentsStringArray = (bool) $organization->referentElu ? [...$referentsStringArray, $organization->referentElu . ' (référent élu)'] : $referentsStringArray; - $evaluation = $organization->doneEvaluations()->limit(2)->get(); /** @var ?Evaluation $lastEvaluation */ $lastEvaluation = $evaluation->first(); @@ -43,9 +39,11 @@ public function toArray($request): array 'siren' => $organization->siren, // - siren 'active' => $organization->active, // - actif 'website' => $organization->website, // - site internet - 'info' => $organization->info, // - infos complementaire - 'fullAddress' => (string) $organization->address, // - adresses (tous les chamsp) - 'ref' => implode(PHP_EOL, $referentsStringArray), // - référents et responsable (tous les champs) + 'info' => $organization->info, // - infos complémentaires + 'fullAddress' => (string) $organization->address, // - adresses (tous les champs) + 'referent' => (string) $organization->referent, // - référents et responsable (tous les champs) + 'referentCyber' => (string) $organization->referentCyber, + 'referentElu' => (string) $organization->referentElu, 'lastEvaluation.cyberMaturity' => (float) $lastEvaluation?->maturity_cyber, // - score indice maturité cyber 'previousEvaluation.cyberMaturity' => (float) $previousEvaluation?->maturity_cyber, // - score indice maturité cyber n-1 ]; @@ -87,7 +85,7 @@ public function toArray($request): array 'maturityLevel.organization' => (string) $this->_getAnswerForQuestionName($maturityLevelAnswers, MaturityQuestionNames::ORGANIZATION)?->name, // - niveau d'organisation 'maturityLevel.motivation' => (string) $this->_getAnswerForQuestionName($maturityLevelAnswers, MaturityQuestionNames::MOTIVATION)?->name, // - niveau de motivation - 'alert' => (bool) $lastEvaluation?->isThresholdExceeded(), // - alerte seuil dépassé (true/false) + 'alert' => (bool) $lastEvaluation?->isThresholdNotExceeded(), // - seuil non dépassé (true/false) ]; } diff --git a/app/Models/Evaluation.php b/app/Models/Evaluation.php index 84cee533..f7a1b1e4 100644 --- a/app/Models/Evaluation.php +++ b/app/Models/Evaluation.php @@ -196,7 +196,7 @@ public function saveAutomaticAnswers() } $evalAnswer->maturity_question_id = $question->id; - $evalAnswer->maturity_answer_id = $answer->id; + $evalAnswer->maturity_answer_id = $answer?->id; $evalAnswer->evaluation_id = $this->id; $evalAnswer->save(); } @@ -210,14 +210,14 @@ public static function getThreshold(): float /** * true if OK. */ - public function isThresholdExceeded(): bool + public function isThresholdNotExceeded(): bool { foreach ($this->measureLevels as $measureLevel) { if ($measureLevel->actual_level < self::getThreshold()) { - return false; + return true; } } - return true; + return false; } } diff --git a/lang/fr/exports.php b/lang/fr/exports.php index f0db22a5..53787383 100644 --- a/lang/fr/exports.php +++ b/lang/fr/exports.php @@ -12,7 +12,9 @@ 'website' => 'site internet', 'info' => 'infos complémentaire', 'fullAddress' => 'adresse', - 'ref' => 'référents et responsable', + 'referent' => 'référent', + 'referentElu' => 'référent élu', + 'referentCyber' => 'référent cyber', 'lastEvaluation' => [ 'cyberMaturity' => 'score indice maturité cyber', 'reference' => 'version du référentiel', -- GitLab