def all(self): user = threadlocal.get_current_user() q = self.get_query_set() if user: q.query.add_q((Q(enabled=True) & Q(project__enabled=True)) | Q(project__maintainers__id__exact=user.id)) q.query.distinct = True else: q.query.add_q(Q(enabled=True) & Q(project__enabled=True)) return q
def auditor_delete_callback(sender, **kwargs): if not isinstance(kwargs['instance'],Audit): user = threadlocal.get_current_user() if user and user.is_authenticated(): obj = kwargs['instance'] try: Audit.objects.create(object_id=obj.pk, object_repr=repr(obj), user=user, action_flag=ACTIONS['DELETION'], object_type=obj.__class__) except: pass
def auditor_save_callback(sender, **kwargs): if not isinstance(kwargs['instance'],Audit): user = threadlocal.get_current_user() if user and user.is_authenticated(): obj = kwargs['instance'] if kwargs['created'] is True: act = ACTIONS['ADDITION'] else: act = ACTIONS['CHANGE'] try: Audit.objects.create(object_id=obj.pk, object_repr=repr(obj), user=user, action_flag=act, object_type=obj.__class__) except: pass
def filter(self, record): from auditor import AUDIT_SESSION_ID from common.middleware import threadlocal user = threadlocal.get_current_user() if user and user.is_authenticated(): username = user.username else: username = '******' request = threadlocal.get_current_request() if request and getattr(request, AUDIT_SESSION_ID): sessionid = getattr(request, AUDIT_SESSION_ID) else: sessionid = "None" setattr(record, 'username', username) setattr(record, 'sessionid', sessionid) return True