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 | 12 | </div> |
11 | -</div> | |
12 | 13 | \ No newline at end of file |
14 | +{% endif %} | |
13 | 15 | \ No newline at end of file | ... | ... |
log/admin.py
... | ... | @@ -3,7 +3,7 @@ from django.contrib import admin |
3 | 3 | from .models import Log |
4 | 4 | |
5 | 5 | class LogAdmin(admin.ModelAdmin): |
6 | - list_display = ['datetime', 'user', 'action', 'resource', 'context'] | |
6 | + list_display = ['datetime', 'user', 'user_email', 'action', 'resource', 'context'] | |
7 | 7 | search_fields = ['user', 'action', 'resource'] |
8 | 8 | |
9 | 9 | admin.site.register(Log, LogAdmin) |
10 | 10 | \ No newline at end of file | ... | ... |
log/decorators.py
... | ... | @@ -16,7 +16,9 @@ def log_decorator(log_component = '', log_action = '', log_resource = ''): |
16 | 16 | if request.user.is_authenticated: |
17 | 17 | |
18 | 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 | 22 | log.component = log_component |
21 | 23 | log.context = request.log_context |
22 | 24 | log.action = log_action |
... | ... | @@ -41,7 +43,9 @@ def log_decorator_ajax(log_component = '', log_action = '', log_resource = ''): |
41 | 43 | if request.user.is_authenticated: |
42 | 44 | |
43 | 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 | 49 | log.component = log_component |
46 | 50 | log.context = "" |
47 | 51 | log.action = log_action | ... | ... |
log/migrations/0001_initial.py
1 | 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 | 3 | from __future__ import unicode_literals |
4 | 4 | |
5 | -from django.conf import settings | |
6 | 5 | import django.contrib.postgres.fields.jsonb |
7 | 6 | from django.db import migrations, models |
8 | -import django.db.models.deletion | |
9 | 7 | |
10 | 8 | |
11 | 9 | class Migration(migrations.Migration): |
... | ... | @@ -13,7 +11,6 @@ class Migration(migrations.Migration): |
13 | 11 | initial = True |
14 | 12 | |
15 | 13 | dependencies = [ |
16 | - migrations.swappable_dependency(settings.AUTH_USER_MODEL), | |
17 | 14 | ] |
18 | 15 | |
19 | 16 | operations = [ |
... | ... | @@ -25,12 +22,14 @@ class Migration(migrations.Migration): |
25 | 22 | ('context', django.contrib.postgres.fields.jsonb.JSONField(blank=True, verbose_name='Context')), |
26 | 23 | ('action', models.TextField(verbose_name='Action')), |
27 | 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 | 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 | 30 | options={ |
32 | - 'verbose_name_plural': 'Logs', | |
33 | 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 | 12 | |
13 | 13 | def createLog(self, actor = None, component = '', log_action = '', log_resource = '', context = {}): |
14 | 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 | 18 | log.context = context |
17 | 19 | log.component = component |
18 | 20 | log.action = log_action | ... | ... |
log/models.py
... | ... | @@ -9,7 +9,9 @@ class Log(models.Model): |
9 | 9 | context = JSONField(_('Context'), blank = True) |
10 | 10 | action = models.TextField(_('Action')) |
11 | 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 | 15 | datetime = models.DateTimeField(_("Date and Time of action"), auto_now_add = True) |
14 | 16 | |
15 | 17 | class Meta: | ... | ... |
subjects/views.py
... | ... | @@ -46,7 +46,7 @@ class HomeView(LoginRequiredMixin, ListView): |
46 | 46 | |
47 | 47 | def get_context_data(self, **kwargs): |
48 | 48 | context = super(HomeView, self).get_context_data(**kwargs) |
49 | - | |
49 | + context['title'] = _('Home') | |
50 | 50 | # paginator = Paginator(subjects, 2) |
51 | 51 | |
52 | 52 | # page = self.request.GET.get('page') | ... | ... |