diff -r 6f9d0e77f4ce -r 5f026f7b6ada src/pyams_content/shared/site/interfaces.py --- a/src/pyams_content/shared/site/interfaces.py Fri Nov 23 13:23:22 2018 +0100 +++ b/src/pyams_content/shared/site/interfaces.py Fri Nov 23 13:25:51 2018 +0100 @@ -17,8 +17,8 @@ from zope.annotation.interfaces import IAttributeAnnotatable from zope.container.constraints import containers, contains from zope.container.interfaces import IContained, IContainer -from zope.interface import Attribute, Interface -from zope.schema import Bool, Choice, Text +from zope.interface import Attribute, Interface, invariant +from zope.schema import Bool, Choice, Text, URI from zope.schema.vocabulary import SimpleTerm, SimpleVocabulary from pyams_content.interfaces import IBaseContent @@ -159,8 +159,8 @@ """Workflow managed site topic interface""" -class IContentLink(ISiteElement, IInternalReference, IAttributeAnnotatable): - """Rented content interface""" +class ISiteLink(ISiteElement): + """Site link interface""" navigation_title = I18nTextLineField(title=_("Navigation title"), description=_("Alternate content's title displayed in navigation pages; " @@ -176,3 +176,15 @@ description=_("If 'no', link is not visible"), required=True, default=True) + + +class IContentLink(ISiteLink, IInternalReference, IAttributeAnnotatable): + """Content link interface""" + + +class IExternalContentLink(ISiteLink, IAttributeAnnotatable): + """External link interface""" + + url = URI(title=_("Target URL"), + description=_("URL used to access external resource"), + required=True)