Commit 5f6968b489701393436404665c01954b8086b699

Authored by Zambom
1 parent 955337a6

Changing log context field to postgres JSONField [Issue: #231]

core/decorators.py
@@ -38,7 +38,8 @@ def log_decorator(log_component = '', log_action = '', log_resource = ''): @@ -38,7 +38,8 @@ def log_decorator(log_component = '', log_action = '', log_resource = ''):
38 log = Log() 38 log = Log()
39 log.user = request.user 39 log.user = request.user
40 log.component = log_component 40 log.component = log_component
41 - log.context = json.dumps(request.log_context) 41 + #log.context = json.dumps(request.log_context)
  42 + log.context = request.log_context
42 log.action_resource = action_resource 43 log.action_resource = action_resource
43 44
44 log.save() 45 log.save()
core/middleware.py
@@ -26,13 +26,16 @@ class TimeSpentMiddleware(object): @@ -26,13 +26,16 @@ class TimeSpentMiddleware(object):
26 secs = secs % 60 26 secs = secs % 60
27 27
28 log_context = json.loads(log.context) 28 log_context = json.loads(log.context)
  29 + print(log.context)
29 30
30 - log_context['time_spent'] = {}  
31 - log_context['time_spent']['hours'] = hours  
32 - log_context['time_spent']['minutes'] = minutes  
33 - log_context['time_spent']['seconds'] = secs 31 + time = {}
  32 + time['hours'] = hours
  33 + time['minutes'] = minutes
  34 + time['seconds'] = secs
34 35
35 - log.context = json.dumps(log_context) 36 + log_context['time_spent'] = time
  37 +
  38 + log.context = log_context
36 39
37 log.save() 40 log.save()
38 41
core/mixins.py
@@ -36,7 +36,8 @@ class LogMixin(object): @@ -36,7 +36,8 @@ class LogMixin(object):
36 36
37 log = Log() 37 log = Log()
38 log.user = actor 38 log.user = actor
39 - log.context = json.dumps(context) 39 + #log.context = json.dumps(context)
  40 + log.context = context
40 log.component = component 41 log.component = component
41 log.action_resource = action_resource 42 log.action_resource = action_resource
42 43
core/models.py
@@ -2,6 +2,7 @@ from django.db import models @@ -2,6 +2,7 @@ from django.db import models
2 from django.utils.translation import ugettext_lazy as _ 2 from django.utils.translation import ugettext_lazy as _
3 from users.models import User 3 from users.models import User
4 from autoslug.fields import AutoSlugField 4 from autoslug.fields import AutoSlugField
  5 +from django.contrib.postgres.fields import JSONField
5 # Create your models here. 6 # Create your models here.
6 7
7 class MimeType(models.Model): 8 class MimeType(models.Model):
@@ -102,7 +103,7 @@ class Notification(models.Model): @@ -102,7 +103,7 @@ class Notification(models.Model):
102 103
103 class Log(models.Model): 104 class Log(models.Model):
104 component = models.TextField(_('Component (Module / App)')) 105 component = models.TextField(_('Component (Module / App)'))
105 - context = models.TextField(_('Context'), blank = True) 106 + context = JSONField(_('Context'), blank = True)
106 action_resource = models.ForeignKey(Action_Resource, verbose_name = _('Action_Resource')) 107 action_resource = models.ForeignKey(Action_Resource, verbose_name = _('Action_Resource'))
107 user = models.ForeignKey(User, verbose_name = _('Actor')) 108 user = models.ForeignKey(User, verbose_name = _('Actor'))
108 datetime = models.DateTimeField(_("Date and Time of action"), auto_now_add = True) 109 datetime = models.DateTimeField(_("Date and Time of action"), auto_now_add = True)
@@ -20,7 +20,6 @@ from rest_framework import status, serializers, permissions, viewsets @@ -20,7 +20,6 @@ from rest_framework import status, serializers, permissions, viewsets
20 from rest_framework.response import Response 20 from rest_framework.response import Response
21 from rest_framework.decorators import api_view 21 from rest_framework.decorators import api_view
22 22
23 -  
24 from .forms import RegisterUserForm 23 from .forms import RegisterUserForm
25 from .decorators import log_decorator, notification_decorator 24 from .decorators import log_decorator, notification_decorator
26 25