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/themis/fields/interfaces.py

111 lines
3.0 KiB
Python

from zope.interface import Interface
from zope.schema.interfaces import IChoice, IField, IList, IDate
from zope import schema
from z3c.form.interfaces import IOrderedSelectWidget, ITextWidget
from z3c.relationfield.interfaces import IRelation
class ICommission(IField):
'''Field containing a unicode string without newlines that is a commission.'''
class ICommissions(IField):
'''Field contained a list of commissions'''
class ISubjects(IField):
'''Field contained a list of subjects'''
class IDeputy(IField):
'''Field containing a deputy'''
class IDeputies(IList):
'''Field containing a list of deputies'''
class IContact(IField):
'''Field containing a contact'''
class IContacts(IList):
'''Field containing a list of contacts'''
class ILegisSession(IField):
'''Field containing a legislative session'''
class IMinistry(IField):
'''Field containing a ministry'''
class IMinistries(IList):
'''Field containing a list of ministries'''
class IDeputyOrMinistry(IField):
'''Field containing a deputy or a ministry'''
class IDeputiesOrMinistries(IList):
'''Field containing deputies and/or ministries'''
class IDateOnly(IDate):
'''Field containing a date'''
default = schema.Date(
title=IDate['default'].title,
description=IDate['default'].description,
required=False)
missing_value = schema.Date(
title=IDate['missing_value'].title,
description=IDate['missing_value'].description,
required=False)
min = schema.Date(
title=IDate['min'].title,
required=IDate['min'].required,
default=IDate['min'].default,
)
max = schema.Date(
title=IDate['max'].title,
required=IDate['max'].required,
default=IDate['max'].default,
)
class IOrderedSelectAndAddWidget(IOrderedSelectWidget):
"""Ordered Select widget with ITerms option."""
class IRadioChoice(IChoice):
'''Field containing a single choice, to be presented as radio buttons'''
default = schema.Choice(
title=IChoice['default'].title,
description=IChoice['default'].description,
required=False,
values=[])
missing_value = schema.Choice(
title=IChoice['missing_value'].title,
description=IChoice['missing_value'].description,
required=False,
values=[])
class IRelatedDoc(IRelation):
default = schema.Text(
title=IField['default'].title,
description=IField['default'].description,
required=False)
missing_value = schema.Text(
title=IField['missing_value'].title,
description=IField['missing_value'].description,
required=False)
class IMailRefId(IField):
default = schema.Text(
description=IField['default'].description,
required=False)
missing_value = schema.Text(
title=IField['missing_value'].title,
description=IField['missing_value'].description,
required=False)
class IMailRefIdWidget(ITextWidget):
pass