Bladeren bron

Логирование

Добавил декоратор логирования для вьюх
Denis V. Dedkov 10 jaren geleden
bovenliggende
commit
fc876e1c5c
2 gewijzigde bestanden met toevoegingen van 20 en 1 verwijderingen
  1. 18 0
      asuzr/common.py
  2. 2 1
      asuzr/tables.py

+ 18 - 0
asuzr/common.py

@@ -1,5 +1,7 @@
 # -*- coding: utf-8 -*- 
 from datetime import date
+from django.contrib.admin.models import LogEntry
+from django.contrib.auth.models import User
 
 class custom_date(date):
 
@@ -21,3 +23,19 @@ class custom_date(date):
  @property
  def is_weekend(self):
     return self.weekday() >= 5
+
+
+def log_view_call(fn):
+    '''
+    Wrapper for views log
+    '''
+    def wrapper(*args, **kwargs):
+        log_entry = {}
+        request = args[0]
+        log_entry['user'] = User.objects.get(username = request.META['USER'])
+        log_entry['object_repr'] = fn.__name__
+        log_entry['action_flag'] = 5
+        entry = LogEntry(**log_entry)
+        entry.save()
+        return fn(*args, **kwargs)
+    return wrapper

+ 2 - 1
asuzr/tables.py

@@ -226,7 +226,8 @@ class LogTable(tables.Table):
     return {1: 'Добавление', 
             2: 'Изменение', 
             3: 'Удаление',
-            4: 'Авторизация'}[value]
+            4: 'Авторизация',
+            5: 'Открытие страницы',}[value]
 
   class Meta:
     model = LogEntry