prepare for using cybertools.composer.schema instead of zope.formlib
git-svn-id: svn://svn.cy55.de/Zope3/src/loops/trunk@1996 fd906abe-77d9-0310-91a1-e0d9ade77398
This commit is contained in:
parent
a049b73f0e
commit
d131771839
3 changed files with 16 additions and 4 deletions
|
@ -710,11 +710,15 @@ The new technique uses the ``fields`` and ``data`` attributes...
|
|||
|
||||
>>> for f in view.fields:
|
||||
... print f.name, f.fieldType, f.required, f.vocabulary
|
||||
title text True None
|
||||
title textline True None
|
||||
description textarea False None
|
||||
data textarea False None
|
||||
contentType dropdown True <...SimpleVocabulary object...>
|
||||
linkUrl text False None
|
||||
linkUrl textline False None
|
||||
|
||||
>>> view.data
|
||||
{'linkUrl': None, 'contentType': u'', 'data': '', 'description': '',
|
||||
'title': u'Test Note'}
|
||||
|
||||
The object is changed via a FormController adapter created for
|
||||
a NodeView.
|
||||
|
|
|
@ -40,8 +40,10 @@ from zope.security.proxy import isinstance, removeSecurityProxy
|
|||
|
||||
from cybertools.ajax import innerHtml
|
||||
from cybertools.browser.form import FormController
|
||||
from cybertools.composer.interfaces import IInstance
|
||||
from cybertools.composer.schema.util import getSchemaFromInterface
|
||||
from cybertools.typology.interfaces import IType, ITypeManager
|
||||
from loops.common import adapted
|
||||
from loops.concept import ResourceRelation
|
||||
from loops.interfaces import IConcept, IResourceManager, IDocument
|
||||
from loops.interfaces import IFile, IExternalFile, INote, ITextDocument
|
||||
|
@ -107,13 +109,13 @@ class ObjectForm(NodeView):
|
|||
data = instance.applyTemplate(mode='edit')
|
||||
for k, v in data.items():
|
||||
#overwrite data with values from request.form
|
||||
if k in form:
|
||||
if k in self.request.form:
|
||||
data[k] = form[k]
|
||||
return data
|
||||
|
||||
@Lazy
|
||||
def instance(self):
|
||||
return IInstance(self.context)
|
||||
return IInstance(adapted(self.context))
|
||||
|
||||
# zope.formlib support
|
||||
|
||||
|
|
|
@ -16,6 +16,8 @@ from zope.app.security.interfaces import IAuthentication
|
|||
from zope.dublincore.annotatableadapter import ZDCAnnotatableAdapter
|
||||
from zope.dublincore.interfaces import IZopeDublinCore
|
||||
|
||||
from cybertools.composer.schema.field import FieldInstance, NumberFieldInstance
|
||||
from cybertools.composer.schema.instance import Instance, Editor
|
||||
from cybertools.relation.tests import IntIdsStub
|
||||
from cybertools.relation.registry import RelationRegistry
|
||||
from cybertools.relation.interfaces import IRelation, IRelationRegistry
|
||||
|
@ -60,6 +62,10 @@ class TestSite(object):
|
|||
component.provideAdapter(TypeConcept)
|
||||
component.provideAdapter(FileAdapter, provides=IFile)
|
||||
component.provideAdapter(NameChooser)
|
||||
component.provideAdapter(Instance)
|
||||
component.provideAdapter(Editor, name='editor')
|
||||
component.provideAdapter(FieldInstance)
|
||||
component.provideAdapter(NumberFieldInstance, name='number')
|
||||
|
||||
component.getSiteManager().registerHandler(invalidateRelations,
|
||||
(ILoopsObject, IObjectRemovedEvent))
|
||||
|
|
Loading…
Add table
Reference in a new issue