diff -r 9802f640c418 -r cd3ab32436f0 src/pyams_skin/interfaces/__init__.py --- a/src/pyams_skin/interfaces/__init__.py Thu Oct 06 16:18:03 2016 +0200 +++ b/src/pyams_skin/interfaces/__init__.py Mon Oct 10 11:32:08 2016 +0200 @@ -22,7 +22,7 @@ from pyams_template.template import layout_config from zope.interface import implementer, Interface, Attribute from zope.configuration.fields import GlobalInterface -from zope.schema import Text, TextLine, Choice, Int +from zope.schema import Text, TextLine, Choice, Int, Bool from pyams_skin import _ @@ -53,6 +53,19 @@ class ISkinnable(Interface): """Skinnable content interface""" + can_inherit_skin = Attribute("Check if skin can be inherited") + + inherit_skin = Bool(title=_("Inherit parent skin?"), + description=_("Should we reuse parent skin?"), + required=True, + default=False) + + skin_parent = Attribute("Skin parent (local or inherited)") + + skin = Choice(title=_("Presentation skin"), + description=_("This skin will be used to handle presentation templates"), + vocabulary='PyAMS user skins') + def get_skin(self, request=None): """Get skin matching this content""" @@ -60,10 +73,6 @@ class IUserSkinnable(ISkinnable): """User skinnable content interface""" - skin = Choice(title=_("Presentation skin"), - description=_("This skin will be used to handle presentation templates"), - vocabulary='PyAMS skins') - @layout_config(template='templates/fullpage-layout.pt', layer=IPyAMSLayer) class IFullPage(Interface):