Add a command to clean old federated users
This commit is contained in:
		
							
								
								
									
										19
									
								
								cas_server/management/commands/cas_clean_federate.py
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										19
									
								
								cas_server/management/commands/cas_clean_federate.py
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,19 @@
 | 
			
		||||
from django.core.management.base import BaseCommand
 | 
			
		||||
from django.utils.translation import ugettext_lazy as _
 | 
			
		||||
from django.utils import timezone
 | 
			
		||||
 | 
			
		||||
from datetime import timedelta
 | 
			
		||||
 | 
			
		||||
from ... import models
 | 
			
		||||
from ...default_settings import settings
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
class Command(BaseCommand):
 | 
			
		||||
    args = ''
 | 
			
		||||
    help = _(u"Clean old federated users")
 | 
			
		||||
 | 
			
		||||
    def handle(self, *args, **options):
 | 
			
		||||
        federated_users = models.FederatedUser.objects.filter(last_update__lt=(timezone.now() - timedelta(seconds=settings.CAS_TICKET_TIMEOUT)))
 | 
			
		||||
        for user in federated_users:
 | 
			
		||||
            if not models.User.objects.filter(username='%s@%s' % (user.username, user.provider)):
 | 
			
		||||
                user.delete()
 | 
			
		||||
		Reference in New Issue
	
	Block a user