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 |