mirror of
https://github.com/jwinterm/modoboa.git
synced 2026-10-18 05:51:26 +02:00
@@ -492,12 +492,13 @@ def post_revision_commit(sender, **kwargs):
|
||||
|
||||
|
||||
@receiver(post_delete)
|
||||
def post_delete_hook(sender, instance, **kwargs):
|
||||
def log_object_removal(sender, instance, **kwargs):
|
||||
"""Custom post-delete hook.
|
||||
|
||||
We want to know who was responsible for an object deletion.
|
||||
"""
|
||||
from reversion.models import Version
|
||||
from modoboa.lib.signals import get_request
|
||||
|
||||
if not reversion.is_registered(sender):
|
||||
return
|
||||
@@ -510,6 +511,6 @@ def post_delete_hook(sender, instance, **kwargs):
|
||||
msg = _("%(object)s '%(name)s' %(action)s by user %(user)s") % {
|
||||
"object": unicode(version.content_type).capitalize(),
|
||||
"name": version.object_repr, "action": _("deleted"),
|
||||
"user": version.revision.user.username
|
||||
"user": get_request().user.username
|
||||
}
|
||||
logger.critical(msg)
|
||||
|
||||
@@ -16,6 +16,7 @@ from modoboa.lib.exceptions import (
|
||||
ModoboaException, PermDeniedException, BadRequest
|
||||
)
|
||||
from modoboa.lib.templatetags.lib_tags import pagination_bar
|
||||
from modoboa.core.models import log_object_removal
|
||||
from modoboa.extensions.admin.lib import get_sort_order, get_listing_page
|
||||
from modoboa.extensions.admin.models import Domain, Mailbox
|
||||
from modoboa.extensions.admin.forms import (
|
||||
|
||||
@@ -8,7 +8,7 @@ from django.contrib.auth.decorators import (
|
||||
from django.views.decorators.csrf import ensure_csrf_cookie
|
||||
from modoboa.lib import parameters, events
|
||||
from modoboa.lib.exceptions import (
|
||||
ModoboaException, PermDeniedException, BadRequest
|
||||
PermDeniedException, BadRequest
|
||||
)
|
||||
from modoboa.lib.webutils import (
|
||||
_render_to_string, render_to_json_response
|
||||
|
||||
@@ -1,4 +1,7 @@
|
||||
# coding: utf-8
|
||||
"""
|
||||
Custom middlewares.
|
||||
"""
|
||||
import re
|
||||
from django.http import Http404, HttpResponseRedirect
|
||||
from modoboa.core.models import Extension
|
||||
@@ -7,6 +10,7 @@ from modoboa.lib.webutils import (
|
||||
_render_error, ajax_response, render_to_json_response
|
||||
)
|
||||
from modoboa.lib.exceptions import ModoboaException
|
||||
from modoboa.lib.signals import request_accessor
|
||||
|
||||
|
||||
class ExtControlMiddleware(object):
|
||||
@@ -50,3 +54,19 @@ class CommonExceptionCatcher(object):
|
||||
return render_to_json_response(
|
||||
unicode(exception), status=exception.http_code
|
||||
)
|
||||
|
||||
|
||||
class RequestCatcherMiddleware(object):
|
||||
"""
|
||||
Simple middleware to store the current request.
|
||||
"""
|
||||
|
||||
def __init__(self):
|
||||
self._request = None
|
||||
request_accessor.connect(self)
|
||||
|
||||
def process_request(self, request):
|
||||
self._request = request
|
||||
|
||||
def __call__(self, **kwargs):
|
||||
return self._request
|
||||
|
||||
Reference in New Issue
Block a user