Exemple #1
0
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))
Exemple #2
0
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)
    )