diff --git a/application/modules/admin/views/scripts/accueil/sitotheque.phtml b/application/modules/admin/views/scripts/accueil/sitotheque.phtml index e8118de3ecaebd64b1ac90e4001fe572bdd3149a..28829f9a494f80efee73cbf6a41e8a7eeeef1eeb 100644 --- a/application/modules/admin/views/scripts/accueil/sitotheque.phtml +++ b/application/modules/admin/views/scripts/accueil/sitotheque.phtml @@ -2,25 +2,15 @@ Class_ScriptLoader::getInstance() ->addJQueryReady(' function toggleDisplayTypeDependents() { - var dependents = $(".group_cat, #option_display_order, #option_nb_aff"); - ("3" == $("#type_aff").val()) ? dependents.addClass("hidden") : dependents.removeClass("hidden"); - - var recentDependents = $("#option_display_order"); - ("2" == $("#type_aff").val()) ? recentDependents.addClass("hidden") : ""; - - var nb_aff = $("#option_nb_aff"); - ($("#display_order-Random:checked").length || "2" == $("#type_aff").val()) ? "" : nb_aff.addClass("hidden"); + ("3" == $("#type_aff").val() || "2" == $("#type_aff").val()) ? $("#option_nb_aff").addClass("hidden") : $("#option_nb_aff").removeClass("hidden"); + ("3" == $("#type_aff").val()) ? $("#option_display_order").addClass("hidden") : $("#option_display_order").removeClass("hidden"); } $("#type_aff").change(function () { toggleDisplayTypeDependents(); }); -$("#option_display_order input").change(function () { - toggleDisplayTypeDependents(); -}); - toggleDisplayTypeDependents(); '); ?> @@ -70,9 +60,9 @@ toggleDisplayTypeDependents(); echo $this->formSelect('type_aff', $this->preferences['type_aff'], [], - ['1' => 'Une sélection de catégories ou de sites', - '2' => 'Les sites les plus récents', - '3' => 'Affichage hiérarchique par catégorie']) + ['1' => 'Affichage paginé', + '2' => 'Affichage groupé par catégorie', + '3' => 'Affichage hiérarchique par catégorie']); ?> </td> </tr> @@ -97,28 +87,18 @@ toggleDisplayTypeDependents(); $this->preferences['display_order'], [], ['Random' => $this->_('Par ordre aléatoire'), - 'Selection' => $this->_('Par ordre de sélection')]); + 'Selection' => $this->_('Par ordre de sélection'), + 'Recent' => $this->_('Les sites les plus récents')]); ?> </td> </tr> <tr id='option_nb_aff'> - <td class="droite" width="90px">Nbre à afficher </td> + <td class="droite" width="90px">Nbre de sites par page </td> <td class="gauche"><input type="text" name="nb_aff" size="3" maxlength="3" value="<?php print($this->preferences['nb_aff']); ?>"></td> </tr> - <tr class="group_cat"> - <td class="droite" width="90px">Grouper par catégorie </td> - <td class="gauche"> - <?php - echo $this->formCheckbox('group_by_categorie', - null, - ['checked' => $this->preferences['group_by_categorie']]); - ?> - </td> - </tr> </table> - </fieldset> <br /> diff --git a/library/Class/Systeme/ModulesAccueil/Sitotheque.php b/library/Class/Systeme/ModulesAccueil/Sitotheque.php index 26fb68344d5451c4f72f8d286e5fc34f277f65c8..4999b4755ddde246166e6a9fbd2cf22014052aeb 100644 --- a/library/Class/Systeme/ModulesAccueil/Sitotheque.php +++ b/library/Class/Systeme/ModulesAccueil/Sitotheque.php @@ -40,13 +40,12 @@ class Class_Systeme_ModulesAccueil_Sitotheque extends Class_Systeme_ModulesAccue /** @var array */ protected $_defaultValues = [ 'titre' => 'Sitothèque', // Titre de la boite - 'type_aff' => 1, // Type a afficher : 1=sélection libre, 2=les + récents + 'type_aff' => 1, // Type a afficher: 1=paginé, 2=groupe, 3=hiérarchique 'id_categorie' => '', // Liste d'id_categorie séparés par des tirets 'id_items' => '', // Liste d'id_site séparés par des tirets - 'nb_aff' => '2', // Nombre à afficher + 'nb_aff' => '2', // Nombre à afficher par page 'rss' => '0', - 'group_by_categorie' => false, //grouper les sites par categorie sous forme de menu, - 'display_order' => 'Random' //ordre d'affichage: Random ou Selection + 'display_order' => 'Random' //ordre d'aff: Random, Selection, Recent ]; } ?> \ No newline at end of file diff --git a/tests/application/modules/opac/controllers/ProfilOptionsControllerTest.php b/tests/application/modules/opac/controllers/ProfilOptionsControllerTest.php index 1c27adcdfa0926b7e956abb5ecb818a6979d459e..9c8eeb23a32fcd4b0ebbb258262c4ad88bbaf8f2 100644 --- a/tests/application/modules/opac/controllers/ProfilOptionsControllerTest.php +++ b/tests/application/modules/opac/controllers/ProfilOptionsControllerTest.php @@ -1308,7 +1308,7 @@ class ProfilOptionsControllerPagesJeuxWithSitothequeTest extends ProfilOptionsCo '10' => ['division' => '2', 'type_module' => 'SITO', - 'preferences' => ['rss' => 0, + 'preferences' => ['rss' => 1, 'id_categorie' => '2', 'group_by_categorie' => true]]], 'options' => []]); diff --git a/tests/db/UpgradeDBTest.php b/tests/db/UpgradeDBTest.php index b56a38ca5fdb8f2922102deef61888766c5f18a8..51357093ddc44f71e7fa6fd37e7ac686a0eac7d0 100644 --- a/tests/db/UpgradeDBTest.php +++ b/tests/db/UpgradeDBTest.php @@ -177,23 +177,26 @@ class UpgradeDB_277_Test extends UpgradeDBTestCase { -class UpgradeDB_278_Test extends UpgradeDBTestCase { +class UpgradeDB_279_Test extends UpgradeDBTestCase { + public function prepare() { - $this->query("update variables set liste='0:Pas informatisé\r\n1:Pergame\r\n2:Paprika\r\n3:Orphée\r\n4:Opsys\r\n5:Microbib\r\n6:Atalante\r\n7:Multilis\r\n8:Bibal\r\n9:Milord\r\n10:Elissa\r\n11:v-smart\r\n12:Koha\r\n13:Nanook\r\n14:Carthame\r\n15:Dynix\r\n' where clef='sigb';"); + $preferences = + file_get_contents(realpath(dirname(__FILE__)).'/../fixtures/SitoPreferencesSerialize.txt'); - $this->query("update variables set liste='0:aucun\r\n1:pergame\r\n2:web-service Opsys\r\n3:serveur Z39.50\r\n4:web-service V-Smart\r\n5:web-service Koha\r\n6:web-service Carthame\r\n7:web-service AFI-Nanook\r\n8:web-service Orphée\r\n9:web-service Microbib\r\n10:web-service BiblixNet\r\n11:web-service Dynix-Symphony\r\n' where clef='comm_sigb';"); + $this->query('update bib_admin_profil set ' + .'cfg_accueil=\'' . $preferences + . '\'where id_profil=2048'); } /** @test */ - public function cdScriptShouldBePresentInSigbList() { - $this->assertContains("16:Cd-Script\r\n", $this->query('select liste from variables where clef = "sigb";')->fetch()['liste']); - } - - - /** @test */ - public function cdScriptShouldBePresentInCommSigbList() { - $this->assertContains("12:Cd-Script\r\n", $this->query('select liste from variables where clef = "comm_sigb";')->fetch()['liste']); - } -} + public function shouldMakeTest() { + $profil = Class_Profil::find(2048); + $prefs = []; + $prefs[] = $profil->getModuleAccueilConfig(1, 'SITO')['preferences']; + $prefs[] = $profil->getModuleAccueilConfig(2, 'SITO')['preferences']; + $prefs[] = $profil->getModuleAccueilConfig(3, 'SITO')['preferences']; + $this->assertEmpty($prefs, print_r($prefs)); + } +} \ No newline at end of file