some minor improvements for form manager application

git-svn-id: svn://svn.cy55.de/Zope3/src/cybertools/trunk@3778 fd906abe-77d9-0310-91a1-e0d9ade77398
This commit is contained in:
helmutm 2010-03-22 15:20:02 +00:00
parent 0ae96854a7
commit eac872cb2c
3 changed files with 11 additions and 2 deletions

View file

@ -28,6 +28,7 @@ from zope import component
from zope.app.pagetemplate import ViewPageTemplateFile from zope.app.pagetemplate import ViewPageTemplateFile
from zope.app.session.interfaces import ISession from zope.app.session.interfaces import ISession
from zope.cachedescriptors.property import Lazy from zope.cachedescriptors.property import Lazy
from zope.traversing.browser.absoluteurl import absoluteURL
from cybertools.composer.interfaces import IInstance from cybertools.composer.interfaces import IInstance
from cybertools.composer.schema.interfaces import IClientFactory, ISchema from cybertools.composer.schema.interfaces import IClientFactory, ISchema
@ -153,6 +154,10 @@ class BaseView(object):
from zope.traversing.browser import absoluteURL from zope.traversing.browser import absoluteURL
return absoluteURL(self.context, self.request) return absoluteURL(self.context, self.request)
def firstFormUrl(self):
for tpl in self.context.getClientSchemas():
return absoluteURL(tpl, self.request)
def setSessionInfo(self, key, value, packageId=packageId): def setSessionInfo(self, key, value, packageId=packageId):
session = ISession(self.request)[packageId] session = ISession(self.request)[packageId]
if session.get(key) != value: if session.get(key) != value:

View file

@ -59,7 +59,8 @@ class RegistrationsExportCsv(FormManagerView):
context = self.context context = self.context
schemas = [s for s in context.getClientSchemas() if ISchema.providedBy(s)] schemas = [s for s in context.getClientSchemas() if ISchema.providedBy(s)]
headline = (['Client ID', 'Time Stamp'] headline = (['Client ID', 'Time Stamp']
+ list(itertools.chain(*[[self.encode(f.title) #+ list(itertools.chain(*[[self.encode(f.title)
+ list(itertools.chain(*[[self.encode(f.name)
for f in s.fields for f in s.fields
if f.storeData] if f.storeData]
for s in schemas]))) for s in schemas])))

View file

@ -141,7 +141,10 @@ class FormManagerView(BaseView):
def firstFormUrl(self): def firstFormUrl(self):
for tpl in self.context.getClientSchemas(): for tpl in self.context.getClientSchemas():
return absoluteURL(tpl, self.request) url = absoluteURL(tpl, self.request)
if self.isManageMode and 'client' in self.request.form:
url = '%s?id=%s' % (url, self.request.form['client'])
return url
class CheckoutView(BaseView): class CheckoutView(BaseView):