extend composer.schema and organize.service stuff
git-svn-id: svn://svn.cy55.de/Zope3/src/cybertools/trunk@1834 fd906abe-77d9-0310-91a1-e0d9ade77398
This commit is contained in:
parent
e9b8722793
commit
7aad7a6430
4 changed files with 54 additions and 4 deletions
|
@ -25,11 +25,13 @@ $Id$
|
||||||
from zope.interface import implements
|
from zope.interface import implements
|
||||||
from zope import schema
|
from zope import schema
|
||||||
|
|
||||||
from cybertools.composer.base import Component, Element, Compound
|
from cybertools.composer.base import Component
|
||||||
from cybertools.composer.base import Template
|
from cybertools.composer.schema.interfaces import IField
|
||||||
|
|
||||||
|
|
||||||
class Field(Component, schema.Field):
|
class Field(Component):
|
||||||
|
|
||||||
|
implements(IField)
|
||||||
|
|
||||||
def __init__(self, name, title=None, renderFactory=None, **kw):
|
def __init__(self, name, title=None, renderFactory=None, **kw):
|
||||||
assert name
|
assert name
|
||||||
|
|
|
@ -22,6 +22,51 @@ Schemas and Fields.
|
||||||
$Id$
|
$Id$
|
||||||
"""
|
"""
|
||||||
|
|
||||||
|
from zope import schema
|
||||||
from zope.interface import Interface, Attribute
|
from zope.interface import Interface, Attribute
|
||||||
|
from zope.i18nmessageid import MessageFactory
|
||||||
|
|
||||||
|
from cybertools.composer.interfaces import ITemplate, IComponent
|
||||||
|
|
||||||
|
_ = MessageFactory('zope')
|
||||||
|
|
||||||
|
|
||||||
|
class ISchema(ITemplate):
|
||||||
|
""" Represents an ordered sequence of fields.
|
||||||
|
"""
|
||||||
|
|
||||||
|
fields = Attribute('The components the schema is built up of. '
|
||||||
|
'Should be a sequence of IField objects.')
|
||||||
|
|
||||||
|
|
||||||
|
class IField(IComponent):
|
||||||
|
""" May be used for data entry or display.
|
||||||
|
"""
|
||||||
|
|
||||||
|
name = schema.ASCII(
|
||||||
|
title=_(u'Fieldname'),
|
||||||
|
description=_(u'The internal name of the field'),
|
||||||
|
required=True,)
|
||||||
|
title = schema.TextLine(
|
||||||
|
title=_(u'Title'),
|
||||||
|
description=_(u'The title or label of the field'),
|
||||||
|
required=True,)
|
||||||
|
description = schema.Text(
|
||||||
|
title=_(u'Description'),
|
||||||
|
description=_(u'A more lengthy description of the field'),
|
||||||
|
required=False,)
|
||||||
|
fieldType = schema.Choice(
|
||||||
|
title=_(u'Field type'),
|
||||||
|
description=_(u'The type of the field'),
|
||||||
|
required=True,
|
||||||
|
default='textline',
|
||||||
|
values=('textline', 'textarea', 'date'))
|
||||||
|
defaultValue = schema.TextLine(
|
||||||
|
title=_(u'Default'),
|
||||||
|
description=_(u'Value with which to pre-set the field contents'),
|
||||||
|
required=False,)
|
||||||
|
required = schema.Bool(
|
||||||
|
title=_(u'Required'),
|
||||||
|
description=_(u'Must a value been entered into this field?'),
|
||||||
|
required=False,)
|
||||||
|
|
||||||
|
|
|
@ -26,10 +26,13 @@ from zope.interface import implements
|
||||||
|
|
||||||
from cybertools.composer.base import Component, Element, Compound
|
from cybertools.composer.base import Component, Element, Compound
|
||||||
from cybertools.composer.base import Template
|
from cybertools.composer.base import Template
|
||||||
|
from cybertools.composer.schema.interfaces import ISchema
|
||||||
|
|
||||||
|
|
||||||
class Schema(Template):
|
class Schema(Template):
|
||||||
|
|
||||||
|
implements(ISchema)
|
||||||
|
|
||||||
def __init__(self, *fields):
|
def __init__(self, *fields):
|
||||||
super(Schema, self).__init__()
|
super(Schema, self).__init__()
|
||||||
for f in fields:
|
for f in fields:
|
||||||
|
|
|
@ -37,7 +37,7 @@ class Service(object):
|
||||||
|
|
||||||
implements(IService)
|
implements(IService)
|
||||||
|
|
||||||
def __init__(self, seats=-1):
|
def __init__(self, capacity=-1):
|
||||||
self.capacity = capacity
|
self.capacity = capacity
|
||||||
self.registrations = []
|
self.registrations = []
|
||||||
|
|
||||||
|
|
Loading…
Add table
Reference in a new issue