Loading CHANGELOG.md +1 −0 Changes for CHANGELOG.md: 1 added line, 0 removed lines. Original line number Diff line number Diff line Loading @@ -10,6 +10,7 @@ Journal des modifications - [FIX] Module formation : élimination des ED historisées dans la liste des structures complémentaires ajoutables à une session. - [FIX] Module formation : changement du type de retour dans le trait StructureAwareTrait. - [FIX] Recherche de thèses : amélioration de l'affichage et du tri des structures dans les filtres. - [FIX] Recherche autocomplete établissement/ED/UR : bug empêchant la recherche (systématiquement aucun résultat). 7.0.0 ----- Loading module/Application/src/Application/Search/Filter/SearchFilterValueInterface.php +2 −3 Changes for module/Application/src/Application/Search/Filter/SearchFilterValueInterface.php: 2 added lines, 3 removed lines. Original line number Diff line number Diff line Loading @@ -5,8 +5,7 @@ namespace Application\Search\Filter; interface SearchFilterValueInterface { /** * Retourne cette instance convertie dans un format utilisable dans * {@see SelectSearchFilter::createValueOptionsFromData()}. * Convertie l'instance courante dans un format utilisable par {@see SelectSearchFilter::createValueOptionsFromData()}. * * Exemples de valeurs retournées possibles : * ``` Loading @@ -14,7 +13,7 @@ interface SearchFilterValueInterface * `['value' => 'UCN', 'label' => "Unicaen", 'subtext' => "Université de Caen"]` * ``` * * @return array * @return array[] */ public function createSearchFilterValueOption(): array ; } No newline at end of file module/Structure/src/Structure/Controller/EcoleDoctoraleController.php +4 −6 Changes for module/Structure/src/Structure/Controller/EcoleDoctoraleController.php: 4 added lines, 6 removed lines. Original line number Diff line number Diff line Loading @@ -114,15 +114,13 @@ class EcoleDoctoraleController extends StructureConcreteController $unites = $this->getEcoleDoctoraleService()->getRepository()->findByText($term); $result = []; foreach ($unites as $unite) { /** Attention à être cohérent avec {@see EcoleDoctorale::createSearchFilterValueOption() } */ $result[] = array( 'id' => $unite->getId(), // identifiant unique de l'item 'label' => $unite->getStructure()->getLibelle(), // libellé de l'item 'extra' => $unite->getStructure()->getSigle(), // infos complémentaires (facultatives) sur l'item 'id' => $unite['id'], // identifiant unique de l'item 'label' => sprintf('%s - %s', $unite['structure']['code'], $unite['structure']['libelle']), // libellé de l'item 'extra' => null, // infos complémentaires (facultatives) sur l'item ); } usort($result, function ($a, $b) { return strcmp($a['label'], $b['label']); }); return new JsonModel($result); } Loading module/Structure/src/Structure/Controller/EtablissementController.php +14 −11 Changes for module/Structure/src/Structure/Controller/EtablissementController.php: 14 added lines, 11 removed lines. Original line number Diff line number Diff line Loading @@ -163,18 +163,21 @@ class EtablissementController extends StructureConcreteController public function rechercherAction() { if (($term = $this->params()->fromQuery('term'))) { $unites = $this->getEtablissementService()->getRepository()->findByText($term); $etabs = $this->getEtablissementService()->getRepository()->findByText($term); $result = []; foreach ($unites as $unite) { $result[] = array( 'id' => $unite->getId(), // identifiant unique de l'item 'label' => $unite->getStructure()->getLibelle(), // libellé de l'item 'extra' => $unite->getStructure()->getSigle(), // infos complémentaires (facultatives) sur l'item ); } usort($result, function ($a, $b) { return strcmp($a['label'], $b['label']); }); foreach ($etabs as $etab) { $label = $etab['structure']['libelle']; if ($etab['structure']['sigle']) { $label .= sprintf(' (%s)', $etab['structure']['sigle']); } $result[] = [ /** Attention à être cohérent avec {@see Etablissement::createSearchFilterValueOption() } */ 'id' => $etab['id'], // identifiant unique de l'item 'label' => $label, // libellé de l'item 'extra' => $etab['structure']['estFermee'] ? 'Fermé' : null, // infos complémentaires (facultatives) sur l'item ]; } usort($result, fn($a, $b) => $a['label'] <=> $b['label']); return new JsonModel($result); } Loading module/Structure/src/Structure/Controller/UniteRechercheController.php +8 −6 Changes for module/Structure/src/Structure/Controller/UniteRechercheController.php: 8 added lines, 6 removed lines. Original line number Diff line number Diff line Loading @@ -223,15 +223,17 @@ class UniteRechercheController extends StructureConcreteController $unites = $this->getUniteRechercheService()->getRepository()->findByText($term); $result = []; foreach ($unites as $unite) { /** Attention à être cohérent avec {@see UniteRecherche::createSearchFilterValueOption() } */ $label = sprintf('%s - %s', $unite['structure']['sigle'] ?: '???', $unite['structure']['libelle']); if ($unite['structure']['code']) { $label .= sprintf(' (%s)', $unite['structure']['code']); } $result[] = array( 'id' => $unite->getId(), // identifiant unique de l'item 'label' => $unite->getStructure()->getLibelle(), // libellé de l'item 'extra' => $unite->getStructure()->getSigle(), // infos complémentaires (facultatives) sur l'item 'id' => $unite['id'], // identifiant unique de l'item 'label' => $label, // libellé de l'item 'extra' => null, // infos complémentaires (facultatives) sur l'item ); } usort($result, function ($a, $b) { return strcmp($a['label'], $b['label']); }); return new JsonModel($result); } Loading Loading
CHANGELOG.md +1 −0 Changes for CHANGELOG.md: 1 added line, 0 removed lines. Original line number Diff line number Diff line Loading @@ -10,6 +10,7 @@ Journal des modifications - [FIX] Module formation : élimination des ED historisées dans la liste des structures complémentaires ajoutables à une session. - [FIX] Module formation : changement du type de retour dans le trait StructureAwareTrait. - [FIX] Recherche de thèses : amélioration de l'affichage et du tri des structures dans les filtres. - [FIX] Recherche autocomplete établissement/ED/UR : bug empêchant la recherche (systématiquement aucun résultat). 7.0.0 ----- Loading
module/Application/src/Application/Search/Filter/SearchFilterValueInterface.php +2 −3 Changes for module/Application/src/Application/Search/Filter/SearchFilterValueInterface.php: 2 added lines, 3 removed lines. Original line number Diff line number Diff line Loading @@ -5,8 +5,7 @@ namespace Application\Search\Filter; interface SearchFilterValueInterface { /** * Retourne cette instance convertie dans un format utilisable dans * {@see SelectSearchFilter::createValueOptionsFromData()}. * Convertie l'instance courante dans un format utilisable par {@see SelectSearchFilter::createValueOptionsFromData()}. * * Exemples de valeurs retournées possibles : * ``` Loading @@ -14,7 +13,7 @@ interface SearchFilterValueInterface * `['value' => 'UCN', 'label' => "Unicaen", 'subtext' => "Université de Caen"]` * ``` * * @return array * @return array[] */ public function createSearchFilterValueOption(): array ; } No newline at end of file
module/Structure/src/Structure/Controller/EcoleDoctoraleController.php +4 −6 Changes for module/Structure/src/Structure/Controller/EcoleDoctoraleController.php: 4 added lines, 6 removed lines. Original line number Diff line number Diff line Loading @@ -114,15 +114,13 @@ class EcoleDoctoraleController extends StructureConcreteController $unites = $this->getEcoleDoctoraleService()->getRepository()->findByText($term); $result = []; foreach ($unites as $unite) { /** Attention à être cohérent avec {@see EcoleDoctorale::createSearchFilterValueOption() } */ $result[] = array( 'id' => $unite->getId(), // identifiant unique de l'item 'label' => $unite->getStructure()->getLibelle(), // libellé de l'item 'extra' => $unite->getStructure()->getSigle(), // infos complémentaires (facultatives) sur l'item 'id' => $unite['id'], // identifiant unique de l'item 'label' => sprintf('%s - %s', $unite['structure']['code'], $unite['structure']['libelle']), // libellé de l'item 'extra' => null, // infos complémentaires (facultatives) sur l'item ); } usort($result, function ($a, $b) { return strcmp($a['label'], $b['label']); }); return new JsonModel($result); } Loading
module/Structure/src/Structure/Controller/EtablissementController.php +14 −11 Changes for module/Structure/src/Structure/Controller/EtablissementController.php: 14 added lines, 11 removed lines. Original line number Diff line number Diff line Loading @@ -163,18 +163,21 @@ class EtablissementController extends StructureConcreteController public function rechercherAction() { if (($term = $this->params()->fromQuery('term'))) { $unites = $this->getEtablissementService()->getRepository()->findByText($term); $etabs = $this->getEtablissementService()->getRepository()->findByText($term); $result = []; foreach ($unites as $unite) { $result[] = array( 'id' => $unite->getId(), // identifiant unique de l'item 'label' => $unite->getStructure()->getLibelle(), // libellé de l'item 'extra' => $unite->getStructure()->getSigle(), // infos complémentaires (facultatives) sur l'item ); } usort($result, function ($a, $b) { return strcmp($a['label'], $b['label']); }); foreach ($etabs as $etab) { $label = $etab['structure']['libelle']; if ($etab['structure']['sigle']) { $label .= sprintf(' (%s)', $etab['structure']['sigle']); } $result[] = [ /** Attention à être cohérent avec {@see Etablissement::createSearchFilterValueOption() } */ 'id' => $etab['id'], // identifiant unique de l'item 'label' => $label, // libellé de l'item 'extra' => $etab['structure']['estFermee'] ? 'Fermé' : null, // infos complémentaires (facultatives) sur l'item ]; } usort($result, fn($a, $b) => $a['label'] <=> $b['label']); return new JsonModel($result); } Loading
module/Structure/src/Structure/Controller/UniteRechercheController.php +8 −6 Changes for module/Structure/src/Structure/Controller/UniteRechercheController.php: 8 added lines, 6 removed lines. Original line number Diff line number Diff line Loading @@ -223,15 +223,17 @@ class UniteRechercheController extends StructureConcreteController $unites = $this->getUniteRechercheService()->getRepository()->findByText($term); $result = []; foreach ($unites as $unite) { /** Attention à être cohérent avec {@see UniteRecherche::createSearchFilterValueOption() } */ $label = sprintf('%s - %s', $unite['structure']['sigle'] ?: '???', $unite['structure']['libelle']); if ($unite['structure']['code']) { $label .= sprintf(' (%s)', $unite['structure']['code']); } $result[] = array( 'id' => $unite->getId(), // identifiant unique de l'item 'label' => $unite->getStructure()->getLibelle(), // libellé de l'item 'extra' => $unite->getStructure()->getSigle(), // infos complémentaires (facultatives) sur l'item 'id' => $unite['id'], // identifiant unique de l'item 'label' => $label, // libellé de l'item 'extra' => null, // infos complémentaires (facultatives) sur l'item ); } usort($result, function ($a, $b) { return strcmp($a['label'], $b['label']); }); return new JsonModel($result); } Loading