details: https://code.tryton.org/tryton/commit/f53d174c558c
branch: default
user: Cédric Krier <[email protected]>
date: Wed May 06 17:15:31 2026 +0200
description:
Do not generate a new reset password if the current one is still valid
Closes #14819
diffstat:
trytond/trytond/res/user.py | 5 +++++
1 files changed, 5 insertions(+), 0 deletions(-)
diffs (17 lines):
diff -r 4b38a680f4ee -r f53d174c558c trytond/trytond/res/user.py
--- a/trytond/trytond/res/user.py Tue May 12 09:02:55 2026 +0200
+++ b/trytond/trytond/res/user.py Wed May 06 17:15:31 2026 +0200
@@ -285,8 +285,13 @@
@dualmethod
@ModelView.button
def reset_password(cls, users, length=8, from_=None):
+ now = datetime.datetime.now()
length = max(length, config.getint('password', 'length', default=0))
for user in users:
+ if (user.password_reset
+ and user.password_reset_expire
+ and user.password_reset_expire > now):
+ continue
user.password_reset = gen_password(length=length)
user.password_reset_expire = (
datetime.datetime.now() + datetime.timedelta(