mirror of
https://github.com/zulip/zulip.git
synced 2025-11-15 11:22:04 +00:00
Here we introduce a new Django app, zilencer. The intent is to not have this app enabled on LOCALSERVER instances, and for it to grow to include all the functionality we want to have in our central server that isn't relevant for local deployments. Currently we have to modify functions in zerver/* to match; in the future, it would be cool to have the relevant shared code broken out into a separate library. This commit inclues both the migration to create the models as well as a data migration that (for non-LOCALSERVER) creates a single default Deployment for zulip.com. To apply this migration to your system, run: ./manage.py migrate zilencer (imported from commit 86d5497ac120e03fa7f298a9cc08b192d5939b43)
48 lines
1.5 KiB
Python
48 lines
1.5 KiB
Python
from __future__ import absolute_import
|
|
from optparse import make_option
|
|
import re
|
|
import sys
|
|
|
|
from django.core.management.base import BaseCommand
|
|
|
|
from zerver.models import get_realm
|
|
from zerver.lib.create_user import random_api_key
|
|
from zerver.management.commands.create_realm import Command as CreateRealm
|
|
|
|
from zilencer.models import Deployment
|
|
|
|
class Command(BaseCommand):
|
|
help = """Create a deployment and accompanying realm."""
|
|
|
|
option_list = CreateRealm.option_list + (
|
|
make_option('--no-realm',
|
|
dest='no_realm',
|
|
action='store_true',
|
|
default=False,
|
|
help='Do not create a new realm; associate with an existing one.' + \
|
|
' In this case, only the domain needs to be specified.'),
|
|
)
|
|
|
|
def handle(self, *args, **options):
|
|
if options["domain"] is None:
|
|
print >>sys.stderr, "\033[1;31mPlease provide a domain.\033[0m\n"
|
|
self.print_help("python manage.py", "create_realm")
|
|
exit(1)
|
|
|
|
if not options["no_realm"]:
|
|
CreateRealm().handle(*args, **options)
|
|
print # Newline
|
|
|
|
realm = get_realm(options["domain"])
|
|
if realm is None:
|
|
print >>sys.stderr, "\033[1;31mRealm does not exist!\033[0m\n"
|
|
exit(2)
|
|
|
|
dep = Deployment()
|
|
dep.api_key = random_api_key()
|
|
dep.save()
|
|
dep.realms = [realm]
|
|
dep.save()
|
|
print "Deployment created."
|
|
|