Commit e2cf853975a7f032deae20a082e0b6f30a8feed7
1 parent
2e5cee0a
Exists in
master
and in
3 other branches
Changing log to save deleted user info
Showing
7 changed files
with
31 additions
and
22 deletions
Show diff stats
amadeus/templates/pagination.html
1 | -<div class="row-fluid"> | ||
2 | - <div class="col-md-12 col-lg-12 col-sm-12 col-xs-12 text-center"> | ||
3 | - <ul class="pagination"> | ||
4 | - {% for page_number in paginator.page_range %} | ||
5 | - <li{% if page_obj.number == page_number %} class="active"{% endif %}> | ||
6 | - <a href="?page={{ page_number }}{{ getvars }}">{{ page_number }}</a> | ||
7 | - </li> | ||
8 | - {% endfor %} | ||
9 | - </ul> | 1 | +{% if page.paginator.count > 0 %} |
2 | + <div class="row-fluid"> | ||
3 | + <div class="col-md-12 col-lg-12 col-sm-12 col-xs-12 text-center"> | ||
4 | + <ul class="pagination"> | ||
5 | + {% for page_number in paginator.page_range %} | ||
6 | + <li{% if page_obj.number == page_number %} class="active"{% endif %}> | ||
7 | + <a href="?page={{ page_number }}{{ getvars }}">{{ page_number }}</a> | ||
8 | + </li> | ||
9 | + {% endfor %} | ||
10 | + </ul> | ||
11 | + </div> | ||
10 | </div> | 12 | </div> |
11 | -</div> | ||
12 | \ No newline at end of file | 13 | \ No newline at end of file |
14 | +{% endif %} | ||
13 | \ No newline at end of file | 15 | \ No newline at end of file |
log/admin.py
@@ -3,7 +3,7 @@ from django.contrib import admin | @@ -3,7 +3,7 @@ from django.contrib import admin | ||
3 | from .models import Log | 3 | from .models import Log |
4 | 4 | ||
5 | class LogAdmin(admin.ModelAdmin): | 5 | class LogAdmin(admin.ModelAdmin): |
6 | - list_display = ['datetime', 'user', 'action', 'resource', 'context'] | 6 | + list_display = ['datetime', 'user', 'user_email', 'action', 'resource', 'context'] |
7 | search_fields = ['user', 'action', 'resource'] | 7 | search_fields = ['user', 'action', 'resource'] |
8 | 8 | ||
9 | admin.site.register(Log, LogAdmin) | 9 | admin.site.register(Log, LogAdmin) |
10 | \ No newline at end of file | 10 | \ No newline at end of file |
log/decorators.py
@@ -16,7 +16,9 @@ def log_decorator(log_component = '', log_action = '', log_resource = ''): | @@ -16,7 +16,9 @@ def log_decorator(log_component = '', log_action = '', log_resource = ''): | ||
16 | if request.user.is_authenticated: | 16 | if request.user.is_authenticated: |
17 | 17 | ||
18 | log = Log() | 18 | log = Log() |
19 | - log.user = request.user | 19 | + log.user = str(request.user) |
20 | + log.user_id = request.user.id | ||
21 | + log.user_email = request.user.email | ||
20 | log.component = log_component | 22 | log.component = log_component |
21 | log.context = request.log_context | 23 | log.context = request.log_context |
22 | log.action = log_action | 24 | log.action = log_action |
@@ -41,7 +43,9 @@ def log_decorator_ajax(log_component = '', log_action = '', log_resource = ''): | @@ -41,7 +43,9 @@ def log_decorator_ajax(log_component = '', log_action = '', log_resource = ''): | ||
41 | if request.user.is_authenticated: | 43 | if request.user.is_authenticated: |
42 | 44 | ||
43 | log = Log() | 45 | log = Log() |
44 | - log.user = request.user | 46 | + log.user = str(request.user) |
47 | + log.user_id = request.user.id | ||
48 | + log.user_email = request.user.email | ||
45 | log.component = log_component | 49 | log.component = log_component |
46 | log.context = "" | 50 | log.context = "" |
47 | log.action = log_action | 51 | log.action = log_action |
log/migrations/0001_initial.py
1 | # -*- coding: utf-8 -*- | 1 | # -*- coding: utf-8 -*- |
2 | -# Generated by Django 1.10 on 2016-12-29 20:07 | 2 | +# Generated by Django 1.10 on 2017-01-04 21:26 |
3 | from __future__ import unicode_literals | 3 | from __future__ import unicode_literals |
4 | 4 | ||
5 | -from django.conf import settings | ||
6 | import django.contrib.postgres.fields.jsonb | 5 | import django.contrib.postgres.fields.jsonb |
7 | from django.db import migrations, models | 6 | from django.db import migrations, models |
8 | -import django.db.models.deletion | ||
9 | 7 | ||
10 | 8 | ||
11 | class Migration(migrations.Migration): | 9 | class Migration(migrations.Migration): |
@@ -13,7 +11,6 @@ class Migration(migrations.Migration): | @@ -13,7 +11,6 @@ class Migration(migrations.Migration): | ||
13 | initial = True | 11 | initial = True |
14 | 12 | ||
15 | dependencies = [ | 13 | dependencies = [ |
16 | - migrations.swappable_dependency(settings.AUTH_USER_MODEL), | ||
17 | ] | 14 | ] |
18 | 15 | ||
19 | operations = [ | 16 | operations = [ |
@@ -25,12 +22,14 @@ class Migration(migrations.Migration): | @@ -25,12 +22,14 @@ class Migration(migrations.Migration): | ||
25 | ('context', django.contrib.postgres.fields.jsonb.JSONField(blank=True, verbose_name='Context')), | 22 | ('context', django.contrib.postgres.fields.jsonb.JSONField(blank=True, verbose_name='Context')), |
26 | ('action', models.TextField(verbose_name='Action')), | 23 | ('action', models.TextField(verbose_name='Action')), |
27 | ('resource', models.TextField(verbose_name='Resource')), | 24 | ('resource', models.TextField(verbose_name='Resource')), |
25 | + ('user', models.CharField(max_length=100, verbose_name='Actor')), | ||
26 | + ('user_id', models.IntegerField(verbose_name='Actor id')), | ||
27 | + ('user_email', models.EmailField(max_length=254, verbose_name='Actor Mail')), | ||
28 | ('datetime', models.DateTimeField(auto_now_add=True, verbose_name='Date and Time of action')), | 28 | ('datetime', models.DateTimeField(auto_now_add=True, verbose_name='Date and Time of action')), |
29 | - ('user', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to=settings.AUTH_USER_MODEL, verbose_name='Actor')), | ||
30 | ], | 29 | ], |
31 | options={ | 30 | options={ |
32 | - 'verbose_name_plural': 'Logs', | ||
33 | 'verbose_name': 'Log', | 31 | 'verbose_name': 'Log', |
32 | + 'verbose_name_plural': 'Logs', | ||
34 | }, | 33 | }, |
35 | ), | 34 | ), |
36 | ] | 35 | ] |
log/mixins.py
@@ -12,7 +12,9 @@ class LogMixin(object): | @@ -12,7 +12,9 @@ class LogMixin(object): | ||
12 | 12 | ||
13 | def createLog(self, actor = None, component = '', log_action = '', log_resource = '', context = {}): | 13 | def createLog(self, actor = None, component = '', log_action = '', log_resource = '', context = {}): |
14 | log = Log() | 14 | log = Log() |
15 | - log.user = actor | 15 | + log.user = str(actor) |
16 | + log.user_id = actor.id | ||
17 | + log.user_email = actor.email | ||
16 | log.context = context | 18 | log.context = context |
17 | log.component = component | 19 | log.component = component |
18 | log.action = log_action | 20 | log.action = log_action |
log/models.py
@@ -9,7 +9,9 @@ class Log(models.Model): | @@ -9,7 +9,9 @@ class Log(models.Model): | ||
9 | context = JSONField(_('Context'), blank = True) | 9 | context = JSONField(_('Context'), blank = True) |
10 | action = models.TextField(_('Action')) | 10 | action = models.TextField(_('Action')) |
11 | resource = models.TextField(_('Resource')) | 11 | resource = models.TextField(_('Resource')) |
12 | - user = models.ForeignKey(User, verbose_name = _('Actor')) | 12 | + user = models.CharField(_('Actor'), max_length = 100) |
13 | + user_id = models.IntegerField(_('Actor id')) | ||
14 | + user_email = models.EmailField(_('Actor Mail')) | ||
13 | datetime = models.DateTimeField(_("Date and Time of action"), auto_now_add = True) | 15 | datetime = models.DateTimeField(_("Date and Time of action"), auto_now_add = True) |
14 | 16 | ||
15 | class Meta: | 17 | class Meta: |
subjects/views.py
@@ -46,7 +46,7 @@ class HomeView(LoginRequiredMixin, ListView): | @@ -46,7 +46,7 @@ class HomeView(LoginRequiredMixin, ListView): | ||
46 | 46 | ||
47 | def get_context_data(self, **kwargs): | 47 | def get_context_data(self, **kwargs): |
48 | context = super(HomeView, self).get_context_data(**kwargs) | 48 | context = super(HomeView, self).get_context_data(**kwargs) |
49 | - | 49 | + context['title'] = _('Home') |
50 | # paginator = Paginator(subjects, 2) | 50 | # paginator = Paginator(subjects, 2) |
51 | 51 | ||
52 | # page = self.request.GET.get('page') | 52 | # page = self.request.GET.get('page') |