From 8e05a228bb71854046c2ab1aa8676e2e812aa69b Mon Sep 17 00:00:00 2001 From: "Denis V. Dedkov" Date: Sat, 20 Jun 2015 20:23:29 +0500 Subject: [PATCH] =?UTF-8?q?=D0=9B=D0=BE=D0=B3=D0=B8=D1=80=D0=BE=D0=B2?= =?UTF-8?q?=D0=B0=D0=BD=D0=B8=D0=B5=20=D0=BE=D0=BF=D0=B5=D1=80=D0=B0=D1=86?= =?UTF-8?q?=D0=B8=D0=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Добавил логирование событий авторизации: 1. Вход в систему 2. Выход из системы 3. Ошибка входа в систему --- asuzr/models.py | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/asuzr/models.py b/asuzr/models.py index 885c3fc..bd96baa 100644 --- a/asuzr/models.py +++ b/asuzr/models.py @@ -4,6 +4,8 @@ from django.db import models from django.contrib.auth.models import User from datetime import date, timedelta +from django.contrib.auth.signals import user_logged_in, user_logged_out, user_login_failed +from django.contrib.admin.models import LogEntry #Изделия class Product(models.Model): @@ -158,3 +160,23 @@ class OrderCosts(models.Model): def __unicode__(self): return ', '.join((self.order.product.name, self.cost_item.name)) + + +############################################################################################ +# Signal handlers +############################################################################################ + +def auth_log(message, user = None): + if user == None: + user = User.objects.get(pk = 1) + + entry = LogEntry(user = user, object_repr = message, action_flag = 4) + entry.save() + +on_login = lambda **kwargs: auth_log(u'Вход в систему', kwargs['user']) +on_logout = lambda **kwargs: auth_log(u'Выход из системы', kwargs['user']) +on_login_error = lambda **kwargs: auth_log(u'Ошибка входа пользователя %s' % kwargs['credentials']['username']) + +user_logged_in.connect(on_login) +user_logged_out.connect(on_logout) +user_login_failed.connect(on_login_error)