web/views/basecontrollers.py
branchtls-sprint
changeset 1635 866563e2d0fc
parent 1560 7dd2a81b8bc8
child 1713 d817f23439ba
equal deleted inserted replaced
1634:dbb70cdca535 1635:866563e2d0fc
    18 from cubicweb import NoSelectableObject, ValidationError, ObjectNotFound, typed_eid
    18 from cubicweb import NoSelectableObject, ValidationError, ObjectNotFound, typed_eid
    19 from cubicweb.utils import strptime
    19 from cubicweb.utils import strptime
    20 from cubicweb.selectors import yes, match_user_groups
    20 from cubicweb.selectors import yes, match_user_groups
    21 from cubicweb.view import STRICT_DOCTYPE
    21 from cubicweb.view import STRICT_DOCTYPE
    22 from cubicweb.common.mail import format_mail
    22 from cubicweb.common.mail import format_mail
    23 from cubicweb.web import ExplicitLogin, Redirect, RemoteCallFailed
    23 from cubicweb.web import ExplicitLogin, Redirect, RemoteCallFailed, json_dumps
    24 from cubicweb.web.formrenderers import FormRenderer
    24 from cubicweb.web.formrenderers import FormRenderer
    25 from cubicweb.web.controller import Controller
    25 from cubicweb.web.controller import Controller
    26 from cubicweb.web.views import vid_from_rset
    26 from cubicweb.web.views import vid_from_rset
    27 try:
    27 try:
    28     from cubicweb.web.facet import (FilterRQLBuilder, get_facet,
    28     from cubicweb.web.facet import (FilterRQLBuilder, get_facet,
    40     """decorator to sets correct content_type and calls `simplejson.dumps` on
    40     """decorator to sets correct content_type and calls `simplejson.dumps` on
    41     results
    41     results
    42     """
    42     """
    43     def wrapper(self, *args, **kwargs):
    43     def wrapper(self, *args, **kwargs):
    44         self.req.set_content_type('application/json')
    44         self.req.set_content_type('application/json')
    45         result = func(self, *args, **kwargs)
    45         return json_dumps(func(self, *args, **kwargs))
    46         return simplejson.dumps(result)
       
    47     wrapper.__name__ = func.__name__
    46     wrapper.__name__ = func.__name__
    48     return wrapper
    47     return wrapper
    49 
    48 
    50 def xhtmlize(func):
    49 def xhtmlize(func):
    51     """decorator to sets correct content_type and calls `xmlize` on results"""
    50     """decorator to sets correct content_type and calls `xmlize` on results"""