views: add a get_related_users function to get and cache user linked to the current session
This commit is contained in:
parent
9cd7d79131
commit
bdc61cc169
|
@ -533,6 +533,19 @@ class ExtraContextMixin(object):
|
|||
context.update(self.extra_ctx)
|
||||
return context
|
||||
|
||||
def get_related_users(request):
|
||||
'''Compute the list of users for which we can see the mailboxes, and cache
|
||||
it in the session.
|
||||
|
||||
'''
|
||||
if 'related_users' not in request.session:
|
||||
users = [request.user]
|
||||
delegations = user.delegations_by.select_related('by')
|
||||
if delegations:
|
||||
users.extend(delegation.by for delegation in delegations)
|
||||
request.session['related_users'] = users
|
||||
return request.session['realted_users']
|
||||
|
||||
class MailboxQuerysetMixin(object):
|
||||
def get_queryset(self):
|
||||
qs = super(MailboxQuerysetMixin, self).get_queryset()
|
||||
|
|
Loading…
Reference in New Issue