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