Exemple #1
0
def add(request, dbtype):
    """
    DB create
    """
    u = request.session.get('switched_user', request.user)
    superuser = request.user

    form_class = MysqlForm if dbtype == 'mysql' else PgsqlForm

    if request.method == 'POST':
        form = form_class(request.POST)
        orig_dbname = form.data['dbname']
        old = form.data
        form.data._mutable = True
        form.data['dbname'] = "%s_%s" % (u.parms.prefix(), form.data['dbname'])
        form.data._mutable = old

        if form.is_valid():
            db_obj = form.save(commit=False)
            db_obj.owner = u
            db_obj.save()

            if dbtype == 'mysql':
                mr = MySQLRequest(u, u.parms.mysql_machine)
            elif dbtype == 'pgsql':
                mr = PostgreSQLRequest(u, u.parms.pgsql_machine)
            else:
                return HttpResponseBadRequest(_('Unknown database type'))
            mr.add_db(db_obj.dbname, form.cleaned_data["password1"])

            return HttpResponseRedirect(reverse("db_list", kwargs=dict(dbtype=dbtype)))
        else:
            form.data['dbname'] = orig_dbname
    else:
        form = form_class()
        form.owner = u


    helper = RostiFormHelper()

    helper.form_action = reverse("db_add", kwargs=dict(dbtype=dbtype))

    return render_to_response('universal.html',
            {
            "form": form,
            "form_helper": RostiFormHelper(),
            "title": _("Create %s database" % dbtype),
            "u": u,
            "superuser": superuser,
            "menu_active": "dbs",
            },
        context_instance=RequestContext(request)
    )
Exemple #2
0
def add(request, dbtype):
    """
    DB create
    """
    u = request.session.get('switched_user', request.user)
    superuser = request.user

    form_class = MysqlForm if dbtype == 'mysql' else PgsqlForm

    if request.method == 'POST':
        form = form_class(request.POST)
        orig_dbname = form.data['dbname']
        old = form.data
        form.data._mutable = True
        form.data['dbname'] = "%s_%s" % (u.parms.prefix(), form.data['dbname'])
        form.data._mutable = old

        if form.is_valid():
            db_obj = form.save(commit=False)
            db_obj.owner = u
            db_obj.save()

            if dbtype == 'mysql':
                mr = MySQLRequest(u, u.parms.mysql_machine)
            elif dbtype == 'pgsql':
                mr = PostgreSQLRequest(u, u.parms.pgsql_machine)
            else:
                return HttpResponseBadRequest(_('Unknown database type'))
            mr.add_db(db_obj.dbname, form.cleaned_data["password1"])

            return HttpResponseRedirect(
                reverse("db_list", kwargs=dict(dbtype=dbtype)))
        else:
            form.data['dbname'] = orig_dbname
    else:
        form = form_class()
        form.owner = u

    helper = RostiFormHelper()

    helper.form_action = reverse("db_add", kwargs=dict(dbtype=dbtype))

    return render_to_response('universal.html', {
        "form": form,
        "form_helper": RostiFormHelper(),
        "title": _("Create %s database" % dbtype),
        "u": u,
        "superuser": superuser,
        "menu_active": "dbs",
    },
                              context_instance=RequestContext(request))