17 match_user_groups, objectify_selector) |
17 match_user_groups, objectify_selector) |
18 from cubicweb.view import StartupView |
18 from cubicweb.view import StartupView |
19 from cubicweb.web import uicfg, stdmsgs |
19 from cubicweb.web import uicfg, stdmsgs |
20 from cubicweb.web.form import FormViewMixIn |
20 from cubicweb.web.form import FormViewMixIn |
21 from cubicweb.web.formfields import FIELDS, StringField |
21 from cubicweb.web.formfields import FIELDS, StringField |
22 from cubicweb.web.formwidgets import Select, TextInput, Button, SubmitButton |
22 from cubicweb.web.formwidgets import Select, TextInput, Button, SubmitButton, FieldWidget |
23 from cubicweb.web.views import primary, formrenderers |
23 from cubicweb.web.views import primary, formrenderers |
24 |
24 |
25 |
25 |
26 # some string we want to be internationalizable for nicer display of property |
26 # some string we want to be internationalizable for nicer display of property |
27 # groups |
27 # groups |
256 subform.add_hidden('for_user', self.user.eid, eidparam=True, role='subject') |
256 subform.add_hidden('for_user', self.user.eid, eidparam=True, role='subject') |
257 |
257 |
258 |
258 |
259 # cwproperty form objects ###################################################### |
259 # cwproperty form objects ###################################################### |
260 |
260 |
261 class PlaceHolderWidget(object): |
261 class PlaceHolderWidget(FieldWidget): |
262 |
262 |
263 def render(self, form, field, renderer): |
263 def render(self, form, field, renderer): |
264 domid = field.dom_id(form) |
264 domid = field.dom_id(form) |
265 # empty span as well else html validation fail (label is refering to |
265 # empty span as well else html validation fail (label is refering to |
266 # this id) |
266 # this id) |
267 return '<div id="div:%s"><span id="%s">%s</span></div>' % ( |
267 return '<div id="div:%s"><span id="%s">%s</span></div>' % ( |
268 domid, domid, form._cw._('select a key first')) |
268 domid, domid, form._cw._('select a key first')) |
269 |
269 |
270 |
270 |
271 class NotEditableWidget(object): |
271 class NotEditableWidget(FieldWidget): |
272 def __init__(self, value, msg=None): |
272 def __init__(self, value, msg=None): |
273 self.value = value |
273 self.value = value |
274 self.msg = msg |
274 self.msg = msg |
275 |
275 |
276 def render(self, form, field, renderer): |
276 def render(self, form, field, renderer): |