Skip to content
Snippets Groups Projects
Commit a03f22c9 authored by Ghislain Loas's avatar Ghislain Loas
Browse files

Merge branch...

Merge branch 'hotline#140494_ales_bug_dans_les_pages_issues_des_liens_vers_une_selection_d_articles' into 'hotline'

hotline MT #140494 fix admin links in render menu entry action

See merge request !4215
parents efed0729 d2e12df9
Branches
Tags
3 merge requests!4230master in,!4227hotline#137304 : Worklfow : link sent in email for article validation in...,!4215hotline MT #140494 fix admin links in render menu entry action
Pipeline #14816 passed with stage
in 58 minutes and 42 seconds
- ticket #140494 : Magasin de thèmes : Correction du lien de configuration des pages affichant le contenu des "liens vers une selection d'articles".
\ No newline at end of file
......@@ -447,6 +447,26 @@ abstract class Class_Systeme_Widget_Abstract extends Class_Entity {
}
public function setAdminLinksHelper($helper) {
return $this->set('AdminLinksHelper', $helper);
}
public function setMenuAdminLinksHelper($view) {
if (Class_Systeme_Widget_Menu::class != get_class($this))
return $this;
$helper = (new ZendAfi_View_Helper_TagEditMenu)->setView($view);
return $this->setAdminLinksHelper($helper);
}
public function getAdminLinksHelper() {
return $this->get('AdminLinksHelper');
}
protected function _disableFonctionAdmin() {
$this->_disable_fonction_admin = true;
return $this;
......
......@@ -182,6 +182,9 @@ class ZendAfi_View_Helper_Accueil_Base extends ZendAfi_View_Helper_ModuleAbstrac
if (!$this->_fonction_admin_helper)
return '';
if (is_object($this->_fonction_admin_helper))
return $this->_fonction_admin_helper->renderAdminLinks($this);
$helper = $this->view->getHelper($this->_fonction_admin_helper);
return $helper->fonctionsAdmin($this->id_module,
$this->type_module,
......
......@@ -21,6 +21,13 @@
class ZendAfi_View_Helper_TagEditMenu extends ZendAfi_View_Helper_BaseHelper {
public function renderAdminLinks($menu) {
return $this->tagEditMenu($menu->getId(),
$menu->getProfileId(),
$menu->getParent());
}
public function tagEditMenu($menu_id, $profile_id, $parent_id = null, $params = []) {
if (!Class_Users::isCurrentUserAllowedToEditProfile(Class_Profil::find($profile_id)))
return '';
......
......@@ -67,6 +67,9 @@ abstract class Intonation_System_Abstract {
$this->forForm(),
$view);
if ($helper = $this->_settings->getAdminLinksHelper())
$widget->setFonctionAdminHelper($helper);
if ($this->_settings->isFonctionAdminDisabled())
$widget->setFonctionAdminHelper(null);
......
......@@ -54,7 +54,11 @@ class Intonation_Template extends Class_Template {
public function renderWidget($widget, $view) {
Class_AnchorTarget::setTarget($widget->getAnchorTarget());
$widget->setSection(new Class_Entity);
$widget
->setMenuAdminLinksHelper($view)
->setSection(new Class_Entity);
return $this->renderWidgetOn((new Intonation_System_Widget)->setSettings($widget), $view);
}
......
{
"id": 1,
"id_profil": 1,
"browser": "opac",
"libelle": "Le r\u00e9seau",
"titre_site": "M\u00e9diath\u00e8que Al\u00e8s Agglom\u00e9ration - Le r\u00e9seau",
"cfg_accueil": {
"modules": {
"24": {
"division": "4",
"type_module": "NAV",
"preferences": {
"titre": "Menu principal haut",
"menu": "1-0",
"boite": [
"admin_tools_invert_colors",
"fond-sombre",
"justify-content-center",
"m-auto",
"no_border",
"no_border_radius",
"no_shadow",
"text-center"
],
"id_module": "6",
"profile_id": "7",
"MuscleExpandBreakpoint": "sm",
"MuscleWidthXsmall": "12",
"MuscleWidthXlarge": "12",
"MuscleVisibilityIndex": "1",
"MuscleVisibilityRecherche": "1",
"MuscleVisibilityAbonne": "1",
"MuscleVisibilityCms": "1",
"MuscleVisibilityBlog": "1",
"MuscleVisibilityAuth": "1"
}
},
"29": {
"division": "6",
"type_module": "MENU",
"preferences": {
"titre": "Boite menu",
"menu": "1-3",
"layout": "horizontal",
"boite": [
"fond-sombre",
"justify-content-center",
"no_border",
"no_border_radius",
"no_shadow"
],
"id_module": "13",
"profile_id": "1",
"MuscleWidthXsmall": "12",
"MuscleVisibilityIndex": "1",
"MuscleVisibilityRecherche": "1",
"MuscleVisibilityAbonne": "1",
"MuscleVisibilityCms": "1",
"MuscleVisibilityBlog": "1",
"MuscleVisibilityAuth": "1"
}
}
}
},
"cfg_menus": {
"0": {
"type_menu": "MENU",
"libelle": "Menu",
"preferences": [],
"menus": {
"0": {
"type_menu": "ACCUEIL",
"libelle": "Accueil",
"preferences": {
"use_profil": "1"
}
},
"1": {
"type_menu": "MENU",
"libelle": "Pratique",
"preferences": [],
"children": "2;3;4;5;6;7;",
"sous_menus": {
"2": {
"type_menu": "PROFIL",
"libelle": "M\u00e9diath\u00e8ques et horaires",
"preferences": {
"clef_profil": "19"
}
},
"3": {
"type_menu": "NEWS",
"libelle": "S'inscrire et emprunter",
"preferences": {
"id_items": "13",
"nb_aff": "5",
"nb_analyse": "10",
"display_order": "DateCreationDesc",
"display_mode": "Submenu",
"summary_content": "FullContent",
"layout": "list",
"rendering": "page",
"size": "3",
"all_layout": "list",
"all_rendering": "card-horizontal",
"description_length": "20",
"titre": "S'inscrire et emprunter",
"order": "Selection",
"boite": [
"no_background",
"no_border",
"no_border_radius",
"no_shadow",
"py-5"
],
"MuscleShowHeader": "1",
"MuscleShowFooter": "1"
}
},
"4": {
"type_menu": "NEWS",
"libelle": "La MAD",
"preferences": {
"id_items": "12",
"nb_aff": "5",
"nb_analyse": "10",
"display_order": "DateCreationDesc",
"display_mode": "Submenu",
"summary_content": "FullContent",
"layout": "list",
"rendering": "page",
"size": "3",
"all_layout": "list",
"all_rendering": "card-horizontal",
"description_length": "20",
"titre": "La MAD",
"order": "Selection",
"boite": [
"no_background",
"no_border",
"no_border_radius",
"no_shadow",
"py-5"
],
"MuscleShowHeader": "1",
"MuscleShowFooter": "1",
"MuscleShowContent": "1"
}
},
"5": {
"type_menu": "NEWS",
"libelle": "Chartes et r\u00e8glement",
"preferences": {
"id_items": "15",
"nb_aff": "5",
"nb_analyse": "10",
"display_order": "DateCreationDesc",
"display_mode": "Submenu",
"summary_content": "FullContent",
"layout": "list",
"rendering": "page",
"size": "20",
"all_layout": "list",
"all_rendering": "card-horizontal",
"description_length": "20",
"titre": "Chartes et r\u00e8glement",
"order": "Selection",
"boite": [
"no_background",
"no_border",
"no_border_radius",
"no_shadow",
"py-5"
],
"MuscleShowHeader": "1",
"MuscleShowContent": "1"
}
},
"6": {
"type_menu": "NEWS",
"libelle": "Foire aux questions",
"preferences": {
"id_items": "50",
"nb_aff": "5",
"nb_analyse": "10",
"display_order": "DateCreationDesc",
"display_mode": "Submenu",
"summary_content": "FullContent",
"layout": "list",
"rendering": "page",
"size": "20",
"all_layout": "list",
"all_rendering": "card-horizontal",
"description_length": "20",
"titre": "Foire aux questions",
"order": "Selection",
"boite": [
"no_background",
"no_border",
"no_border_radius",
"no_shadow",
"py-5"
],
"MuscleShowHeader": "1",
"MuscleShowContent": "1"
}
},
"7": {
"type_menu": "FORM_CONTACT",
"libelle": "Nous contacter",
"preferences": {
"barre_nav": "Lien vers le formulaire de contact"
}
}
}
},
"9": {
"type_menu": "MENU",
"libelle": "Services",
"preferences": [],
"children": "10;11;12;15;13;14;16;17;18;19;",
"sous_menus": {
"10": {
"type_menu": "NEWS",
"libelle": "Pr\u00e9-inscription en ligne",
"preferences": {
"id_items": "28",
"nb_aff": "5",
"nb_analyse": "10",
"display_order": "DateCreationDesc",
"display_mode": "Submenu",
"summary_content": "FullContent",
"layout": "list",
"rendering": "page",
"size": "20",
"all_layout": "list",
"all_rendering": "card-horizontal",
"description_length": "20",
"titre": "Pr\u00e9-inscription en ligne",
"order": "Selection",
"boite": [
"no_background",
"no_border",
"no_border_radius",
"no_shadow",
"py-5"
],
"MuscleShowHeader": "1",
"MuscleShowContent": "1"
}
},
"11": {
"type_menu": "NEWS",
"libelle": "Boutique",
"preferences": {
"id_items": "29",
"nb_aff": "5",
"nb_analyse": "10",
"display_order": "DateCreationDesc",
"display_mode": "Submenu",
"summary_content": "FullContent",
"layout": "list",
"rendering": "page",
"size": "20",
"all_layout": "list",
"all_rendering": "card-horizontal",
"description_length": "20",
"titre": "Boutique",
"order": "Selection",
"boite": [
"no_background",
"no_border",
"no_border_radius",
"no_shadow",
"py-5"
],
"MuscleShowHeader": "1",
"MuscleShowContent": "1"
}
},
"12": {
"type_menu": "NEWS",
"libelle": "Suggestion d'achat",
"preferences": {
"id_items": "35",
"nb_aff": "5",
"nb_analyse": "10",
"display_order": "DateCreationDesc",
"display_mode": "Submenu",
"summary_content": "FullContent",
"layout": "list",
"rendering": "page",
"size": "20",
"all_layout": "list",
"all_rendering": "card-horizontal",
"description_length": "20",
"titre": "Suggestion d'achat",
"order": "Selection",
"boite": [
"no_background",
"no_border",
"no_border_radius",
"no_shadow",
"py-5"
],
"MuscleShowHeader": "1",
"MuscleShowContent": "1"
}
},
"13": {
"type_menu": "NEWS",
"libelle": "Jeux vid\u00e9o",
"preferences": {
"id_items": "101",
"nb_aff": "5",
"nb_analyse": "10",
"display_order": "DateCreationDesc",
"display_mode": "Submenu",
"summary_content": "FullContent",
"layout": "list",
"rendering": "page",
"size": "20",
"all_layout": "list",
"all_rendering": "card-horizontal",
"description_length": "20",
"titre": "Jeux vid\u00e9o",
"order": "Selection",
"boite": [],
"MuscleShowContent": "1"
}
},
"14": {
"type_menu": "NEWS",
"libelle": "Ludoth\u00e8que",
"preferences": {
"id_items": "102",
"nb_aff": "5",
"nb_analyse": "10",
"display_order": "DateCreationDesc",
"display_mode": "Submenu",
"summary_content": "FullContent",
"layout": "list",
"rendering": "page",
"size": "20",
"all_layout": "list",
"all_rendering": "card-horizontal",
"description_length": "20",
"titre": "Ludoth\u00e8que ",
"order": "Selection",
"boite": [
"no_background",
"no_border",
"no_border_radius",
"no_shadow",
"py-5"
],
"MuscleShowContent": "1"
}
},
"15": {
"type_menu": "NEWS",
"libelle": "Malles Jeux",
"preferences": {
"id_items": "34",
"nb_aff": "5",
"nb_analyse": "10",
"display_order": "DateCreationDesc",
"display_mode": "Submenu",
"summary_content": "FullContent",
"layout": "list",
"rendering": "page",
"size": "20",
"all_layout": "list",
"all_rendering": "card-horizontal",
"description_length": "20",
"titre": "Malles Jeux",
"order": "Selection",
"boite": [
"no_background",
"no_border",
"no_border_radius",
"no_shadow",
"py-5"
],
"MuscleShowHeader": "1",
"MuscleShowContent": "1"
}
},
"16": {
"type_menu": "NEWS",
"libelle": "Espace num\u00e9rique",
"preferences": {
"id_items": "36",
"nb_aff": "5",
"nb_analyse": "10",
"display_order": "DateCreationDesc",
"display_mode": "Submenu",
"summary_content": "FullContent",
"layout": "list",
"rendering": "page",
"size": "20",
"all_layout": "list",
"all_rendering": "card-horizontal",
"description_length": "20",
"titre": "Espace num\u00e9rique",
"order": "Selection",
"boite": [
"no_background",
"no_border",
"no_border_radius",
"no_shadow",
"py-5"
],
"MuscleShowHeader": "1",
"MuscleShowContent": "1"
}
},
"17": {
"type_menu": "NEWS",
"libelle": "Scans, photocopies et impressions",
"preferences": {
"id_items": "40",
"nb_aff": "5",
"nb_analyse": "10",
"display_order": "DateCreationDesc",
"display_mode": "Submenu",
"summary_content": "FullContent",
"layout": "list",
"rendering": "page",
"size": "20",
"all_layout": "list",
"all_rendering": "card-horizontal",
"description_length": "20",
"titre": "Scans, photocopies et impressions",
"order": "Selection",
"boite": [
"no_background",
"no_border",
"no_border_radius",
"no_shadow",
"py-5"
],
"MuscleShowHeader": "1",
"MuscleShowContent": "1"
}
},
"18": {
"type_menu": "NEWS",
"libelle": "R\u00e9server une salle",
"preferences": {
"id_items": "37",
"nb_aff": "5",
"nb_analyse": "10",
"display_order": "DateCreationDesc",
"display_mode": "Submenu",
"summary_content": "FullContent",
"layout": "list",
"rendering": "page",
"size": "20",
"all_layout": "list",
"all_rendering": "card-horizontal",
"description_length": "20",
"titre": "R\u00e9server une salle",
"order": "Selection",
"boite": [
"no_background",
"no_border",
"no_border_radius",
"no_shadow",
"py-5"
],
"MuscleShowHeader": "1",
"MuscleShowContent": "1"
}
},
"19": {
"type_menu": "NEWS",
"libelle": "Inscription \u00e0 notre lettre d'informations",
"preferences": {
"id_items": "39",
"nb_aff": "5",
"nb_analyse": "10",
"display_order": "DateCreationDesc",
"display_mode": "Submenu",
"summary_content": "FullContent",
"layout": "list",
"rendering": "page",
"size": "20",
"all_layout": "list",
"all_rendering": "card-horizontal",
"description_length": "20",
"titre": "Inscription \u00e0 notre lettre d'informations",
"order": "Selection",
"boite": [
"no_background",
"no_border",
"no_border_radius",
"no_shadow",
"py-5"
],
"MuscleShowHeader": "1",
"MuscleShowContent": "1"
}
}
}
},
"21": {
"type_menu": "MENU",
"libelle": "En rayon",
"preferences": [],
"children": "22;23;24;PROFIL;35;36;",
"sous_menus": {
"22": {
"type_menu": "PROFIL",
"libelle": "Nouveaut\u00e9s",
"preferences": {
"clef_profil": "24"
}
},
"23": {
"type_menu": "PROFIL",
"libelle": "Vos avis et critiques",
"preferences": {
"clef_profil": "32"
}
},
"24": {
"type_menu": "MENU",
"libelle": "Collections",
"preferences": [],
"children": "24;25;PROFIL;26;27;28;29;30;",
"sous_menus": {
"25": {
"type_menu": "PROFIL",
"libelle": "BD & mangas",
"preferences": {
"clef_profil": "26"
}
},
"26": {
"type_menu": "PROFIL",
"libelle": "Cin\u00e9ma",
"preferences": {
"clef_profil": "29"
}
},
"27": {
"type_menu": "PROFIL",
"libelle": "Documentaires",
"preferences": {
"clef_profil": "56"
}
},
"28": {
"type_menu": "PROFIL",
"libelle": "Enfance",
"preferences": {
"clef_profil": "55"
}
},
"29": {
"type_menu": "PROFIL",
"libelle": "Jeux de soci\u00e9t\u00e9",
"preferences": {
"clef_profil": "41"
}
},
"30": {
"type_menu": "PROFIL",
"libelle": "Jeux vid\u00e9o",
"preferences": {
"clef_profil": "31"
}
},
"31": {
"type_menu": "PROFIL",
"libelle": "Litt\u00e9rature",
"preferences": {
"clef_profil": "25"
}
},
"32": {
"type_menu": "PROFIL",
"libelle": "Musique",
"preferences": {
"clef_profil": "30"
}
}
}
},
"34": {
"type_menu": "PROFIL",
"libelle": "Facile \u00e0 lire",
"preferences": {
"clef_profil": "58"
}
},
"35": {
"type_menu": "PROFIL",
"libelle": "Handicap",
"preferences": {
"clef_profil": "43"
}
},
"36": {
"type_menu": "CATALOGUE",
"libelle": "Patrimoine",
"preferences": {
"tri": "1",
"titre": "Patrimoine",
"nb_notices": "20",
"nb_analyse": "50",
"id_catalogue": "96"
}
}
}
},
"38": {
"type_menu": "PROFIL",
"libelle": "Offre num\u00e9rique",
"preferences": {
"clef_profil": "36"
}
},
"39": {
"type_menu": "PROFIL",
"libelle": "Rendez-vous",
"preferences": {
"clef_profil": "20"
}
},
"40": {
"type_menu": "PROFIL",
"libelle": "Espace pro",
"preferences": {
"clef_profil": "33"
}
}
},
"children": "0;1;10;21;32;33;34"
},
"3": {
"type_menu": "MENU",
"libelle": "Menu cr\u00e9dits",
"preferences": [],
"menus": [
{
"type_menu": "URL",
"libelle": "Contact",
"preferences": {
"target": "1",
"url": "\/index\/formulairecontact"
}
},
{
"type_menu": "NEWS",
"libelle": "Mentions l\u00e9gales",
"preferences": {
"id_items": "59",
"nb_aff": "5",
"nb_analyse": "10",
"display_order": "DateCreationDesc",
"display_mode": "Submenu",
"summary_content": "FullContent"
}
},
{
"type_menu": "NEWS",
"libelle": "Donn\u00e9es personnelles",
"preferences": {
"id_items": "56",
"nb_aff": "5",
"nb_analyse": "10",
"display_order": "DateCreationDesc",
"display_mode": "Submenu",
"summary_content": "FullContent"
}
}
],
"children": "0;1;2;"
}
},
"cfg_modules": {
},
"cfg_notice": "",
"rewrite_url": "le-reseau",
"domain_ids": null,
"template": "MUSCLE"
}
......@@ -599,3 +599,35 @@ class TemplatesMenuDisplayWithArticlesListTest extends Admin_AbstractControllerT
$this->assertXPathContentContains('//a[@href="/widget/render-menu-entry/parent/3/menu_profil/1/menu/13/id_profil/146"]', 'Ressources en ligne');
}
}
class TemplatesMenuWithArticlesByPreferencesAndWidgetRenderingTest extends Admin_AbstractControllerTestCase {
protected $_storm_default_to_volatile = true;
public function setUp() {
parent::setUp();
$profile = $this->_buildTemplateProfil(['id' => 1,
'template' => 'MUSCLE']);
(new Class_Profil_Import($profile))
->import(__DIR__ . '/140494_profile_with_menu_with_articles_with_widget_rendering.json');
$this->dispatch('/widget/render-menu-entry/parent/0/menu_profil/1/menu/10/id_profil/1');
}
/** @test */
public function editWidgetLinkShouldNotBePresent() {
$this->assertNotXPath('//main//div[contains(@class, "section_configuration")]//a[contains(@href, "/admin/widget/edit-widget/id/10/id_profil/1")]');
}
/** @test */
public function editRenderMenuEntryLinkShouldBePresent() {
$this->assertXPath('//main//div[contains(@class, "boite news")]/a[contains(@class, "edit_menu")][contains(@href, "/admin/widget/edit-menu/id/10/id_profil/1/parent/0")]');
}
}
\ No newline at end of file
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment