From 460425e016ee23d704bfb943a266178871a06454 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?ANDRE=20s=C3=A9bastien?= <sandre@afi-sa.fr> Date: Thu, 27 Feb 2025 13:11:21 +0100 Subject: [PATCH] v9.0.1-Focale * fix hotline#207656 TruncateList * fix widget cache test --- README.md | 6 ++ VERSIONS | 47 +++++++++++ VERSIONS_HOTLINE/196071 | 1 - VERSIONS_HOTLINE/200086 | 1 - VERSIONS_HOTLINE/202688 | 1 - VERSIONS_HOTLINE/205425 | 1 - VERSIONS_HOTLINE/207656 | 1 - VERSIONS_HOTLINE/209619 | 1 - VERSIONS_HOTLINE/211010 | 1 - VERSIONS_HOTLINE/212789 | 1 - VERSIONS_HOTLINE/213110 | 1 - VERSIONS_HOTLINE/217755 | 1 - VERSIONS_HOTLINE/218050 | 1 - VERSIONS_HOTLINE/218054 | 1 - VERSIONS_HOTLINE/218055 | 1 - VERSIONS_HOTLINE/218292 | 1 - VERSIONS_HOTLINE/218300 | 1 - VERSIONS_HOTLINE/218307 | 1 - VERSIONS_HOTLINE/218564 | 1 - VERSIONS_WIP/215552 | 1 - VERSIONS_WIP/215563 | 1 - VERSIONS_WIP/215565 | 1 - VERSIONS_WIP/215567 | 1 - VERSIONS_WIP/215569 | 1 - library/Class/BokehVersion.php | 11 ++- .../Helper/Template/RenderingHorizontal.php | 2 +- .../View/Helper/Template/TruncateList.php | 37 ++++++--- library/startup.php | 10 ++- .../admin/controllers/IndexControllerTest.php | 22 +++--- tests/library/Class/BokehVersionTest.php | 13 ++-- .../TemplatesActivitiesWidgetCachedTest.php | 78 +++++++++++++++++-- .../Templates/activities_widget_cache.html | 17 ++++ 32 files changed, 202 insertions(+), 63 deletions(-) delete mode 100644 VERSIONS_HOTLINE/196071 delete mode 100644 VERSIONS_HOTLINE/200086 delete mode 100644 VERSIONS_HOTLINE/202688 delete mode 100644 VERSIONS_HOTLINE/205425 delete mode 100644 VERSIONS_HOTLINE/207656 delete mode 100644 VERSIONS_HOTLINE/209619 delete mode 100644 VERSIONS_HOTLINE/211010 delete mode 100644 VERSIONS_HOTLINE/212789 delete mode 100644 VERSIONS_HOTLINE/213110 delete mode 100644 VERSIONS_HOTLINE/217755 delete mode 100644 VERSIONS_HOTLINE/218050 delete mode 100644 VERSIONS_HOTLINE/218054 delete mode 100644 VERSIONS_HOTLINE/218055 delete mode 100644 VERSIONS_HOTLINE/218292 delete mode 100644 VERSIONS_HOTLINE/218300 delete mode 100644 VERSIONS_HOTLINE/218307 delete mode 100644 VERSIONS_HOTLINE/218564 delete mode 100644 VERSIONS_WIP/215552 delete mode 100644 VERSIONS_WIP/215563 delete mode 100644 VERSIONS_WIP/215565 delete mode 100644 VERSIONS_WIP/215567 delete mode 100644 VERSIONS_WIP/215569 create mode 100644 tests/scenarios/Templates/activities_widget_cache.html diff --git a/README.md b/README.md index 53646ab4a72..1888d502fc8 100644 --- a/README.md +++ b/README.md @@ -28,3 +28,9 @@ Copyright \(c\) 2012, 2013, 2014, 2015 Agence Française Informatique \(AFI\). A You can redistribute it and/or modify it under the terms of the GNU AFFERO GENERAL PUBLIC LICENSE as published by the Free Software Foundation \([see COPYING](COPYING)\) [Third-Party Components and their license] (doc/extern_libs.org) + +## Version + +BOKEH version : https://semver.org/spec/v2.0.0.html + +Actual 9.0.1-Focale diff --git a/VERSIONS b/VERSIONS index 2c19c4681dd..e4bc124e57b 100644 --- a/VERSIONS +++ b/VERSIONS @@ -1,3 +1,50 @@ +27/02/2025 - v9.0.1-Focale + + - fonctionnalité #215563 : RGAA : Les étiquettes de champs de sélection de tri et de nombre de page dans la liste de résultat (Magasin de thème) sont pertinentes. + + - fonctionnalité #215552 : RGAA : Les champs alt des images ne sont renseignés que si l'image est nécessaire. + + - fonctionnalité #215565 : RGAA : Les intitulés lus dans les lecteurs vocaux pour les boutons sont plus pertinents. (critère 11.9) + + - fonctionnalité #215569 : RGAA/WCAG : Mise à jour de l'outil de gestion des cookies tarteaucitron + + - fonctionnalité #215567 : RGAA/WCAG : Les contenus sont structurés par rôles + + - correctif #218564 : Rendez-vous : Les sélecteurs d'heures de début et fin deviennent un Jquery timepicker. + + - correctif #202688 : Fiche Abonné : L'affichage des paniers de notices (sélections) a été optimisé. + + - correctif #200086 : Exemplaires : Configuration d'affichage, ne pas affiché de champ exemplaire vide. + + - correctif #211010 : Agenda : Tri des articles par ordre du prochain évènement. + + - correctif #213110 : Magasin de thèmes : Correction de l'affichage des réservations paginée. + + - correctif #205425 : Magasin de thèmes : La description affiche qu'une seule fois le lien internet avec le bon libellé. + + - correctif #209619 : Recherche : Indexation des charactères spéciaux pour éviter de séparer les mots en deux. + + - correctif #218307 : Connecteur Cvs : Correction d'une erreur au moissonage. + + - correctif #218050 : Activités : Ne pas afficher de message d'eereur si on ne renseigne pas un champ non obligatoire. + + - correctif #212789 : Activités : Un utilisateur non connecté est redirigé vers la popup d'activité après avoir rempli le formulaire de connexion. + + - correctif #218300 : Activités : Ignore les sessions et activités cachées dans l'affichage des boites . + + - correctif #207656 : Activités : Correction de la getion des quotas en mode file d'attente. + + - correctif #196071 : Administration : Le tableau de l'écran de l'assistance, ne doit plus contenir de colonnes vides. + + - correctif #218292 : Administration : Ouvertures : Sauvegarder la date au format sélectionné par l'utilisateur. + + - correctif #217755 : Administration : Dans le module activité, les rédacteurs peuvent maintenant voir les abonnés de tous les sites. + + - correctif #218055 : Administration : correction de la prise en charge et de la validation du paramètre "url de la page". + + - correctif #218054 : Administration : Correction du filtre sur les bibliothèques dans les groupes utilisateurs. + + 22/01/2025 - vFocale.0 - fonctionnalite #130132 : Ressource Numérique: enrichissement des notices avec Premier Chapitre diff --git a/VERSIONS_HOTLINE/196071 b/VERSIONS_HOTLINE/196071 deleted file mode 100644 index 3174c610178..00000000000 --- a/VERSIONS_HOTLINE/196071 +++ /dev/null @@ -1 +0,0 @@ - - correctif #196071 : Admin : Le tableau de l'écran de l'assistance, ne doit plus contenir de colonnes vides. \ No newline at end of file diff --git a/VERSIONS_HOTLINE/200086 b/VERSIONS_HOTLINE/200086 deleted file mode 100644 index e2af90900c1..00000000000 --- a/VERSIONS_HOTLINE/200086 +++ /dev/null @@ -1 +0,0 @@ - - correctif #200086 : Exemplaires : Configuration d'affichage, ne pas affiché de champ exemplaire vide. \ No newline at end of file diff --git a/VERSIONS_HOTLINE/202688 b/VERSIONS_HOTLINE/202688 deleted file mode 100644 index c99bd6f692f..00000000000 --- a/VERSIONS_HOTLINE/202688 +++ /dev/null @@ -1 +0,0 @@ - - correctif #202688 : Fiche Abonné : L'affichage des paniers de notices (sélections) a été optimisé. \ No newline at end of file diff --git a/VERSIONS_HOTLINE/205425 b/VERSIONS_HOTLINE/205425 deleted file mode 100644 index 03886e9a1d8..00000000000 --- a/VERSIONS_HOTLINE/205425 +++ /dev/null @@ -1 +0,0 @@ -- correctif #205425 : Magasin de thèmes: La description affiche qu'une seule fois le lien internet avec le bon libellé \ No newline at end of file diff --git a/VERSIONS_HOTLINE/207656 b/VERSIONS_HOTLINE/207656 deleted file mode 100644 index 8be3d103527..00000000000 --- a/VERSIONS_HOTLINE/207656 +++ /dev/null @@ -1 +0,0 @@ - - correctif #207656 : Activités : correction de la getion des quotas en mode file d'attente \ No newline at end of file diff --git a/VERSIONS_HOTLINE/209619 b/VERSIONS_HOTLINE/209619 deleted file mode 100644 index 444f3823bb9..00000000000 --- a/VERSIONS_HOTLINE/209619 +++ /dev/null @@ -1 +0,0 @@ - - correctif #209619 : Recherche : Indexation des charactères spéciaux pour éviter de séparer les mots en deux. \ No newline at end of file diff --git a/VERSIONS_HOTLINE/211010 b/VERSIONS_HOTLINE/211010 deleted file mode 100644 index 280eace798b..00000000000 --- a/VERSIONS_HOTLINE/211010 +++ /dev/null @@ -1 +0,0 @@ -- correctif #211010 : Agenda : tri des articles par ordre du prochain évènement. \ No newline at end of file diff --git a/VERSIONS_HOTLINE/212789 b/VERSIONS_HOTLINE/212789 deleted file mode 100644 index 23a349463f3..00000000000 --- a/VERSIONS_HOTLINE/212789 +++ /dev/null @@ -1 +0,0 @@ - - correctif #212789 : Boite activité : Un utilisateur non connecté est redirigé vers la popup d'activité après avoir rempli le formulaire de connexion. \ No newline at end of file diff --git a/VERSIONS_HOTLINE/213110 b/VERSIONS_HOTLINE/213110 deleted file mode 100644 index 6a0744eff69..00000000000 --- a/VERSIONS_HOTLINE/213110 +++ /dev/null @@ -1 +0,0 @@ - - correctif #213110 : Magasin de thèmes : correction de l'affichage des réservations paginée \ No newline at end of file diff --git a/VERSIONS_HOTLINE/217755 b/VERSIONS_HOTLINE/217755 deleted file mode 100644 index bc2798fd4ad..00000000000 --- a/VERSIONS_HOTLINE/217755 +++ /dev/null @@ -1 +0,0 @@ - - correctif #217755 : Adiministration : Dans le module activité, les rédacteurs peuvent maintenant voir les abonnés de tous les sites. \ No newline at end of file diff --git a/VERSIONS_HOTLINE/218050 b/VERSIONS_HOTLINE/218050 deleted file mode 100644 index 8bfb6245cf5..00000000000 --- a/VERSIONS_HOTLINE/218050 +++ /dev/null @@ -1 +0,0 @@ - - correctif #218050 : Activités : Ne pas afficher de message d'eereur si on ne renseigne pas un champ non obligatoire. \ No newline at end of file diff --git a/VERSIONS_HOTLINE/218054 b/VERSIONS_HOTLINE/218054 deleted file mode 100644 index ea937e038f1..00000000000 --- a/VERSIONS_HOTLINE/218054 +++ /dev/null @@ -1 +0,0 @@ - - correctif #218054 : correction du filtre sur les bibliothèques dans les groupes utilisateurs \ No newline at end of file diff --git a/VERSIONS_HOTLINE/218055 b/VERSIONS_HOTLINE/218055 deleted file mode 100644 index 89361142468..00000000000 --- a/VERSIONS_HOTLINE/218055 +++ /dev/null @@ -1 +0,0 @@ - - correctif #218055 : Administration : correction de la prise en charge et de la validation du paramètre "url de la page". \ No newline at end of file diff --git a/VERSIONS_HOTLINE/218292 b/VERSIONS_HOTLINE/218292 deleted file mode 100644 index 57cd39f91a8..00000000000 --- a/VERSIONS_HOTLINE/218292 +++ /dev/null @@ -1 +0,0 @@ - - correctif #218292 : Admin : Ouvertures : Sauvegarder la date au format sélectionné par l'utilisateur. \ No newline at end of file diff --git a/VERSIONS_HOTLINE/218300 b/VERSIONS_HOTLINE/218300 deleted file mode 100644 index 5f5e4356f8d..00000000000 --- a/VERSIONS_HOTLINE/218300 +++ /dev/null @@ -1 +0,0 @@ - - correctif #218300 : Activités : ignore les sessions et activités cachées dans l'affichage des boites \ No newline at end of file diff --git a/VERSIONS_HOTLINE/218307 b/VERSIONS_HOTLINE/218307 deleted file mode 100644 index dce3219eb68..00000000000 --- a/VERSIONS_HOTLINE/218307 +++ /dev/null @@ -1 +0,0 @@ - - correctif #218307 : Connecteur Cvs : Correction d'une erreur au moissonage \ No newline at end of file diff --git a/VERSIONS_HOTLINE/218564 b/VERSIONS_HOTLINE/218564 deleted file mode 100644 index 37f2329d1dc..00000000000 --- a/VERSIONS_HOTLINE/218564 +++ /dev/null @@ -1 +0,0 @@ - - correctif #218564 : Rendez-vous : les sélecteurs d'heures de début et fin deviennent un Jquery timepicker \ No newline at end of file diff --git a/VERSIONS_WIP/215552 b/VERSIONS_WIP/215552 deleted file mode 100644 index 838a0a2ef1c..00000000000 --- a/VERSIONS_WIP/215552 +++ /dev/null @@ -1 +0,0 @@ - - fonctionnalité #215552 : RGAA : Les champs alt des images ne sont renseignés que si l'image est nécessaire. \ No newline at end of file diff --git a/VERSIONS_WIP/215563 b/VERSIONS_WIP/215563 deleted file mode 100644 index 1137022ef28..00000000000 --- a/VERSIONS_WIP/215563 +++ /dev/null @@ -1 +0,0 @@ - - fonctionnalité #215563 : RGAA : Les étiquettes de champs de sélection de tri et de nombre de page dans la liste de résultat (Magasin de thème) sont pertinentes. \ No newline at end of file diff --git a/VERSIONS_WIP/215565 b/VERSIONS_WIP/215565 deleted file mode 100644 index 1ba130b4447..00000000000 --- a/VERSIONS_WIP/215565 +++ /dev/null @@ -1 +0,0 @@ - - fonctionnalité #215565 : RGAA : les intitulés lus dans les lecteurs vocaux pour les boutons sont plus pertinents. (critère 11.9) \ No newline at end of file diff --git a/VERSIONS_WIP/215567 b/VERSIONS_WIP/215567 deleted file mode 100644 index 96655e600d5..00000000000 --- a/VERSIONS_WIP/215567 +++ /dev/null @@ -1 +0,0 @@ - - fonctionnalité #215567 : RGAA/WCAG : Les contenus sont structurés par rôles \ No newline at end of file diff --git a/VERSIONS_WIP/215569 b/VERSIONS_WIP/215569 deleted file mode 100644 index b4133ad9e6c..00000000000 --- a/VERSIONS_WIP/215569 +++ /dev/null @@ -1 +0,0 @@ - - fonctionnalité #215569 : RGAA/WCAG : Mise à jour de l'outil de gestion des cookies tarteaucitron \ No newline at end of file diff --git a/library/Class/BokehVersion.php b/library/Class/BokehVersion.php index 06c87530a99..5fefb77259c 100644 --- a/library/Class/BokehVersion.php +++ b/library/Class/BokehVersion.php @@ -52,16 +52,19 @@ class Class_BokehVersion { } - public function fetchLatest() { + public function fetchLatest() + { $json = static::getWebClient() ->open_url('https://git.afi-sa.net/api/v4/projects/4/repository/tags?per_page=5&order_by=updated&sort=desc'); - if (!$json || !$tags = json_decode($json, true)) + if ( ! $json || ! ($tags = json_decode($json, true))) return $this->current(); $versions = array_filter($tags, - fn($version) => preg_match('/^\w+\.\d+$/', - $version['name'])); + fn($version) => (preg_match('/^\d+\.\d+\.\d+(\-\w+)?$/i', + $version['name']) + || preg_match('/^\w+\.\d+$/i', + $version['name']))); return $versions !== [] ? current($versions)['name'] diff --git a/library/ZendAfi/View/Helper/Template/RenderingHorizontal.php b/library/ZendAfi/View/Helper/Template/RenderingHorizontal.php index 0402e66bb4e..71f0c666bf9 100644 --- a/library/ZendAfi/View/Helper/Template/RenderingHorizontal.php +++ b/library/ZendAfi/View/Helper/Template/RenderingHorizontal.php @@ -49,7 +49,7 @@ class ZendAfi_View_Helper_Template_RenderingHorizontal extends ZendAfi_View_Help if ($summary = $element->getDescription()) $content [] = $this->_tag('div', $summary, - ['title' => strip_tags($element->getDescriptionTitle()), + ['title' => strip_tags((string) $element->getDescriptionTitle()), 'class' => 'card-text']); return $this->_tag('div', diff --git a/library/ZendAfi/View/Helper/Template/TruncateList.php b/library/ZendAfi/View/Helper/Template/TruncateList.php index 6066dc18ddd..452a8fb8d69 100644 --- a/library/ZendAfi/View/Helper/Template/TruncateList.php +++ b/library/ZendAfi/View/Helper/Template/TruncateList.php @@ -23,19 +23,23 @@ class ZendAfi_View_Helper_Template_TruncateList extends Intonation_View_Abstract_Layout { + use Trait_TimeSource; + const AJAX_SIZE = 20; - protected - $_min_size_for_tools = 5, - $_page_size = 3, - $_container_id, - $_module_id, - $_widget_id, - $_top_tools_id, - $_bottom_tools_id; + protected int $_min_size_for_tools = 5; + protected int $_page_size = 3; + + protected string $_container_id = ''; + protected string $_widget_id = ''; + protected string $_top_tools_id = ''; + protected string $_bottom_tools_id = ''; + protected string $_module_id = ''; public function truncateList($collection, $callback, $page_size = 3) { + $this->_resetInstance(); + if ($collection->isEmpty()) return $this->_tag('p', $this->_('Aucun élément')); @@ -52,6 +56,19 @@ class ZendAfi_View_Helper_Template_TruncateList } + protected function _resetInstance(): self + { + $this->_container_id = ''; + $this->_min_size_for_tools = 5; + $this->_page_size = 3; + $this->_widget_id = ''; + $this->_top_tools_id = ''; + $this->_bottom_tools_id = ''; + + return $this; + } + + public function setIdModule(string $id): self { $this->_module_id = $id; @@ -88,8 +105,8 @@ class ZendAfi_View_Helper_Template_TruncateList protected function _initIds(): self { - if ( ! $this->_container_id ) - $this->_container_id = $this->_module_id ?: uniqid(); + if ( ! $this->_container_id) + $this->_container_id = ($this->_module_id ?: $this->getTimeSource()->uniqid()); $this->_widget_id = 'truncate_list_widget_id_' . $this->_container_id; $this->_top_tools_id = 'top_tools_' . $this->_container_id; diff --git a/library/startup.php b/library/startup.php index a924bc8d420..2427857b9c8 100644 --- a/library/startup.php +++ b/library/startup.php @@ -142,8 +142,14 @@ class Bokeh_Engine public function setupConstants(): self { - defineConstant('BOKEH_MAJOR_VERSION', 'Focale'); - defineConstant('BOKEH_RELEASE_NUMBER', BOKEH_MAJOR_VERSION . '.0'); + defineConstant('BOKEH_MAJOR_VERSION', 9); + defineConstant('BOKEH_MINOR_VERSION', 0); + defineConstant('BOKEH_PATCH_VERSION', 1); + defineConstant('BOKEH_NAMED_VERSION', 'Focale'); + defineConstant('BOKEH_RELEASE_NUMBER', BOKEH_MAJOR_VERSION + . '.' . BOKEH_MINOR_VERSION + . '.' . BOKEH_PATCH_VERSION + . (BOKEH_NAMED_VERSION ? ('-' . BOKEH_NAMED_VERSION) : '')); defineConstant('BOKEH_REMOTE_FILES', 'https://git.afi-sa.net/afi/opacce/'); diff --git a/tests/application/modules/admin/controllers/IndexControllerTest.php b/tests/application/modules/admin/controllers/IndexControllerTest.php index 0237f22daf3..11a5a7a7e74 100644 --- a/tests/application/modules/admin/controllers/IndexControllerTest.php +++ b/tests/application/modules/admin/controllers/IndexControllerTest.php @@ -62,8 +62,8 @@ class IndexControllerWithHTTPSTest extends Admin_IndexControllerTestCase { class Admin_IndexControllerCookiesTest extends Admin_IndexControllerTestCase { + public $file_system; - protected $_next_version; public function setUp(): void { @@ -220,11 +220,13 @@ class IndexControllerWithoutFileLocalBranchAndGitTest extends Admin_IndexControl -class IndexControllerWithGitTest extends Admin_IndexControllerTestCase { +class IndexControllerWithGitTest extends Admin_IndexControllerTestCase +{ - protected $_next_version; + protected string $_next_version; - public function setUp(): void { + public function setUp(): void + { parent::setUp(); Class_AdminVar::setSiteOk(true); @@ -235,15 +237,16 @@ class IndexControllerWithGitTest extends Admin_IndexControllerTestCase { 'clef' => 'NOM_DOMAINE', 'valeur' => 'https://bokeh-library-portal.org']); - $this->_next_version = BOKEH_MAJOR_VERSION . '.' - . (1 + (int)explode('.', BOKEH_RELEASE_NUMBER)[1]); + $this->_next_version = BOKEH_MAJOR_VERSION + . '.' . BOKEH_MINOR_VERSION + . '.' . (BOKEH_PATCH_VERSION + 1) + . BOKEH_NAMED_VERSION; $mock_http = $this->mock() ->whenCalled('open_url') ->with('https://git.afi-sa.net/api/v4/projects/4/repository/tags?per_page=5&order_by=updated&sort=desc') ->answers('[{"name":"' . $this->_next_version . '"}]'); - Class_BokehVersion::setFileSystem(new Storm_FileSystem_Volatile); Class_BokehVersion::setWebClient($mock_http); Class_BokehVersion::setCommand($this->mock()->beStrict() @@ -432,9 +435,8 @@ class IndexControllerWithGitTest extends Admin_IndexControllerTestCase { class Admin_IndexControllerWhenUpToDateTest extends Admin_IndexControllerTestCase { - protected $_next_version; - - public function setUp(): void { + public function setUp(): void + { parent::setUp(); $mock_http = $this->mock() diff --git a/tests/library/Class/BokehVersionTest.php b/tests/library/Class/BokehVersionTest.php index 2ad4f66df84..dfd3ec6f0e8 100644 --- a/tests/library/Class/BokehVersionTest.php +++ b/tests/library/Class/BokehVersionTest.php @@ -23,9 +23,8 @@ class BokehVersionTest extends ModelTestCase { - protected - $_next_version, - $_mock_http; + protected string $_next_version; + protected $_mock_http; public function setUp(): void { @@ -33,13 +32,15 @@ class BokehVersionTest extends ModelTestCase Storm_Cache::beVolatile(); - $this->_next_version = BOKEH_MAJOR_VERSION . '.' - . (1 + (int) explode('.', BOKEH_RELEASE_NUMBER)[1]); + $this->_next_version = BOKEH_MAJOR_VERSION + . '.' . BOKEH_MINOR_VERSION + . '.' . (BOKEH_PATCH_VERSION + 1) + . BOKEH_NAMED_VERSION; $this->_mock_http = $this->mock() ->whenCalled('open_url') ->with('https://git.afi-sa.net/api/v4/projects/4/repository/tags?per_page=5&order_by=updated&sort=desc') - ->answers('[{"name":"patin-2.3.4"}, {"name":"8.0.12-coufin"}, {"name":"' . $this->_next_version . '"}, {"name":"7.0.12"}]'); + ->answers('[{"name":"patin-2.3.4"}, {"name":"8.0.12+coufin"}, {"name":"' . $this->_next_version . '"}, {"name":"7.0.12"}]'); Class_BokehVersion::setWebClient($this->_mock_http); } diff --git a/tests/scenarios/Templates/TemplatesActivitiesWidgetCachedTest.php b/tests/scenarios/Templates/TemplatesActivitiesWidgetCachedTest.php index c5e4bf612b1..75ee9ba13e6 100644 --- a/tests/scenarios/Templates/TemplatesActivitiesWidgetCachedTest.php +++ b/tests/scenarios/Templates/TemplatesActivitiesWidgetCachedTest.php @@ -46,18 +46,20 @@ class TemplatesActivitiesWidgetCachedTest 'password' => 'fx9k', 'mail' => 'r@bib.com', 'bib' => $bib, + 'idabon' => '9879879', 'user_groups' => [$group], - 'role_level' => ZendAfi_Acl_AdminControllerRoles::MODO_BIB]); + 'role_level' => ZendAfi_Acl_AdminControllerRoles::ABONNE_SIGB]); (new Class_Template_ProfilePatcher(null)) ->setProfile(Class_Profil::find(3)) ->addWidget(Intonation_Library_Widget_Carousel_Activity_Definition::CODE, Class_Profil::DIV_MAIN, ['rendering' => 'card-horizontal', + 'titre' => 'boite', 'selected_activities' => '56-57', 'layout' => 'list_with_options', 'order' => 'title desc', - 'size' => 5]); + 'size' => 9999]); $this->fixture(Class_Activity::class, ['id' => 56, @@ -72,7 +74,26 @@ class TemplatesActivitiesWidgetCachedTest 'stagiaires' => [], 'effectif_max' => 0, 'effectif_min' => 0, - 'visible' => false])]) + 'visible' => false]), + $this->fixture(Class_SessionActivity::class, + ['id' => 2, + 'contenu' => 'dogfighting tricks', + 'date_debut' => '2024-09-05', + 'date_fin' => '2024-10-30', + 'date_limite_fin' => '2024-09-04', + 'stagiaires' => [], + 'effectif_max' => 0, + 'effectif_min' => 0, + 'visible' => false]), + $this->fixture(Class_SessionActivity::class, + ['id' => 15, + 'contenu' => 'dogfighting aim', + 'date_debut' => '2024-10-10', + 'date_fin' => '2024-10-30', + 'date_limite_fin' => '2024-10-08', + 'stagiaires' => [], + 'effectif_max' => 10, + 'effectif_min' => 1])]) ->save(); $this->fixture(Class_Activity::class, @@ -86,26 +107,67 @@ class TemplatesActivitiesWidgetCachedTest 'date_limite_fin' => '2024-10-08', 'stagiaires' => [], 'effectif_max' => 10, - 'effectif_min' => 1])]) + 'effectif_min' => 1]), + $this->fixture(Class_SessionActivity::class, + ['id' => 6, + 'contenu' => 'dogfighting tricks', + 'date_debut' => '2024-09-05', + 'date_fin' => '2024-10-30', + 'date_limite_fin' => '2024-09-04', + 'stagiaires' => [], + 'effectif_max' => 0, + 'effectif_min' => 0, + 'visible' => false]), + $this->fixture(Class_SessionActivity::class, + ['id' => 7, + 'contenu' => 'dogfighting tricks', + 'date_debut' => '2024-09-05', + 'date_fin' => '2024-10-30', + 'date_limite_fin' => '2024-09-04', + 'stagiaires' => [], + 'effectif_max' => 0, + 'effectif_min' => 0, + 'visible' => false])]) ->save(); $timesource = new TimeSourceForTest('2024-09-04'); + Class_SessionActivity::setTimeSource($timesource); Intonation_Library_Widget_Carousel_Activity_Definition::setTimeSource($timesource); ZendAfi_Auth::getInstance()->logUser($logged); + + Class_AdminVar::set('CACHE_ACTIF', 1); + + Storm_Cache::setSeed('local'); + Storm_Cache::beVolatile(); + $cache = Storm_Cache::getDefaultZendCache(); + $cache->save('local_local', 'local'); + $cache->save(file_get_contents(__DIR__ . '/activities_widget_cache.html'), 'local_local_4604230a5259685d13d2c7fa622d0b39'); + $this->dispatch('/'); } + + public function tearDown(): void + { + Class_SessionActivity::setTimeSource(null); + Intonation_Library_Widget_Carousel_Activity_Definition::setTimeSource(null); + Storm_Cache::setDefaultZendCache(null); + parent::tearDown(); + } + + /** @test */ - public function truncateListToolsScriptShouldBeLoaded() + public function scytheChap2ShouldBeDisplayedInTruncateListWidgetIdOne() { - $this->assertXPathContentContains('//script', 'truncate_list_tools'); + $this->assertXPathContentContains('//main//div[@id="truncate_list_widget_id_1"]', 'scythe chap 2'); } + /** @test */ - public function scytheChap2ShouldBeDisplayed() + public function scriptTruncaleListToolsScriptShouldBePresentForIdModuleOne() { - $this->assertXPathContentContains('//main', 'scythe chap 2'); + $this->assertXPathContentContains('//script', '$(function(){$("#truncate_list_widget_id_1").truncate_list_tools('); } } diff --git a/tests/scenarios/Templates/activities_widget_cache.html b/tests/scenarios/Templates/activities_widget_cache.html new file mode 100644 index 00000000000..762042f8ee2 --- /dev/null +++ b/tests/scenarios/Templates/activities_widget_cache.html @@ -0,0 +1,17 @@ +<div id="boite_1" class="boite activities_widget widget col-12 card"><div class="widget-header card-header" role="heading" aria-level="2">boite</div><div class="widget-body card-body"><div class="truncate_list_widget" id="truncate_list_widget_id_1"><div class="container-fluid"><div class="row no-gutters"><div class="truncate_list_top_tools col-12"><div class="truncate_list_container container-fluid my-2"><div class="justify-content-start row no-gutters"><div class="truncate_list_size_wrapper col-12 col-sm-3"><span class="truncate_list_size btn btn-sm btn-info"><span class="truncate_list_size_number" title="Nombre total d'élements présent dans la liste">6</span> éléments</span></div><div class="truncate_list_form_wrapper paginated_form col-12 col-sm-9"><form enctype="application/x-www-form-urlencoded" action="GET" class="inline_form row no-gutters" method="post"> +<div class="col row form-group no-gutters wrapper_zendafi_form_selecttoptools inline_form_wrapper_zendafi_form_selecttoptools"><label for="select_top_tools_1" data-name="select_top_tools_1" class="optional col-12 col-sm-5 col-form-label col-form-label-sm pr-1">Afficher</label> +<div class="col-12 col-sm align-self-center" role="presentation"> +<select name="select_top_tools_1" id="select_top_tools_1" title="Limiter le nombre d'éléments à afficher" class="select_size_tool zendafi_form_select_size_tool form-control form-control-sm custom-select custom-select-sm"><option value="3" label="3">3</option><option value="6" label="6">6</option><option value="15" label="15">15</option><option value="10000" label="Tout">Tout</option></select></div></div> +<div class="col row form-group no-gutters wrapper_zendafi_form_inputtoptools inline_form_wrapper_zendafi_form_inputtoptools"><label for="input_top_tools_1" data-name="input_top_tools_1" class="optional col-12 col-sm-5 col-form-label col-form-label-sm pr-1">Filtrer</label> +<div class="col-12 col-sm align-self-center" role="presentation"> +<input type="text" name="input_top_tools_1" id="input_top_tools_1" value="" placeholder="Filtrer avec un nom, un mot, une date" title="Filtrer la liste avec des noms, des mots, des dates" class="input_search_tool zendafi_form_input_search_tool form-control form-control-sm" onkeypress="if (event.keyCode == 13) {$(this.form).submit();return false; }"></div></div> + +<input type="submit" name="submit_top_tools_1" id="submit_top_tools_1" value="submit_top_tools_1" class="d-none zendafi_form_d-none btn btn-sm btn-primary"></form></div></div></div></div><div id="1" class="truncate_list_wrapper col-12 list-group bg-transparent no_border"><div style="display: none" class="list-group-item bg-transparent px-0 mb-3"><div class="card"><div class="container-fluid"><div class="row no-gutters"><div class="cardify_horizontal_img col-12 col-md-4 col-lg-3 px-0 pl-md-0 pr-md-3" aria-hidden="true"></div><div class="cardify_horizontal_content col-12 col-md-8 col-lg-6 px-0 py-3 py-md-0"><div class="hidde_content">scythe chap 2 Date de début de l activité scythe chap 2 05 septembre 2024 Date de fin de l activité scythe chap 2 30 octobre 2024 Nombre de participants de la session scythe chap 2 Participants 0 0 La session scythe chap 2 est complète Complet dogfighting tricksDate limite d inscription04 septembre 2024Nombre de participantsminimum 0 maximum 0S inscrire s</div><div role="heading" aria-level="3" class="card-title card_title card_title_Intonation_Library_View_Wrapper_ActivitySession"><a href="/abonne/detail-session/id/6" data-popup="" title="En savoir plus sur scythe chap 2." class="text-secondary">scythe chap 2</a></div><div title="" class="card-text"><div class="badge-group badge_group badge_group_Intonation_Library_View_Wrapper_ActivitySession"><span title="Date de début de l'activité scythe chap 2." class="badge_tag activity_badge session_date_debut text-left badge badge-info"><span class="badge_text align-middle d-inline-block text-left"><span class="sr-only">Date de début de l'activité scythe chap 2.</span>05 septembre 2024</span></span><span title="Date de fin de l'activité scythe chap 2." class="badge_tag activity_badge session_date_fin text-left badge badge-dark"><span class="badge_text align-middle d-inline-block text-left"><span class="sr-only">Date de fin de l'activité scythe chap 2.</span>30 octobre 2024</span></span><span title="Nombre de participants de la session scythe chap 2." class="badge_tag activity_badge session_attendees text-left badge badge-secondary"><span class="badge_text align-middle d-inline-block text-left"><span class="sr-only">Nombre de participants de la session scythe chap 2.</span>Participants : 0/0</span></span><span title="La session scythe chap 2 est complète." class="badge_tag activity_badge session_full text-left badge badge-danger"><span class="badge_text align-middle d-inline-block text-left"><span class="sr-only">La session scythe chap 2 est complète.</span>Complet</span></span></div><p class="model_description_Class_SessionActivity">dogfighting tricksDate limite d'inscription04 septembre 2024Nombre de participantsminimum : 0, maximum : 0S'inscrire</p></div></div><div class="cardify_horizontal_actions col-12 col-md-12 col-lg-3 px-0 pl-lg-3 pr-lg-0"><div class="container-fluid"><div class="row no-gutters"><div class="card_action col col-lg-12 p-0 mx-1 my-1"><a href="/abonne/detail-session/id/6" title="En savoir plus sur scythe chap 2." class="card-link"><i class="far fa-arrow-alt-circle-right library" aria-hidden="true"></i><div class="d-none d-md-inline text-left button_text">En savoir plus</div></a></div><div class="card_action 1 col col-lg-12 p-0 mx-1 my-1"><div id="dropdown_67c6e363ef9d1" class="dropdown dropleft dropup"><button class="more_action btn" id="dropdown_button_67c6e363ef9d1" data-toggle="dropdown" aria-haspopup="true"><i title="Voir les actions pour gérer scythe chap 2" class="fas fa-ellipsis-h utils" aria-hidden="true"></i><span class="d-none d-md-inline text-left button_text">Gérer <span class="sr-only">Voir les actions pour gérer scythe chap 2</span></span></button><div class="dropdown-menu" aria-labelledby="dropdown_button_67c6e363ef9d1"><div class="py-0 px-3"><div class="container-fluid"><div class="row no-gutters"><div class="card_action menu_admin_front_anchor col col-lg-12 p-0 mx-1 my-1"><a href="/admin/session-activity/edit/id/6" title="Modifier la session du 05 septembre 2024 de l'activité scythe chap 2." data-popup="1" class="card-link menu_admin_front_anchor"><i class="fas fa-edit utils" aria-hidden="true"></i><div class="d-none d-md-inline text-left button_text">Modifier session</div></a></div><div class="card_action menu_admin_front_anchor col col-lg-12 p-0 mx-1 my-1"><a href="/admin/activity/edit/id/57" title="Modifier l'activité scythe chap 2." data-popup="1" class="card-link menu_admin_front_anchor"><i class="fas fa-edit utils" aria-hidden="true"></i><div class="d-none d-md-inline text-left button_text">Modifier activité</div></a></div><div class="card_action menu_admin_front_anchor col col-lg-12 p-0 mx-1 my-1"><a href="/admin/cms/edit/id/5" title="Modifier l'article de la session scythe chap 2." data-popup="1" class="card-link menu_admin_front_anchor"><i class="fas fa-edit utils" aria-hidden="true"></i><div class="d-none d-md-inline text-left button_text">Modifier article</div></a></div><div class="card_action menu_admin_front_anchor col col-lg-12 p-0 mx-1 my-1"><a href="/admin/session-activity/inscriptions/id/6/search_session_activity_subscription_status/all" title="Nouvelle inscription à l'activité scythe chap 2" class="card-link menu_admin_front_anchor" target="_blank"><i class="fas fa-users library" aria-hidden="true"></i><div class="d-none d-md-inline text-left button_text">Nouvelle inscription</div></a></div><div class="card_action menu_admin_front_anchor col col-lg-12 p-0 mx-1 my-1"><a href="/admin/session-activity/fiche_emargement/id/6" title="Imprimer la feuille d'émargement de la session scythe chap 2." class="card-link menu_admin_front_anchor" target="_blank"><i class="fas fa-print utils" aria-hidden="true"></i><div class="d-none d-md-inline text-left button_text">Imprimer émargement</div></a></div></div></div></div></div></div></div></div></div></div></div></div></div></div><div style="display: none" class="list-group-item bg-transparent px-0 mb-3"><div class="card"><div class="container-fluid"><div class="row no-gutters"><div class="cardify_horizontal_img col-12 col-md-4 col-lg-3 px-0 pl-md-0 pr-md-3" aria-hidden="true"></div><div class="cardify_horizontal_content col-12 col-md-8 col-lg-6 px-0 py-3 py-md-0"><div class="hidde_content">scythe chap 2 Date de début de l activité scythe chap 2 05 septembre 2024 Date de fin de l activité scythe chap 2 30 octobre 2024 Nombre de participants de la session scythe chap 2 Participants 0 0 La session scythe chap 2 est complète Complet dogfighting tricksDate limite d inscription04 septembre 2024Nombre de participantsminimum 0 maximum 0S inscrire s</div><div role="heading" aria-level="3" class="card-title card_title card_title_Intonation_Library_View_Wrapper_ActivitySession"><a href="/abonne/detail-session/id/7" data-popup="" title="En savoir plus sur scythe chap 2." class="text-secondary">scythe chap 2</a></div><div title="" class="card-text"><div class="badge-group badge_group badge_group_Intonation_Library_View_Wrapper_ActivitySession"><span title="Date de début de l'activité scythe chap 2." class="badge_tag activity_badge session_date_debut text-left badge badge-info"><span class="badge_text align-middle d-inline-block text-left"><span class="sr-only">Date de début de l'activité scythe chap 2.</span>05 septembre 2024</span></span><span title="Date de fin de l'activité scythe chap 2." class="badge_tag activity_badge session_date_fin text-left badge badge-dark"><span class="badge_text align-middle d-inline-block text-left"><span class="sr-only">Date de fin de l'activité scythe chap 2.</span>30 octobre 2024</span></span><span title="Nombre de participants de la session scythe chap 2." class="badge_tag activity_badge session_attendees text-left badge badge-secondary"><span class="badge_text align-middle d-inline-block text-left"><span class="sr-only">Nombre de participants de la session scythe chap 2.</span>Participants : 0/0</span></span><span title="La session scythe chap 2 est complète." class="badge_tag activity_badge session_full text-left badge badge-danger"><span class="badge_text align-middle d-inline-block text-left"><span class="sr-only">La session scythe chap 2 est complète.</span>Complet</span></span></div><p class="model_description_Class_SessionActivity">dogfighting tricksDate limite d'inscription04 septembre 2024Nombre de participantsminimum : 0, maximum : 0S'inscrire</p></div></div><div class="cardify_horizontal_actions col-12 col-md-12 col-lg-3 px-0 pl-lg-3 pr-lg-0"><div class="container-fluid"><div class="row no-gutters"><div class="card_action col col-lg-12 p-0 mx-1 my-1"><a href="/abonne/detail-session/id/7" title="En savoir plus sur scythe chap 2." class="card-link"><i class="far fa-arrow-alt-circle-right library" aria-hidden="true"></i><div class="d-none d-md-inline text-left button_text">En savoir plus</div></a></div><div class="card_action 1 col col-lg-12 p-0 mx-1 my-1"><div id="dropdown_67c6e363f1e09" class="dropdown dropleft dropup"><button class="more_action btn" id="dropdown_button_67c6e363f1e09" data-toggle="dropdown" aria-haspopup="true"><i title="Voir les actions pour gérer scythe chap 2" class="fas fa-ellipsis-h utils" aria-hidden="true"></i><span class="d-none d-md-inline text-left button_text">Gérer <span class="sr-only">Voir les actions pour gérer scythe chap 2</span></span></button><div class="dropdown-menu" aria-labelledby="dropdown_button_67c6e363f1e09"><div class="py-0 px-3"><div class="container-fluid"><div class="row no-gutters"><div class="card_action menu_admin_front_anchor col col-lg-12 p-0 mx-1 my-1"><a href="/admin/session-activity/edit/id/7" title="Modifier la session du 05 septembre 2024 de l'activité scythe chap 2." data-popup="1" class="card-link menu_admin_front_anchor"><i class="fas fa-edit utils" aria-hidden="true"></i><div class="d-none d-md-inline text-left button_text">Modifier session</div></a></div><div class="card_action menu_admin_front_anchor col col-lg-12 p-0 mx-1 my-1"><a href="/admin/activity/edit/id/57" title="Modifier l'activité scythe chap 2." data-popup="1" class="card-link menu_admin_front_anchor"><i class="fas fa-edit utils" aria-hidden="true"></i><div class="d-none d-md-inline text-left button_text">Modifier activité</div></a></div><div class="card_action menu_admin_front_anchor col col-lg-12 p-0 mx-1 my-1"><a href="/admin/cms/edit/id/6" title="Modifier l'article de la session scythe chap 2." data-popup="1" class="card-link menu_admin_front_anchor"><i class="fas fa-edit utils" aria-hidden="true"></i><div class="d-none d-md-inline text-left button_text">Modifier article</div></a></div><div class="card_action menu_admin_front_anchor col col-lg-12 p-0 mx-1 my-1"><a href="/admin/session-activity/inscriptions/id/7/search_session_activity_subscription_status/all" title="Nouvelle inscription à l'activité scythe chap 2" class="card-link menu_admin_front_anchor" target="_blank"><i class="fas fa-users library" aria-hidden="true"></i><div class="d-none d-md-inline text-left button_text">Nouvelle inscription</div></a></div><div class="card_action menu_admin_front_anchor col col-lg-12 p-0 mx-1 my-1"><a href="/admin/session-activity/fiche_emargement/id/7" title="Imprimer la feuille d'émargement de la session scythe chap 2." class="card-link menu_admin_front_anchor" target="_blank"><i class="fas fa-print utils" aria-hidden="true"></i><div class="d-none d-md-inline text-left button_text">Imprimer émargement</div></a></div></div></div></div></div></div></div></div></div></div></div></div></div></div><div style="display: none" class="list-group-item bg-transparent px-0 mb-3"><div class="card"><div class="container-fluid"><div class="row no-gutters"><div class="cardify_horizontal_img col-12 col-md-4 col-lg-3 px-0 pl-md-0 pr-md-3" aria-hidden="true"></div><div class="cardify_horizontal_content col-12 col-md-8 col-lg-6 px-0 py-3 py-md-0"><div class="hidde_content">scythe chap 2 Date de début de l activité scythe chap 2 10 octobre 2024 Date de fin de l activité scythe chap 2 30 octobre 2024 Nombre de participants de la session scythe chap 2 Participants 0 10 dogfighting aimDate limite d inscription08 octobre 2024Nombre de participantsminimum 1 maximum 10S inscrire s</div><div role="heading" aria-level="3" class="card-title card_title card_title_Intonation_Library_View_Wrapper_ActivitySession"><a href="/abonne/detail-session/id/5" data-popup="" title="En savoir plus sur scythe chap 2." class="text-secondary">scythe chap 2</a></div><div title="" class="card-text"><div class="badge-group badge_group badge_group_Intonation_Library_View_Wrapper_ActivitySession"><span title="Date de début de l'activité scythe chap 2." class="badge_tag activity_badge session_date_debut text-left badge badge-info"><span class="badge_text align-middle d-inline-block text-left"><span class="sr-only">Date de début de l'activité scythe chap 2.</span>10 octobre 2024</span></span><span title="Date de fin de l'activité scythe chap 2." class="badge_tag activity_badge session_date_fin text-left badge badge-dark"><span class="badge_text align-middle d-inline-block text-left"><span class="sr-only">Date de fin de l'activité scythe chap 2.</span>30 octobre 2024</span></span><span title="Nombre de participants de la session scythe chap 2." class="badge_tag activity_badge session_attendees text-left badge badge-secondary"><span class="badge_text align-middle d-inline-block text-left"><span class="sr-only">Nombre de participants de la session scythe chap 2.</span>Participants : 0/10</span></span></div><p class="model_description_Class_SessionActivity">dogfighting aimDate limite d'inscription08 octobre 2024Nombre de participantsminimum : 1, maximum : 10S'inscrire</p></div></div><div class="cardify_horizontal_actions col-12 col-md-12 col-lg-3 px-0 pl-lg-3 pr-lg-0"><div class="container-fluid"><div class="row no-gutters"><div class="card_action col col-lg-12 p-0 mx-1 my-1"><a href="/abonne/detail-session/id/5" title="En savoir plus sur scythe chap 2." class="card-link"><i class="far fa-arrow-alt-circle-right library" aria-hidden="true"></i><div class="d-none d-md-inline text-left button_text">En savoir plus</div></a></div><div class="card_action 1 col col-lg-12 p-0 mx-1 my-1"><div id="dropdown_67c6e363f4111" class="dropdown dropleft dropup"><button class="more_action btn" id="dropdown_button_67c6e363f4111" data-toggle="dropdown" aria-haspopup="true"><i title="Voir les actions pour gérer scythe chap 2" class="fas fa-ellipsis-h utils" aria-hidden="true"></i><span class="d-none d-md-inline text-left button_text">Gérer <span class="sr-only">Voir les actions pour gérer scythe chap 2</span></span></button><div class="dropdown-menu" aria-labelledby="dropdown_button_67c6e363f4111"><div class="py-0 px-3"><div class="container-fluid"><div class="row no-gutters"><div class="card_action menu_admin_front_anchor col col-lg-12 p-0 mx-1 my-1"><a href="/admin/session-activity/edit/id/5" title="Modifier la session du 10 octobre 2024 de l'activité scythe chap 2." data-popup="1" class="card-link menu_admin_front_anchor"><i class="fas fa-edit utils" aria-hidden="true"></i><div class="d-none d-md-inline text-left button_text">Modifier session</div></a></div><div class="card_action menu_admin_front_anchor col col-lg-12 p-0 mx-1 my-1"><a href="/admin/activity/edit/id/57" title="Modifier l'activité scythe chap 2." data-popup="1" class="card-link menu_admin_front_anchor"><i class="fas fa-edit utils" aria-hidden="true"></i><div class="d-none d-md-inline text-left button_text">Modifier activité</div></a></div><div class="card_action menu_admin_front_anchor col col-lg-12 p-0 mx-1 my-1"><a href="/admin/cms/edit/id/4" title="Modifier l'article de la session scythe chap 2." data-popup="1" class="card-link menu_admin_front_anchor"><i class="fas fa-edit utils" aria-hidden="true"></i><div class="d-none d-md-inline text-left button_text">Modifier article</div></a></div><div class="card_action menu_admin_front_anchor col col-lg-12 p-0 mx-1 my-1"><a href="/admin/session-activity/inscriptions/id/5/search_session_activity_subscription_status/all" title="Nouvelle inscription à l'activité scythe chap 2" class="card-link menu_admin_front_anchor" target="_blank"><i class="fas fa-users library" aria-hidden="true"></i><div class="d-none d-md-inline text-left button_text">Nouvelle inscription</div></a></div><div class="card_action menu_admin_front_anchor col col-lg-12 p-0 mx-1 my-1"><a href="/admin/session-activity/fiche_emargement/id/5" title="Imprimer la feuille d'émargement de la session scythe chap 2." class="card-link menu_admin_front_anchor" target="_blank"><i class="fas fa-print utils" aria-hidden="true"></i><div class="d-none d-md-inline text-left button_text">Imprimer émargement</div></a></div></div></div></div></div></div></div></div></div></div></div></div></div></div><div style="display: none" class="list-group-item bg-transparent px-0 mb-3"><div class="card"><div class="container-fluid"><div class="row no-gutters"><div class="cardify_horizontal_img col-12 col-md-4 col-lg-3 px-0 pl-md-0 pr-md-3" aria-hidden="true"></div><div class="cardify_horizontal_content col-12 col-md-8 col-lg-6 px-0 py-3 py-md-0"><div class="hidde_content">scythe chap 1 Date de début de l activité scythe chap 1 05 septembre 2024 Date de fin de l activité scythe chap 1 30 octobre 2024 Nombre de participants de la session scythe chap 1 Participants 0 0 La session scythe chap 1 est complète Complet dogfighting tricksDate limite d inscription04 septembre 2024Nombre de participantsminimum 0 maximum 0S inscrire s</div><div role="heading" aria-level="3" class="card-title card_title card_title_Intonation_Library_View_Wrapper_ActivitySession"><a href="/abonne/detail-session/id/1" data-popup="" title="En savoir plus sur scythe chap 1." class="text-secondary">scythe chap 1</a></div><div title="" class="card-text"><div class="badge-group badge_group badge_group_Intonation_Library_View_Wrapper_ActivitySession"><span title="Date de début de l'activité scythe chap 1." class="badge_tag activity_badge session_date_debut text-left badge badge-info"><span class="badge_text align-middle d-inline-block text-left"><span class="sr-only">Date de début de l'activité scythe chap 1.</span>05 septembre 2024</span></span><span title="Date de fin de l'activité scythe chap 1." class="badge_tag activity_badge session_date_fin text-left badge badge-dark"><span class="badge_text align-middle d-inline-block text-left"><span class="sr-only">Date de fin de l'activité scythe chap 1.</span>30 octobre 2024</span></span><span title="Nombre de participants de la session scythe chap 1." class="badge_tag activity_badge session_attendees text-left badge badge-secondary"><span class="badge_text align-middle d-inline-block text-left"><span class="sr-only">Nombre de participants de la session scythe chap 1.</span>Participants : 0/0</span></span><span title="La session scythe chap 1 est complète." class="badge_tag activity_badge session_full text-left badge badge-danger"><span class="badge_text align-middle d-inline-block text-left"><span class="sr-only">La session scythe chap 1 est complète.</span>Complet</span></span></div><p class="model_description_Class_SessionActivity">dogfighting tricksDate limite d'inscription04 septembre 2024Nombre de participantsminimum : 0, maximum : 0S'inscrire</p></div></div><div class="cardify_horizontal_actions col-12 col-md-12 col-lg-3 px-0 pl-lg-3 pr-lg-0"><div class="container-fluid"><div class="row no-gutters"><div class="card_action col col-lg-12 p-0 mx-1 my-1"><a href="/abonne/detail-session/id/1" title="En savoir plus sur scythe chap 1." class="card-link"><i class="far fa-arrow-alt-circle-right library" aria-hidden="true"></i><div class="d-none d-md-inline text-left button_text">En savoir plus</div></a></div><div class="card_action 1 col col-lg-12 p-0 mx-1 my-1"><div id="dropdown_67c6e36402163" class="dropdown dropleft dropup"><button class="more_action btn" id="dropdown_button_67c6e36402163" data-toggle="dropdown" aria-haspopup="true"><i title="Voir les actions pour gérer scythe chap 1" class="fas fa-ellipsis-h utils" aria-hidden="true"></i><span class="d-none d-md-inline text-left button_text">Gérer <span class="sr-only">Voir les actions pour gérer scythe chap 1</span></span></button><div class="dropdown-menu" aria-labelledby="dropdown_button_67c6e36402163"><div class="py-0 px-3"><div class="container-fluid"><div class="row no-gutters"><div class="card_action menu_admin_front_anchor col col-lg-12 p-0 mx-1 my-1"><a href="/admin/session-activity/edit/id/1" title="Modifier la session du 05 septembre 2024 de l'activité scythe chap 1." data-popup="1" class="card-link menu_admin_front_anchor"><i class="fas fa-edit utils" aria-hidden="true"></i><div class="d-none d-md-inline text-left button_text">Modifier session</div></a></div><div class="card_action menu_admin_front_anchor col col-lg-12 p-0 mx-1 my-1"><a href="/admin/activity/edit/id/56" title="Modifier l'activité scythe chap 1." data-popup="1" class="card-link menu_admin_front_anchor"><i class="fas fa-edit utils" aria-hidden="true"></i><div class="d-none d-md-inline text-left button_text">Modifier activité</div></a></div><div class="card_action menu_admin_front_anchor col col-lg-12 p-0 mx-1 my-1"><a href="/admin/cms/edit/id/1" title="Modifier l'article de la session scythe chap 1." data-popup="1" class="card-link menu_admin_front_anchor"><i class="fas fa-edit utils" aria-hidden="true"></i><div class="d-none d-md-inline text-left button_text">Modifier article</div></a></div><div class="card_action menu_admin_front_anchor col col-lg-12 p-0 mx-1 my-1"><a href="/admin/session-activity/inscriptions/id/1/search_session_activity_subscription_status/all" title="Nouvelle inscription à l'activité scythe chap 1" class="card-link menu_admin_front_anchor" target="_blank"><i class="fas fa-users library" aria-hidden="true"></i><div class="d-none d-md-inline text-left button_text">Nouvelle inscription</div></a></div><div class="card_action menu_admin_front_anchor col col-lg-12 p-0 mx-1 my-1"><a href="/admin/session-activity/fiche_emargement/id/1" title="Imprimer la feuille d'émargement de la session scythe chap 1." class="card-link menu_admin_front_anchor" target="_blank"><i class="fas fa-print utils" aria-hidden="true"></i><div class="d-none d-md-inline text-left button_text">Imprimer émargement</div></a></div></div></div></div></div></div></div></div></div></div></div></div></div></div><div style="display: none" class="list-group-item bg-transparent px-0 mb-3"><div class="card"><div class="container-fluid"><div class="row no-gutters"><div class="cardify_horizontal_img col-12 col-md-4 col-lg-3 px-0 pl-md-0 pr-md-3" aria-hidden="true"></div><div class="cardify_horizontal_content col-12 col-md-8 col-lg-6 px-0 py-3 py-md-0"><div class="hidde_content">scythe chap 1 Date de début de l activité scythe chap 1 05 septembre 2024 Date de fin de l activité scythe chap 1 30 octobre 2024 Nombre de participants de la session scythe chap 1 Participants 0 0 La session scythe chap 1 est complète Complet dogfighting tricksDate limite d inscription04 septembre 2024Nombre de participantsminimum 0 maximum 0S inscrire s</div><div role="heading" aria-level="3" class="card-title card_title card_title_Intonation_Library_View_Wrapper_ActivitySession"><a href="/abonne/detail-session/id/2" data-popup="" title="En savoir plus sur scythe chap 1." class="text-secondary">scythe chap 1</a></div><div title="" class="card-text"><div class="badge-group badge_group badge_group_Intonation_Library_View_Wrapper_ActivitySession"><span title="Date de début de l'activité scythe chap 1." class="badge_tag activity_badge session_date_debut text-left badge badge-info"><span class="badge_text align-middle d-inline-block text-left"><span class="sr-only">Date de début de l'activité scythe chap 1.</span>05 septembre 2024</span></span><span title="Date de fin de l'activité scythe chap 1." class="badge_tag activity_badge session_date_fin text-left badge badge-dark"><span class="badge_text align-middle d-inline-block text-left"><span class="sr-only">Date de fin de l'activité scythe chap 1.</span>30 octobre 2024</span></span><span title="Nombre de participants de la session scythe chap 1." class="badge_tag activity_badge session_attendees text-left badge badge-secondary"><span class="badge_text align-middle d-inline-block text-left"><span class="sr-only">Nombre de participants de la session scythe chap 1.</span>Participants : 0/0</span></span><span title="La session scythe chap 1 est complète." class="badge_tag activity_badge session_full text-left badge badge-danger"><span class="badge_text align-middle d-inline-block text-left"><span class="sr-only">La session scythe chap 1 est complète.</span>Complet</span></span></div><p class="model_description_Class_SessionActivity">dogfighting tricksDate limite d'inscription04 septembre 2024Nombre de participantsminimum : 0, maximum : 0S'inscrire</p></div></div><div class="cardify_horizontal_actions col-12 col-md-12 col-lg-3 px-0 pl-lg-3 pr-lg-0"><div class="container-fluid"><div class="row no-gutters"><div class="card_action col col-lg-12 p-0 mx-1 my-1"><a href="/abonne/detail-session/id/2" title="En savoir plus sur scythe chap 1." class="card-link"><i class="far fa-arrow-alt-circle-right library" aria-hidden="true"></i><div class="d-none d-md-inline text-left button_text">En savoir plus</div></a></div><div class="card_action 1 col col-lg-12 p-0 mx-1 my-1"><div id="dropdown_67c6e36404279" class="dropdown dropleft dropup"><button class="more_action btn" id="dropdown_button_67c6e36404279" data-toggle="dropdown" aria-haspopup="true"><i title="Voir les actions pour gérer scythe chap 1" class="fas fa-ellipsis-h utils" aria-hidden="true"></i><span class="d-none d-md-inline text-left button_text">Gérer <span class="sr-only">Voir les actions pour gérer scythe chap 1</span></span></button><div class="dropdown-menu" aria-labelledby="dropdown_button_67c6e36404279"><div class="py-0 px-3"><div class="container-fluid"><div class="row no-gutters"><div class="card_action menu_admin_front_anchor col col-lg-12 p-0 mx-1 my-1"><a href="/admin/session-activity/edit/id/2" title="Modifier la session du 05 septembre 2024 de l'activité scythe chap 1." data-popup="1" class="card-link menu_admin_front_anchor"><i class="fas fa-edit utils" aria-hidden="true"></i><div class="d-none d-md-inline text-left button_text">Modifier session</div></a></div><div class="card_action menu_admin_front_anchor col col-lg-12 p-0 mx-1 my-1"><a href="/admin/activity/edit/id/56" title="Modifier l'activité scythe chap 1." data-popup="1" class="card-link menu_admin_front_anchor"><i class="fas fa-edit utils" aria-hidden="true"></i><div class="d-none d-md-inline text-left button_text">Modifier activité</div></a></div><div class="card_action menu_admin_front_anchor col col-lg-12 p-0 mx-1 my-1"><a href="/admin/cms/edit/id/2" title="Modifier l'article de la session scythe chap 1." data-popup="1" class="card-link menu_admin_front_anchor"><i class="fas fa-edit utils" aria-hidden="true"></i><div class="d-none d-md-inline text-left button_text">Modifier article</div></a></div><div class="card_action menu_admin_front_anchor col col-lg-12 p-0 mx-1 my-1"><a href="/admin/session-activity/inscriptions/id/2/search_session_activity_subscription_status/all" title="Nouvelle inscription à l'activité scythe chap 1" class="card-link menu_admin_front_anchor" target="_blank"><i class="fas fa-users library" aria-hidden="true"></i><div class="d-none d-md-inline text-left button_text">Nouvelle inscription</div></a></div><div class="card_action menu_admin_front_anchor col col-lg-12 p-0 mx-1 my-1"><a href="/admin/session-activity/fiche_emargement/id/2" title="Imprimer la feuille d'émargement de la session scythe chap 1." class="card-link menu_admin_front_anchor" target="_blank"><i class="fas fa-print utils" aria-hidden="true"></i><div class="d-none d-md-inline text-left button_text">Imprimer émargement</div></a></div></div></div></div></div></div></div></div></div></div></div></div></div></div><div style="display: none" class="list-group-item bg-transparent px-0 mb-3"><div class="card"><div class="container-fluid"><div class="row no-gutters"><div class="cardify_horizontal_img col-12 col-md-4 col-lg-3 px-0 pl-md-0 pr-md-3" aria-hidden="true"></div><div class="cardify_horizontal_content col-12 col-md-8 col-lg-6 px-0 py-3 py-md-0"><div class="hidde_content">scythe chap 1 Date de début de l activité scythe chap 1 10 octobre 2024 Date de fin de l activité scythe chap 1 30 octobre 2024 Nombre de participants de la session scythe chap 1 Participants 0 10 dogfighting aimDate limite d inscription08 octobre 2024Nombre de participantsminimum 1 maximum 10S inscrire s</div><div role="heading" aria-level="3" class="card-title card_title card_title_Intonation_Library_View_Wrapper_ActivitySession"><a href="/abonne/detail-session/id/15" data-popup="" title="En savoir plus sur scythe chap 1." class="text-secondary">scythe chap 1</a></div><div title="" class="card-text"><div class="badge-group badge_group badge_group_Intonation_Library_View_Wrapper_ActivitySession"><span title="Date de début de l'activité scythe chap 1." class="badge_tag activity_badge session_date_debut text-left badge badge-info"><span class="badge_text align-middle d-inline-block text-left"><span class="sr-only">Date de début de l'activité scythe chap 1.</span>10 octobre 2024</span></span><span title="Date de fin de l'activité scythe chap 1." class="badge_tag activity_badge session_date_fin text-left badge badge-dark"><span class="badge_text align-middle d-inline-block text-left"><span class="sr-only">Date de fin de l'activité scythe chap 1.</span>30 octobre 2024</span></span><span title="Nombre de participants de la session scythe chap 1." class="badge_tag activity_badge session_attendees text-left badge badge-secondary"><span class="badge_text align-middle d-inline-block text-left"><span class="sr-only">Nombre de participants de la session scythe chap 1.</span>Participants : 0/10</span></span></div><p class="model_description_Class_SessionActivity">dogfighting aimDate limite d'inscription08 octobre 2024Nombre de participantsminimum : 1, maximum : 10S'inscrire</p></div></div><div class="cardify_horizontal_actions col-12 col-md-12 col-lg-3 px-0 pl-lg-3 pr-lg-0"><div class="container-fluid"><div class="row no-gutters"><div class="card_action col col-lg-12 p-0 mx-1 my-1"><a href="/abonne/detail-session/id/15" title="En savoir plus sur scythe chap 1." class="card-link"><i class="far fa-arrow-alt-circle-right library" aria-hidden="true"></i><div class="d-none d-md-inline text-left button_text">En savoir plus</div></a></div><div class="card_action 1 col col-lg-12 p-0 mx-1 my-1"><div id="dropdown_67c6e364064df" class="dropdown dropleft dropup"><button class="more_action btn" id="dropdown_button_67c6e364064df" data-toggle="dropdown" aria-haspopup="true"><i title="Voir les actions pour gérer scythe chap 1" class="fas fa-ellipsis-h utils" aria-hidden="true"></i><span class="d-none d-md-inline text-left button_text">Gérer <span class="sr-only">Voir les actions pour gérer scythe chap 1</span></span></button><div class="dropdown-menu" aria-labelledby="dropdown_button_67c6e364064df"><div class="py-0 px-3"><div class="container-fluid"><div class="row no-gutters"><div class="card_action menu_admin_front_anchor col col-lg-12 p-0 mx-1 my-1"><a href="/admin/session-activity/edit/id/15" title="Modifier la session du 10 octobre 2024 de l'activité scythe chap 1." data-popup="1" class="card-link menu_admin_front_anchor"><i class="fas fa-edit utils" aria-hidden="true"></i><div class="d-none d-md-inline text-left button_text">Modifier session</div></a></div><div class="card_action menu_admin_front_anchor col col-lg-12 p-0 mx-1 my-1"><a href="/admin/activity/edit/id/56" title="Modifier l'activité scythe chap 1." data-popup="1" class="card-link menu_admin_front_anchor"><i class="fas fa-edit utils" aria-hidden="true"></i><div class="d-none d-md-inline text-left button_text">Modifier activité</div></a></div><div class="card_action menu_admin_front_anchor col col-lg-12 p-0 mx-1 my-1"><a href="/admin/cms/edit/id/3" title="Modifier l'article de la session scythe chap 1." data-popup="1" class="card-link menu_admin_front_anchor"><i class="fas fa-edit utils" aria-hidden="true"></i><div class="d-none d-md-inline text-left button_text">Modifier article</div></a></div><div class="card_action menu_admin_front_anchor col col-lg-12 p-0 mx-1 my-1"><a href="/admin/session-activity/inscriptions/id/15/search_session_activity_subscription_status/all" title="Nouvelle inscription à l'activité scythe chap 1" class="card-link menu_admin_front_anchor" target="_blank"><i class="fas fa-users library" aria-hidden="true"></i><div class="d-none d-md-inline text-left button_text">Nouvelle inscription</div></a></div><div class="card_action menu_admin_front_anchor col col-lg-12 p-0 mx-1 my-1"><a href="/admin/session-activity/fiche_emargement/id/15" title="Imprimer la feuille d'émargement de la session scythe chap 1." class="card-link menu_admin_front_anchor" target="_blank"><i class="fas fa-print utils" aria-hidden="true"></i><div class="d-none d-md-inline text-left button_text">Imprimer émargement</div></a></div></div></div></div></div></div></div></div></div></div></div></div></div></div></div><div class="truncate_list_bottom_tools col-12 d-none"><div class="truncate_list_container container-fluid my-2"><div class="justify-content-start row no-gutters"><div class="truncate_list_size_wrapper col-12 col-sm-3"><span class="truncate_list_size btn btn-sm btn-info"><span class="truncate_list_size_number" title="Nombre total d'élements présent dans la liste">6</span> éléments</span></div><div class="truncate_list_form_wrapper paginated_form col-12 col-sm-9"><form enctype="application/x-www-form-urlencoded" action="GET" class="inline_form row no-gutters" method="post"> +<div class="col row form-group no-gutters wrapper_zendafi_form_selectbottomtools inline_form_wrapper_zendafi_form_selectbottomtools"><label for="select_bottom_tools_1" data-name="select_bottom_tools_1" class="optional col-12 col-sm-5 col-form-label col-form-label-sm pr-1">Afficher</label> +<div class="col-12 col-sm align-self-center" role="presentation"> +<select name="select_bottom_tools_1" id="select_bottom_tools_1" title="Limiter le nombre d'éléments à afficher" class="select_size_tool zendafi_form_select_size_tool form-control form-control-sm custom-select custom-select-sm"><option value="3" label="3">3</option><option value="6" label="6">6</option><option value="15" label="15">15</option><option value="10000" label="Tout">Tout</option></select></div></div> +<div class="col row form-group no-gutters wrapper_zendafi_form_inputbottomtools inline_form_wrapper_zendafi_form_inputbottomtools"><label for="input_bottom_tools_1" data-name="input_bottom_tools_1" class="optional col-12 col-sm-5 col-form-label col-form-label-sm pr-1">Filtrer</label> +<div class="col-12 col-sm align-self-center" role="presentation"> +<input type="text" name="input_bottom_tools_1" id="input_bottom_tools_1" value="" placeholder="Filtrer avec un nom, un mot, une date" title="Filtrer la liste avec des noms, des mots, des dates" class="input_search_tool zendafi_form_input_search_tool form-control form-control-sm" onkeypress="if (event.keyCode == 13) {$(this.form).submit();return false; }"></div></div> + +<input type="submit" name="submit_bottom_tools_1" id="submit_bottom_tools_1" value="submit_bottom_tools_1" class="d-none zendafi_form_d-none btn btn-sm btn-primary"></form></div></div></div></div></div></div></div></div></div> -- GitLab