2013-01-22 13:52:48 +01:00
|
|
|
#import datetime
|
2013-01-24 11:52:34 +01:00
|
|
|
from zope.interface import implements, implementer
|
2013-01-22 13:14:22 +01:00
|
|
|
#from zope.component import adapts
|
2013-01-24 10:21:09 +01:00
|
|
|
from zope.component import adapter
|
2013-01-22 13:14:22 +01:00
|
|
|
|
2013-01-24 10:21:09 +01:00
|
|
|
from zope import schema
|
|
|
|
from zope.schema.interfaces import IList
|
|
|
|
|
2013-01-24 11:52:34 +01:00
|
|
|
|
2013-01-24 10:21:09 +01:00
|
|
|
from z3c.form.interfaces import IFormLayer, IFieldWidget, IMultiWidget
|
2013-01-24 13:03:24 +01:00
|
|
|
from z3c.form.widget import FieldWidget
|
2013-01-24 10:21:09 +01:00
|
|
|
|
|
|
|
# #from plone.dexterity.content import Container
|
2013-01-24 13:03:24 +01:00
|
|
|
from plone.z3cform.textlines import TextLinesFieldWidget
|
2013-01-22 13:14:22 +01:00
|
|
|
from plone.dexterity.schema import DexteritySchemaPolicy
|
2013-01-22 13:52:48 +01:00
|
|
|
from plone.dexterity.content import Item
|
2013-01-22 13:14:22 +01:00
|
|
|
|
2013-01-22 13:52:48 +01:00
|
|
|
from plone.supermodel import model
|
2013-01-22 13:14:22 +01:00
|
|
|
|
|
|
|
from . import _
|
2013-01-24 10:21:09 +01:00
|
|
|
from .relatedkeywords import RelatedThesaurusKeywords
|
2013-01-22 13:14:22 +01:00
|
|
|
|
2013-01-22 13:52:48 +01:00
|
|
|
#from plone.autoform import directives as form
|
|
|
|
#from plone.directives.form import default_value
|
2013-01-22 13:14:22 +01:00
|
|
|
|
2013-01-24 10:21:09 +01:00
|
|
|
class IEquivalences(IList):
|
|
|
|
""""""
|
|
|
|
|
|
|
|
class Equivalences(schema.List):
|
|
|
|
implements(IEquivalences)
|
|
|
|
|
|
|
|
def __init__(self, **kwargs):
|
|
|
|
schema.List.__init__(self, **kwargs)
|
|
|
|
|
|
|
|
@adapter(IEquivalences, IFormLayer)
|
|
|
|
@implementer(IFieldWidget)
|
|
|
|
def EquivalencesWidget(field, request):
|
2013-01-24 13:03:24 +01:00
|
|
|
return FieldWidget(field, TextLinesFieldWidget(request))
|
2013-01-24 10:21:09 +01:00
|
|
|
|
|
|
|
|
2013-01-22 13:14:22 +01:00
|
|
|
class IDmsKeyword(model.Schema):
|
|
|
|
""" """
|
|
|
|
|
2013-01-24 11:52:34 +01:00
|
|
|
# XXX: Ungly widget that needs to be replaced
|
|
|
|
equivs = Equivalences(
|
|
|
|
title=u'EQs',
|
2013-01-24 10:21:09 +01:00
|
|
|
required=False,
|
2013-01-24 11:52:34 +01:00
|
|
|
value_type=schema.TextLine()
|
2013-01-24 10:21:09 +01:00
|
|
|
)
|
|
|
|
|
|
|
|
# BT: broader term
|
|
|
|
broader = RelatedThesaurusKeywords(
|
|
|
|
title=_(u"BT (Broader Terms)"),
|
|
|
|
required=False,
|
|
|
|
)
|
|
|
|
|
|
|
|
# RT: related term
|
|
|
|
related = RelatedThesaurusKeywords(
|
|
|
|
title=_(u"RT (Related Terms)"),
|
|
|
|
required=False,
|
|
|
|
)
|
|
|
|
|
|
|
|
|
2013-01-22 13:52:48 +01:00
|
|
|
class DmsKeyword(Item):
|
2013-01-22 13:14:22 +01:00
|
|
|
""" """
|
|
|
|
implements(IDmsKeyword)
|
|
|
|
|
|
|
|
|
|
|
|
class DmsKeywordSchemaPolicy(DexteritySchemaPolicy):
|
|
|
|
""" """
|
|
|
|
|
|
|
|
def bases(self, schemaName, tree):
|
|
|
|
return (IDmsKeyword, )
|
|
|
|
|
2013-01-24 10:21:09 +01:00
|
|
|
|