form manager improvements

git-svn-id: svn://svn.cy55.de/Zope3/src/cybertools/trunk@3752 fd906abe-77d9-0310-91a1-e0d9ade77398
This commit is contained in:
helmutm 2010-02-27 10:54:01 +00:00
parent 29e17d5331
commit 945857c650
3 changed files with 12 additions and 3 deletions

View file

@ -119,9 +119,10 @@ class FormManagerView(BaseView):
def update(self):
if self.isManageMode:
return True
for tpl in self.context.getClientSchemas():
self.context.request.response.redirect(absoluteURL(tpl, self.request))
break
self.context.request.response.redirect(self.firstFormUrl())
#for tpl in self.context.getClientSchemas():
# self.context.request.response.redirect(absoluteURL(tpl, self.request))
# break
return False
def overview(self, ignoreTemporary=True):
@ -137,6 +138,10 @@ class FormManagerView(BaseView):
result.append(data)
return result
def firstFormUrl(self):
for tpl in self.context.getClientSchemas():
return absoluteURL(tpl, self.request)
class CheckoutView(BaseView):

View file

@ -290,6 +290,8 @@ class FileUploadFieldInstance(FieldInstance):
class EmailFieldInstance(FieldInstance):
def validate(self, value, data=None):
if not value and self.context.required:
self.setError('required_missing')
if value and '@' not in value:
self.setError('invalid_email_address')

View file

@ -77,6 +77,8 @@ class ISchemaFactory(Interface):
class FieldType(SimpleTerm):
hidden = False
def __init__(self, value, token=None, title=None, **kw):
super(FieldType, self).__init__(value, token, title)
self.name = value