Files
test-auth/sso/cron.py

49 lines
1.5 KiB
Python

import logging
from django.contrib.auth.models import User, Group
from eve_api.models import EVEAccount
from sso.models import ServiceAccount
class RemoveInvalidUsers():
"""
Cycles through all users and runs the permission checking routine for
each profile.
"""
# run every 2 hours
run_every = 7200
@property
def _logger(self):
if not hasattr(self, '__logger'):
self.__logger = logging.getLogger(__name__)
return self.__logger
def job(self):
for user in User.objects.all():
# For each user, update access list based on Corp details
user.get_profile().update_access()
class ValidateDisabledUsers():
"""
Cycles through all users, and disables any Service Account of disabled
users.
"""
# run daily
run_every = 84600
@property
def _logger(self):
if not hasattr(self, '__logger'):
self.__logger = logging.getLogger(__name__)
return self.__logger
def job(self):
for servacc in ServiceAccount.objects.filter(active=0):
self._logger.info('Checking %s' % servacc)
api = servacc.service.api_class
api.settings = servacc.service.settings
if not api.disable_user(servacc.service_uid):
self._logger.error('Error disabling %s on %s' % (servacc, servacc.service))