= 0 && $numberedGrade < 3) { return [ "letter" => "D", "number" => $numberedGrade, "mention" => "Assez lourd", "comment" => "Allègement du flacon recommandé" ]; } if ($numberedGrade >= 3 && $numberedGrade < 6) { return [ "letter" => "C", "number" => $numberedGrade, "mention" => "Assez lourd", "comment" => "Allègement du flacon recommandé" ]; } if ($numberedGrade >= 6 && $numberedGrade < 8) { return [ "letter" => "B", "number" => $numberedGrade, "mention" => "Assez lourd", "comment" => "Allègement du flacon recommandé" ]; } if ($numberedGrade >= 8 && $numberedGrade <= 10) { return [ "letter" => "A", "number" => $numberedGrade, "mention" => "Assez lourd", "comment" => "Allègement du flacon recommandé" ]; } return [ "letter" => "", "number" => $numberedGrade, "mention" => "Assez lourd", "comment" => "Allègement du flacon recommandé" ]; } $project = [ "title" => $page->title()->value(), "url" => $page->url(), "modified" => $page->modified("Y-MM-d"), "status" => $page->status(), "logo" => $page->client()->isNotEmpty() && $page->client()->toPage() ? $page->client()->toPage()->logo()->toFile()->url() : null, "steps" => $page->getSteps(), "designToLight" => null ]; if ($page->isDTLEnabled()) { $DTLProposal = null; $proposalLocation = $page->DTLProposalLocation()->value(); switch ($proposalLocation) { case 'proposal': $proposalPage = $page->find('proposal'); $proposalFile = $page->DTLProposal()->toFile(); if ($proposalPage && $proposalFile) { $index = $proposalPage->pdf()->toFiles()->indexOf($proposalFile); $DTLProposal = [ "location" => "proposal", "path" => "/projects/" . $page->slug() . "?dialog=proposal&fileIndex=" . $index, "date" => $proposalFile->modified("Y-MM-d"), "stepLabel" => "Proposition commerciale", ]; } break; case 'industrialIdeation': $proposalPage = $page->find('industrial-ideation'); $proposalFile = $page->DTLindustrialIdeation()->toFile(); if ($proposalPage && $proposalFile) { $index = $proposalPage->pdf()->toFiles()->indexOf($proposalFile); $DTLProposal = [ "location" => "proposal", "path" => "/projects/" . $page->slug() . "?dialog=industrial-ideation&fileIndex=" . $index, "date" => $proposalFile->modified("Y-MM-d"), "stepLabel" => "Idéation industrielle" ]; } break; case 'virtualSampleDynamicTrack': $proposalPage = $page->DTLVirtualSampleDynamicTrack()->toPage(); if ($proposalPage) { $DTLProposal = [ "location" => "proposal", "path" => "/projects/" . $page->slug() . "?dialog=virtual-sample", "date" => $proposalPage->modified("Y-MM-d"), "stepLabel" => "Échantillon virtuel" ]; } break; case 'virtualSampleStaticTrack': $proposalPage = $page->find('virtual-sample'); $proposalFile = $page->DTLVirtualSampleStaticTrack()->toFile(); if ($proposalPage && $proposalFile) { $DTLProposal = [ "location" => "proposal", "path" => "/projects/" . $page->slug() . "?dialog=virtual-sample", "date" => $proposalFile->modified("Y-MM-d"), "stepLabel" => "Échantillon virtuel" ]; } break; } if ($page->DTLGrade()->isNotEmpty()) { $numberedGlobalGrade = (int) $page->DTLGrade()->value() ?? 0; $DTLProposal["grades"] = [ "global" => getGlobalEvaluation($numberedGlobalGrade), "indicators" => [ [ "label" => "design", "value" => (int) $page->DTLDesignGrade()->value() ?? 0, ], [ "label" => "ring", "value" => (int) $page->DTLRingGrade()->value() ?? 0, ], [ "label" => "shoulder", "value" => (int) $page->DTLShoulderGrade()->value() ?? 0, ], [ "label" => "skeleton", "value" => (int) $page->DTLSkeletonGrade()->value() ?? 0, ], [ "label" => "foot", "value" => (int) $page->DTLFootGrade()->value() ?? 0, ], [ "label" => "bottom", "value" => (int) $page->DTLBottomGrade()->value() ?? 0, ] ], ]; } $project["designToLight"] = $DTLProposal; } $pageData = array_merge($genericData, $project); echo json_encode([ "page" => $pageData, "user" => $userData ]);