[MERGE] forward port of branch saas-3 up to 75884c3
authorChristophe Simonis <chs@odoo.com>
Sun, 22 Jun 2014 13:30:57 +0000 (15:30 +0200)
committerChristophe Simonis <chs@odoo.com>
Sun, 22 Jun 2014 13:30:57 +0000 (15:30 +0200)
1  2 
addons/sale/sale.py
addons/web/static/src/css/base.css
addons/web/static/src/css/base.sass
addons/web/static/src/js/view_form.js
openerp/addons/base/ir/ir_http.py
openerp/addons/base/module/module.py
openerp/addons/base/res/res_config.py
openerp/http.py
openerp/service/server.py

Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
diff --cc openerp/http.py
@@@ -531,13 -454,29 +529,22 @@@ class HttpRequest(WebRequest)
          params.pop('session_id', None)
          self.params = params
  
+     def _handle_exception(self, exception):
+         """Called within an except block to allow converting exceptions
+            to abitrary responses. Anything returned (except None) will
+            be used as response."""
+         try:
+             return super(HttpRequest, self)._handle_exception(exception)
+         except werkzeug.exceptions.HTTPException, e:
+             return e
      def dispatch(self):
 -        # TODO: refactor this correctly. This is a quick fix for pos demo.
 -        if request.httprequest.method == 'OPTIONS' and request.func and request.func.routing.get('cors'):
 -            response = werkzeug.wrappers.Response(status=200)
 -            response.headers.set('Access-Control-Allow-Origin', request.func.routing['cors'])
 -            methods = 'GET, POST'
 -            if request.func_request_type == 'json':
 -                methods = 'POST'
 -            elif request.func.routing.get('methods'):
 -                methods = ', '.join(request.func.routing['methods'])
 -            response.headers.set('Access-Control-Allow-Methods', methods)
 -            response.headers.set('Access-Control-Max-Age',60*60*24)
 -            response.headers.set('Access-Control-Allow-Headers', 'Origin, X-Requested-With, Content-Type, Accept')
 -            return response
 +        if request.httprequest.method == 'OPTIONS' and request.endpoint and request.endpoint.routing.get('cors'):
 +            headers = {
 +                'Access-Control-Max-Age': 60 * 60 * 24,
 +                'Access-Control-Allow-Headers': 'Origin, X-Requested-With, Content-Type, Accept'
 +            }
 +            return Response(status=200, headers=headers)
  
          r = self._call_function(**self.params)
          if not r:
Simple merge