Логирование операций
Добавил логирование событий авторизации: 1. Вход в систему 2. Выход из системы 3. Ошибка входа в систему
This commit is contained in:
@@ -4,6 +4,8 @@
|
|||||||
from django.db import models
|
from django.db import models
|
||||||
from django.contrib.auth.models import User
|
from django.contrib.auth.models import User
|
||||||
from datetime import date, timedelta
|
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):
|
class Product(models.Model):
|
||||||
@@ -158,3 +160,23 @@ class OrderCosts(models.Model):
|
|||||||
|
|
||||||
def __unicode__(self):
|
def __unicode__(self):
|
||||||
return ', '.join((self.order.product.name, self.cost_item.name))
|
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)
|
||||||
|
|||||||
Reference in New Issue
Block a user