diff -r 0c111b232927 -r 88c71ad83d47 web/views/cwproperties.py --- a/web/views/cwproperties.py Wed Aug 01 10:30:48 2012 +0200 +++ b/web/views/cwproperties.py Thu Mar 21 18:13:31 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. @@ -25,9 +25,8 @@ from logilab.common.decorators import cached from cubicweb import UnknownProperty -from cubicweb.selectors import (one_line_rset, none_rset, is_instance, - match_user_groups, objectify_selector, - logged_user_in_rset) +from cubicweb.predicates import (one_line_rset, none_rset, is_instance, + match_user_groups, logged_user_in_rset) from cubicweb.view import StartupView from cubicweb.web import uicfg, stdmsgs from cubicweb.web.form import FormViewMixIn @@ -35,6 +34,7 @@ from cubicweb.web.formwidgets import (Select, TextInput, Button, SubmitButton, FieldWidget) from cubicweb.web.views import primary, formrenderers, editcontroller +from cubicweb.web.views.ajaxcontroller import ajaxfunc uicfg.primaryview_section.tag_object_of(('*', 'for_user', '*'), 'hidden') @@ -419,6 +419,20 @@ """ return 'view', {} + +@ajaxfunc(output_type='xhtml') +def prop_widget(self, propkey, varname, tabindex=None): + """specific method for CWProperty handling""" + entity = self._cw.vreg['etypes'].etype_class('CWProperty')(self._cw) + entity.eid = varname + entity['pkey'] = propkey + form = self._cw.vreg['forms'].select('edition', self._cw, entity=entity) + form.build_context() + vfield = form.field_by_name('value') + renderer = formrenderers.FormRenderer(self._cw) + return vfield.render(form, renderer, tabindex=tabindex) \ + + renderer.render_help(form, vfield) + _afs = uicfg.autoform_section _afs.tag_subject_of(('*', 'for_user', '*'), 'main', 'hidden') _afs.tag_object_of(('*', 'for_user', '*'), 'main', 'hidden')