Exemple #1
0
def setup():
    if current_org != None or settings.MULTI_ORG:
        return redirect('/')

    form = SetupForm(request.form)
    form.newsletter.data = True
    form.security_notifications.data = True

    if request.method == 'POST' and form.validate():
        default_org = Organization(name=form.org_name.data, slug='default', settings={})
        admin_group = Group(name='admin', permissions=['admin', 'super_admin'], org=default_org, type=Group.BUILTIN_GROUP)
        default_group = Group(name='default', permissions=Group.DEFAULT_PERMISSIONS, org=default_org, type=Group.BUILTIN_GROUP)

        db.session.add_all([default_org, admin_group, default_group])
        db.session.commit()

        user = User(org=default_org, name=form.name.data, email=form.email.data, group_ids=[admin_group.id, default_group.id])
        user.hash_password(form.password.data)

        db.session.add(user)
        db.session.commit()

        g.org = default_org
        login_user(user)

        # signup to newsletter if needed
        if form.newsletter.data or form.security_notifications:
            subscribe.delay(form.data)

        return redirect(url_for('redash.index', org_slug=None))

    return render_template('setup.html', form=form)
Exemple #2
0
def setup():
    ##############################################################################################
    ## 已经配置过,重定向到首页
    if current_org != None or settings.MULTI_ORG:
        return redirect('/')

    ##############################################################################################

    form = SetupForm(request.form)

    # 相关form默认设置为True
    form.newsletter.data = True
    form.security_notifications.data = True

    ####创建成功
    if request.method == 'POST' and form.validate():

        default_org, user = create_org(form.org_name.data, form.name.data, form.email.data, form.password.data)

        g.org = default_org

        # current_user, login_required, login_user, logout_user
        # login_manager = LoginManager()
        # login_manager.init_app(app)

        login_user(user)

        if form.newsletter.data or form.security_notifications:
            subscribe.delay(form.data)

        # D:\redash - master\redash\handlers\static.py
        return redirect(url_for('redash.index', org_slug=None))

    return render_template('setup.html', form=form)
Exemple #3
0
def setup():
    '''
    if settings.MULTI_ORG and current_org != None:
        index_url = url_for("redash.index", org_slug=current_org.slug, _external=False)
        return redirect(index_url)
    elif current_org != None:
        return redirect("/")
    '''
    form = SetupForm(request.form)
    form.newsletter.data = True
    form.security_notifications.data = True

    if request.method == "POST" and form.validate():
        default_org, user = create_org(form.org_name.data, form.name.data,
                                       form.email.data, form.password.data)

        g.org = default_org
        login_user(user)

        # signup to newsletter if needed
        if form.newsletter.data or form.security_notifications:
            subscribe.delay(form.data)

        return redirect(url_for("redash.index", org_slug=default_org.slug))

    return render_template("setup.html", form=form)
Exemple #4
0
def setup():
    if current_org != None or settings.MULTI_ORG:
        return redirect('/')

    form = SetupForm(request.form)
    form.newsletter.data = True
    form.security_notifications.data = True

    if request.method == 'POST' and form.validate():
        default_org, user = create_org(form.org_name.data, form.name.data, form.email.data, form.password.data)

        g.org = default_org
        login_user(user)

        # signup to newsletter if needed
        if form.newsletter.data or form.security_notifications:
            subscribe.delay(form.data)

        return redirect(url_for('redash.index', org_slug=None))

    return render_template('setup.html', form=form)
Exemple #5
0
def setup():
    if current_org != None or settings.MULTI_ORG:
        return redirect('/')

    form = SetupForm(request.form)
    form.newsletter.data = True
    form.security_notifications.data = True

    if request.method == 'POST' and form.validate():
        default_org, user = create_org(form.org_name.data, form.name.data,
                                       form.email.data, form.password.data)

        g.org = default_org
        login_user(user)

        # signup to newsletter if needed
        if form.newsletter.data or form.security_notifications:
            subscribe.delay(form.data)

        return redirect(url_for('redash.index', org_slug=None))

    return render_template('setup.html', form=form)