web/form.py
branchtls-sprint
changeset 1048 2a93712a6f8b
parent 1047 21d4d5e6aa45
child 1049 f8e92c2f3bef
equal deleted inserted replaced
1047:21d4d5e6aa45 1048:2a93712a6f8b
    19 from cubicweb import typed_eid
    19 from cubicweb import typed_eid
    20 from cubicweb.appobject import AppObject
    20 from cubicweb.appobject import AppObject
    21 from cubicweb.utils import ustrftime
    21 from cubicweb.utils import ustrftime
    22 from cubicweb.selectors import yes, match_form_params, non_final_entity
    22 from cubicweb.selectors import yes, match_form_params, non_final_entity
    23 from cubicweb.view import NOINDEX, NOFOLLOW, View, EntityView, AnyRsetView
    23 from cubicweb.view import NOINDEX, NOFOLLOW, View, EntityView, AnyRsetView
       
    24 from cubicweb.schema import FormatConstraint
    24 from cubicweb.common.registerers import accepts_registerer
    25 from cubicweb.common.registerers import accepts_registerer
    25 from cubicweb.common.uilib import toggle_action
    26 from cubicweb.common.uilib import toggle_action
    26 from cubicweb.web import stdmsgs
    27 from cubicweb.web import stdmsgs
    27 from cubicweb.web.httpcache import NoHTTPCacheManager
    28 from cubicweb.web.httpcache import NoHTTPCacheManager
    28 from cubicweb.web.controller import NAV_FORM_PARAMETERS, redirect_params
    29 from cubicweb.web.controller import NAV_FORM_PARAMETERS, redirect_params
   542         except KeyError:
   543         except KeyError:
   543             if self.use_fckeditor(form):
   544             if self.use_fckeditor(form):
   544                 # if fckeditor is used and format field isn't explicitly
   545                 # if fckeditor is used and format field isn't explicitly
   545                 # deactivated, we want an hidden field for the format
   546                 # deactivated, we want an hidden field for the format
   546                 widget = HiddenInput()
   547                 widget = HiddenInput()
       
   548                 choices = None
   547             else:
   549             else:
   548                 # else we want a format selector
   550                 # else we want a format selector
   549                 # XXX compute vocabulary
   551                 # XXX compute vocabulary
   550                 widget = Select
   552                 widget = Select
   551             field = StringField(name=self.name + '_format', widget=widget)
   553                 req = form.req
       
   554                 choices = [(req._(format), format) for format in FormatConstraint().vocabulary(req=req)]
       
   555             field = StringField(name=self.name + '_format', widget=widget,
       
   556                                 choices=choices)
   552             form.req.data[self] = field
   557             form.req.data[self] = field
   553             return field
   558             return field
   554     
   559     
   555     def actual_fields(self, form):
   560     def actual_fields(self, form):
   556         yield self
   561         yield self