view: factorize common code in inbox_by_document, outbox_by_document
fixes #3947
This commit is contained in:
parent
5b9105af21
commit
a3b8fa44ea
|
@ -410,6 +410,7 @@ def delete(request, mailbox_id, back='inbox'):
|
|||
mailbox=m, user=m.owner, delegate=request.user, document=m.document)
|
||||
return redirect(back_pair[0])
|
||||
|
||||
|
||||
def get_free_delegation_number(user):
|
||||
'''Allocate a new delegation username'''
|
||||
for i in count(1):
|
||||
|
@ -423,35 +424,33 @@ def get_free_delegation_number(user):
|
|||
@login_required
|
||||
@never_cache
|
||||
def inbox_by_document(request, document_id):
|
||||
mboxes = mailboxes(request).filter(document=document_id, outbox=False)
|
||||
if not mailboxes:
|
||||
raise Http404('No document found')
|
||||
for mbox in mboxes:
|
||||
if mbox.owner == request.user:
|
||||
break
|
||||
else:
|
||||
mbox = mboxes[0]
|
||||
return redirect('inbox-message', mbox.id)
|
||||
|
||||
return box_by_document(request, document_id, outbox=False,
|
||||
redirect_to='inbox-messages')
|
||||
|
||||
|
||||
@login_required
|
||||
@never_cache
|
||||
def outbox_by_document(request, document_id):
|
||||
mboxes = mailboxes(request).filter(document=document_id, outbox=True)
|
||||
if not mailboxes:
|
||||
return box_by_document(request, document_id, outbox=True,
|
||||
redirect_to='outbox-messages')
|
||||
|
||||
|
||||
def box_by_document(request, document_id, outbox, redirect_to):
|
||||
mboxes = mailboxes(request).filter(document=document_id, outbox=outbox)
|
||||
if not mboxes:
|
||||
raise Http404('No document found')
|
||||
for mbox in mboxes:
|
||||
if mbox.owner == request.user:
|
||||
break
|
||||
else:
|
||||
mbox = mboxes[0]
|
||||
return redirect('outbox-message', mbox.id)
|
||||
return redirect(redirect_to, mbox.id)
|
||||
|
||||
|
||||
from django.contrib.auth import SESSION_KEY, BACKEND_SESSION_KEY
|
||||
from django import http
|
||||
|
||||
|
||||
def su(request, username, redirect_url='/'):
|
||||
'''Allows changing user for super-users. Super-user status is kept using a
|
||||
flag on the session.
|
||||
|
|
Loading…
Reference in New Issue