equal
deleted
inserted
replaced
238 Not meant for direct use, use ``request.cw_cnx`` instead. |
238 Not meant for direct use, use ``request.cw_cnx`` instead. |
239 |
239 |
240 :param request: A pyramid request |
240 :param request: A pyramid request |
241 :returns type: :class:`cubicweb.server.session.Connection` |
241 :returns type: :class:`cubicweb.server.session.Connection` |
242 """ |
242 """ |
243 cnx = repoapi.ClientConnection(request.cw_session) |
243 session = request.cw_session |
|
244 if session is None: |
|
245 return None |
|
246 cnx = repoapi.ClientConnection(session) |
244 |
247 |
245 def cleanup(request): |
248 def cleanup(request): |
246 if (request.exception is not None and not isinstance( |
249 if (request.exception is not None and not isinstance( |
247 request.exception, ( |
250 request.exception, ( |
248 httpexceptions.HTTPSuccessful, |
251 httpexceptions.HTTPSuccessful, |
284 Not meant for direct use, use ``request.cw_session`` instead. |
287 Not meant for direct use, use ``request.cw_session`` instead. |
285 """ |
288 """ |
286 repo = request.registry['cubicweb.repository'] |
289 repo = request.registry['cubicweb.repository'] |
287 |
290 |
288 if not request.authenticated_userid: |
291 if not request.authenticated_userid: |
289 session = repo_connect( |
292 eid = request.registry.get('cubicweb.anonymous_eid') |
290 request, repo, eid=request.registry['cubicweb.anonymous_eid']) |
293 if eid is None: |
|
294 return None |
|
295 session = repo_connect(request, repo, eid=eid) |
291 else: |
296 else: |
292 session = request._cw_cached_session |
297 session = request._cw_cached_session |
293 |
298 |
294 return session |
299 return session |
295 |
300 |
303 |
308 |
304 Not meant for direct use, use ``request.cw_request`` instead. |
309 Not meant for direct use, use ``request.cw_request`` instead. |
305 |
310 |
306 """ |
311 """ |
307 req = CubicWebPyramidRequest(request) |
312 req = CubicWebPyramidRequest(request) |
308 req.set_cnx(request.cw_cnx) |
313 cnx = request.cw_cnx |
|
314 if cnx is not None: |
|
315 req.set_cnx(request.cw_cnx) |
309 return req |
316 return req |
310 |
317 |
311 |
318 |
312 def get_principals(login, request): |
319 def get_principals(login, request): |
313 """ Returns the group names of the authenticated user. |
320 """ Returns the group names of the authenticated user. |
356 """ |
363 """ |
357 repo = config.registry['cubicweb.repository'] |
364 repo = config.registry['cubicweb.repository'] |
358 |
365 |
359 with repo.internal_cnx() as cnx: |
366 with repo.internal_cnx() as cnx: |
360 login = config.registry['cubicweb.config'].anonymous_user()[0] |
367 login = config.registry['cubicweb.config'].anonymous_user()[0] |
361 config.registry['cubicweb.anonymous_eid'] = cnx.find( |
368 if login is not None: |
362 'CWUser', login=login).one().eid |
369 config.registry['cubicweb.anonymous_eid'] = cnx.find( |
|
370 'CWUser', login=login).one().eid |
363 |
371 |
364 config.add_request_method( |
372 config.add_request_method( |
365 _cw_session, name='cw_session', property=True, reify=True) |
373 _cw_session, name='cw_session', property=True, reify=True) |
366 config.add_request_method( |
374 config.add_request_method( |
367 _cw_cnx, name='cw_cnx', property=True, reify=True) |
375 _cw_cnx, name='cw_cnx', property=True, reify=True) |