mirror of
https://github.com/nikdoof/test-auth.git
synced 2025-12-13 22:32:15 +00:00
28 lines
1.1 KiB
Python
28 lines
1.1 KiB
Python
from django.conf import settings
|
|
import logging
|
|
from datetime import datetime, timedelta
|
|
from celery.decorators import task
|
|
from hr.utils import blacklist_values
|
|
from django.contrib.auth.models import User
|
|
from django.core.mail import send_mail
|
|
|
|
@task(ignore_result=True)
|
|
def blacklist_check():
|
|
log = blacklist_check.get_logger()
|
|
|
|
users = User.objects.filter(is_active=True)
|
|
|
|
for u in users:
|
|
if u.groups.count() > 0:
|
|
# Has groups
|
|
val = blacklist_values(u)
|
|
if len(val) > 0:
|
|
# Report possible issue
|
|
log.warning("Suspect User: %s, %s entries found: %s" % (u.username, len(val), val))
|
|
|
|
blstr = ""
|
|
for i in val:
|
|
blstr = "%s%s - %s - %s\n" % (blstr, i.get_type_display(), i.value, i.reason)
|
|
msg = "Suspect User found: %s\nGroups: %s\nBlacklist Items:\n\n%s" % (u.username, ", ".join(u.groups.all().values_list('name', flat=True)), blstr)
|
|
send_mail('Automated blacklist checker alert - %s' % u.username, msg, 'blacklist@pleaseignore.com', ['abuse@pleaseignore.com'])
|