# HG changeset patch # User Thierry Florac # Date 1531409751 -7200 # Node ID d50743e696936397511dcdf3e58e9debecf39aaf # Parent 3dcf565c711e41b2596b43593bf842fe008cb1c0 Updated internal links management diff -r 3dcf565c711e -r d50743e69693 src/pyams_content/component/association/__init__.py --- a/src/pyams_content/component/association/__init__.py Thu Jul 12 17:35:20 2018 +0200 +++ b/src/pyams_content/component/association/__init__.py Thu Jul 12 17:35:51 2018 +0200 @@ -42,6 +42,9 @@ visible = FieldProperty(IAssociationItem['visible']) + def is_visible(self, request=None): + return True + def get_url(self, request=None, view_name=None): return absolute_url(self, request, view_name) diff -r 3dcf565c711e -r d50743e69693 src/pyams_content/component/association/container.py --- a/src/pyams_content/component/association/container.py Thu Jul 12 17:35:20 2018 +0200 +++ b/src/pyams_content/component/association/container.py Thu Jul 12 17:35:51 2018 +0200 @@ -19,6 +19,7 @@ from pyams_content.component.association.interfaces import IAssociationContainer, IAssociationContainerTarget, \ ASSOCIATION_CONTAINER_KEY, IAssociationItem, IAssociationInfo from pyams_content.features.checker.interfaces import IContentChecker +from pyams_zmi.layer import IAdminLayer from zope.location.interfaces import ISublocations from zope.traversing.interfaces import ITraversable @@ -54,8 +55,10 @@ # make sure that association item is correctly indexed index_object(value) - def get_visible_items(self): - return filter(lambda x: IAssociationItem(x).visible, self.values()) + def get_visible_items(self, request=None): + for item in filter(lambda x: IAssociationItem(x).visible, self.values()): + if IAdminLayer.providedBy(request) or item.is_visible(request): + yield item @adapter_config(context=IAssociationContainerTarget, provides=IAssociationContainer) diff -r 3dcf565c711e -r d50743e69693 src/pyams_content/component/association/interfaces/__init__.py --- a/src/pyams_content/component/association/interfaces/__init__.py Thu Jul 12 17:35:20 2018 +0200 +++ b/src/pyams_content/component/association/interfaces/__init__.py Thu Jul 12 17:35:51 2018 +0200 @@ -44,6 +44,9 @@ required=True, default=True) + def is_visible(self, request=None): + """Is association item published?""" + def get_url(self, request=None, view_name=None): """Get link URL""" @@ -70,7 +73,7 @@ def append(self, value, notify=True): """Append given value to container""" - def get_visible_items(self): + def get_visible_items(self, request=None): """Get list of visible items""" diff -r 3dcf565c711e -r d50743e69693 src/pyams_content/component/keynumber/__init__.py --- a/src/pyams_content/component/keynumber/__init__.py Thu Jul 12 17:35:20 2018 +0200 +++ b/src/pyams_content/component/keynumber/__init__.py Thu Jul 12 17:35:51 2018 +0200 @@ -146,7 +146,7 @@ index_object(value) def get_visible_items(self): - return filter(lambda x: IKeyNumber(x).visible, self.values()) + yield from filter(lambda x: IKeyNumber(x).visible, self.values()) @adapter_config(context=IKeyNumberContainerTarget, provides=IKeyNumberContainer) diff -r 3dcf565c711e -r d50743e69693 src/pyams_content/component/keynumber/portlet/zmi/templates/keynumber-preview.pt --- a/src/pyams_content/component/keynumber/portlet/zmi/templates/keynumber-preview.pt Thu Jul 12 17:35:20 2018 +0200 +++ b/src/pyams_content/component/keynumber/portlet/zmi/templates/keynumber-preview.pt Thu Jul 12 17:35:51 2018 +0200 @@ -21,7 +21,7 @@ -
Associated links :