# HG changeset patch # User Thierry Florac # Date 1529079542 -7200 # Node ID 096cfad5eeb5c7c48365a1e969fe71db32677d08 # Parent 4541a452fd4c3f5080cece5ca4fe0779fa699c5d Look for navigation illustration in internal links diff -r 4541a452fd4c -r 096cfad5eeb5 src/pyams_content/features/menu/portlet/navigation/zmi/double.py --- a/src/pyams_content/features/menu/portlet/navigation/zmi/double.py Fri Jun 15 18:18:16 2018 +0200 +++ b/src/pyams_content/features/menu/portlet/navigation/zmi/double.py Fri Jun 15 18:19:02 2018 +0200 @@ -16,10 +16,10 @@ # import standard library # import interfaces -from pyams_content.component.illustration.interfaces import IIllustration +from pyams_content.component.illustration.interfaces import IIllustration, ILinkIllustration from pyams_content.component.links.interfaces import IInternalLink from pyams_content.features.menu.portlet.navigation.interfaces.double import IDoubleNavigationPortletSettings, \ - IDoubleNavigationMenu, IDoubleNavigationMenusContainer + IDoubleNavigationMenusContainer from pyams_form.interfaces.form import IInnerSubForm from pyams_pagelet.interfaces import IPagelet from pyams_portal.interfaces import IPortletPreviewer @@ -96,5 +96,9 @@ if (illustration is None) or not illustration.has_data(): if IInternalLink.providedBy(link): target = link.get_target() - illustration = IIllustration(target) + if target is None: + return + illustration = ILinkIllustration(target, None) + if (illustration is None) or not illustration.has_data(): + illustration = IIllustration(target, None) return illustration diff -r 4541a452fd4c -r 096cfad5eeb5 src/pyams_content/features/menu/portlet/navigation/zmi/simple.py --- a/src/pyams_content/features/menu/portlet/navigation/zmi/simple.py Fri Jun 15 18:18:16 2018 +0200 +++ b/src/pyams_content/features/menu/portlet/navigation/zmi/simple.py Fri Jun 15 18:19:02 2018 +0200 @@ -16,7 +16,7 @@ # import standard library # import interfaces -from pyams_content.component.illustration.interfaces import IIllustration +from pyams_content.component.illustration.interfaces import IIllustration, ILinkIllustration from pyams_content.component.links.interfaces import IInternalLink from pyams_content.features.menu.portlet.navigation.interfaces.simple import ISimpleNavigationPortletSettings, \ ISimpleNavigationMenu @@ -96,5 +96,9 @@ if (illustration is None) or not illustration.has_data(): if IInternalLink.providedBy(link): target = link.get_target() - illustration = IIllustration(target) + if target is None: + return + illustration = ILinkIllustration(target, None) + if (illustration is None) or not illustration.has_data(): + illustration = IIllustration(target, None) return illustration