[FIX] make a json request out of reset_password
bzr revid: fme@openerp.com-20130226161925-v8sr2r1zgcki6n3z
This commit is contained in:
parent
ed5012ffb6
commit
977eaed2c8
|
@ -19,9 +19,6 @@
|
||||||
#
|
#
|
||||||
##############################################################################
|
##############################################################################
|
||||||
import logging
|
import logging
|
||||||
import urllib
|
|
||||||
|
|
||||||
import werkzeug
|
|
||||||
|
|
||||||
import openerp
|
import openerp
|
||||||
from openerp.modules.registry import RegistryManager
|
from openerp.modules.registry import RegistryManager
|
||||||
|
@ -69,7 +66,7 @@ class Controller(openerp.addons.web.http.Controller):
|
||||||
res_users = registry.get('res.users')
|
res_users = registry.get('res.users')
|
||||||
res_users.signup(cr, openerp.SUPERUSER_ID, values, token)
|
res_users.signup(cr, openerp.SUPERUSER_ID, values, token)
|
||||||
|
|
||||||
@openerp.addons.web.http.httprequest
|
@openerp.addons.web.http.jsonrequest
|
||||||
def reset_password(self, req, dbname, login):
|
def reset_password(self, req, dbname, login):
|
||||||
""" retrieve user, and perform reset password """
|
""" retrieve user, and perform reset password """
|
||||||
registry = RegistryManager.get(dbname)
|
registry = RegistryManager.get(dbname)
|
||||||
|
@ -78,12 +75,10 @@ class Controller(openerp.addons.web.http.Controller):
|
||||||
res_users = registry.get('res.users')
|
res_users = registry.get('res.users')
|
||||||
res_users.reset_password(cr, openerp.SUPERUSER_ID, login)
|
res_users.reset_password(cr, openerp.SUPERUSER_ID, login)
|
||||||
cr.commit()
|
cr.commit()
|
||||||
message = 'An email has been sent with credentials to reset your password'
|
|
||||||
except Exception as e:
|
except Exception as e:
|
||||||
# signup error
|
# signup error
|
||||||
_logger.exception('error when resetting password')
|
_logger.exception('error when resetting password')
|
||||||
message = e.message
|
raise(e)
|
||||||
params = [('action', 'login'), ('error_message', message)]
|
return True
|
||||||
return werkzeug.utils.redirect("/#" + urllib.urlencode(params))
|
|
||||||
|
|
||||||
# vim:expandtab:tabstop=4:softtabstop=4:shiftwidth=4:
|
# vim:expandtab:tabstop=4:softtabstop=4:shiftwidth=4:
|
||||||
|
|
|
@ -74,7 +74,7 @@ openerp.auth_signup = function(instance) {
|
||||||
this.on_db_loaded([result.db]);
|
this.on_db_loaded([result.db]);
|
||||||
if (result.token) {
|
if (result.token) {
|
||||||
// switch to signup mode, set user name and login
|
// switch to signup mode, set user name and login
|
||||||
this.set({ 'login-mode': 'signup' });
|
this.set({ 'login-mode': this.params.type === 'reset' ? 'reset' : 'signup' });
|
||||||
this.$("form input[name=name]").val(result.name).attr("readonly", "readonly");
|
this.$("form input[name=name]").val(result.name).attr("readonly", "readonly");
|
||||||
if (result.login) {
|
if (result.login) {
|
||||||
this.$("form input[name=login]").val(result.login).attr("readonly", "readonly");
|
this.$("form input[name=login]").val(result.login).attr("readonly", "readonly");
|
||||||
|
@ -155,21 +155,23 @@ openerp.auth_signup = function(instance) {
|
||||||
if (ev) {
|
if (ev) {
|
||||||
ev.preventDefault();
|
ev.preventDefault();
|
||||||
}
|
}
|
||||||
|
var self = this;
|
||||||
var db = this.$("form [name=db]").val();
|
var db = this.$("form [name=db]").val();
|
||||||
var login = this.$("form input[name=login]").val();
|
var login = this.$("form input[name=login]").val();
|
||||||
if (!db) {
|
if (!db) {
|
||||||
this.do_warn(_t("Login"), _t("No database selected !"));
|
this.do_warn(_t("Login"), _t("No database selected !"));
|
||||||
return false;
|
return $.Deferred.reject();
|
||||||
} else if (!login) {
|
} else if (!login) {
|
||||||
this.do_warn(_t("Login"), _t("Please enter a username or email address."));
|
this.do_warn(_t("Login"), _t("Please enter a username or email address."));
|
||||||
return false;
|
return $.Deferred.reject();
|
||||||
}
|
}
|
||||||
var params = {
|
return self.rpc("/auth_signup/reset_password", { dbname: db, login: login }).done(function(result) {
|
||||||
dbname : db,
|
self.show_error(_t("An email has been sent with credentials to reset your password"));
|
||||||
login: login,
|
self.set({ 'login-mode': 'default' });
|
||||||
};
|
}).fail(function(result, ev) {
|
||||||
var url = "/auth_signup/reset_password?" + $.param(params);
|
ev.preventDefault();
|
||||||
window.location = url;
|
self.show_error(result.message);
|
||||||
|
});
|
||||||
},
|
},
|
||||||
});
|
});
|
||||||
};
|
};
|
||||||
|
|
Loading…
Reference in New Issue