--- 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):