Support getting and setting tree widths without a screen width

Closes #15099
(grafted from bdec2127549993b25a44c2057a3f2b7a824ecdc2)

--HG--
branch : 8.0
This commit is contained in:
Nicolas Évrard
2026-09-18 23:52:09 +02:00
parent 2584156da2
commit f34a7c3a47
+16 -9
View File
@@ -471,8 +471,9 @@ class ViewTreeWidth(
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 @@ class ViewTreeWidth(
@classmethod
def get_width(cls, model, width):
for screen_width in WIDTH_BREAKPOINTS:
if width >= screen_width:
break
else:
if width is None:
screen_width = None
else:
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 @@ class ViewTreeWidth(
as value.
width is the screen width.
'''
for screen_width in WIDTH_BREAKPOINTS:
if width >= screen_width:
break
else:
if width is None:
screen_width = None
else:
for screen_width in WIDTH_BREAKPOINTS:
if width >= screen_width:
break
else:
screen_width = None
user_id = Transaction().user
records = cls.search([