def passwd(request, dbtype, dbname): u = request.session.get('switched_user', request.user) superuser = request.user if request.method == 'POST': form = PassCheckForm(request.POST) if form.is_valid(): if dbtype == 'mysql': #TODO - raise better exception try: u.mysqldb_set.get(dbname=dbname) except MySQLDB.DoesNotExist: return HttpResponseForbidden( ugettext("Unable to modify chosen database")) else: mr = MySQLRequest(u, u.parms.mysql_machine) elif dbtype == 'pgsql': try: u.pgsql_set.get(dbname=dbname) except PGSQL.DoesNotExist: return HttpResponseForbidden( ugettext("Unable to modify chosen database")) else: mr = PostgreSQLRequest(u, u.parms.pgsql_machine) else: return HttpResponseBadRequest(_('Unknown database type')) mr.passwd_db(dbname, form.cleaned_data["password1"]) messages.add_message(request, messages.SUCCESS, _('Password has been changed')) return HttpResponseRedirect( reverse('db_list', kwargs=dict(dbtype=dbtype))) else: form = PassCheckForm() return render_to_response('simplepasswd.html', { "form": form, "form_helper": RostiFormHelper(), "title": _("Change password for database"), "u": u, "superuser": superuser, "menu_active": "dbs", }, context_instance=RequestContext(request))
def passwd(request, dbtype, dbname): u = request.session.get('switched_user', request.user) superuser = request.user if request.method == 'POST': form = PassCheckForm(request.POST) if form.is_valid(): if dbtype == 'mysql': #TODO - raise better exception try: u.mysqldb_set.get(dbname=dbname) except MySQLDB.DoesNotExist: return HttpResponseForbidden(ugettext("Unable to modify chosen database")) else: mr = MySQLRequest(u, u.parms.mysql_machine) elif dbtype == 'pgsql': try: u.pgsql_set.get(dbname=dbname) except PGSQL.DoesNotExist: return HttpResponseForbidden(ugettext("Unable to modify chosen database")) else: mr = PostgreSQLRequest(u, u.parms.pgsql_machine) else: return HttpResponseBadRequest(_('Unknown database type')) mr.passwd_db(dbname, form.cleaned_data["password1"]) messages.add_message(request, messages.SUCCESS, _('Password has been changed')) return HttpResponseRedirect(reverse('db_list', kwargs=dict(dbtype=dbtype))) else: form = PassCheckForm() return render_to_response('simplepasswd.html', { "form": form, "form_helper": RostiFormHelper(), "title": _("Change password for database"), "u": u, "superuser": superuser, "menu_active": "dbs", }, context_instance=RequestContext(request) )