From 2810c05c081ed9dbdd3125488d139c6bac811670 Mon Sep 17 00:00:00 2001 From: gloas <gloas@afi-sa.fr> Date: Thu, 6 Apr 2017 11:46:28 +0200 Subject: [PATCH] CIP #57952 fix rt comments --- .../admin/controllers/WidgetController.php | 9 ++--- library/Class/Admin/Skin.php | 33 ++++++++++--------- .../ModulesAccueil/ConteneurDeuxColonnes.php | 4 +-- library/Class/Users.php | 15 +++++++++ .../ZendAfi/View/Helper/Admin/RenderForm.php | 13 ++++++-- library/ZendAfi/View/Helper/TagEditMenu.php | 2 +- public/opac/skins/original/css/global.css | 2 +- 7 files changed, 50 insertions(+), 28 deletions(-) diff --git a/application/modules/admin/controllers/WidgetController.php b/application/modules/admin/controllers/WidgetController.php index 5cd96bea56e..d8c186186d8 100644 --- a/application/modules/admin/controllers/WidgetController.php +++ b/application/modules/admin/controllers/WidgetController.php @@ -24,13 +24,8 @@ class Admin_WidgetController extends ZendAfi_Controller_Action { public function preDispatch() { parent::preDispatch(); - $user = Class_Users::getIdentity(); - $profil = Class_Profil::find($this->_getParam('id_profil', 1)); - - - if((!$user->isAdminBib() && !$user->hasRightConfigFront()) - || ($user->isAdminBib() && ($user->getIdSite() !== $profil->getIdSite()))) - $this->_redirectClose($this->_getReferer()); + if(!Class_Users::isCurrentUserAllowedToEditProfile($this->_getParam('id_profil', 1))) + $this->_redirectClose($this->_getReferer()); } diff --git a/library/Class/Admin/Skin.php b/library/Class/Admin/Skin.php index 05da59352a7..0599f9e7647 100644 --- a/library/Class/Admin/Skin.php +++ b/library/Class/Admin/Skin.php @@ -39,8 +39,8 @@ class Class_Admin_Skin { public static function current() { $user = Class_Users::getIdentity() - ? Class_Users::getIdentity() - : new Class_Users(); + ? Class_Users::getIdentity() + : new Class_Users(); return $user->getAdminSkin(); } @@ -136,36 +136,39 @@ class Class_Admin_Skin { public function renderButtonCssOn($script_loader) { - $script_loader - ->addStyleSheets(array_merge([$this->_getSkinUrl() . 'buttons.css'], - $this->_getBaseStyleSheets())); - return $this; + return $this->_renderCssOn($script_loader, 'buttons.css'); } public function renderFormCssOn($script_loader) { - $script_loader - ->addStyleSheets(array_merge([$this->_getSkinUrl() . 'form.css'], - $this->_getBaseStyleSheets())); - return $this; + return $this->_renderCssOn($script_loader, 'form.css'); } public function renderJQueryCssOn($script_loader) { + return $this->_renderCssOn($script_loader, 'jquery.css'); + } + + + protected function _renderCssOn($script_loader, $css) { $script_loader - ->addStyleSheets(array_merge([$this->_getSkinUrl() . 'jquery.css'], - $this->_getBaseStyleSheets())); + ->addStyleSheets($this->_addColorsCss($css)); return $this; } public function getStyleSheets() { - return array_merge([$this->_getSkinUrl() . 'global.css'], - $this->_getBaseStyleSheets()); + return $this->_addColorsCss('global.css'); + } + + + protected function _addColorsCss($css) { + return array_merge([$this->_getSkinUrl() . $css], + $this->_getColorsStyleSheets()); } - protected function _getBaseStyleSheets() { + protected function _getColorsStyleSheets() { return array_filter([$this->_getSkinUrl() . 'colors.css', ($this->_color ? $this->_getSkinUrl() . static::ADMIN_COLORS_FOLDER . $this->_color diff --git a/library/Class/Systeme/ModulesAccueil/ConteneurDeuxColonnes.php b/library/Class/Systeme/ModulesAccueil/ConteneurDeuxColonnes.php index 67f8b9ffcb2..b55eb250340 100644 --- a/library/Class/Systeme/ModulesAccueil/ConteneurDeuxColonnes.php +++ b/library/Class/Systeme/ModulesAccueil/ConteneurDeuxColonnes.php @@ -75,9 +75,9 @@ class Class_Systeme_ModulesAccueil_ConteneurDeuxColonnes extends Class_Systeme_M public static function getOrCreateModuleForCol($profil, $id, $type_module, $colonne) { - if(!$id = $profil->getModuleIdFromCol($id, $type_module, $colonne)) { + if(!$id = $profil->getModuleIdFromCol($id, $type_module, $colonne)) return $profil->createNewModuleAccueilId(1000); - } + return $id; } diff --git a/library/Class/Users.php b/library/Class/Users.php index 5adf61f55ec..0eb87aecdbc 100644 --- a/library/Class/Users.php +++ b/library/Class/Users.php @@ -201,6 +201,21 @@ class UsersLoader extends Storm_Model_Loader { } + public function isCurrentUserAllowedToEditProfile($profile_id) { + if(!$profile = Class_Profil::find($profile_id)) + return false; + + if(!$user = $this->getIdentity()) + return false; + + if((!$user->isAdminBib() && !$user->hasRightConfigFront()) + || ($user->isAdminBib() && ($user->getIdSite() !== $profile->getIdSite()))) + return false; + + return true; + } + + /** * @param Class_Article * @return bool diff --git a/library/ZendAfi/View/Helper/Admin/RenderForm.php b/library/ZendAfi/View/Helper/Admin/RenderForm.php index b6ca3ca9fb4..2d7ea5d7730 100644 --- a/library/ZendAfi/View/Helper/Admin/RenderForm.php +++ b/library/ZendAfi/View/Helper/Admin/RenderForm.php @@ -31,13 +31,22 @@ class ZendAfi_View_Helper_Admin_RenderForm extends ZendAfi_View_Helper_RenderFor $form->setAttrib('id', md5(implode($form->getElementsNames()))); Class_ScriptLoader::getInstance()->formToTabs('#' . $form->getId()); - Class_Admin_Skin::current()->renderFormCssOn(Class_ScriptLoader::getInstance()); - Class_Admin_Skin::current()->renderJQueryCssOn(Class_ScriptLoader::getInstance()); + + $this->_customizeRendering(); return parent::renderForm($form, $buttons); } + protected function _customizeRendering() { + Class_Admin_Skin::current() + ->renderFormCssOn(Class_ScriptLoader::getInstance()) + ->renderJQueryCssOn(Class_ScriptLoader::getInstance()); + + return $this; + } + + protected function _cloneButtons($form) { if($this->view->isPopup()) return ''; diff --git a/library/ZendAfi/View/Helper/TagEditMenu.php b/library/ZendAfi/View/Helper/TagEditMenu.php index d13d1984380..022964ab452 100644 --- a/library/ZendAfi/View/Helper/TagEditMenu.php +++ b/library/ZendAfi/View/Helper/TagEditMenu.php @@ -22,7 +22,7 @@ class ZendAfi_View_Helper_TagEditMenu extends ZendAfi_View_Helper_BaseHelper { public function tagEditMenu($menu_id, $profile_id, $parent_id = null, $params = []) { - if (!Class_Users::isCurrentUserCanConfigFront()) + if (!Class_Users::isCurrentUserAllowedToEditProfile($profile_id)) return ''; $menu = new Class_Systeme_Widget_Menu(); diff --git a/public/opac/skins/original/css/global.css b/public/opac/skins/original/css/global.css index 553ed283eda..9cf5d1c76ed 100644 --- a/public/opac/skins/original/css/global.css +++ b/public/opac/skins/original/css/global.css @@ -49,7 +49,7 @@ a:visited{color:#0058A5; text-decoration:none;} #menu_horizontal { background: transparent url(../images/fond_titre.gif) repeat-x; -* height: 30px; + height: 30px; cursor: pointer; color: white; -- GitLab