def form_valid(self, form):
        form.save()

        # If that worked, then find out what URL to redirect to.
        with form._log_file() as out:
            target_url = check_output(
                [settings.PROJECT_REDIRECT_SCRIPT,
                 form.cleaned_data['domain']],
                stderr=out,
                env={
                    'DJANGO_SETTINGS_MODULE':
                        '{domain}_project.settings'.format(
                            **form.cleaned_data),
                    'NEW_TIER_NAME': form.cleaned_data['tier_name'],
                    'NEW_USERNAME': form.cleaned_data['username'],
                    'NEW_PASSWORD': form.cleaned_data['password1'],
                    'NEW_EMAIL': form.cleaned_data['email']}).strip()

        return HttpResponseRedirect(target_url)
def initialize(site_name, username='', email='', password='', tier='basic'):
    settings_module = '{0}.settings'.format(_project_name(site_name))

    python = getattr(settings, 'SITE_CREATION_PYTHON', '')
    django_admin = getattr(settings, 'SITE_CREATION_DJANGO_ADMIN', '')
    if python and django_admin:
        cmdline = [python, django_admin]
    else:
        cmdline = ['django-admin.py']

    cmdline.extend([
        'initialize', site_name,
        _site_domain(site_name), '--settings={0}'.format(settings_module),
        '--tier={0}'.format(tier)
    ])
    if username:
        cmdline.extend([
            '--username={0}'.format(username), '--email={0}'.format(email),
            '--password={0}'.format(password)
        ])
    env = os.environ.copy()
    env['PYTHONPATH'] = settings.SITE_CREATION_ROOT
    output = check_output(cmdline, env=env)
    return output.rsplit('\n', 1)[-1]
Beispiel #3
0
def initialize(site_name, username='', email='', password='',
               tier='basic'):
    settings_module = '{0}.settings'.format(_project_name(site_name))

    python = getattr(settings, 'SITE_CREATION_PYTHON', '')
    django_admin = getattr(settings, 'SITE_CREATION_DJANGO_ADMIN', '')
    if python and django_admin:
        cmdline = [python, django_admin]
    else:
        cmdline = ['django-admin.py']

    cmdline.extend(['initialize',
                    site_name,
                    _site_domain(site_name),
                    '--settings={0}'.format(settings_module),
                    '--tier={0}'.format(tier)])
    if username:
        cmdline.extend(['--username={0}'.format(username),
                        '--email={0}'.format(email),
                        '--password={0}'.format(password)])
    env = os.environ.copy()
    env['PYTHONPATH'] = settings.SITE_CREATION_ROOT
    output = check_output(cmdline, env=env)
    return output.rsplit('\n', 1)[-1]