diff --git a/main/extra_func.py b/main/extra_func.py index ada4a88..c9e72cb 100644 --- a/main/extra_func.py +++ b/main/extra_func.py @@ -1,3 +1,4 @@ +import logging import os from datetime import timedelta, datetime, date @@ -5,6 +6,7 @@ from django.contrib.auth.models import User from zenpy import Zenpy from zenpy.lib.exception import APIException + from access_controller.settings import ZENDESK_ROLES as ROLES, ONE_DAY from main.models import UserProfile, RoleChangeLogs @@ -382,3 +384,27 @@ class StatisticData: """ self.statistic.clear() self.fill_daterange(self.start_date, self.end_date + timedelta(days=1), 0) + + +class DatabaseHandler(logging.Handler): + def __init__(self): + logging.Handler.__init__(self) + self.database = RoleChangeLogs() + + def emit(self, record): + # admin = ZendeskAdmin() + user = record.msg + # data = UserProfile.objects.filter(user=user.user) + self.database.name = user.name + self.database.new_role = user.role + self.database.user = user.user + self.database.changed_by = user.user + self.database.save() + + +def log(user): + dbhandler = DatabaseHandler() + logging.getLogger('MY_LOGGER').addHandler(dbhandler) + logger = logging.getLogger('MY_LOGGER') + logger.setLevel('INFO') + logger.info(user)