mixins.py 637 Bytes
import json

from .models import Log

from users.models import User

class LogMixin(object):
	log_component = ""
	log_context = {}
	log_action = ""
	log_resource = ""

	def createLog(self, actor = None, component = '', log_action = '', log_resource = '', context = {}):
		if actor.is_authenticated:
			log = Log()
			log.user = str(actor)
			log.user_id = actor.id
			log.user_email = actor.email
			log.context = context
			log.component = component
			log.action = log_action
			log.resource = log_resource

			log.save()

	def dispatch(self, request, *args, **kwargs):
		return super(LogMixin, self).dispatch(request, *args, **kwargs)