details: https://code.tryton.org/tryton/commit/0d64bfc7f6a0
branch: 8.0
user: Nicolas Évrard <[email protected]>
date: Fri Sep 18 23:52:09 2026 +0200
description:
Support getting and setting tree widths without a screen width
Closes #15099
(grafted from bdec2127549993b25a44c2057a3f2b7a824ecdc2)
diffstat:
trytond/trytond/ir/ui/view.py | 25 ++++++++++++++++---------
1 files changed, 16 insertions(+), 9 deletions(-)
diffs (52 lines):
diff -r 045dab2ec5ac -r 0d64bfc7f6a0 trytond/trytond/ir/ui/view.py
--- a/trytond/trytond/ir/ui/view.py Wed Sep 30 08:15:23 2026 +0200
+++ b/trytond/trytond/ir/ui/view.py Fri Sep 18 23:52:09 2026 +0200
@@ -471,8 +471,9 @@
ondelete='CASCADE')
screen_width = fields.Integer(
"Screen Width",
- domain=[
+ domain=['OR',
('screen_width', '>=', 0),
+ ('screen_width', '=', None),
])
width = fields.Integer(
"Width",
@@ -542,11 +543,14 @@
@classmethod
def get_width(cls, model, width):
- for screen_width in WIDTH_BREAKPOINTS:
- if width >= screen_width:
- break
+ if width is None:
+ screen_width = None
else:
- screen_width = None
+ for screen_width in WIDTH_BREAKPOINTS:
+ if width >= screen_width:
+ break
+ else:
+ screen_width = None
user = Transaction().user
records = cls.search([
@@ -591,11 +595,14 @@
as value.
width is the screen width.
'''
- for screen_width in WIDTH_BREAKPOINTS:
- if width >= screen_width:
- break
+ if width is None:
+ screen_width = None
else:
- screen_width = None
+ for screen_width in WIDTH_BREAKPOINTS:
+ if width >= screen_width:
+ break
+ else:
+ screen_width = None
user_id = Transaction().user
records = cls.search([