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) )
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))