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…
Reference in a new issue