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(

Reply via email to