Перейти к содержимому
Меню
Чтобы взаимодействовать с сообществом, необходимо зарегистрироваться.
Этот вопрос был отмечен
3 Ответы
2773 Представления

I want when user change new password, have to enter current password.

 So I created 'confirm_password' field to check the password which the users enter correct with the password in login.


this is my code. But it not working.
Please help me...

def check_password(self, id, password):
​user= (
​request.env["res.users"]           
​​.sudo()           
​.search([("id", "=", id), ("password", "=", password)], limit=1)       
​)
​if user:
​return user
​else:
raiseSomethingWentWrong()
def change_new_password(self, id, password, new_password):
​user=self.check_password(id, password)
​if user:
​result=user.sudo().write({"password": new_password})
​if result:
​return result
​else:
​raise CannotUpdatePassword()
​else:
​raise SomethingWentWrong()


Аватар
Отменить
Лучший ответ

Hi,

Please refer to this app; it may help you.

https://apps.odoo.com/apps/modules/16.0/password_reset_manager/

Аватар
Отменить
Автор Лучший ответ

Thanks for your help.

Аватар
Отменить
Лучший ответ

There's a method in the res.users​ model called _check_credentials​ - check it out. You could use it directly for a specific user. Also I saw there a function called change_password​ and supposedly it does what you want - checks that the old password is the right one and after that changes it with the new one.

Аватар
Отменить
Related Posts Ответы Просмотры Активность
1
июл. 25
1564
1
нояб. 23
1780
0
нояб. 23
1527
1
мая 23
2557
4
авг. 22
119275