work in progress: use cybertools.composer.schema for form rendering

git-svn-id: svn://svn.cy55.de/Zope3/src/loops/trunk@2061 fd906abe-77d9-0310-91a1-e0d9ade77398
This commit is contained in:
helmutm 2007-09-19 15:46:29 +00:00
parent 5473d625c9
commit effa162a32
3 changed files with 18 additions and 2 deletions

View file

@ -41,6 +41,7 @@ from zope.security.proxy import isinstance, removeSecurityProxy
from cybertools.ajax import innerHtml from cybertools.ajax import innerHtml
from cybertools.browser.form import FormController from cybertools.browser.form import FormController
from cybertools.composer.interfaces import IInstance from cybertools.composer.interfaces import IInstance
from cybertools.composer.schema.browser.common import schema_macros, schema_edit_macros
from cybertools.composer.schema.util import getSchemaFromInterface from cybertools.composer.schema.util import getSchemaFromInterface
from cybertools.typology.interfaces import IType, ITypeManager from cybertools.typology.interfaces import IType, ITypeManager
from loops.common import adapted from loops.common import adapted
@ -92,7 +93,13 @@ class ObjectForm(NodeView):
# cybertools.composer.schema support # cybertools.composer.schema support
#template = ViewPageTemplateFile('templates/form_macros.pt') @property
def schemaMacros(self):
return schema_macros.macros
@property
def schemaEditMacros(self):
return schema_edit_macros.macros
@Lazy @Lazy
def schema(self): def schema(self):
@ -325,7 +332,7 @@ class EditObject(FormController):
else: else:
adapted = obj adapted = obj
for k in form.keys(): for k in form.keys():
# TODO: use self.view.form_fields # TODO: use self.view.form_fields or better: IInstance(adapted)
if k.startswith(self.prefix): if k.startswith(self.prefix):
fn = k[len(self.prefix):] fn = k[len(self.prefix):]
if fn in ('action', 'type', 'data.used') or fn.endswith('-empty-marker'): if fn in ('action', 'type', 'data.used') or fn.endswith('-empty-marker'):

View file

@ -17,6 +17,7 @@
<tbody><tr><td colspan="5"> <tbody><tr><td colspan="5">
<div id="form.fields"> <div id="form.fields">
<metal:fields use-macro="view/template/macros/fields" /> <metal:fields use-macro="view/template/macros/fields" />
<!--<metal:fields use-macro="view/schemaMacros/fields" />-->
</div> </div>
</td></tr></tbody> </td></tr></tbody>

View file

@ -393,6 +393,14 @@
</class> </class>
<adapter factory="cybertools.composer.schema.instance.Instance" />
<adapter factory="cybertools.composer.schema.instance.Editor"
name="editor" />
<adapter factory="cybertools.composer.schema.field.FieldInstance" />
<adapter factory="cybertools.composer.schema.field.NumberFieldInstance"
name="number" />
<adapter factory="loops.setup.SetupManager" /> <adapter factory="loops.setup.SetupManager" />
<adapter factory="loops.external.NodesLoader" /> <adapter factory="loops.external.NodesLoader" />
<adapter factory="loops.external.NodesExporter" /> <adapter factory="loops.external.NodesExporter" />