##// END OF EJS Templates
api: attach the call context variables to request for later usage...
dan -
r1794:1c6b274b default
parent child Browse files
Show More
@@ -35,8 +35,9 b' from pyramid.httpexceptions import HTTPN'
35 35
36 36 from rhodecode.api.exc import (
37 37 JSONRPCBaseError, JSONRPCError, JSONRPCForbidden, JSONRPCValidationError)
38 from rhodecode.apps._base import TemplateArgs
38 39 from rhodecode.lib.auth import AuthUser
39 from rhodecode.lib.base import get_ip_addr
40 from rhodecode.lib.base import get_ip_addr, attach_context_attributes
40 41 from rhodecode.lib.ext_json import json
41 42 from rhodecode.lib.utils2 import safe_str
42 43 from rhodecode.lib.plugins.utils import get_plugin_settings
@@ -278,6 +279,11 b' def request_view(request):'
278 279 'request': request,
279 280 'apiuser': auth_u
280 281 })
282
283 # register some common functions for usage
284 attach_context_attributes(TemplateArgs(), request, request.rpc_user.user_id,
285 attach_to_request=True)
286
281 287 try:
282 288 ret_value = func(**call_params)
283 289 return jsonrpc_response(request, ret_value)
@@ -265,7 +265,7 b' class BasicAuth(AuthBasicAuthenticator):'
265 265 __call__ = authenticate
266 266
267 267
268 def attach_context_attributes(context, request, user_id):
268 def attach_context_attributes(context, request, user_id, attach_to_request=False):
269 269 """
270 270 Attach variables into template context called `c`, please note that
271 271 request could be pylons or pyramid request in here.
@@ -388,7 +388,11 b' def attach_context_attributes(context, r'
388 388 context.backends = rhodecode.BACKENDS.keys()
389 389 context.backends.sort()
390 390 context.unread_notifications = NotificationModel().get_unread_cnt_for_user(user_id)
391 context.pyramid_request = pyramid.threadlocal.get_current_request()
391 if attach_to_request:
392 request.call_context = context
393 else:
394 context.pyramid_request = pyramid.threadlocal.get_current_request()
395
392 396
393 397
394 398 def get_auth_user(environ):
General Comments 0
You need to be logged in to leave comments. Login now