details:   https://code.tryton.org/tryton/commit/2fabf79d16d0
branch:    default
user:      Cédric Krier <[email protected]>
date:      Wed Sep 23 12:11:17 2026 +0200
description:
        Do not search for device without cookie

        The cookie is required so we already known that the result will be 
empty.
diffstat:

 trytond/trytond/res/user.py |  17 +++++++++++------
 1 files changed, 11 insertions(+), 6 deletions(-)

diffs (39 lines):

diff -r 1cfadbfa86da -r 2fabf79d16d0 trytond/trytond/res/user.py
--- a/trytond/trytond/res/user.py       Wed Sep 23 12:10:32 2026 +0200
+++ b/trytond/trytond/res/user.py       Wed Sep 23 12:11:17 2026 +0200
@@ -891,7 +891,9 @@
                 })
 
     @classmethod
-    def get_valid_cookie(cls, login, cookie):
+    def get_valid_cookie(cls, login, cookie=None):
+        if not cookie:
+            return None
         try:
             device, = cls.search([
                     ('login', '=', login),
@@ -903,16 +905,19 @@
         return device.cookie
 
     @classmethod
-    def renew(cls, current_cookie):
+    def renew(cls, current_cookie=None):
         pool = Pool()
         User = pool.get('res.user')
 
         user = User(Transaction().user)
         new_cookie = uuid.uuid4().hex
-        current_devices = cls.search([
-                    ('login', '=', user.login),
-                    ('cookie', '=', current_cookie),
-                    ])
+        if current_cookie is not None:
+            current_devices = cls.search([
+                        ('login', '=', user.login),
+                        ('cookie', '=', current_cookie),
+                        ])
+        else:
+            current_devices = []
         if current_devices:
             cls.write(current_devices, {
                     'cookie': new_cookie

Reply via email to