diff --git a/application/modules/admin/controllers/ProfilController.php b/application/modules/admin/controllers/ProfilController.php index df7f74db9a27b1ba15741ddae86ff6585f348829..414f64fab14a082d5b712bc303028870c68be9ac 100644 --- a/application/modules/admin/controllers/ProfilController.php +++ b/application/modules/admin/controllers/ProfilController.php @@ -257,7 +257,7 @@ class Admin_ProfilController extends ZendAfi_Controller_Action { $enreg = $this->_parseSaveContentString(); $enreg["use_parent_css"] = $this->_getParam('use_parent_css', $profil->getUseParentCss()); $enreg['sitemap'] = $this->_getParam('sitemap'); - $enreg["page_css"]=$this->_getParam('page_css'); + $enreg["page_css"] = $this->_getParam('page_css'); $profil->setLibelle($this->_getParam('libelle', $profil->getLibelle())); $profil->setRewriteUrl($this->_getParam('rewrite_url')); @@ -332,7 +332,8 @@ class Admin_ProfilController extends ZendAfi_Controller_Action { public function accueilAction() { $this->view->titre = $this->_('Configuration de la page: ') . $this->_profil->getLibelle(); $params = array_merge($this->_profil->toArray(), - $this->_profil->getCfgSiteAsArray()); + $this->_profil->getCfgSiteAsArray(), + $this->_profil->getCfgAccueilAsArray()); $this->view->form = ZendAfi_Form_Configuration_Profile_Page::newWith($params); $this->view->form->setAction($this->view->url()); diff --git a/library/Class/Profil.php b/library/Class/Profil.php index ada0bbcb206448c852b33296dc52eb42f8fc74ce..871b055aadcdd3b1b9f7c61464e729b1e35e0732 100644 --- a/library/Class/Profil.php +++ b/library/Class/Profil.php @@ -339,7 +339,7 @@ class Class_Profil extends Storm_Model_Abstract { if (!isset(self::$DEFAULT_VALUES)) self::$DEFAULT_VALUES = ['cfg_site' => '', - 'cfg_accueil' => ZendAfi_Filters_Serialize::serialize([ 'page_css' => null, + 'cfg_accueil' => ZendAfi_Filters_Serialize::serialize(['page_css' => null, 'use_parent_css' => true, 'modules' => [], 'sitemap' => 1]), diff --git a/library/ZendAfi/View/Helper/ProfileComposition.php b/library/ZendAfi/View/Helper/ProfileComposition.php index dc25410348a932848852d3aab00bff4e0a946d29..88c94171a03aba1996f32a588b1b639f058d243c 100644 --- a/library/ZendAfi/View/Helper/ProfileComposition.php +++ b/library/ZendAfi/View/Helper/ProfileComposition.php @@ -56,7 +56,11 @@ class ZendAfi_View_Helper_ProfileComposition extends ZendAfi_View_Helper_BaseHel protected function _getAvailableWidgetsFor($group) { - $widgets = (new Class_Systeme_ModulesAccueil)->getWidgets()[$group]; + $widgets = (new Class_Systeme_ModulesAccueil)->getWidgets(); + if(!isset($widgets[$group])) + return ''; + + $widgets = $widgets[$group]; $lis = []; foreach($widgets as $type => $label) @@ -86,12 +90,19 @@ class ZendAfi_View_Helper_ProfileComposition extends ZendAfi_View_Helper_BaseHel protected function _mainContainer() { - $html = [$this->_getSideColumn(), - $this->_getBannerColumn(), - $this->_getDivionsColumns()]; return $this->_tag('h4', $this->_('Boites installées')) . - $this->_tag('div', implode($html), ['class' => 'drag_drop_container']); + $this->_tag('div', implode($this->_mainContainerComposition()), ['class' => 'drag_drop_container']); + } + + + protected function _mainContainerComposition() { + if(Class_Profil::getCurrentProfil()->isTelephone()) + return [$this->_getDivisionColumn(1, $this->_('Division téléphone'))]; + + return[$this->_getSideColumn(), + $this->_getBannerColumn(), + $this->_getDivionsColumns()]; } diff --git a/public/admin/css/global.css b/public/admin/css/global.css index 4a69eb8a93e30eb7d2317c689e4348adbb19284b..0e2ba08298ba3c3dee78d9c570f3286ce1208de2 100644 --- a/public/admin/css/global.css +++ b/public/admin/css/global.css @@ -1543,6 +1543,11 @@ tr.modified > td + td + td { background-color: var(--previous-version-background); } +body .required:after, +body .error, +body .errors, +body .errors *, +body .error *, tr.modified label, .modules a.modified { color: var(--error-text); diff --git a/public/admin/skins/bokeh74/global.css b/public/admin/skins/bokeh74/global.css index 690ea659e4b5f7db60b6cd32886fd23003309a13..462e1fb5bf99c2c0f65f8603d6bd1fc2c1489691 100755 --- a/public/admin/skins/bokeh74/global.css +++ b/public/admin/skins/bokeh74/global.css @@ -8,9 +8,11 @@ body { color: var(--nav-text); } -.required:after, -.error, -.errors { +body .required:after, +body .error, +body .errors, +body .errors *, +body .error * { color: var(--error-text); } diff --git a/public/admin/skins/retro/global.css b/public/admin/skins/retro/global.css index 2539f9c8f82770da387eb54ee6a1d7f2bbd7925b..d782284e4afc1cb670a11107c55e39709fa18f18 100755 --- a/public/admin/skins/retro/global.css +++ b/public/admin/skins/retro/global.css @@ -791,6 +791,11 @@ tr.modified > td + td + td { background-color: var(--previous-version-background); } +body .required:after, +body .error, +body .errors, +body .errors *, +body .error *, tr.modified label, .modules a.modified { color: var(--error-text); diff --git a/public/opac/js/input_connect_list/input_connect_list.js b/public/opac/js/input_connect_list/input_connect_list.js index 33459eb87433727af1b60d6dde8d935b8b89c313..313da3f237d14de8f3de027ec671efde9050135a 100644 --- a/public/opac/js/input_connect_list/input_connect_list.js +++ b/public/opac/js/input_connect_list/input_connect_list.js @@ -109,9 +109,6 @@ var containers = widget.find('ul.container_list'); var fixed = sources.html(); var lists = widget.find('ul'); - var action = widget.closest("form").attr("action"); - action += "#fieldset-profile_composition_group"; - widget.closest("form").attr("action", action); containers.each(function() { var values = ""; @@ -131,7 +128,6 @@ }); $(event.target).closest('div').find('input').val(values) $(event.target).closest('form').submit(); - widget.find('input').change(); } }); }; diff --git a/tests/application/modules/admin/controllers/ProfilControllerPageAccueilTest.php b/tests/application/modules/admin/controllers/ProfilControllerPageAccueilTest.php index 388dd97f3288aeb8a2ae652e620b03402c366e54..b4bedd19106f349831e8201ed069b2ab728ab7d2 100644 --- a/tests/application/modules/admin/controllers/ProfilControllerPageAccueilTest.php +++ b/tests/application/modules/admin/controllers/ProfilControllerPageAccueilTest.php @@ -314,48 +314,53 @@ class Admin_ProfilControllerPageAccueilJeunesseTest extends Admin_ProfilControll class ProfilControllerPageAccueilWithTelephonePackMobileTest extends Admin_AbstractControllerTestCase { public function setUp() { parent::setUp(); - - Class_AdminVar::getLoader()->newInstanceWithId('PACK_MOBILE') - ->setValeur(1); - - Class_AdminVar::getLoader()->newInstanceWithId('BIB_NUMERIQUE') - ->setValeur(1); - - $profil_telephone = Class_Profil::getLoader() - ->newInstanceWithId(3) - ->setLibelle('iPhone') - ->beTelephone(); - $this->dispatch('/admin/profil/accueil/id_profil/3'); + $this->fixture('Class_AdminVar', + ['id' => 'PACK_MOBILE', + 'valeur' => 1]); + $this->fixture('Class_AdminVar', + ['id' => 'BIB_NUMERIQUE', + 'valeur' => 1]); + $profil = $this->fixture('Class_Profil', + ['id' => 3, + 'libelle' => 'iphone']); + $profil->beTelephone(); + $this->dispatch('/admin/profil/accueil/id_profil/3', true); } /** @test */ public function moduleNewsShouldBeAvailable() { - $this->assertXPath('//ul/li[@id="NEWS"]'); + $this->assertXPath('//li[@data-value="NEWS-0"]'); } /** @test */ public function moduleBibNumeriqueShouldBeAvailable() { - $this->assertXPath('//ul/li[@id="BIB_NUMERIQUE"]'); + $this->assertXPath('//ul/li[@data-value="BIB_NUMERIQUE-0"]'); } /** @test */ public function moduleCritiquesShouldBeAvailable() { - $this->assertXPath('//ul/li[@id="CRITIQUES"]'); + $this->assertXPath('//ul/li[@data-value="CRITIQUES-0"]'); } /** @test */ public function moduleKiosqueShouldBeAvailable() { - $this->assertXPath('//ul/li[@id="KIOSQUE"]'); + $this->assertXPath('//ul/li[@data-value="KIOSQUE-0"]'); } /** @test */ public function moduleLoginShouldNotBeAvailable() { - $this->assertNotXPath('//ul/li[@id="LOGIN"]'); + $this->assertNotXPath('//ul/li[@data-value="LOGIN-0"]'); + } + + + /** @test */ + public function onlyDivision2shouldBeDisplayed() { + $this->assertXPath('//div[@class="drag_drop_container"]/div[1][@data-division="1"]'); } } @@ -374,13 +379,13 @@ class ProfilControllerPageAccueilWithTelephoneNoPackMobileNoBibNumTest extends A $this->profil_jeunesse->beTelephone(); - $this->dispatch('/admin/profil/accueil/id_profil/'.$this->profil_jeunesse->getId()); + $this->dispatch('/admin/profil/accueil/id_profil/'.$this->profil_jeunesse->getId(), true); } /** @test */ public function moduleNewsShouldBeAvailable() { - $this->assertXPath('//ul/li[@id="NEWS"]'); + $this->assertXPath('//ul/li[@data-value="NEWS-0"]'); } @@ -468,7 +473,7 @@ class Admin_ProfilControllerPageAccueilJeunesseWithPageCssNouveauteTest extends /** @test **/ public function pageCssShoudBeNouveauCss() { - $this->assertXPath('//input[@name="page_css"][contains(@value, "nouveaute.css")]',$this->_response->getBody()); + $this->assertXPath('//input[@name="page_css"][contains(@value, "nouveaute.css")]'); } } @@ -523,7 +528,7 @@ class Admin_ProfilControllerPageAccueilNoPanierTest extends Admin_ProfilControll /** @test **/ public function boitePanierShouldHaveBeenAddedInDivision5() { - $this->assertXPath('//ul[@id="box5"]/li[@id="PANIER"]'); + $this->assertXPath('//div[@data-division="5"]//li[contains(@data-value, "PANIER")]'); } } @@ -585,7 +590,7 @@ class Admib_ProfilControllerPageAccueilWithWidgetInBannerPostDispatchTest extend public function setUp() { parent::setUp(); - $this->postDispatch('/admin/profil/accueil/id_profil/3', []); + $this->postDispatch('/admin/profil/accueil/id_profil/3', ['libelle' => 'test']); } @@ -607,7 +612,7 @@ class Admib_ProfilControllerPageAccueilWithWidgetInBannerPostDispatchTest extend -class Admin_ProfilControllerPageAccueilWithMenuBoiteEnabledTest extends Admin_AbstractControllerTestCase { +class Admin642_ProfilControllerPageAccueilWithMenuBoiteEnabledTest extends Admin_AbstractControllerTestCase { public function setUp() { parent::setUp(); @@ -624,14 +629,13 @@ class Admin_ProfilControllerPageAccueilWithMenuBoiteEnabledTest extends Admin_Ab $this->fixture('Class_AdminVar',['id'=>'MENU_BOITE', 'valeur' => 1]); - $cfg_module = "box1|2|NEWS|titre=Articles---type_aff=1---id_categorie=---id_items=---nb_aff=1---nb_analyse=5---display_order=Selection---display_titles_only=---rss_avis=1---op_largeur_img=200---op_hauteur_boite=400---boite=---=---;box1|3|NEWS|titre=Articles---type_aff=1---id_categorie=---id_items=---nb_aff=1---nb_analyse=5---display_order=Selection---display_titles_only=---rss_avis=1---op_largeur_img=200---op_hauteur_boite=400---boite=---=---;box1|1|KIOSQUE|titre=Kiosque---style_liste=slide_show---nb_notices=20---only_img=1---aleatoire=1---tri=1---nb_analyse=50---op_hauteur_img=0---op_transition=---op_largeur_img=0---op_hauteur_boite=0---op_captions=0---op_autoplay=0---op_visible=0---op_speed=0---op_auto=0---op_scroll=1---rss_avis=1---id_catalogue=0---id_panier=0---profil_redirect=---boite=---=---;box1|4|KIOSQUE|titre=Kiosque---style_liste=slide_show---nb_notices=20---only_img=1---aleatoire=1---tri=1---nb_analyse=50---op_hauteur_img=0---op_transition=---op_largeur_img=0---op_hauteur_boite=0---op_captions=0---op_autoplay=0---op_visible=0---op_speed=0---op_auto=0---op_scroll=1---rss_avis=1---id_catalogue=0---id_panier=0---profil_redirect=---boite=---=---;box2|8|MENU_VERTICAL|menu=V---afficher_titre=1---menu_deplie=0---new_html=0---boite=---titre=---=---;box2|5|MENU_VERTICAL|menu=V---afficher_titre=1---menu_deplie=0---new_html=0---boite=---titre=---=---;box3|10|PANIER|titre=Favoris---boite=---=---;box3|new|PANIER|;box4|6|LOGIN|titre=Mon compte lecteur---titre_connecte=---identifiant=N° de carte---identifiant_exemple=---mot_de_passe=Année de naissance---mot_de_passe_exemple=---lien_connexion=Se connecter---lien_mot_de_passe_oublie=» Mot de passe oublié ?---lien_creer_compte=» S'enregistrer---message_connecte=Bienvenue---lien_compte=Mon compte---lien_deconnection=Se déconnecter---autocomplete_off=1---profil_redirect=---profil_logout_redirect=---boite=boite_banniere_droite---"; - + $cfg_module = "box3|new|PANIER|;box4|6|LOGIN|titre=Mon compte lecteur---titre_connecte=---identifiant=N° de carte---identifiant_exemple=---mot_de_passe=Année de naissance---mot_de_passe_exemple=---lien_connexion=Se connecter---lien_mot_de_passe_oublie=» Mot de passe oublié ?---lien_creer_compte=» S'enregistrer---message_connecte=Bienvenue---lien_compte=Mon compte---lien_deconnection=Se déconnecter---autocomplete_off=1---profil_redirect=---profil_logout_redirect=---boite=boite_banniere_droite---"; - $this - ->getRequest() - ->setMethod('POST') - ->setPost(array('saveContent' => $cfg_module)); - $this->dispatch('/admin/profil/accueil/id_profil/713'); + $this->postDispatch('/admin/profil/accueil/id_profil/713', ['libelle' => 'test', + 'division1' => 'NEWS-2;NEWS-3;KIOSQUE-1;KIOSQUE-4;', + 'division2' => 'MENU_VERTICAL-5;CALENDAR-0', + 'division3' => 'PANIER-10;PANIER-0', + 'division4' => 'LOGIN-6']); } @@ -642,9 +646,10 @@ class Admin_ProfilControllerPageAccueilWithMenuBoiteEnabledTest extends Admin_Ab $this->assertCount(9, $cfg_accueil['modules']); } + /** @test */ - public function moduleTenTitleShouldBeFavoris() { - $this->assertEquals('Favoris', + public function moduleTenTitleShouldBePanier() { + $this->assertEquals('Panier', Class_Profil::find(713)->getModuleAccueilPreferences(10, 'PANIER')['titre']); } }