def _get_object(request, nickname, pk):
# TODO DUP CODE. Must refactor this.
try:
mail = get_object_or_404(Mail, pk=pk)
can_read = mail.can_read(request)
if mail.recipient != nickname:
return None
if can_read == (True, None):
mail.read()
return mail
elif can_read == (False, {CannotReadReasons.secret_code}):
return None
return None
except Mail.DoesNotExist:
return None
评论列表
文章目录