add 'labelWidth' schema property for better control of the apperance of forms
git-svn-id: svn://svn.cy55.de/Zope3/src/cybertools/trunk@3709 fd906abe-77d9-0310-91a1-e0d9ade77398
This commit is contained in:
		
							parent
							
								
									c6d80925eb
								
							
						
					
					
						commit
						6cb702924e
					
				
					 4 changed files with 27 additions and 18 deletions
				
			
		|  | @ -28,7 +28,7 @@ from zope.app.session.interfaces import ISession | ||||||
| from zope.cachedescriptors.property import Lazy | from zope.cachedescriptors.property import Lazy | ||||||
| 
 | 
 | ||||||
| from cybertools.composer.interfaces import IInstance | from cybertools.composer.interfaces import IInstance | ||||||
| from cybertools.composer.schema.interfaces import IClientFactory | from cybertools.composer.schema.interfaces import IClientFactory, ISchema | ||||||
| 
 | 
 | ||||||
| 
 | 
 | ||||||
| schema_macros = ViewPageTemplateFile('schema_macros.pt') | schema_macros = ViewPageTemplateFile('schema_macros.pt') | ||||||
|  | @ -158,3 +158,18 @@ class BaseView(object): | ||||||
|     def getSessionInfo(self, key, default=None, packageId=packageId): |     def getSessionInfo(self, key, default=None, packageId=packageId): | ||||||
|         session = ISession(self.request)[packageId] |         session = ISession(self.request)[packageId] | ||||||
|         return session.get(key, default) |         return session.get(key, default) | ||||||
|  | 
 | ||||||
|  |     def details(self, clientName): | ||||||
|  |         result = [] | ||||||
|  |         client = self.context.getClients().get(clientName) | ||||||
|  |         schemas = [s for s in self.context.getClientSchemas() | ||||||
|  |                      if ISchema.providedBy(s)] | ||||||
|  |         instance = IInstance(client) | ||||||
|  |         for s in schemas: | ||||||
|  |             instance.template = s | ||||||
|  |             data = instance.applyTemplate() | ||||||
|  |             for f in s.fields: | ||||||
|  |                 if f.storeData: | ||||||
|  |                     result.append(dict(label=f.title, value=data.get(f.name))) | ||||||
|  |         return result | ||||||
|  | 
 | ||||||
|  |  | ||||||
|  | @ -137,20 +137,6 @@ class FormManagerView(BaseView): | ||||||
|             result.append(data) |             result.append(data) | ||||||
|         return result |         return result | ||||||
| 
 | 
 | ||||||
|     def details(self, clientName): |  | ||||||
|         result = [] |  | ||||||
|         client = self.context.getClients().get(clientName) |  | ||||||
|         schemas = [s for s in self.context.getClientSchemas() |  | ||||||
|                      if ISchema.providedBy(s)] |  | ||||||
|         instance = IInstance(client) |  | ||||||
|         for s in schemas: |  | ||||||
|             instance.template = s |  | ||||||
|             data = instance.applyTemplate() |  | ||||||
|             for f in s.fields: |  | ||||||
|                 if f.storeData: |  | ||||||
|                     result.append(dict(label=f.title, value=data.get(f.name))) |  | ||||||
|         return result |  | ||||||
| 
 |  | ||||||
| 
 | 
 | ||||||
| class CheckoutView(BaseView): | class CheckoutView(BaseView): | ||||||
| 
 | 
 | ||||||
|  |  | ||||||
|  | @ -40,8 +40,8 @@ class ISchema(ITemplate): | ||||||
|     name = schema.ASCII( |     name = schema.ASCII( | ||||||
|                 title=_(u'Schema name'), |                 title=_(u'Schema name'), | ||||||
|                 description=_(u'The internal name of the schema; will be used ' |                 description=_(u'The internal name of the schema; will be used ' | ||||||
|                 'to identify data fields of instance objects that ' |                     u'to identify data fields of instance objects that ' | ||||||
|                 'are associated with this schema.'), |                     u'are associated with this schema.'), | ||||||
|                 required=True,) |                 required=True,) | ||||||
|     title = schema.TextLine( |     title = schema.TextLine( | ||||||
|                 title=_(u'Title'), |                 title=_(u'Title'), | ||||||
|  | @ -51,6 +51,13 @@ class ISchema(ITemplate): | ||||||
|                 title=_(u'Description'), |                 title=_(u'Description'), | ||||||
|                 description=_(u'A brief description of the item.'), |                 description=_(u'A brief description of the item.'), | ||||||
|                 required=False,) |                 required=False,) | ||||||
|  |     labelWidth = schema.TextLine( | ||||||
|  |                 title=_(u'Label column width'), | ||||||
|  |                 description=_(u'The width of the label column; please enter ' | ||||||
|  |                     u'a value like used for CSS style sheets, ' | ||||||
|  |                     u'e.g. "200px" or "20%".'), | ||||||
|  |                 default=u'auto', | ||||||
|  |                 required=False,) | ||||||
| 
 | 
 | ||||||
|     fields = Attribute('The components the schema is built up of. ' |     fields = Attribute('The components the schema is built up of. ' | ||||||
|                 'Should be a sequence of IField objects.') |                 'Should be a sequence of IField objects.') | ||||||
|  |  | ||||||
|  | @ -1,5 +1,5 @@ | ||||||
| # | # | ||||||
| #  Copyright (c) 2007 Helmut Merz helmutm@cy55.de | #  Copyright (c) 2010 Helmut Merz helmutm@cy55.de | ||||||
| # | # | ||||||
| #  This program is free software; you can redistribute it and/or modify | #  This program is free software; you can redistribute it and/or modify | ||||||
| #  it under the terms of the GNU General Public License as published by | #  it under the terms of the GNU General Public License as published by | ||||||
|  | @ -36,6 +36,7 @@ class Schema(Template): | ||||||
|     implements(ISchema) |     implements(ISchema) | ||||||
| 
 | 
 | ||||||
|     name = u'' |     name = u'' | ||||||
|  |     labelWidth = 'auto' | ||||||
|     manager = None |     manager = None | ||||||
| 
 | 
 | ||||||
|     def __init__(self, *fields, **kw): |     def __init__(self, *fields, **kw): | ||||||
|  |  | ||||||
		Loading…
	
	Add table
		
		Reference in a new issue
	
	 helmutm
						helmutm