diff -r e65af61bde7d -r 1dd655788ece web/views/autoform.py --- a/web/views/autoform.py Thu Jan 10 18:34:10 2013 +0100 +++ b/web/views/autoform.py Mon Jan 21 16:34:09 2013 +0100 @@ -1,4 +1,4 @@ -# copyright 2003-2011 LOGILAB S.A. (Paris, FRANCE), all rights reserved. +# copyright 2003-2012 LOGILAB S.A. (Paris, FRANCE), all rights reserved. # contact http://www.logilab.fr/ -- mailto:contact@logilab.fr # # This file is part of CubicWeb. @@ -126,7 +126,6 @@ from logilab.mtconverter import xml_escape from logilab.common.decorators import iclassmethod, cached from logilab.common.deprecation import deprecated -from logilab.common.registry import classid from cubicweb import typed_eid, neg_role, uilib from cubicweb.schema import display_name @@ -140,9 +139,6 @@ from cubicweb.web.views import uicfg, forms from cubicweb.web.views.ajaxcontroller import ajaxfunc -_AFS = uicfg.autoform_section -_AFFK = uicfg.autoform_field_kwargs - # inlined form handling ######################################################## @@ -755,6 +751,8 @@ def __init__(self, *args, **kwargs): super(AutomaticEntityForm, self).__init__(*args, **kwargs) + self.uicfg_afs = self._cw.vreg['uicfg'].select( + 'autoform_section', self._cw, entity=self.edited_entity) entity = self.edited_entity if entity.has_eid(): entity.complete() @@ -820,8 +818,8 @@ def _inlined_form_view_field(self, view): # XXX allow more customization - kwargs = _AFFK.etype_get(self.edited_entity.e_schema, view.rtype, - view.role, view.etype) + kwargs = self.uicfg_affk.etype_get(self.edited_entity.e_schema, + view.rtype, view.role, view.etype) if kwargs is None: kwargs = {} return InlinedFormField(view=view, **kwargs) @@ -832,7 +830,7 @@ """return a list of (relation schema, target schemas, role) matching given category(ies) and permission """ - return _AFS.relations_by_section( + return self.uicfg_afs.relations_by_section( self.edited_entity, self.formtype, section, permission, strict) def editable_attributes(self, strict=False): @@ -963,6 +961,7 @@ ## default form ui configuration ############################################## +_AFS = uicfg.autoform_section # use primary and not generated for eid since it has to be an hidden _AFS.tag_attribute(('*', 'eid'), 'main', 'attributes') _AFS.tag_attribute(('*', 'eid'), 'muledit', 'attributes') @@ -994,6 +993,7 @@ _AFS.tag_subject_of(('CWRelation', 'from_entity', '*'), 'main', 'inlined') _AFS.tag_subject_of(('CWRelation', 'to_entity', '*'), 'main', 'inlined') +_AFFK = uicfg.autoform_field_kwargs _AFFK.tag_attribute(('RQLExpression', 'expression'), {'widget': fw.TextInput}) _AFFK.tag_subject_of(('TrInfo', 'wf_info_for', '*'),