From b05bee79a60fa2d575a42f361c97e1452f4ef590 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Fr=C3=A9d=C3=A9ric=20P=C3=A9ters?= Date: Wed, 24 Aug 2011 13:08:47 +0200 Subject: [PATCH] Adding more fields to commissions --- themis/datatypes/commission.py | 29 +++++++++++++++++++ .../types/themis.datatypes.commission.xml | 2 +- 2 files changed, 30 insertions(+), 1 deletion(-) diff --git a/themis/datatypes/commission.py b/themis/datatypes/commission.py index 58abbcf..a1a986e 100644 --- a/themis/datatypes/commission.py +++ b/themis/datatypes/commission.py @@ -1,11 +1,40 @@ from five import grok from zope import schema +from zope.interface import implements from plone.directives import form, dexterity +from plone.dexterity.content import Item +from z3c.relationfield.schema import RelationChoice, RelationList +from z3c.relationfield.interfaces import IHasRelations +from z3c.relationfield import RelationValue +from plone.formwidget.contenttree import ObjPathSourceBinder + from themis.datatypes.interfaces import MessageFactory as _ class ICommission(form.Schema): title = schema.TextLine(title=_(u'Name')) active = schema.Bool(title=_(u'Active'), default=True) + president = RelationChoice(title=_('President'), required=False, + source=ObjPathSourceBinder()) + vicepresidents = RelationList(title=_(u'Vice-Presidents'), default=[], required=False, + value_type=RelationChoice(title=_(u'Vice-President'), + source=ObjPathSourceBinder())) + members = RelationList(title=_(u'Members'), default=[], required=False, + value_type=RelationChoice(title=_(u'Member'), + source=ObjPathSourceBinder())) + substitutes = RelationList(title=_(u'Substitutes'), default=[], required=False, + value_type=RelationChoice(title=_(u'Substitute'), + source=ObjPathSourceBinder())) + + competences = schema.List(title=_(u'Competences'), default=[], required=False, + value_type=schema.TextLine(title=_(u'Competence'))) + + ministries = RelationList(title=_(u'Ministries'), default=[], required=False, + value_type=RelationChoice(title=_(u'Ministry'), + source=ObjPathSourceBinder())) + + +class Commission(Item): + implements(ICommission, IHasRelations) diff --git a/themis/datatypes/profiles/default/types/themis.datatypes.commission.xml b/themis/datatypes/profiles/default/types/themis.datatypes.commission.xml index 908bed8..f917dff 100644 --- a/themis/datatypes/profiles/default/types/themis.datatypes.commission.xml +++ b/themis/datatypes/profiles/default/types/themis.datatypes.commission.xml @@ -15,7 +15,7 @@ themis.datatypes.commission.ICommission - plone.dexterity.content.Item + themis.datatypes.commissions.Commission cmf.AddPortalContent