This repository has been archived on 2023-02-21. You can view files and clone it, but cannot push or open issues or pull requests.
themis.fields/themisfields/editors.py

44 lines
1.2 KiB
Python

from zope import interface, component, schema
from zope.schema import interfaces as schema_ifaces
from plone.schemaeditor import interfaces as editor_ifaces
from themisfields import interfaces
from themisfields import Commission
from themisfields import Author
from themisfields import Authors
from themisfields import Date
from themisfields import Subjects
from plone.schemaeditor.fields import FieldFactory
class ICommission(interfaces.ICommission, schema_ifaces.IFromUnicode):
pass
CommissionFactory = FieldFactory(Commission, u'Commission')
class IAuthor(interfaces.IAuthor, schema_ifaces.IFromUnicode):
pass
AuthorFactory = FieldFactory(Author, u'Author')
class IAuthors(interfaces.IAuthors, schema_ifaces.IList):
pass
AuthorsFactory = FieldFactory(Authors, u'Author(s)')
class IDate(interfaces.IDate, schema_ifaces.IDate):
pass
DateFactory = FieldFactory(Date, u'Date')
@interface.implementer(editor_ifaces.IFieldEditFormSchema)
@component.adapter(schema_ifaces.IList)
def getSubjectsFieldSchema(field):
return se_schema.ITextLineMultiChoice
SubjectsFactory = FieldFactory(Subjects, u'Subjects')
#value_type=schema.Choice(vocabulary='themisfields.vocabulary.Subjects'))