32 lines
1.2 KiB
Python
32 lines
1.2 KiB
Python
from django.core.management.base import BaseCommand, CommandError
|
|
from products.models import *
|
|
from products.sendmsg import send_user_message, admin_broadcast
|
|
from django.db import transaction
|
|
|
|
class Command(BaseCommand):
|
|
help = 'Send a message to admin/tenant'
|
|
|
|
def add_arguments(self, parser):
|
|
parser.add_argument('--all-admin', '-A', action="store_true")
|
|
parser.add_argument('--admin', '-a')
|
|
parser.add_argument('--tenant', '-t')
|
|
parser.add_argument('--subject', '-s', required=True)
|
|
parser.add_argument('--content', '-c', default='')
|
|
|
|
def handle(self, *args, **options):
|
|
admin = options['admin']
|
|
tenant = options['tenant']
|
|
subject = options['subject']
|
|
content = options['content']
|
|
whom = None
|
|
if options.get('all_admin'):
|
|
admin_broadcast(subject, content)
|
|
return
|
|
if admin:
|
|
whom = AdminInfo.objects.get(user__username=admin)
|
|
elif tenant:
|
|
whom = Tenant.objects.get(username=tenant)
|
|
else:
|
|
raise Exception("Must specify either admin or tenant name")
|
|
send_user_message(whom, subject, content)
|