# HG changeset patch # User Thierry Florac # Date 1569398872 -7200 # Node ID 042afdb6a0d122e96d910ed11db5fe8595fedd59 # Parent 0aebe2d107ace70e6ab310bb0f7fbbca2362690b Added "content_type" and "data_type" TALES extensions diff -r 0aebe2d107ac -r 042afdb6a0d1 src/pyams_default_theme/shared/common/__init__.py --- a/src/pyams_default_theme/shared/common/__init__.py Wed Sep 25 10:05:57 2019 +0200 +++ b/src/pyams_default_theme/shared/common/__init__.py Wed Sep 25 10:07:52 2019 +0200 @@ -14,6 +14,7 @@ from pyams_content.interfaces import IBaseContent from pyams_content.shared.common.interfaces import IWfSharedContent +from pyams_content.shared.common.interfaces.types import IWfTypedSharedContent from pyams_default_theme.interfaces import IContentDate, IContentTag, IContentTitle from pyams_i18n.interfaces import II18n from pyams_skin.interfaces.metas import IHTMLContentMetas @@ -28,6 +29,36 @@ __docformat__ = 'restructuredtext' +@adapter_config(name='content_type', + context=(Interface, IPyAMSUserLayer, Interface), + provides=ITALESExtension) +class PyAMSContentTypeTALESExtension(ContextRequestViewAdapter): + """PyAMS content type TALES extension""" + + def render(self, context=None): + if context is None: + context = self.context + content = IWfSharedContent(context, None) + if content is not None: + return self.request.localizer.translate(content.content_name) + + +@adapter_config(name='data_type', + context=(Interface, IPyAMSUserLayer, Interface), + provides=ITALESExtension) +class PyAMSContentDatatypeTALESExtension(ContextRequestViewAdapter): + """PyAMS content data type TALES extension""" + + def render(self, context=None): + if context is None: + context = self.context + content = IWfTypedSharedContent(context, None) + if content is not None: + data_type = content.get_data_type() + if data_type is not None: + return II18n(data_type).query_attribute('label', request=self.request) + + @adapter_config(name='title', context=(IWfSharedContent, IPyAMSUserLayer, Interface), provides=IHTMLContentMetas) class SharedContentTitleMetasAdapter(ContextRequestViewAdapter):