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

108 lines
2.9 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
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)