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