Add all_customers management command
This commit is contained in:
		
					parent
					
						
							
								fbfc1152b8
							
						
					
				
			
			
				commit
				
					
						70f0fed63f
					
				
			
		
					 1 changed files with 36 additions and 0 deletions
				
			
		
							
								
								
									
										36
									
								
								datacenterlight/management/commands/all_customers.py
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										36
									
								
								datacenterlight/management/commands/all_customers.py
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
					@ -0,0 +1,36 @@
 | 
				
			||||||
 | 
					import json
 | 
				
			||||||
 | 
					import logging
 | 
				
			||||||
 | 
					import sys
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					from django.core.management.base import BaseCommand
 | 
				
			||||||
 | 
					from membership.models import CustomUser
 | 
				
			||||||
 | 
					from hosting.models import (
 | 
				
			||||||
 | 
					    HostingOrder, VMDetail, UserCardDetail, UserHostingKey
 | 
				
			||||||
 | 
					)
 | 
				
			||||||
 | 
					logger = logging.getLogger(__name__)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					class Command(BaseCommand):
 | 
				
			||||||
 | 
					    help = '''Dumps the email addresses of all customers who have a VM'''
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    def add_arguments(self, parser):
 | 
				
			||||||
 | 
					        parser.add_argument('-a', '--all_registered', action='store_true',
 | 
				
			||||||
 | 
					                            help='All registered users')
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    def handle(self, *args, **options):
 | 
				
			||||||
 | 
					        all_registered = options['all_registered']
 | 
				
			||||||
 | 
					        all_customers_set = set()
 | 
				
			||||||
 | 
					        if all_registered:
 | 
				
			||||||
 | 
					            all_customers = CustomUser.objects.filter(
 | 
				
			||||||
 | 
					                is_admin=False, validated=True
 | 
				
			||||||
 | 
					            )
 | 
				
			||||||
 | 
					            for customer in all_customers:
 | 
				
			||||||
 | 
					                all_customers_set.add(customer.email)
 | 
				
			||||||
 | 
					                print(customer.email)
 | 
				
			||||||
 | 
					        else:
 | 
				
			||||||
 | 
					            all_hosting_orders = HostingOrder.objects.all()
 | 
				
			||||||
 | 
					            for order in all_hosting_orders:
 | 
				
			||||||
 | 
					                all_customers_set.add(order.customer.user.email)
 | 
				
			||||||
 | 
					                print(order.customer.user.email)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        print("Total customers = %s" % len(all_customers_set))
 | 
				
			||||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue