Docker command: python3 odoo/odoo-bin --addons-path operating-unit,kmitl,social,partner-contact,stock-logistics-warehouse,account-analytic,product-attribute,stock-logistics-request,agreement,server-backend,account-reconcile,mis-builder,reporting-engine,odoo/addons,odoo/odoo/addons,account-financial-reporting,project,server-tools,server-ux,hr,account-financial-tools,web,account-invoicing,purchase-workflow,server-brand,l10n-thailand,odoo-modules --workers 2 --gevent-port 8070 --max-cron-threads 1 -d 10768-16-0-without_demo --proxy-mode --db-filter %d.*$ --smtp 172.17.0.1 --without-demo=true ================================================= Adding readonly volume '/data/build/operating-unit' pointing to /home/runbot/odoo/runbot/runbot/static/sources/operating-unit/4dc6f04d6985eece07e9e0f18cc10008dc46469a Adding readonly volume '/data/build/kmitl' pointing to /home/runbot/odoo/runbot/runbot/static/sources/kmitl/9e4ce36d7cc5464ac7cbff3d526ea19a97227c33 Adding readonly volume '/data/build/social' pointing to /home/runbot/odoo/runbot/runbot/static/sources/social/1d3d75a508e1f71e5bf2984b40bc450d877b14e1 Adding readonly volume '/data/build/partner-contact' pointing to /home/runbot/odoo/runbot/runbot/static/sources/partner-contact/f58a33e3c19e1bb790ca21880edb9a78aaf12bc8 Adding readonly volume '/data/build/stock-logistics-warehouse' pointing to /home/runbot/odoo/runbot/runbot/static/sources/stock-logistics-warehouse/0d2c90dcc17c903d4cf26ef192842c9439f33334 Adding readonly volume '/data/build/account-analytic' pointing to /home/runbot/odoo/runbot/runbot/static/sources/account-analytic/f17ff5f69cbf76eb81a7f62aea296adab6c0dae9 Adding readonly volume '/data/build/product-attribute' pointing to /home/runbot/odoo/runbot/runbot/static/sources/product-attribute/970ecdd1ab60deff218b09647cceeaf791fdd758 Adding readonly volume '/data/build/stock-logistics-request' pointing to /home/runbot/odoo/runbot/runbot/static/sources/stock-logistics-request/fa8a67256aee66a5bd67b1b18d23c14f1b7b9813 Adding readonly volume '/data/build/agreement' pointing to /home/runbot/odoo/runbot/runbot/static/sources/agreement/800e753cb5b92e131c5e36187a108ea4ca53327e Adding readonly volume '/data/build/server-backend' pointing to /home/runbot/odoo/runbot/runbot/static/sources/server-backend/ccf608782f610e261b1b5f72e8424c2dab99240e Adding readonly volume '/data/build/account-reconcile' pointing to /home/runbot/odoo/runbot/runbot/static/sources/account-reconcile/c031db9d53d140afdf1991a5523ee1ee092fb4b5 Adding readonly volume '/data/build/mis-builder' pointing to /home/runbot/odoo/runbot/runbot/static/sources/mis-builder/82d391759055ce801b41a2f01b1b3ab376772648 Adding readonly volume '/data/build/reporting-engine' pointing to /home/runbot/odoo/runbot/runbot/static/sources/reporting-engine/4cafaadb095d80094848d2798efb1c304861bff6 Adding readonly volume '/data/build/odoo' pointing to /home/runbot/odoo/runbot/runbot/static/sources/odoo/6491e0054d0437fb77913921e1fd3cd42894d883 Adding readonly volume '/data/build/account-financial-reporting' pointing to /home/runbot/odoo/runbot/runbot/static/sources/account-financial-reporting/948901d96ccb79b4826b408a1ca7cede4c537e6d Adding readonly volume '/data/build/project' pointing to /home/runbot/odoo/runbot/runbot/static/sources/project/7a5c615cba09f592cd08dbf4651b99cda015affe Adding readonly volume '/data/build/server-tools' pointing to /home/runbot/odoo/runbot/runbot/static/sources/server-tools/3abe25d79aab954027f4c5a8ba687c36270bab14 Adding readonly volume '/data/build/server-ux' pointing to /home/runbot/odoo/runbot/runbot/static/sources/server-ux/23e96d195dd78187789f42264a206350e470b01c Adding readonly volume '/data/build/hr' pointing to /home/runbot/odoo/runbot/runbot/static/sources/hr/3af635cbe54e9c75ef90cd63b98ed4455052d6b9 Adding readonly volume '/data/build/account-financial-tools' pointing to /home/runbot/odoo/runbot/runbot/static/sources/account-financial-tools/c3b3e7dd5e286fff8aac66ad80786e0dbec8138c Adding readonly volume '/data/build/web' pointing to /home/runbot/odoo/runbot/runbot/static/sources/web/fb9be06e9da8d720c834788c1b9f41acb51c600e Adding readonly volume '/data/build/account-invoicing' pointing to /home/runbot/odoo/runbot/runbot/static/sources/account-invoicing/7207e6e26a87963ceb058e74180001ba9c9b703c Adding readonly volume '/data/build/purchase-workflow' pointing to /home/runbot/odoo/runbot/runbot/static/sources/purchase-workflow/ecf70d6c2eb670c11b39ca20541306962f7ef39d Adding readonly volume '/data/build/server-brand' pointing to /home/runbot/odoo/runbot/runbot/static/sources/server-brand/2bc45d771dd696bd99a18c2219fa835288372372 Adding readonly volume '/data/build/l10n-thailand' pointing to /home/runbot/odoo/runbot/runbot/static/sources/l10n-thailand/0b7b078e68b0147a4f1a335839f99b7360110448 Adding readonly volume '/data/build/odoo-modules' pointing to /home/runbot/odoo/runbot/runbot/static/sources/odoo-modules/7652967336542a595e1847fa8dceb6a6a23d81c3 Adding readonly volume '/home/runbot/.odoorc' pointing to /home/runbot/odoo/runbot/runbot/static/build/10768-16-0/.odoorc WARNING: Skipping /usr/lib/python3.12/dist-packages/charset_normalizer-3.3.2.dist-info due to invalid metadata entry 'name' Collecting cairosvg (from -r social/requirements.txt (line 2)) Downloading cairosvg-2.9.0-py3-none-any.whl.metadata (2.7 kB) Collecting cryptography<37 (from -r social/requirements.txt (line 3)) Downloading cryptography-36.0.2-cp36-abi3-manylinux_2_24_x86_64.whl.metadata (5.4 kB) Collecting extract_msg (from -r social/requirements.txt (line 4)) Downloading extract_msg-0.55.0-py3-none-any.whl.metadata (15 kB) Collecting lottie (from -r social/requirements.txt (line 5)) Downloading lottie-0.7.2.tar.gz (172 kB) Preparing metadata (setup.py): started Preparing metadata (setup.py): finished with status 'done' Requirement already satisfied: odoo_test_helper in /usr/local/lib/python3.12/dist-packages (from -r social/requirements.txt (line 6)) (2.1.3) Collecting premailer (from -r social/requirements.txt (line 7)) Downloading premailer-3.10.0-py2.py3-none-any.whl.metadata (15 kB) Collecting python-telegram-bot (from -r social/requirements.txt (line 8)) Downloading python_telegram_bot-22.7-py3-none-any.whl.metadata (17 kB) Requirement already satisfied: requests_toolbelt in /usr/lib/python3/dist-packages (from -r social/requirements.txt (line 9)) (1.0.0) Collecting cairocffi (from cairosvg->-r social/requirements.txt (line 2)) Downloading cairocffi-1.7.1-py3-none-any.whl.metadata (3.3 kB) Collecting cssselect2 (from cairosvg->-r social/requirements.txt (line 2)) Downloading cssselect2-0.9.0-py3-none-any.whl.metadata (2.9 kB) Requirement already satisfied: defusedxml in /usr/lib/python3/dist-packages (from cairosvg->-r social/requirements.txt (line 2)) (0.7.1) Requirement already satisfied: pillow in /usr/lib/python3/dist-packages (from cairosvg->-r social/requirements.txt (line 2)) (10.2.0) Collecting tinycss2 (from cairosvg->-r social/requirements.txt (line 2)) Downloading tinycss2-1.5.1-py3-none-any.whl.metadata (3.0 kB) Requirement already satisfied: cffi>=1.12 in /usr/local/lib/python3.12/dist-packages (from cryptography<37->-r social/requirements.txt (line 3)) (2.0.0) Collecting olefile==0.47 (from extract_msg->-r social/requirements.txt (line 4)) Downloading olefile-0.47-py2.py3-none-any.whl.metadata (9.7 kB) Collecting tzlocal<6,>=4.2 (from extract_msg->-r social/requirements.txt (line 4)) Downloading tzlocal-5.3.1-py3-none-any.whl.metadata (7.6 kB) Collecting compressed-rtf<2,>=1.0.6 (from extract_msg->-r social/requirements.txt (line 4)) Downloading compressed_rtf-1.0.7-py3-none-any.whl.metadata (2.4 kB) Collecting ebcdic<2,>=1.1.1 (from extract_msg->-r social/requirements.txt (line 4)) Downloading ebcdic-1.1.1-py2.py3-none-any.whl.metadata (8.9 kB) Requirement already satisfied: beautifulsoup4<4.14,>=4.11.1 in /usr/lib/python3/dist-packages (from extract_msg->-r social/requirements.txt (line 4)) (4.12.3) Collecting RTFDE<0.2,>=0.1.1 (from extract_msg->-r social/requirements.txt (line 4)) Downloading rtfde-0.1.2.2-py3-none-any.whl.metadata (4.1 kB) Collecting red-black-tree-mod<=1.23,>=1.20 (from extract_msg->-r social/requirements.txt (line 4)) Downloading red-black-tree-mod-1.22.tar.gz (34 kB) Preparing metadata (setup.py): started Preparing metadata (setup.py): finished with status 'done' Requirement already satisfied: lxml in /usr/lib/python3/dist-packages (from premailer->-r social/requirements.txt (line 7)) (5.2.1) Collecting cssselect (from premailer->-r social/requirements.txt (line 7)) Downloading cssselect-1.4.0-py3-none-any.whl.metadata (2.4 kB) Collecting cssutils (from premailer->-r social/requirements.txt (line 7)) Downloading cssutils-2.15.0-py3-none-any.whl.metadata (9.0 kB) Requirement already satisfied: requests in /usr/lib/python3/dist-packages (from premailer->-r social/requirements.txt (line 7)) (2.31.0) Collecting cachetools (from premailer->-r social/requirements.txt (line 7)) Downloading cachetools-7.0.6-py3-none-any.whl.metadata (5.9 kB) Collecting httpx<0.29,>=0.27 (from python-telegram-bot->-r social/requirements.txt (line 8)) Downloading httpx-0.28.1-py3-none-any.whl.metadata (7.1 kB) Requirement already satisfied: soupsieve>1.2 in /usr/lib/python3/dist-packages (from beautifulsoup4<4.14,>=4.11.1->extract_msg->-r social/requirements.txt (line 4)) (2.5) Requirement already satisfied: pycparser in /usr/local/lib/python3.12/dist-packages (from cffi>=1.12->cryptography<37->-r social/requirements.txt (line 3)) (3.0) Collecting anyio (from httpx<0.29,>=0.27->python-telegram-bot->-r social/requirements.txt (line 8)) Downloading anyio-4.13.0-py3-none-any.whl.metadata (4.5 kB) Requirement already satisfied: certifi in /usr/lib/python3/dist-packages (from httpx<0.29,>=0.27->python-telegram-bot->-r social/requirements.txt (line 8)) (2023.11.17) Collecting httpcore==1.* (from httpx<0.29,>=0.27->python-telegram-bot->-r social/requirements.txt (line 8)) Downloading httpcore-1.0.9-py3-none-any.whl.metadata (21 kB) Requirement already satisfied: idna in /usr/lib/python3/dist-packages (from httpx<0.29,>=0.27->python-telegram-bot->-r social/requirements.txt (line 8)) (3.6) Collecting h11>=0.16 (from httpcore==1.*->httpx<0.29,>=0.27->python-telegram-bot->-r social/requirements.txt (line 8)) Downloading h11-0.16.0-py3-none-any.whl.metadata (8.3 kB) Collecting lark~=1.3.0 (from RTFDE<0.2,>=0.1.1->extract_msg->-r social/requirements.txt (line 4)) Downloading lark-1.3.1-py3-none-any.whl.metadata (1.8 kB) Collecting oletools>=0.56 (from RTFDE<0.2,>=0.1.1->extract_msg->-r social/requirements.txt (line 4)) Downloading oletools-0.60.2-py2.py3-none-any.whl.metadata (16 kB) Collecting webencodings (from cssselect2->cairosvg->-r social/requirements.txt (line 2)) Downloading webencodings-0.5.1-py2.py3-none-any.whl.metadata (2.1 kB) Collecting more_itertools (from cssutils->premailer->-r social/requirements.txt (line 7)) Downloading more_itertools-11.0.2-py3-none-any.whl.metadata (41 kB) Collecting encutils (from cssutils->premailer->-r social/requirements.txt (line 7)) Downloading encutils-1.0.0-py3-none-any.whl.metadata (1.1 kB) Collecting pyparsing<4,>=2.1.0 (from oletools>=0.56->RTFDE<0.2,>=0.1.1->extract_msg->-r social/requirements.txt (line 4)) Downloading pyparsing-3.3.2-py3-none-any.whl.metadata (5.8 kB) Collecting easygui (from oletools>=0.56->RTFDE<0.2,>=0.1.1->extract_msg->-r social/requirements.txt (line 4)) Downloading easygui-0.98.3-py2.py3-none-any.whl.metadata (8.4 kB) Collecting colorclass (from oletools>=0.56->RTFDE<0.2,>=0.1.1->extract_msg->-r social/requirements.txt (line 4)) Downloading colorclass-2.2.2-py2.py3-none-any.whl.metadata (5.2 kB) Collecting pcodedmp>=1.2.5 (from oletools>=0.56->RTFDE<0.2,>=0.1.1->extract_msg->-r social/requirements.txt (line 4)) Downloading pcodedmp-1.2.6-py2.py3-none-any.whl.metadata (11 kB) Collecting msoffcrypto-tool (from oletools>=0.56->RTFDE<0.2,>=0.1.1->extract_msg->-r social/requirements.txt (line 4)) Downloading msoffcrypto_tool-6.0.0-py3-none-any.whl.metadata (10 kB) Requirement already satisfied: typing_extensions>=4.5 in /usr/lib/python3/dist-packages (from anyio->httpx<0.29,>=0.27->python-telegram-bot->-r social/requirements.txt (line 8)) (4.10.0) Requirement already satisfied: chardet in /usr/lib/python3/dist-packages (from encutils->cssutils->premailer->-r social/requirements.txt (line 7)) (5.2.0) INFO: pip is looking at multiple versions of msoffcrypto-tool to determine which version is compatible with other requirements. This could take a while. Downloading msoffcrypto_tool-5.4.2-py3-none-any.whl.metadata (10 kB) Downloading msoffcrypto_tool-5.4.1-py3-none-any.whl.metadata (10 kB) Downloading cairosvg-2.9.0-py3-none-any.whl (45 kB) Downloading cryptography-36.0.2-cp36-abi3-manylinux_2_24_x86_64.whl (3.6 MB) Downloading extract_msg-0.55.0-py3-none-any.whl (336 kB) Downloading olefile-0.47-py2.py3-none-any.whl (114 kB) Downloading premailer-3.10.0-py2.py3-none-any.whl (19 kB) Downloading python_telegram_bot-22.7-py3-none-any.whl (745 kB) Downloading compressed_rtf-1.0.7-py3-none-any.whl (8.0 kB) Downloading ebcdic-1.1.1-py2.py3-none-any.whl (128 kB) Downloading httpx-0.28.1-py3-none-any.whl (73 kB) Downloading httpcore-1.0.9-py3-none-any.whl (78 kB) Downloading rtfde-0.1.2.2-py3-none-any.whl (36 kB) Downloading tzlocal-5.3.1-py3-none-any.whl (18 kB) Downloading cachetools-7.0.6-py3-none-any.whl (13 kB) Downloading cairocffi-1.7.1-py3-none-any.whl (75 kB) Downloading cssselect-1.4.0-py3-none-any.whl (18 kB) Downloading cssselect2-0.9.0-py3-none-any.whl (15 kB) Downloading cssutils-2.15.0-py3-none-any.whl (180 kB) Downloading tinycss2-1.5.1-py3-none-any.whl (28 kB) Downloading lark-1.3.1-py3-none-any.whl (113 kB) Downloading oletools-0.60.2-py2.py3-none-any.whl (989 kB) Downloading webencodings-0.5.1-py2.py3-none-any.whl (11 kB) Downloading anyio-4.13.0-py3-none-any.whl (114 kB) Downloading encutils-1.0.0-py3-none-any.whl (21 kB) Downloading more_itertools-11.0.2-py3-none-any.whl (71 kB) Downloading h11-0.16.0-py3-none-any.whl (37 kB) Downloading pcodedmp-1.2.6-py2.py3-none-any.whl (30 kB) Downloading pyparsing-3.3.2-py3-none-any.whl (122 kB) Downloading colorclass-2.2.2-py2.py3-none-any.whl (18 kB) Downloading easygui-0.98.3-py2.py3-none-any.whl (92 kB) Downloading msoffcrypto_tool-5.4.1-py3-none-any.whl (48 kB) Building wheels for collected packages: lottie, red-black-tree-mod Building wheel for lottie (setup.py): started Building wheel for lottie (setup.py): finished with status 'done' Created wheel for lottie: filename=lottie-0.7.2-py3-none-any.whl size=195365 sha256=a394877e71c4dadb52f0aa95bffed0f0cbac8325282a9827ec83c233e717d72a Stored in directory: /home/runbot/.cache/pip/wheels/c9/fc/0e/ecc37b4895c5f63209dc42797ad4c1a53c89e34351217e56df Building wheel for red-black-tree-mod (setup.py): started Building wheel for red-black-tree-mod (setup.py): finished with status 'done' Created wheel for red-black-tree-mod: filename=red_black_tree_mod-1.22-py3-none-any.whl size=19237 sha256=700f80771e63454fde4d34d635a1bcd4bada5db6b111a431555dc9e85b54f717 Stored in directory: /home/runbot/.cache/pip/wheels/f6/0b/c7/2c437dd86730e451859662ab2edf7b0ab1541dcf14f7fb3fd1 Successfully built lottie red-black-tree-mod WARNING: Skipping /usr/lib/python3.12/dist-packages/charset_normalizer-3.3.2.dist-info due to invalid metadata entry 'name' Installing collected packages: webencodings, red-black-tree-mod, ebcdic, easygui, compressed-rtf, tzlocal, tinycss2, pyparsing, olefile, more_itertools, lottie, lark, h11, encutils, cssselect, colorclass, cachetools, anyio, httpcore, cssutils, cssselect2, cryptography, cairocffi, premailer, msoffcrypto-tool, httpx, cairosvg, python-telegram-bot, pcodedmp, oletools, RTFDE, extract_msg ERROR: pip's dependency resolver does not currently take into account all the packages that are installed. This behaviour is the source of the following dependency conflicts. pyopenssl 24.1.0 requires cryptography<43,>=41.0.5, but you have cryptography 36.0.2 which is incompatible. Successfully installed RTFDE-0.1.2.2 anyio-4.13.0 cachetools-7.0.6 cairocffi-1.7.1 cairosvg-2.9.0 colorclass-2.2.2 compressed-rtf-1.0.7 cryptography-36.0.2 cssselect-1.4.0 cssselect2-0.9.0 cssutils-2.15.0 easygui-0.98.3 ebcdic-1.1.1 encutils-1.0.0 extract_msg-0.55.0 h11-0.16.0 httpcore-1.0.9 httpx-0.28.1 lark-1.3.1 lottie-0.7.2 more_itertools-11.0.2 msoffcrypto-tool-5.4.1 olefile-0.47 oletools-0.60.2 pcodedmp-1.2.6 premailer-3.10.0 pyparsing-3.3.2 python-telegram-bot-22.7 red-black-tree-mod-1.22 tinycss2-1.5.1 tzlocal-5.3.1 webencodings-0.5.1 WARNING: Skipping /usr/lib/python3.12/dist-packages/charset_normalizer-3.3.2.dist-info due to invalid metadata entry 'name' Collecting email-validator (from -r partner-contact/requirements.txt (line 2)) Downloading email_validator-2.3.0-py3-none-any.whl.metadata (26 kB) Requirement already satisfied: phonenumbers in /usr/lib/python3/dist-packages (from -r partner-contact/requirements.txt (line 3)) (8.12.57) Collecting dnspython>=2.0.0 (from email-validator->-r partner-contact/requirements.txt (line 2)) Downloading dnspython-2.8.0-py3-none-any.whl.metadata (5.7 kB) Requirement already satisfied: idna>=2.0.0 in /usr/lib/python3/dist-packages (from email-validator->-r partner-contact/requirements.txt (line 2)) (3.6) Downloading email_validator-2.3.0-py3-none-any.whl (35 kB) Downloading dnspython-2.8.0-py3-none-any.whl (331 kB) WARNING: Skipping /usr/lib/python3.12/dist-packages/charset_normalizer-3.3.2.dist-info due to invalid metadata entry 'name' Installing collected packages: dnspython, email-validator Successfully installed dnspython-2.8.0 email-validator-2.3.0 WARNING: Skipping /usr/lib/python3.12/dist-packages/charset_normalizer-3.3.2.dist-info due to invalid metadata entry 'name' Collecting openupgradelib (from -r stock-logistics-warehouse/requirements.txt (line 2)) Downloading openupgradelib-3.12.0-py2.py3-none-any.whl.metadata (10 kB) Requirement already satisfied: lxml in /usr/lib/python3/dist-packages (from openupgradelib->-r stock-logistics-warehouse/requirements.txt (line 2)) (5.2.1) Requirement already satisfied: cssselect in /home/runbot/.local/lib/python3.12/site-packages (from openupgradelib->-r stock-logistics-warehouse/requirements.txt (line 2)) (1.4.0) Downloading openupgradelib-3.12.0-py2.py3-none-any.whl (85 kB) WARNING: Skipping /usr/lib/python3.12/dist-packages/charset_normalizer-3.3.2.dist-info due to invalid metadata entry 'name' Installing collected packages: openupgradelib Successfully installed openupgradelib-3.12.0 WARNING: Skipping /usr/lib/python3.12/dist-packages/charset_normalizer-3.3.2.dist-info due to invalid metadata entry 'name' Requirement already satisfied: freezegun in /usr/lib/python3/dist-packages (from -r product-attribute/requirements.txt (line 2)) (1.2.1) Requirement already satisfied: openupgradelib in /home/runbot/.local/lib/python3.12/site-packages (from -r product-attribute/requirements.txt (line 3)) (3.12.0) Requirement already satisfied: lxml in /usr/lib/python3/dist-packages (from openupgradelib->-r product-attribute/requirements.txt (line 3)) (5.2.1) Requirement already satisfied: cssselect in /home/runbot/.local/lib/python3.12/site-packages (from openupgradelib->-r product-attribute/requirements.txt (line 3)) (1.4.0) WARNING: Skipping /usr/lib/python3.12/dist-packages/charset_normalizer-3.3.2.dist-info due to invalid metadata entry 'name' WARNING: Skipping /usr/lib/python3.12/dist-packages/charset_normalizer-3.3.2.dist-info due to invalid metadata entry 'name' Ignoring pymssql: markers 'python_version <= "3.10"' don't match your environment Collecting mysqlclient (from -r server-backend/requirements.txt (line 2)) Downloading mysqlclient-2.2.8.tar.gz (92 kB) Installing build dependencies: started Installing build dependencies: finished with status 'done' Getting requirements to build wheel: started Getting requirements to build wheel: finished with status 'done' Preparing metadata (pyproject.toml): started Preparing metadata (pyproject.toml): finished with status 'done' Collecting pymssql<=2.3.7 (from -r server-backend/requirements.txt (line 4)) Downloading pymssql-2.3.7-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.whl.metadata (4.1 kB) Collecting sqlalchemy (from -r server-backend/requirements.txt (line 5)) Downloading sqlalchemy-2.0.49-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl.metadata (9.5 kB) Requirement already satisfied: greenlet>=1 in /usr/lib/python3/dist-packages (from sqlalchemy->-r server-backend/requirements.txt (line 5)) (3.0.3) Requirement already satisfied: typing-extensions>=4.6.0 in /usr/lib/python3/dist-packages (from sqlalchemy->-r server-backend/requirements.txt (line 5)) (4.10.0) Downloading pymssql-2.3.7-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.whl (2.8 MB) Downloading sqlalchemy-2.0.49-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl (3.4 MB) Building wheels for collected packages: mysqlclient Building wheel for mysqlclient (pyproject.toml): started Building wheel for mysqlclient (pyproject.toml): finished with status 'done' Created wheel for mysqlclient: filename=mysqlclient-2.2.8-cp312-cp312-linux_x86_64.whl size=129532 sha256=4ab16671eb2074182a4bbf8ce0e542b6a3072f2461c3c03133779c1d3b40d667 Stored in directory: /home/runbot/.cache/pip/wheels/b0/62/00/46e65ad9151c1266f0f03ea020a5a8ea1cbc6e4ebf3329e276 Successfully built mysqlclient WARNING: Skipping /usr/lib/python3.12/dist-packages/charset_normalizer-3.3.2.dist-info due to invalid metadata entry 'name' Installing collected packages: sqlalchemy, pymssql, mysqlclient Successfully installed mysqlclient-2.2.8 pymssql-2.3.7 sqlalchemy-2.0.49 WARNING: Skipping /usr/lib/python3.12/dist-packages/charset_normalizer-3.3.2.dist-info due to invalid metadata entry 'name' Requirement already satisfied: xlrd in /usr/lib/python3/dist-packages (from -r account-reconcile/requirements.txt (line 2)) (2.0.1) WARNING: Skipping /usr/lib/python3.12/dist-packages/charset_normalizer-3.3.2.dist-info due to invalid metadata entry 'name' WARNING: Skipping /usr/lib/python3.12/dist-packages/charset_normalizer-3.3.2.dist-info due to invalid metadata entry 'name' Requirement already satisfied: cryptography in /home/runbot/.local/lib/python3.12/site-packages (from -r reporting-engine/requirements.txt (line 2)) (36.0.2) Collecting endesive (from -r reporting-engine/requirements.txt (line 3)) Downloading endesive-2.19.3-py3-none-any.whl.metadata (5.5 kB) Requirement already satisfied: mock in /usr/lib/python3/dist-packages (from -r reporting-engine/requirements.txt (line 4)) (5.1.0) Requirement already satisfied: openpyxl in /usr/lib/python3/dist-packages (from -r reporting-engine/requirements.txt (line 5)) (3.1.2) Collecting py3o.formats (from -r reporting-engine/requirements.txt (line 6)) Downloading py3o.formats-0.3.zip (7.3 kB) Preparing metadata (setup.py): started Preparing metadata (setup.py): finished with status 'done' Collecting py3o.template (from -r reporting-engine/requirements.txt (line 7)) Downloading py3o.template-0.10.0-py3-none-any.whl.metadata (12 kB) Requirement already satisfied: cffi>=1.12 in /usr/local/lib/python3.12/dist-packages (from cryptography->-r reporting-engine/requirements.txt (line 2)) (2.0.0) Requirement already satisfied: asn1crypto in /usr/lib/python3/dist-packages (from endesive->-r reporting-engine/requirements.txt (line 3)) (1.5.1) Requirement already satisfied: lxml in /usr/lib/python3/dist-packages (from endesive->-r reporting-engine/requirements.txt (line 3)) (5.2.1) Collecting pykcs11 (from endesive->-r reporting-engine/requirements.txt (line 3)) Downloading pykcs11-1.5.18.tar.gz (105 kB) Installing build dependencies: started Installing build dependencies: finished with status 'done' Getting requirements to build wheel: started Getting requirements to build wheel: finished with status 'done' Preparing metadata (pyproject.toml): started Preparing metadata (pyproject.toml): finished with status 'done' Requirement already satisfied: Pillow in /usr/lib/python3/dist-packages (from endesive->-r reporting-engine/requirements.txt (line 3)) (10.2.0) Requirement already satisfied: requests in /usr/lib/python3/dist-packages (from endesive->-r reporting-engine/requirements.txt (line 3)) (2.31.0) Collecting paramiko (from endesive->-r reporting-engine/requirements.txt (line 3)) Downloading paramiko-4.0.0-py3-none-any.whl.metadata (3.9 kB) Requirement already satisfied: setuptools in /usr/lib/python3/dist-packages (from py3o.formats->-r reporting-engine/requirements.txt (line 6)) (68.1.2) Requirement already satisfied: babel in /usr/lib/python3/dist-packages (from py3o.template->-r reporting-engine/requirements.txt (line 7)) (2.10.3) Collecting genshi>=0.7 (from py3o.template->-r reporting-engine/requirements.txt (line 7)) Downloading genshi-0.7.10-py3-none-any.whl.metadata (1.4 kB) Collecting pyjon.utils>0.6 (from py3o.template->-r reporting-engine/requirements.txt (line 7)) Downloading pyjon.utils-0.7-py3-none-any.whl.metadata (671 bytes) Requirement already satisfied: six>=1.9 in /usr/lib/python3/dist-packages (from py3o.template->-r reporting-engine/requirements.txt (line 7)) (1.16.0) Requirement already satisfied: pycparser in /usr/local/lib/python3.12/dist-packages (from cffi>=1.12->cryptography->-r reporting-engine/requirements.txt (line 2)) (3.0) Collecting bcrypt>=3.2 (from paramiko->endesive->-r reporting-engine/requirements.txt (line 3)) Downloading bcrypt-5.0.0-cp39-abi3-manylinux_2_34_x86_64.whl.metadata (10 kB) Collecting invoke>=2.0 (from paramiko->endesive->-r reporting-engine/requirements.txt (line 3)) Downloading invoke-3.0.3-py3-none-any.whl.metadata (3.2 kB) Collecting pynacl>=1.5 (from paramiko->endesive->-r reporting-engine/requirements.txt (line 3)) Downloading pynacl-1.6.2-cp38-abi3-manylinux_2_34_x86_64.whl.metadata (10.0 kB) Downloading endesive-2.19.3-py3-none-any.whl (349 kB) Downloading py3o.template-0.10.0-py3-none-any.whl (614 kB) Downloading genshi-0.7.10-py3-none-any.whl (179 kB) Downloading pyjon.utils-0.7-py3-none-any.whl (6.5 kB) Downloading paramiko-4.0.0-py3-none-any.whl (223 kB) Downloading bcrypt-5.0.0-cp39-abi3-manylinux_2_34_x86_64.whl (278 kB) Downloading invoke-3.0.3-py3-none-any.whl (160 kB) Downloading pynacl-1.6.2-cp38-abi3-manylinux_2_34_x86_64.whl (1.4 MB) Building wheels for collected packages: py3o.formats, pykcs11 Building wheel for py3o.formats (setup.py): started Building wheel for py3o.formats (setup.py): finished with status 'done' Created wheel for py3o.formats: filename=py3o.formats-0.3-py3-none-any.whl size=4290 sha256=719e101bfe8464e8e415e3c027835e21ade877df5e39936b0f84b5ea33643ed9 Stored in directory: /home/runbot/.cache/pip/wheels/db/86/fc/1342fa3882442513e6cb3171c4f57e04eb94cf7a578e5a9d41 Building wheel for pykcs11 (pyproject.toml): started Building wheel for pykcs11 (pyproject.toml): finished with status 'done' Created wheel for pykcs11: filename=pykcs11-1.5.18-cp312-cp312-linux_x86_64.whl size=1252842 sha256=b83709aba30ba894c231a1af9d7b6512ab34d1fa290d12479b54f6ddc28d518f Stored in directory: /home/runbot/.cache/pip/wheels/93/5e/95/1910093196363e40d2cabff58d4385988b24eb9f55049ba194 Successfully built py3o.formats pykcs11 WARNING: Skipping /usr/lib/python3.12/dist-packages/charset_normalizer-3.3.2.dist-info due to invalid metadata entry 'name' Installing collected packages: pykcs11, genshi, pyjon.utils, py3o.formats, invoke, bcrypt, pynacl, py3o.template, paramiko, endesive Successfully installed bcrypt-5.0.0 endesive-2.19.3 genshi-0.7.10 invoke-3.0.3 paramiko-4.0.0 py3o.formats-0.3 py3o.template-0.10.0 pyjon.utils-0.7 pykcs11-1.5.18 pynacl-1.6.2 WARNING: Skipping /usr/lib/python3.12/dist-packages/charset_normalizer-3.3.2.dist-info due to invalid metadata entry 'name' Ignoring cryptography: markers 'python_version < "3.12"' don't match your environment Ignoring freezegun: markers 'python_version < "3.8"' don't match your environment Ignoring gevent: markers 'sys_platform != "win32" and python_version == "3.7"' don't match your environment Ignoring gevent: markers 'sys_platform != "win32" and python_version > "3.7" and python_version <= "3.9"' don't match your environment Ignoring gevent: markers 'sys_platform != "win32" and python_version > "3.9" and python_version <= "3.10"' don't match your environment Ignoring gevent: markers 'sys_platform != "win32" and python_version > "3.10" and python_version < "3.12"' don't match your environment Ignoring greenlet: markers 'sys_platform != "win32" and python_version == "3.7"' don't match your environment Ignoring greenlet: markers 'sys_platform != "win32" and python_version > "3.7" and python_version <= "3.9"' don't match your environment Ignoring greenlet: markers 'sys_platform != "win32" and python_version > "3.9" and python_version <= "3.10"' don't match your environment Ignoring greenlet: markers 'sys_platform != "win32" and python_version > "3.10" and python_version < "3.12"' don't match your environment Ignoring Jinja2: markers 'python_version <= "3.10"' don't match your environment Ignoring libsass: markers 'python_version < "3.12"' don't match your environment Ignoring lxml: markers 'python_version <= "3.10"' don't match your environment Ignoring lxml: markers 'python_version > "3.10" and python_version < "3.12"' don't match your environment Ignoring MarkupSafe: markers 'python_version <= "3.10"' don't match your environment Ignoring MarkupSafe: markers 'python_version > "3.10" and python_version < "3.12"' don't match your environment Ignoring ofxparse: markers 'python_version <= "3.9"' don't match your environment Ignoring Pillow: markers 'python_version <= "3.10"' don't match your environment Ignoring Pillow: markers 'python_version > "3.10" and python_version < "3.12"' don't match your environment Ignoring psutil: markers 'python_version <= "3.10"' don't match your environment Ignoring psutil: markers 'python_version > "3.10" and python_version < "3.12"' don't match your environment Ignoring psycopg2: markers 'sys_platform != "win32" and python_version < "3.8"' don't match your environment Ignoring psycopg2: markers 'sys_platform != "win32" and python_version >= "3.8" and python_version < "3.10"' don't match your environment Ignoring psycopg2: markers 'sys_platform == "win32" and python_version < "3.10"' don't match your environment Ignoring psycopg2: markers 'python_version == "3.10"' don't match your environment Ignoring psycopg2: markers 'python_version >= "3.11" and python_version < "3.12"' don't match your environment Ignoring pyopenssl: markers 'python_version < "3.12"' don't match your environment Ignoring PyPDF2: markers 'python_version <= "3.10"' don't match your environment Ignoring pypiwin32: markers 'sys_platform == "win32"' don't match your environment Ignoring python-ldap: markers 'sys_platform != "win32" and python_version < "3.12"' don't match your environment Ignoring pyusb: markers 'python_version <= "3.10"' don't match your environment Ignoring reportlab: markers 'python_version <= "3.10"' don't match your environment Ignoring reportlab: markers 'python_version > "3.10" and python_version < "3.12"' don't match your environment Ignoring requests: markers 'python_version < "3.12"' don't match your environment Ignoring rl-renderPM: markers 'sys_platform == "win32" and python_version >= "3.12"' don't match your environment Ignoring urllib3: markers 'python_version < "3.12"' don't match your environment Ignoring Werkzeug: markers 'python_version <= "3.9"' don't match your environment Ignoring xlrd: markers 'python_version < "3.8"' don't match your environment Collecting Babel==2.9.1 (from -r odoo/requirements.txt (line 3)) Downloading Babel-2.9.1-py2.py3-none-any.whl.metadata (1.2 kB) Collecting chardet==4.0.0 (from -r odoo/requirements.txt (line 4)) Downloading chardet-4.0.0-py2.py3-none-any.whl.metadata (3.5 kB) Collecting cryptography==42.0.8 (from -r odoo/requirements.txt (line 6)) Downloading cryptography-42.0.8-cp39-abi3-manylinux_2_28_x86_64.whl.metadata (5.3 kB) Collecting decorator==4.4.2 (from -r odoo/requirements.txt (line 7)) Downloading decorator-4.4.2-py2.py3-none-any.whl.metadata (4.2 kB) Collecting docutils==0.16 (from -r odoo/requirements.txt (line 8)) Downloading docutils-0.16-py2.py3-none-any.whl.metadata (2.7 kB) Requirement already satisfied: ebaysdk==2.1.5 in /usr/local/lib/python3.12/dist-packages (from -r odoo/requirements.txt (line 9)) (2.1.5) Collecting freezegun==0.3.15 (from -r odoo/requirements.txt (line 11)) Downloading freezegun-0.3.15-py2.py3-none-any.whl.metadata (8.5 kB) Requirement already satisfied: gevent==24.2.1 in /usr/lib/python3/dist-packages (from -r odoo/requirements.txt (line 16)) (24.2.1) Requirement already satisfied: greenlet==3.0.3 in /usr/lib/python3/dist-packages (from -r odoo/requirements.txt (line 21)) (3.0.3) Collecting idna==2.10 (from -r odoo/requirements.txt (line 22)) Downloading idna-2.10-py2.py3-none-any.whl.metadata (9.1 kB) Requirement already satisfied: Jinja2==3.1.2 in /usr/lib/python3/dist-packages (from -r odoo/requirements.txt (line 24)) (3.1.2) Requirement already satisfied: libsass==0.22.0 in /usr/lib/python3/dist-packages (from -r odoo/requirements.txt (line 26)) (0.22.0) Requirement already satisfied: lxml==5.2.1 in /usr/lib/python3/dist-packages (from -r odoo/requirements.txt (line 29)) (5.2.1) Requirement already satisfied: lxml-html-clean in /usr/lib/python3/dist-packages (from -r odoo/requirements.txt (line 30)) (0.1.1) Requirement already satisfied: MarkupSafe==2.1.5 in /usr/lib/python3/dist-packages (from -r odoo/requirements.txt (line 33)) (2.1.5) Collecting num2words==0.5.9 (from -r odoo/requirements.txt (line 34)) Downloading num2words-0.5.9-py3-none-any.whl.metadata (8.3 kB) Requirement already satisfied: ofxparse==0.21 in /usr/lib/python3/dist-packages (from -r odoo/requirements.txt (line 36)) (0.21) Requirement already satisfied: passlib==1.7.4 in /usr/lib/python3/dist-packages (from -r odoo/requirements.txt (line 37)) (1.7.4) Requirement already satisfied: Pillow==10.2.0 in /usr/lib/python3/dist-packages (from -r odoo/requirements.txt (line 40)) (10.2.0) Collecting polib==1.1.0 (from -r odoo/requirements.txt (line 41)) Downloading polib-1.1.0-py2.py3-none-any.whl.metadata (13 kB) Requirement already satisfied: psutil==5.9.8 in /usr/lib/python3/dist-packages (from -r odoo/requirements.txt (line 44)) (5.9.8) Requirement already satisfied: psycopg2==2.9.9 in /usr/lib/python3/dist-packages (from -r odoo/requirements.txt (line 50)) (2.9.9) Collecting pydot==1.4.2 (from -r odoo/requirements.txt (line 51)) Downloading pydot-1.4.2-py2.py3-none-any.whl.metadata (8.0 kB) Requirement already satisfied: pyopenssl==24.1.0 in /usr/local/lib/python3.12/dist-packages (from -r odoo/requirements.txt (line 53)) (24.1.0) Requirement already satisfied: PyPDF2==2.12.1 in /usr/lib/python3/dist-packages (from -r odoo/requirements.txt (line 55)) (2.12.1) Requirement already satisfied: pyserial==3.5 in /usr/local/lib/python3.12/dist-packages (from -r odoo/requirements.txt (line 57)) (3.5) Collecting python-dateutil==2.8.1 (from -r odoo/requirements.txt (line 58)) Downloading python_dateutil-2.8.1-py2.py3-none-any.whl.metadata (8.0 kB) Requirement already satisfied: python-ldap==3.4.4 in /usr/local/lib/python3.12/dist-packages (from -r odoo/requirements.txt (line 60)) (3.4.4) Collecting python-stdnum==1.16 (from -r odoo/requirements.txt (line 61)) Downloading python_stdnum-1.16-py2.py3-none-any.whl.metadata (16 kB) Requirement already satisfied: pytz in /usr/local/lib/python3.12/dist-packages (from -r odoo/requirements.txt (line 62)) (2025.2) Requirement already satisfied: pyusb==1.2.1 in /usr/local/lib/python3.12/dist-packages (from -r odoo/requirements.txt (line 64)) (1.2.1) Collecting qrcode==6.1 (from -r odoo/requirements.txt (line 65)) Downloading qrcode-6.1-py2.py3-none-any.whl.metadata (11 kB) Requirement already satisfied: reportlab==4.1.0 in /usr/lib/python3/dist-packages (from -r odoo/requirements.txt (line 68)) (4.1.0) Requirement already satisfied: requests==2.31.0 in /usr/lib/python3/dist-packages (from -r odoo/requirements.txt (line 70)) (2.31.0) Requirement already satisfied: urllib3==2.0.7 in /usr/lib/python3/dist-packages (from -r odoo/requirements.txt (line 73)) (2.0.7) Requirement already satisfied: vobject==0.9.6.1 in /usr/lib/python3/dist-packages (from -r odoo/requirements.txt (line 74)) (0.9.6.1) Collecting Werkzeug==2.0.2 (from -r odoo/requirements.txt (line 76)) Downloading Werkzeug-2.0.2-py3-none-any.whl.metadata (4.5 kB) Collecting xlrd==1.2.0 (from -r odoo/requirements.txt (line 78)) Downloading xlrd-1.2.0-py2.py3-none-any.whl.metadata (1.3 kB) Collecting XlsxWriter==1.1.2 (from -r odoo/requirements.txt (line 79)) Downloading XlsxWriter-1.1.2-py2.py3-none-any.whl.metadata (2.6 kB) Requirement already satisfied: xlwt==1.3.0 in /usr/local/lib/python3.12/dist-packages (from -r odoo/requirements.txt (line 80)) (1.3.0) Collecting zeep==4.0.0 (from -r odoo/requirements.txt (line 81)) Downloading zeep-4.0.0-py2.py3-none-any.whl.metadata (3.3 kB) Requirement already satisfied: cffi>=1.12 in /usr/local/lib/python3.12/dist-packages (from cryptography==42.0.8->-r odoo/requirements.txt (line 6)) (2.0.0) Requirement already satisfied: six in /usr/lib/python3/dist-packages (from freezegun==0.3.15->-r odoo/requirements.txt (line 11)) (1.16.0) Requirement already satisfied: docopt>=0.6.2 in /usr/lib/python3/dist-packages (from num2words==0.5.9->-r odoo/requirements.txt (line 34)) (0.6.2) Requirement already satisfied: pyparsing>=2.1.4 in /home/runbot/.local/lib/python3.12/site-packages (from pydot==1.4.2->-r odoo/requirements.txt (line 51)) (3.3.2) Requirement already satisfied: pyasn1>=0.3.7 in /usr/local/lib/python3.12/dist-packages (from python-ldap==3.4.4->-r odoo/requirements.txt (line 60)) (0.6.2) Requirement already satisfied: pyasn1_modules>=0.1.5 in /usr/local/lib/python3.12/dist-packages (from python-ldap==3.4.4->-r odoo/requirements.txt (line 60)) (0.4.2) Collecting appdirs>=1.4.0 (from zeep==4.0.0->-r odoo/requirements.txt (line 81)) Downloading appdirs-1.4.4-py2.py3-none-any.whl.metadata (9.0 kB) Requirement already satisfied: attrs>=17.2.0 in /usr/lib/python3/dist-packages (from zeep==4.0.0->-r odoo/requirements.txt (line 81)) (23.2.0) Requirement already satisfied: cached-property>=1.3.0 in /usr/lib/python3/dist-packages (from zeep==4.0.0->-r odoo/requirements.txt (line 81)) (1.5.2) Requirement already satisfied: defusedxml>=0.4.1 in /usr/lib/python3/dist-packages (from zeep==4.0.0->-r odoo/requirements.txt (line 81)) (0.7.1) Requirement already satisfied: isodate>=0.5.4 in /usr/lib/python3/dist-packages (from zeep==4.0.0->-r odoo/requirements.txt (line 81)) (0.6.1) Requirement already satisfied: requests-toolbelt>=0.7.1 in /usr/lib/python3/dist-packages (from zeep==4.0.0->-r odoo/requirements.txt (line 81)) (1.0.0) Requirement already satisfied: requests-file>=1.5.1 in /usr/lib/python3/dist-packages (from zeep==4.0.0->-r odoo/requirements.txt (line 81)) (1.5.1) Requirement already satisfied: pycparser in /usr/local/lib/python3.12/dist-packages (from cffi>=1.12->cryptography==42.0.8->-r odoo/requirements.txt (line 6)) (3.0) Downloading Babel-2.9.1-py2.py3-none-any.whl (8.8 MB) Downloading chardet-4.0.0-py2.py3-none-any.whl (178 kB) Downloading cryptography-42.0.8-cp39-abi3-manylinux_2_28_x86_64.whl (3.9 MB) Downloading decorator-4.4.2-py2.py3-none-any.whl (9.2 kB) Downloading docutils-0.16-py2.py3-none-any.whl (548 kB) Downloading freezegun-0.3.15-py2.py3-none-any.whl (14 kB) Downloading idna-2.10-py2.py3-none-any.whl (58 kB) Downloading num2words-0.5.9-py3-none-any.whl (99 kB) Downloading polib-1.1.0-py2.py3-none-any.whl (25 kB) Downloading pydot-1.4.2-py2.py3-none-any.whl (21 kB) Downloading python_dateutil-2.8.1-py2.py3-none-any.whl (227 kB) Downloading python_stdnum-1.16-py2.py3-none-any.whl (910 kB) Downloading qrcode-6.1-py2.py3-none-any.whl (31 kB) Downloading Werkzeug-2.0.2-py3-none-any.whl (288 kB) Downloading xlrd-1.2.0-py2.py3-none-any.whl (103 kB) Downloading XlsxWriter-1.1.2-py2.py3-none-any.whl (142 kB) Downloading zeep-4.0.0-py2.py3-none-any.whl (100 kB) Downloading appdirs-1.4.4-py2.py3-none-any.whl (9.6 kB) WARNING: Skipping /usr/lib/python3.12/dist-packages/charset_normalizer-3.3.2.dist-info due to invalid metadata entry 'name' Installing collected packages: XlsxWriter, python-stdnum, polib, appdirs, zeep, xlrd, Werkzeug, qrcode, python-dateutil, pydot, num2words, idna, docutils, decorator, chardet, Babel, freezegun, cryptography Attempting uninstall: cryptography Found existing installation: cryptography 36.0.2 Uninstalling cryptography-36.0.2: Successfully uninstalled cryptography-36.0.2 Successfully installed Babel-2.9.1 Werkzeug-2.0.2 XlsxWriter-1.1.2 appdirs-1.4.4 chardet-4.0.0 cryptography-42.0.8 decorator-4.4.2 docutils-0.16 freezegun-0.3.15 idna-2.10 num2words-0.5.9 polib-1.1.0 pydot-1.4.2 python-dateutil-2.8.1 python-stdnum-1.16 qrcode-6.1 xlrd-1.2.0 zeep-4.0.0 WARNING: Skipping /usr/lib/python3.12/dist-packages/charset_normalizer-3.3.2.dist-info due to invalid metadata entry 'name' Collecting acme (from -r server-tools/requirements.txt (line 2)) Downloading acme-5.5.0-py3-none-any.whl.metadata (1.3 kB) Collecting astor (from -r server-tools/requirements.txt (line 3)) Downloading astor-0.8.1-py2.py3-none-any.whl.metadata (4.2 kB) Requirement already satisfied: cryptography in /home/runbot/.local/lib/python3.12/site-packages (from -r server-tools/requirements.txt (line 4)) (42.0.8) Collecting dataclasses (from -r server-tools/requirements.txt (line 5)) Downloading dataclasses-0.6-py3-none-any.whl.metadata (3.0 kB) Requirement already satisfied: dnspython in /home/runbot/.local/lib/python3.12/site-packages (from -r server-tools/requirements.txt (line 6)) (2.8.0) Collecting josepy (from -r server-tools/requirements.txt (line 7)) Downloading josepy-2.2.0-py3-none-any.whl.metadata (1.7 kB) Collecting mako (from -r server-tools/requirements.txt (line 8)) Downloading mako-1.3.11-py3-none-any.whl.metadata (2.9 kB) Requirement already satisfied: odoo_test_helper in /usr/local/lib/python3.12/dist-packages (from -r server-tools/requirements.txt (line 9)) (2.1.3) Collecting odoorpc (from -r server-tools/requirements.txt (line 10)) Downloading OdooRPC-0.10.1-py2.py3-none-any.whl.metadata (4.8 kB) Requirement already satisfied: openpyxl in /usr/lib/python3/dist-packages (from -r server-tools/requirements.txt (line 11)) (3.1.2) Requirement already satisfied: openupgradelib in /home/runbot/.local/lib/python3.12/site-packages (from -r server-tools/requirements.txt (line 12)) (3.12.0) Collecting pygount==1.4.0 (from -r server-tools/requirements.txt (line 13)) Downloading pygount-1.4.0-py3-none-any.whl.metadata (5.2 kB) Collecting pysftp (from -r server-tools/requirements.txt (line 14)) Downloading pysftp-0.2.9.tar.gz (25 kB) Preparing metadata (setup.py): started Preparing metadata (setup.py): finished with status 'done' Collecting sentry_sdk<=1.9.0 (from -r server-tools/requirements.txt (line 15)) Downloading sentry_sdk-1.9.0-py2.py3-none-any.whl.metadata (7.8 kB) Collecting unidecode (from -r server-tools/requirements.txt (line 16)) Downloading Unidecode-1.4.0-py3-none-any.whl.metadata (13 kB) Collecting unittest-xml-reporting (from -r server-tools/requirements.txt (line 17)) Downloading unittest_xml_reporting-4.0.0-py2.py3-none-any.whl.metadata (11 kB) Requirement already satisfied: chardet<5,>=4 in /home/runbot/.local/lib/python3.12/site-packages (from pygount==1.4.0->-r server-tools/requirements.txt (line 13)) (4.0.0) Requirement already satisfied: pygments<3,>=2 in /usr/lib/python3/dist-packages (from pygount==1.4.0->-r server-tools/requirements.txt (line 13)) (2.17.2) Collecting rich<13,>=9 (from pygount==1.4.0->-r server-tools/requirements.txt (line 13)) Downloading rich-12.6.0-py3-none-any.whl.metadata (18 kB) Collecting cryptography (from -r server-tools/requirements.txt (line 4)) Downloading cryptography-47.0.0-cp311-abi3-manylinux_2_34_x86_64.whl.metadata (4.5 kB) Collecting PyOpenSSL>=25.0.0 (from acme->-r server-tools/requirements.txt (line 2)) Downloading pyopenssl-26.1.0-py3-none-any.whl.metadata (19 kB) Collecting pyrfc3339 (from acme->-r server-tools/requirements.txt (line 2)) Downloading pyrfc3339-2.1.0-py3-none-any.whl.metadata (2.8 kB) Requirement already satisfied: requests>=2.25.1 in /usr/lib/python3/dist-packages (from acme->-r server-tools/requirements.txt (line 2)) (2.31.0) Requirement already satisfied: cffi>=2.0.0 in /usr/local/lib/python3.12/dist-packages (from cryptography->-r server-tools/requirements.txt (line 4)) (2.0.0) Requirement already satisfied: MarkupSafe>=0.9.2 in /usr/lib/python3/dist-packages (from mako->-r server-tools/requirements.txt (line 8)) (2.1.5) Requirement already satisfied: lxml in /usr/lib/python3/dist-packages (from openupgradelib->-r server-tools/requirements.txt (line 12)) (5.2.1) Requirement already satisfied: cssselect in /home/runbot/.local/lib/python3.12/site-packages (from openupgradelib->-r server-tools/requirements.txt (line 12)) (1.4.0) Requirement already satisfied: paramiko>=1.17 in /home/runbot/.local/lib/python3.12/site-packages (from pysftp->-r server-tools/requirements.txt (line 14)) (4.0.0) Requirement already satisfied: urllib3>=1.10.0 in /usr/lib/python3/dist-packages (from sentry_sdk<=1.9.0->-r server-tools/requirements.txt (line 15)) (2.0.7) Requirement already satisfied: certifi in /usr/lib/python3/dist-packages (from sentry_sdk<=1.9.0->-r server-tools/requirements.txt (line 15)) (2023.11.17) Requirement already satisfied: pycparser in /usr/local/lib/python3.12/dist-packages (from cffi>=2.0.0->cryptography->-r server-tools/requirements.txt (line 4)) (3.0) Requirement already satisfied: bcrypt>=3.2 in /home/runbot/.local/lib/python3.12/site-packages (from paramiko>=1.17->pysftp->-r server-tools/requirements.txt (line 14)) (5.0.0) Requirement already satisfied: invoke>=2.0 in /home/runbot/.local/lib/python3.12/site-packages (from paramiko>=1.17->pysftp->-r server-tools/requirements.txt (line 14)) (3.0.3) Requirement already satisfied: pynacl>=1.5 in /home/runbot/.local/lib/python3.12/site-packages (from paramiko>=1.17->pysftp->-r server-tools/requirements.txt (line 14)) (1.6.2) Requirement already satisfied: typing-extensions>=4.9 in /usr/lib/python3/dist-packages (from PyOpenSSL>=25.0.0->acme->-r server-tools/requirements.txt (line 2)) (4.10.0) Collecting commonmark<0.10.0,>=0.9.0 (from rich<13,>=9->pygount==1.4.0->-r server-tools/requirements.txt (line 13)) Downloading commonmark-0.9.1-py2.py3-none-any.whl.metadata (5.7 kB) Downloading pygount-1.4.0-py3-none-any.whl (26 kB) Downloading acme-5.5.0-py3-none-any.whl (94 kB) Downloading astor-0.8.1-py2.py3-none-any.whl (27 kB) Downloading cryptography-47.0.0-cp311-abi3-manylinux_2_34_x86_64.whl (4.7 MB) Downloading dataclasses-0.6-py3-none-any.whl (14 kB) Downloading josepy-2.2.0-py3-none-any.whl (29 kB) Downloading mako-1.3.11-py3-none-any.whl (78 kB) Downloading OdooRPC-0.10.1-py2.py3-none-any.whl (38 kB) Downloading sentry_sdk-1.9.0-py2.py3-none-any.whl (156 kB) Downloading Unidecode-1.4.0-py3-none-any.whl (235 kB) Downloading unittest_xml_reporting-4.0.0-py2.py3-none-any.whl (20 kB) Downloading pyopenssl-26.1.0-py3-none-any.whl (58 kB) Downloading rich-12.6.0-py3-none-any.whl (237 kB) Downloading pyrfc3339-2.1.0-py3-none-any.whl (6.8 kB) Downloading commonmark-0.9.1-py2.py3-none-any.whl (51 kB) Building wheels for collected packages: pysftp Building wheel for pysftp (setup.py): started Building wheel for pysftp (setup.py): finished with status 'done' Created wheel for pysftp: filename=pysftp-0.2.9-py3-none-any.whl size=15496 sha256=403b3b1052648a1ef7d5936442822ff7f485c85c648eb6d6eb8b0cd3132828b4 Stored in directory: /home/runbot/.cache/pip/wheels/0f/3c/e0/360d2b9ba2f5aac8b8159c156eb862001f0806e15f18cb7aac Successfully built pysftp WARNING: Skipping /usr/lib/python3.12/dist-packages/charset_normalizer-3.3.2.dist-info due to invalid metadata entry 'name' Installing collected packages: odoorpc, dataclasses, commonmark, unittest-xml-reporting, unidecode, sentry_sdk, rich, pyrfc3339, mako, astor, pygount, cryptography, PyOpenSSL, josepy, pysftp, acme Attempting uninstall: cryptography Found existing installation: cryptography 42.0.8 Uninstalling cryptography-42.0.8: Successfully uninstalled cryptography-42.0.8 ERROR: pip's dependency resolver does not currently take into account all the packages that are installed. This behaviour is the source of the following dependency conflicts. ocrmypdf 15.2.0+dfsg1 requires deprecation>=2.1.0, but you have deprecation 2.0.7 which is incompatible. ocrmypdf 15.2.0+dfsg1 requires rich>=13, but you have rich 12.6.0 which is incompatible. Successfully installed PyOpenSSL-26.1.0 acme-5.5.0 astor-0.8.1 commonmark-0.9.1 cryptography-47.0.0 dataclasses-0.6 josepy-2.2.0 mako-1.3.11 odoorpc-0.10.1 pygount-1.4.0 pyrfc3339-2.1.0 pysftp-0.2.9 rich-12.6.0 sentry_sdk-1.9.0 unidecode-1.4.0 unittest-xml-reporting-4.0.0 WARNING: Skipping /usr/lib/python3.12/dist-packages/charset_normalizer-3.3.2.dist-info due to invalid metadata entry 'name' Collecting pdf2image (from -r server-ux/requirements.txt (line 2)) Downloading pdf2image-1.17.0-py3-none-any.whl.metadata (6.2 kB) Collecting pyrfc6266 (from -r server-ux/requirements.txt (line 3)) Downloading pyrfc6266-1.0.2-py3-none-any.whl.metadata (1.5 kB) Collecting pyzbar (from -r server-ux/requirements.txt (line 4)) Downloading pyzbar-0.1.9-py2.py3-none-any.whl.metadata (10 kB) Collecting responses (from -r server-ux/requirements.txt (line 5)) Downloading responses-0.26.0-py3-none-any.whl.metadata (48 kB) Requirement already satisfied: pillow in /usr/lib/python3/dist-packages (from pdf2image->-r server-ux/requirements.txt (line 2)) (10.2.0) Collecting pyparsing~=3.0.7 (from pyrfc6266->-r server-ux/requirements.txt (line 3)) Downloading pyparsing-3.0.9-py3-none-any.whl.metadata (4.2 kB) Requirement already satisfied: requests<3.0,>=2.30.0 in /usr/lib/python3/dist-packages (from responses->-r server-ux/requirements.txt (line 5)) (2.31.0) Requirement already satisfied: urllib3<3.0,>=1.25.10 in /usr/lib/python3/dist-packages (from responses->-r server-ux/requirements.txt (line 5)) (2.0.7) Collecting pyyaml (from responses->-r server-ux/requirements.txt (line 5)) Downloading pyyaml-6.0.3-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl.metadata (2.4 kB) Downloading pdf2image-1.17.0-py3-none-any.whl (11 kB) Downloading pyrfc6266-1.0.2-py3-none-any.whl (4.7 kB) Downloading pyzbar-0.1.9-py2.py3-none-any.whl (32 kB) Downloading responses-0.26.0-py3-none-any.whl (35 kB) Downloading pyparsing-3.0.9-py3-none-any.whl (98 kB) Downloading pyyaml-6.0.3-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl (807 kB) WARNING: Skipping /usr/lib/python3.12/dist-packages/charset_normalizer-3.3.2.dist-info due to invalid metadata entry 'name' Installing collected packages: pyzbar, pyyaml, pyparsing, pdf2image, responses, pyrfc6266 Attempting uninstall: pyparsing Found existing installation: pyparsing 3.3.2 Uninstalling pyparsing-3.3.2: Successfully uninstalled pyparsing-3.3.2 Successfully installed pdf2image-1.17.0 pyparsing-3.0.9 pyrfc6266-1.0.2 pyyaml-6.0.3 pyzbar-0.1.9 responses-0.26.0 WARNING: Skipping /usr/lib/python3.12/dist-packages/charset_normalizer-3.3.2.dist-info due to invalid metadata entry 'name' Requirement already satisfied: python-dateutil in /home/runbot/.local/lib/python3.12/site-packages (from -r hr/requirements.txt (line 2)) (2.8.1) Requirement already satisfied: six>=1.5 in /usr/lib/python3/dist-packages (from python-dateutil->-r hr/requirements.txt (line 2)) (1.16.0) WARNING: Skipping /usr/lib/python3.12/dist-packages/charset_normalizer-3.3.2.dist-info due to invalid metadata entry 'name' WARNING: Skipping /usr/lib/python3.12/dist-packages/charset_normalizer-3.3.2.dist-info due to invalid metadata entry 'name' Requirement already satisfied: freezegun in /home/runbot/.local/lib/python3.12/site-packages (from -r account-financial-tools/requirements.txt (line 2)) (0.3.15) Collecting numpy-financial<=1.0.0 (from -r account-financial-tools/requirements.txt (line 3)) Downloading numpy_financial-1.0.0-py3-none-any.whl.metadata (2.2 kB) Collecting numpy>=1.15 (from -r account-financial-tools/requirements.txt (line 4)) Downloading numpy-2.4.4-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.metadata (6.6 kB) Requirement already satisfied: python-dateutil in /home/runbot/.local/lib/python3.12/site-packages (from -r account-financial-tools/requirements.txt (line 5)) (2.8.1) Requirement already satisfied: six in /usr/lib/python3/dist-packages (from freezegun->-r account-financial-tools/requirements.txt (line 2)) (1.16.0) Downloading numpy_financial-1.0.0-py3-none-any.whl (14 kB) Downloading numpy-2.4.4-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (16.6 MB) WARNING: Skipping /usr/lib/python3.12/dist-packages/charset_normalizer-3.3.2.dist-info due to invalid metadata entry 'name' Installing collected packages: numpy, numpy-financial Successfully installed numpy-2.4.4 numpy-financial-1.0.0 WARNING: Skipping /usr/lib/python3.12/dist-packages/charset_normalizer-3.3.2.dist-info due to invalid metadata entry 'name' Requirement already satisfied: beautifulsoup4 in /usr/lib/python3/dist-packages (from -r web/requirements.txt (line 2)) (4.12.3) Collecting bokeh==3.1.1 (from -r web/requirements.txt (line 3)) Downloading bokeh-3.1.1-py3-none-any.whl.metadata (12 kB) Collecting mpld3==0.5.9 (from -r web/requirements.txt (line 4)) Downloading mpld3-0.5.9-py3-none-any.whl.metadata (5.1 kB) Collecting plotly==5.13.1 (from -r web/requirements.txt (line 5)) Downloading plotly-5.13.1-py2.py3-none-any.whl.metadata (7.0 kB) Requirement already satisfied: Jinja2>=2.9 in /usr/lib/python3/dist-packages (from bokeh==3.1.1->-r web/requirements.txt (line 3)) (3.1.2) Collecting contourpy>=1 (from bokeh==3.1.1->-r web/requirements.txt (line 3)) Downloading contourpy-1.3.3-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.metadata (5.5 kB) Requirement already satisfied: numpy>=1.16 in /home/runbot/.local/lib/python3.12/site-packages (from bokeh==3.1.1->-r web/requirements.txt (line 3)) (2.4.4) Requirement already satisfied: packaging>=16.8 in /usr/lib/python3/dist-packages (from bokeh==3.1.1->-r web/requirements.txt (line 3)) (24.0) Collecting pandas>=1.2 (from bokeh==3.1.1->-r web/requirements.txt (line 3)) Downloading pandas-3.0.2-cp312-cp312-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl.metadata (79 kB) Requirement already satisfied: pillow>=7.1.0 in /usr/lib/python3/dist-packages (from bokeh==3.1.1->-r web/requirements.txt (line 3)) (10.2.0) Requirement already satisfied: PyYAML>=3.10 in /home/runbot/.local/lib/python3.12/site-packages (from bokeh==3.1.1->-r web/requirements.txt (line 3)) (6.0.3) Collecting tornado>=5.1 (from bokeh==3.1.1->-r web/requirements.txt (line 3)) Downloading tornado-6.5.5-cp39-abi3-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl.metadata (2.8 kB) Collecting xyzservices>=2021.09.1 (from bokeh==3.1.1->-r web/requirements.txt (line 3)) Downloading xyzservices-2026.3.0-py3-none-any.whl.metadata (4.1 kB) Collecting matplotlib (from mpld3==0.5.9->-r web/requirements.txt (line 4)) Downloading matplotlib-3.10.9-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.whl.metadata (52 kB) Collecting tenacity>=6.2.0 (from plotly==5.13.1->-r web/requirements.txt (line 5)) Downloading tenacity-9.1.4-py3-none-any.whl.metadata (1.2 kB) Requirement already satisfied: soupsieve>1.2 in /usr/lib/python3/dist-packages (from beautifulsoup4->-r web/requirements.txt (line 2)) (2.5) Collecting python-dateutil>=2.8.2 (from pandas>=1.2->bokeh==3.1.1->-r web/requirements.txt (line 3)) Downloading python_dateutil-2.9.0.post0-py2.py3-none-any.whl.metadata (8.4 kB) Collecting cycler>=0.10 (from matplotlib->mpld3==0.5.9->-r web/requirements.txt (line 4)) Downloading cycler-0.12.1-py3-none-any.whl.metadata (3.8 kB) Collecting fonttools>=4.22.0 (from matplotlib->mpld3==0.5.9->-r web/requirements.txt (line 4)) Downloading fonttools-4.62.1-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.whl.metadata (117 kB) Collecting kiwisolver>=1.3.1 (from matplotlib->mpld3==0.5.9->-r web/requirements.txt (line 4)) Downloading kiwisolver-1.5.0-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.whl.metadata (5.1 kB) Requirement already satisfied: pyparsing>=3 in /home/runbot/.local/lib/python3.12/site-packages (from matplotlib->mpld3==0.5.9->-r web/requirements.txt (line 4)) (3.0.9) Requirement already satisfied: six>=1.5 in /usr/lib/python3/dist-packages (from python-dateutil>=2.8.2->pandas>=1.2->bokeh==3.1.1->-r web/requirements.txt (line 3)) (1.16.0) Downloading bokeh-3.1.1-py3-none-any.whl (8.3 MB) Downloading mpld3-0.5.9-py3-none-any.whl (201 kB) Downloading plotly-5.13.1-py2.py3-none-any.whl (15.2 MB) Downloading contourpy-1.3.3-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (362 kB) Downloading pandas-3.0.2-cp312-cp312-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl (10.9 MB) Downloading tenacity-9.1.4-py3-none-any.whl (28 kB) Downloading tornado-6.5.5-cp39-abi3-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl (447 kB) Downloading xyzservices-2026.3.0-py3-none-any.whl (94 kB) Downloading matplotlib-3.10.9-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.whl (8.8 MB) Downloading cycler-0.12.1-py3-none-any.whl (8.3 kB) Downloading fonttools-4.62.1-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.whl (5.0 MB) Downloading kiwisolver-1.5.0-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.whl (1.5 MB) Downloading python_dateutil-2.9.0.post0-py2.py3-none-any.whl (229 kB) WARNING: Skipping /usr/lib/python3.12/dist-packages/charset_normalizer-3.3.2.dist-info due to invalid metadata entry 'name' Installing collected packages: xyzservices, tornado, tenacity, python-dateutil, kiwisolver, fonttools, cycler, contourpy, plotly, pandas, matplotlib, mpld3, bokeh Attempting uninstall: python-dateutil Found existing installation: python-dateutil 2.8.1 Uninstalling python-dateutil-2.8.1: Successfully uninstalled python-dateutil-2.8.1 Successfully installed bokeh-3.1.1 contourpy-1.3.3 cycler-0.12.1 fonttools-4.62.1 kiwisolver-1.5.0 matplotlib-3.10.9 mpld3-0.5.9 pandas-3.0.2 plotly-5.13.1 python-dateutil-2.9.0.post0 tenacity-9.1.4 tornado-6.5.5 xyzservices-2026.3.0 WARNING: Skipping /usr/lib/python3.12/dist-packages/charset_normalizer-3.3.2.dist-info due to invalid metadata entry 'name' Collecting google-cloud-documentai (from -r account-invoicing/requirements.txt (line 2)) Downloading google_cloud_documentai-3.14.0-py3-none-any.whl.metadata (9.6 kB) Requirement already satisfied: openupgradelib in /home/runbot/.local/lib/python3.12/site-packages (from -r account-invoicing/requirements.txt (line 3)) (3.12.0) Collecting google-api-core<3.0.0,>=2.11.0 (from google-api-core[grpc]<3.0.0,>=2.11.0->google-cloud-documentai->-r account-invoicing/requirements.txt (line 2)) Downloading google_api_core-2.30.3-py3-none-any.whl.metadata (3.1 kB) Collecting google-auth!=2.24.0,!=2.25.0,<3.0.0,>=2.14.1 (from google-cloud-documentai->-r account-invoicing/requirements.txt (line 2)) Downloading google_auth-2.49.2-py3-none-any.whl.metadata (6.2 kB) Collecting grpcio<2.0.0,>=1.33.2 (from google-cloud-documentai->-r account-invoicing/requirements.txt (line 2)) Downloading grpcio-1.80.0-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.whl.metadata (3.8 kB) Collecting proto-plus<2.0.0,>=1.22.3 (from google-cloud-documentai->-r account-invoicing/requirements.txt (line 2)) Downloading proto_plus-1.27.2-py3-none-any.whl.metadata (2.2 kB) Collecting protobuf<8.0.0,>=4.25.8 (from google-cloud-documentai->-r account-invoicing/requirements.txt (line 2)) Downloading protobuf-7.34.1-cp310-abi3-manylinux2014_x86_64.whl.metadata (595 bytes) Requirement already satisfied: lxml in /usr/lib/python3/dist-packages (from openupgradelib->-r account-invoicing/requirements.txt (line 3)) (5.2.1) Requirement already satisfied: cssselect in /home/runbot/.local/lib/python3.12/site-packages (from openupgradelib->-r account-invoicing/requirements.txt (line 3)) (1.4.0) Collecting googleapis-common-protos<2.0.0,>=1.63.2 (from google-api-core<3.0.0,>=2.11.0->google-api-core[grpc]<3.0.0,>=2.11.0->google-cloud-documentai->-r account-invoicing/requirements.txt (line 2)) Downloading googleapis_common_protos-1.74.0-py3-none-any.whl.metadata (9.2 kB) Requirement already satisfied: requests<3.0.0,>=2.20.0 in /usr/lib/python3/dist-packages (from google-api-core<3.0.0,>=2.11.0->google-api-core[grpc]<3.0.0,>=2.11.0->google-cloud-documentai->-r account-invoicing/requirements.txt (line 2)) (2.31.0) Collecting grpcio-status<2.0.0,>=1.33.2 (from google-api-core[grpc]<3.0.0,>=2.11.0->google-cloud-documentai->-r account-invoicing/requirements.txt (line 2)) Downloading grpcio_status-1.80.0-py3-none-any.whl.metadata (1.3 kB) Requirement already satisfied: pyasn1-modules>=0.2.1 in /usr/local/lib/python3.12/dist-packages (from google-auth!=2.24.0,!=2.25.0,<3.0.0,>=2.14.1->google-cloud-documentai->-r account-invoicing/requirements.txt (line 2)) (0.4.2) Requirement already satisfied: cryptography>=38.0.3 in /home/runbot/.local/lib/python3.12/site-packages (from google-auth!=2.24.0,!=2.25.0,<3.0.0,>=2.14.1->google-cloud-documentai->-r account-invoicing/requirements.txt (line 2)) (47.0.0) Collecting typing-extensions~=4.12 (from grpcio<2.0.0,>=1.33.2->google-cloud-documentai->-r account-invoicing/requirements.txt (line 2)) Downloading typing_extensions-4.15.0-py3-none-any.whl.metadata (3.3 kB) Requirement already satisfied: cffi>=2.0.0 in /usr/local/lib/python3.12/dist-packages (from cryptography>=38.0.3->google-auth!=2.24.0,!=2.25.0,<3.0.0,>=2.14.1->google-cloud-documentai->-r account-invoicing/requirements.txt (line 2)) (2.0.0) Collecting protobuf<8.0.0,>=4.25.8 (from google-cloud-documentai->-r account-invoicing/requirements.txt (line 2)) Downloading protobuf-6.33.6-cp39-abi3-manylinux2014_x86_64.whl.metadata (593 bytes) Requirement already satisfied: pyasn1<0.7.0,>=0.6.1 in /usr/local/lib/python3.12/dist-packages (from pyasn1-modules>=0.2.1->google-auth!=2.24.0,!=2.25.0,<3.0.0,>=2.14.1->google-cloud-documentai->-r account-invoicing/requirements.txt (line 2)) (0.6.2) Requirement already satisfied: pycparser in /usr/local/lib/python3.12/dist-packages (from cffi>=2.0.0->cryptography>=38.0.3->google-auth!=2.24.0,!=2.25.0,<3.0.0,>=2.14.1->google-cloud-documentai->-r account-invoicing/requirements.txt (line 2)) (3.0) Downloading google_cloud_documentai-3.14.0-py3-none-any.whl (311 kB) Downloading google_api_core-2.30.3-py3-none-any.whl (173 kB) Downloading google_auth-2.49.2-py3-none-any.whl (240 kB) Downloading grpcio-1.80.0-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.whl (6.8 MB) Downloading proto_plus-1.27.2-py3-none-any.whl (50 kB) Downloading googleapis_common_protos-1.74.0-py3-none-any.whl (300 kB) Downloading grpcio_status-1.80.0-py3-none-any.whl (14 kB) Downloading protobuf-6.33.6-cp39-abi3-manylinux2014_x86_64.whl (323 kB) Downloading typing_extensions-4.15.0-py3-none-any.whl (44 kB) WARNING: Skipping /usr/lib/python3.12/dist-packages/charset_normalizer-3.3.2.dist-info due to invalid metadata entry 'name' Installing collected packages: typing-extensions, protobuf, proto-plus, grpcio, googleapis-common-protos, grpcio-status, google-auth, google-api-core, google-cloud-documentai Successfully installed google-api-core-2.30.3 google-auth-2.49.2 google-cloud-documentai-3.14.0 googleapis-common-protos-1.74.0 grpcio-1.80.0 grpcio-status-1.80.0 proto-plus-1.27.2 protobuf-6.33.6 typing-extensions-4.15.0 WARNING: Skipping /usr/lib/python3.12/dist-packages/charset_normalizer-3.3.2.dist-info due to invalid metadata entry 'name' Requirement already satisfied: openupgradelib in /home/runbot/.local/lib/python3.12/site-packages (from -r purchase-workflow/requirements.txt (line 2)) (3.12.0) Requirement already satisfied: lxml in /usr/lib/python3/dist-packages (from openupgradelib->-r purchase-workflow/requirements.txt (line 2)) (5.2.1) Requirement already satisfied: cssselect in /home/runbot/.local/lib/python3.12/site-packages (from openupgradelib->-r purchase-workflow/requirements.txt (line 2)) (1.4.0) WARNING: Skipping /usr/lib/python3.12/dist-packages/charset_normalizer-3.3.2.dist-info due to invalid metadata entry 'name' WARNING: Skipping /usr/lib/python3.12/dist-packages/charset_normalizer-3.3.2.dist-info due to invalid metadata entry 'name' Requirement already satisfied: num2words in /home/runbot/.local/lib/python3.12/site-packages (from -r l10n-thailand/requirements.txt (line 2)) (0.5.9) Collecting promptpay (from -r l10n-thailand/requirements.txt (line 3)) Downloading promptpay-1.1.9-py3-none-any.whl.metadata (3.6 kB) Requirement already satisfied: docopt>=0.6.2 in /usr/lib/python3/dist-packages (from num2words->-r l10n-thailand/requirements.txt (line 2)) (0.6.2) Requirement already satisfied: qrcode in /home/runbot/.local/lib/python3.12/site-packages (from promptpay->-r l10n-thailand/requirements.txt (line 3)) (6.1) Collecting libscrc (from promptpay->-r l10n-thailand/requirements.txt (line 3)) Downloading libscrc-1.8.1-cp312-cp312-manylinux_2_5_x86_64.manylinux1_x86_64.whl.metadata (16 kB) Requirement already satisfied: Pillow in /usr/lib/python3/dist-packages (from promptpay->-r l10n-thailand/requirements.txt (line 3)) (10.2.0) Requirement already satisfied: wheel in /usr/lib/python3/dist-packages (from libscrc->promptpay->-r l10n-thailand/requirements.txt (line 3)) (0.42.0) Requirement already satisfied: six in /usr/lib/python3/dist-packages (from qrcode->promptpay->-r l10n-thailand/requirements.txt (line 3)) (1.16.0) Downloading promptpay-1.1.9-py3-none-any.whl (5.8 kB) Downloading libscrc-1.8.1-cp312-cp312-manylinux_2_5_x86_64.manylinux1_x86_64.whl (189 kB) WARNING: Skipping /usr/lib/python3.12/dist-packages/charset_normalizer-3.3.2.dist-info due to invalid metadata entry 'name' Installing collected packages: libscrc, promptpay Successfully installed libscrc-1.8.1 promptpay-1.1.9 2026-04-28 06:38:09,397 381 INFO ? odoo: Odoo version 16.0 2026-04-28 06:38:09,398 381 INFO ? odoo: Using configuration file at /home/runbot/.odoorc 2026-04-28 06:38:09,398 381 INFO ? odoo: addons paths: ['/data/build/odoo/odoo/addons', '/data/build/datadir/addons/16.0', '/data/build/operating-unit', '/data/build/kmitl', '/data/build/social', '/data/build/partner-contact', '/data/build/stock-logistics-warehouse', '/data/build/account-analytic', '/data/build/product-attribute', '/data/build/stock-logistics-request', '/data/build/agreement', '/data/build/server-backend', '/data/build/account-reconcile', '/data/build/mis-builder', '/data/build/reporting-engine', '/data/build/odoo/addons', '/data/build/account-financial-reporting', '/data/build/project', '/data/build/server-tools', '/data/build/server-ux', '/data/build/hr', '/data/build/account-financial-tools', '/data/build/web', '/data/build/account-invoicing', '/data/build/purchase-workflow', '/data/build/server-brand', '/data/build/l10n-thailand', '/data/build/odoo-modules'] 2026-04-28 06:38:09,398 381 INFO ? odoo: database: runbot@default:default Warn: Can't find .pfb for face 'Courier' 2026-04-28 06:38:10,090 381 INFO ? odoo.addons.base.models.ir_actions_report: Will use the Wkhtmltopdf binary at /usr/local/bin/wkhtmltopdf 2026-04-28 06:38:10,406 381 INFO ? odoo.service.server: HTTP service (werkzeug) running on 0.0.0.0:8069 2026-04-28 06:38:10,429 381 INFO 10768-16-0-without_demo odoo.modules.loading: loading 1 modules... 2026-04-28 06:38:10,440 381 INFO 10768-16-0-without_demo odoo.modules.loading: 1 modules loaded in 0.01s, 0 queries (+0 extra) 2026-04-28 06:38:10,466 381 WARNING 10768-16-0-without_demo odoo.modules.module: Missing `license` key in manifest for 'agx_construction', defaulting to LGPL-3 2026-04-28 06:38:10,538 381 WARNING 10768-16-0-without_demo odoo.modules.module: Missing `license` key in manifest for 'agx_approval', defaulting to LGPL-3 2026-04-28 06:38:10,642 381 INFO 10768-16-0-without_demo odoo.modules.loading: loading 322 modules... 2026-04-28 06:38:13,803 381 INFO 10768-16-0-without_demo odoo.modules.loading: 322 modules loaded in 3.16s, 0 queries (+0 extra) 2026-04-28 06:38:14,441 381 INFO 10768-16-0-without_demo odoo.modules.loading: Modules loaded. 2026-04-28 06:38:14,450 381 INFO 10768-16-0-without_demo odoo.modules.registry: Registry loaded in 4.043s 2026-04-28 06:38:14,450 381 INFO 10768-16-0-without_demo odoo.sql_db: ConnectionPool(used=0/count=0/max=64): Closed 2 connections 2026-04-28 06:38:14,459 404 INFO 10768-16-0-without_demo odoo.service.server: Worker WorkerHTTP (404) alive 2026-04-28 06:38:14,465 406 INFO 10768-16-0-without_demo odoo.service.server: Worker WorkerHTTP (406) alive 2026-04-28 06:38:14,475 409 INFO 10768-16-0-without_demo odoo.service.server: Worker WorkerCron (409) alive 2026-04-28 06:38:16,270 407 INFO ? odoo: Odoo version 16.0 2026-04-28 06:38:16,271 407 INFO ? odoo: Using configuration file at /home/runbot/.odoorc 2026-04-28 06:38:16,271 407 INFO ? odoo: addons paths: ['/data/build/odoo/odoo/addons', '/data/build/datadir/addons/16.0', '/data/build/operating-unit', '/data/build/kmitl', '/data/build/social', '/data/build/partner-contact', '/data/build/stock-logistics-warehouse', '/data/build/account-analytic', '/data/build/product-attribute', '/data/build/stock-logistics-request', '/data/build/agreement', '/data/build/server-backend', '/data/build/account-reconcile', '/data/build/mis-builder', '/data/build/reporting-engine', '/data/build/odoo/addons', '/data/build/account-financial-reporting', '/data/build/project', '/data/build/server-tools', '/data/build/server-ux', '/data/build/hr', '/data/build/account-financial-tools', '/data/build/web', '/data/build/account-invoicing', '/data/build/purchase-workflow', '/data/build/server-brand', '/data/build/l10n-thailand', '/data/build/odoo-modules'] 2026-04-28 06:38:16,271 407 INFO ? odoo: database: runbot@default:default Warn: Can't find .pfb for face 'Courier' 2026-04-28 06:38:17,021 407 INFO ? odoo.addons.base.models.ir_actions_report: Will use the Wkhtmltopdf binary at /usr/local/bin/wkhtmltopdf 2026-04-28 06:38:17,385 407 INFO ? odoo.service.server: Evented Service (longpolling) running on 0.0.0.0:8070 2026-04-28 06:39:23,770 409 INFO 10768-16-0-without_demo odoo.addons.base.models.ir_cron: Starting job `purchase_order_fines_late_daily`. 2026-04-28 06:39:23,781 409 INFO 10768-16-0-without_demo odoo.addons.base.models.ir_cron: Job `purchase_order_fines_late_daily` done. 2026-04-28 06:39:23,799 409 INFO 10768-16-0-without_demo odoo.addons.base.models.ir_cron: Starting job `Send Tier Review Reminder`. 2026-04-28 06:39:23,808 409 INFO 10768-16-0-without_demo odoo.addons.base.models.ir_cron: Job `Send Tier Review Reminder` done. 2026-04-28 06:39:23,816 409 INFO 10768-16-0-without_demo odoo.addons.base.models.ir_cron: Starting job `Automatic Tier Validation`. 2026-04-28 06:39:23,822 409 INFO 10768-16-0-without_demo odoo.addons.base.models.ir_cron: Job `Automatic Tier Validation` done. 2026-04-28 06:39:23,829 409 INFO 10768-16-0-without_demo odoo.addons.base.models.ir_cron: Starting job `Recompute Contract Expire Days`. 2026-04-28 06:39:23,897 409 WARNING 10768-16-0-without_demo py.warnings: /data/build/odoo/odoo/fields.py:809: UserWarning: Field 'purchase.order.wa_ids' in dependency of purchase.order.pending_wa_count should be searchable. This is necessary to determine which records to recompute when work.acceptance.state is modified. You should either make the field searchable, or simplify the field dependency. File "/usr/lib/python3.12/threading.py", line 1030, in _bootstrap self._bootstrap_inner() File "/usr/lib/python3.12/threading.py", line 1073, in _bootstrap_inner self.run() File "/usr/lib/python3.12/threading.py", line 1010, in run self._target(*self._args, **self._kwargs) File "/data/build/odoo/odoo/service/server.py", line 1129, in _runloop self.process_work() File "/data/build/odoo/odoo/service/server.py", line 1228, in process_work base.models.ir_cron.ir_cron._process_jobs(db_name) File "/data/build/odoo/odoo/addons/base/models/ir_cron.py", line 135, in _process_jobs registry[cls._name]._process_job(db, cron_cr, job) File "/data/build/odoo/odoo/addons/base/models/ir_cron.py", line 350, in _process_job ir_cron._callback(job['cron_name'], job['ir_actions_server_id'], job['id']) File "/data/build/odoo/odoo/addons/base/models/ir_cron.py", line 391, in _callback self.env['ir.actions.server'].browse(server_action_id).run() File "/data/build/odoo/odoo/addons/base/models/ir_actions.py", line 675, in run res = runner(run_self, eval_context=eval_context) File "/data/build/odoo/addons/website/models/ir_actions_server.py", line 61, in _run_action_code_multi res = super(ServerAction, self)._run_action_code_multi(eval_context) File "/data/build/odoo/odoo/addons/base/models/ir_actions.py", line 545, in _run_action_code_multi safe_eval(self.code.strip(), eval_context, mode="exec", nocopy=True, filename=str(self)) # nocopy allows to return 'action' File "/data/build/odoo/odoo/tools/safe_eval.py", line 399, in safe_eval return unsafe_eval(c, globals_dict, locals_dict) File "ir.actions.server(758,)", line 1, in File "/data/build/kmitl/purchase_order_expiration/models/purchase_order.py", line 34, in action_recompute_expire records._compute_days_to_expire() File "/data/build/kmitl/purchase_order_expiration/models/purchase_order.py", line 47, in _compute_days_to_expire record.days_to_expire = (record.work_end - today).days File "/data/build/odoo/odoo/fields.py", line 1337, in __set__ records.write({self.name: write_value}) File "/data/build/odoo/addons/purchase_stock/models/purchase.py", line 95, in write res = super(PurchaseOrder, self).write(vals) File "/data/build/odoo/addons/purchase_requisition/models/purchase.py", line 158, in write result = super(PurchaseOrder, self).write(vals) File "/data/build/purchase-workflow/purchase_exception/models/purchase.py", line 41, in write result = super().write(vals) File "/data/build/odoo/addons/purchase/models/purchase.py", line 235, in write res = super().write(vals) File "/data/build/odoo/addons/mail/models/mail_thread.py", line 315, in write result = super(MailThread, self).write(values) File "/data/build/odoo/addons/mail/models/mail_activity_mixin.py", line 241, in write return super(MailActivityMixin, self).write(vals) File "/data/build/kmitl/account_analytic_kmitl/models/analytic_mixin.py", line 82, in write res = super().write(vals) File "/data/build/odoo/addons/analytic/models/analytic_mixin.py", line 82, in write return super().write(vals) File "/data/build/odoo/odoo/models.py", line 3766, in write if self.pool.is_modifying_relations(field): File "/data/build/odoo/odoo/modules/registry.py", line 458, in is_modifying_relations result = field in self._field_triggers and ( File "/data/build/odoo/odoo/tools/func.py", line 28, in __get__ value = self.fget(obj) File "/data/build/odoo/odoo/modules/registry.py", line 439, in _field_triggers dependencies = list(field.resolve_depends(self)) File "/data/build/odoo/odoo/fields.py", line 809, in resolve_depends warnings.warn( 2026-04-28 06:39:23,915 409 WARNING 10768-16-0-without_demo py.warnings: /data/build/odoo/odoo/fields.py:809: UserWarning: Field 'purchase.order.wa_ids' in dependency of purchase.order.pending_wa_count should be searchable. This is necessary to determine which records to recompute when work.acceptance.is_disbursed is modified. You should either make the field searchable, or simplify the field dependency. File "/usr/lib/python3.12/threading.py", line 1030, in _bootstrap self._bootstrap_inner() File "/usr/lib/python3.12/threading.py", line 1073, in _bootstrap_inner self.run() File "/usr/lib/python3.12/threading.py", line 1010, in run self._target(*self._args, **self._kwargs) File "/data/build/odoo/odoo/service/server.py", line 1129, in _runloop self.process_work() File "/data/build/odoo/odoo/service/server.py", line 1228, in process_work base.models.ir_cron.ir_cron._process_jobs(db_name) File "/data/build/odoo/odoo/addons/base/models/ir_cron.py", line 135, in _process_jobs registry[cls._name]._process_job(db, cron_cr, job) File "/data/build/odoo/odoo/addons/base/models/ir_cron.py", line 350, in _process_job ir_cron._callback(job['cron_name'], job['ir_actions_server_id'], job['id']) File "/data/build/odoo/odoo/addons/base/models/ir_cron.py", line 391, in _callback self.env['ir.actions.server'].browse(server_action_id).run() File "/data/build/odoo/odoo/addons/base/models/ir_actions.py", line 675, in run res = runner(run_self, eval_context=eval_context) File "/data/build/odoo/addons/website/models/ir_actions_server.py", line 61, in _run_action_code_multi res = super(ServerAction, self)._run_action_code_multi(eval_context) File "/data/build/odoo/odoo/addons/base/models/ir_actions.py", line 545, in _run_action_code_multi safe_eval(self.code.strip(), eval_context, mode="exec", nocopy=True, filename=str(self)) # nocopy allows to return 'action' File "/data/build/odoo/odoo/tools/safe_eval.py", line 399, in safe_eval return unsafe_eval(c, globals_dict, locals_dict) File "ir.actions.server(758,)", line 1, in File "/data/build/kmitl/purchase_order_expiration/models/purchase_order.py", line 34, in action_recompute_expire records._compute_days_to_expire() File "/data/build/kmitl/purchase_order_expiration/models/purchase_order.py", line 47, in _compute_days_to_expire record.days_to_expire = (record.work_end - today).days File "/data/build/odoo/odoo/fields.py", line 1337, in __set__ records.write({self.name: write_value}) File "/data/build/odoo/addons/purchase_stock/models/purchase.py", line 95, in write res = super(PurchaseOrder, self).write(vals) File "/data/build/odoo/addons/purchase_requisition/models/purchase.py", line 158, in write result = super(PurchaseOrder, self).write(vals) File "/data/build/purchase-workflow/purchase_exception/models/purchase.py", line 41, in write result = super().write(vals) File "/data/build/odoo/addons/purchase/models/purchase.py", line 235, in write res = super().write(vals) File "/data/build/odoo/addons/mail/models/mail_thread.py", line 315, in write result = super(MailThread, self).write(values) File "/data/build/odoo/addons/mail/models/mail_activity_mixin.py", line 241, in write return super(MailActivityMixin, self).write(vals) File "/data/build/kmitl/account_analytic_kmitl/models/analytic_mixin.py", line 82, in write res = super().write(vals) File "/data/build/odoo/addons/analytic/models/analytic_mixin.py", line 82, in write return super().write(vals) File "/data/build/odoo/odoo/models.py", line 3766, in write if self.pool.is_modifying_relations(field): File "/data/build/odoo/odoo/modules/registry.py", line 458, in is_modifying_relations result = field in self._field_triggers and ( File "/data/build/odoo/odoo/tools/func.py", line 28, in __get__ value = self.fget(obj) File "/data/build/odoo/odoo/modules/registry.py", line 439, in _field_triggers dependencies = list(field.resolve_depends(self)) File "/data/build/odoo/odoo/fields.py", line 809, in resolve_depends warnings.warn( 2026-04-28 06:39:23,917 409 WARNING 10768-16-0-without_demo py.warnings: /data/build/odoo/odoo/fields.py:809: UserWarning: Field 'purchase.order.wa_ids' in dependency of purchase.order.wa_fines_total should be searchable. This is necessary to determine which records to recompute when work.acceptance.state is modified. You should either make the field searchable, or simplify the field dependency. File "/usr/lib/python3.12/threading.py", line 1030, in _bootstrap self._bootstrap_inner() File "/usr/lib/python3.12/threading.py", line 1073, in _bootstrap_inner self.run() File "/usr/lib/python3.12/threading.py", line 1010, in run self._target(*self._args, **self._kwargs) File "/data/build/odoo/odoo/service/server.py", line 1129, in _runloop self.process_work() File "/data/build/odoo/odoo/service/server.py", line 1228, in process_work base.models.ir_cron.ir_cron._process_jobs(db_name) File "/data/build/odoo/odoo/addons/base/models/ir_cron.py", line 135, in _process_jobs registry[cls._name]._process_job(db, cron_cr, job) File "/data/build/odoo/odoo/addons/base/models/ir_cron.py", line 350, in _process_job ir_cron._callback(job['cron_name'], job['ir_actions_server_id'], job['id']) File "/data/build/odoo/odoo/addons/base/models/ir_cron.py", line 391, in _callback self.env['ir.actions.server'].browse(server_action_id).run() File "/data/build/odoo/odoo/addons/base/models/ir_actions.py", line 675, in run res = runner(run_self, eval_context=eval_context) File "/data/build/odoo/addons/website/models/ir_actions_server.py", line 61, in _run_action_code_multi res = super(ServerAction, self)._run_action_code_multi(eval_context) File "/data/build/odoo/odoo/addons/base/models/ir_actions.py", line 545, in _run_action_code_multi safe_eval(self.code.strip(), eval_context, mode="exec", nocopy=True, filename=str(self)) # nocopy allows to return 'action' File "/data/build/odoo/odoo/tools/safe_eval.py", line 399, in safe_eval return unsafe_eval(c, globals_dict, locals_dict) File "ir.actions.server(758,)", line 1, in File "/data/build/kmitl/purchase_order_expiration/models/purchase_order.py", line 34, in action_recompute_expire records._compute_days_to_expire() File "/data/build/kmitl/purchase_order_expiration/models/purchase_order.py", line 47, in _compute_days_to_expire record.days_to_expire = (record.work_end - today).days File "/data/build/odoo/odoo/fields.py", line 1337, in __set__ records.write({self.name: write_value}) File "/data/build/odoo/addons/purchase_stock/models/purchase.py", line 95, in write res = super(PurchaseOrder, self).write(vals) File "/data/build/odoo/addons/purchase_requisition/models/purchase.py", line 158, in write result = super(PurchaseOrder, self).write(vals) File "/data/build/purchase-workflow/purchase_exception/models/purchase.py", line 41, in write result = super().write(vals) File "/data/build/odoo/addons/purchase/models/purchase.py", line 235, in write res = super().write(vals) File "/data/build/odoo/addons/mail/models/mail_thread.py", line 315, in write result = super(MailThread, self).write(values) File "/data/build/odoo/addons/mail/models/mail_activity_mixin.py", line 241, in write return super(MailActivityMixin, self).write(vals) File "/data/build/kmitl/account_analytic_kmitl/models/analytic_mixin.py", line 82, in write res = super().write(vals) File "/data/build/odoo/addons/analytic/models/analytic_mixin.py", line 82, in write return super().write(vals) File "/data/build/odoo/odoo/models.py", line 3766, in write if self.pool.is_modifying_relations(field): File "/data/build/odoo/odoo/modules/registry.py", line 458, in is_modifying_relations result = field in self._field_triggers and ( File "/data/build/odoo/odoo/tools/func.py", line 28, in __get__ value = self.fget(obj) File "/data/build/odoo/odoo/modules/registry.py", line 439, in _field_triggers dependencies = list(field.resolve_depends(self)) File "/data/build/odoo/odoo/fields.py", line 809, in resolve_depends warnings.warn( 2026-04-28 06:39:23,920 409 WARNING 10768-16-0-without_demo py.warnings: /data/build/odoo/odoo/fields.py:809: UserWarning: Field 'purchase.order.wa_ids' in dependency of purchase.order.wa_fines_total should be searchable. This is necessary to determine which records to recompute when work.acceptance.is_disbursed is modified. You should either make the field searchable, or simplify the field dependency. File "/usr/lib/python3.12/threading.py", line 1030, in _bootstrap self._bootstrap_inner() File "/usr/lib/python3.12/threading.py", line 1073, in _bootstrap_inner self.run() File "/usr/lib/python3.12/threading.py", line 1010, in run self._target(*self._args, **self._kwargs) File "/data/build/odoo/odoo/service/server.py", line 1129, in _runloop self.process_work() File "/data/build/odoo/odoo/service/server.py", line 1228, in process_work base.models.ir_cron.ir_cron._process_jobs(db_name) File "/data/build/odoo/odoo/addons/base/models/ir_cron.py", line 135, in _process_jobs registry[cls._name]._process_job(db, cron_cr, job) File "/data/build/odoo/odoo/addons/base/models/ir_cron.py", line 350, in _process_job ir_cron._callback(job['cron_name'], job['ir_actions_server_id'], job['id']) File "/data/build/odoo/odoo/addons/base/models/ir_cron.py", line 391, in _callback self.env['ir.actions.server'].browse(server_action_id).run() File "/data/build/odoo/odoo/addons/base/models/ir_actions.py", line 675, in run res = runner(run_self, eval_context=eval_context) File "/data/build/odoo/addons/website/models/ir_actions_server.py", line 61, in _run_action_code_multi res = super(ServerAction, self)._run_action_code_multi(eval_context) File "/data/build/odoo/odoo/addons/base/models/ir_actions.py", line 545, in _run_action_code_multi safe_eval(self.code.strip(), eval_context, mode="exec", nocopy=True, filename=str(self)) # nocopy allows to return 'action' File "/data/build/odoo/odoo/tools/safe_eval.py", line 399, in safe_eval return unsafe_eval(c, globals_dict, locals_dict) File "ir.actions.server(758,)", line 1, in File "/data/build/kmitl/purchase_order_expiration/models/purchase_order.py", line 34, in action_recompute_expire records._compute_days_to_expire() File "/data/build/kmitl/purchase_order_expiration/models/purchase_order.py", line 47, in _compute_days_to_expire record.days_to_expire = (record.work_end - today).days File "/data/build/odoo/odoo/fields.py", line 1337, in __set__ records.write({self.name: write_value}) File "/data/build/odoo/addons/purchase_stock/models/purchase.py", line 95, in write res = super(PurchaseOrder, self).write(vals) File "/data/build/odoo/addons/purchase_requisition/models/purchase.py", line 158, in write result = super(PurchaseOrder, self).write(vals) File "/data/build/purchase-workflow/purchase_exception/models/purchase.py", line 41, in write result = super().write(vals) File "/data/build/odoo/addons/purchase/models/purchase.py", line 235, in write res = super().write(vals) File "/data/build/odoo/addons/mail/models/mail_thread.py", line 315, in write result = super(MailThread, self).write(values) File "/data/build/odoo/addons/mail/models/mail_activity_mixin.py", line 241, in write return super(MailActivityMixin, self).write(vals) File "/data/build/kmitl/account_analytic_kmitl/models/analytic_mixin.py", line 82, in write res = super().write(vals) File "/data/build/odoo/addons/analytic/models/analytic_mixin.py", line 82, in write return super().write(vals) File "/data/build/odoo/odoo/models.py", line 3766, in write if self.pool.is_modifying_relations(field): File "/data/build/odoo/odoo/modules/registry.py", line 458, in is_modifying_relations result = field in self._field_triggers and ( File "/data/build/odoo/odoo/tools/func.py", line 28, in __get__ value = self.fget(obj) File "/data/build/odoo/odoo/modules/registry.py", line 439, in _field_triggers dependencies = list(field.resolve_depends(self)) File "/data/build/odoo/odoo/fields.py", line 809, in resolve_depends warnings.warn( 2026-04-28 06:39:23,922 409 WARNING 10768-16-0-without_demo py.warnings: /data/build/odoo/odoo/fields.py:809: UserWarning: Field 'purchase.order.wa_ids' in dependency of purchase.order.wa_fines_total should be searchable. This is necessary to determine which records to recompute when work.acceptance.fines_total is modified. You should either make the field searchable, or simplify the field dependency. File "/usr/lib/python3.12/threading.py", line 1030, in _bootstrap self._bootstrap_inner() File "/usr/lib/python3.12/threading.py", line 1073, in _bootstrap_inner self.run() File "/usr/lib/python3.12/threading.py", line 1010, in run self._target(*self._args, **self._kwargs) File "/data/build/odoo/odoo/service/server.py", line 1129, in _runloop self.process_work() File "/data/build/odoo/odoo/service/server.py", line 1228, in process_work base.models.ir_cron.ir_cron._process_jobs(db_name) File "/data/build/odoo/odoo/addons/base/models/ir_cron.py", line 135, in _process_jobs registry[cls._name]._process_job(db, cron_cr, job) File "/data/build/odoo/odoo/addons/base/models/ir_cron.py", line 350, in _process_job ir_cron._callback(job['cron_name'], job['ir_actions_server_id'], job['id']) File "/data/build/odoo/odoo/addons/base/models/ir_cron.py", line 391, in _callback self.env['ir.actions.server'].browse(server_action_id).run() File "/data/build/odoo/odoo/addons/base/models/ir_actions.py", line 675, in run res = runner(run_self, eval_context=eval_context) File "/data/build/odoo/addons/website/models/ir_actions_server.py", line 61, in _run_action_code_multi res = super(ServerAction, self)._run_action_code_multi(eval_context) File "/data/build/odoo/odoo/addons/base/models/ir_actions.py", line 545, in _run_action_code_multi safe_eval(self.code.strip(), eval_context, mode="exec", nocopy=True, filename=str(self)) # nocopy allows to return 'action' File "/data/build/odoo/odoo/tools/safe_eval.py", line 399, in safe_eval return unsafe_eval(c, globals_dict, locals_dict) File "ir.actions.server(758,)", line 1, in File "/data/build/kmitl/purchase_order_expiration/models/purchase_order.py", line 34, in action_recompute_expire records._compute_days_to_expire() File "/data/build/kmitl/purchase_order_expiration/models/purchase_order.py", line 47, in _compute_days_to_expire record.days_to_expire = (record.work_end - today).days File "/data/build/odoo/odoo/fields.py", line 1337, in __set__ records.write({self.name: write_value}) File "/data/build/odoo/addons/purchase_stock/models/purchase.py", line 95, in write res = super(PurchaseOrder, self).write(vals) File "/data/build/odoo/addons/purchase_requisition/models/purchase.py", line 158, in write result = super(PurchaseOrder, self).write(vals) File "/data/build/purchase-workflow/purchase_exception/models/purchase.py", line 41, in write result = super().write(vals) File "/data/build/odoo/addons/purchase/models/purchase.py", line 235, in write res = super().write(vals) File "/data/build/odoo/addons/mail/models/mail_thread.py", line 315, in write result = super(MailThread, self).write(values) File "/data/build/odoo/addons/mail/models/mail_activity_mixin.py", line 241, in write return super(MailActivityMixin, self).write(vals) File "/data/build/kmitl/account_analytic_kmitl/models/analytic_mixin.py", line 82, in write res = super().write(vals) File "/data/build/odoo/addons/analytic/models/analytic_mixin.py", line 82, in write return super().write(vals) File "/data/build/odoo/odoo/models.py", line 3766, in write if self.pool.is_modifying_relations(field): File "/data/build/odoo/odoo/modules/registry.py", line 458, in is_modifying_relations result = field in self._field_triggers and ( File "/data/build/odoo/odoo/tools/func.py", line 28, in __get__ value = self.fget(obj) File "/data/build/odoo/odoo/modules/registry.py", line 439, in _field_triggers dependencies = list(field.resolve_depends(self)) File "/data/build/odoo/odoo/fields.py", line 809, in resolve_depends warnings.warn( 2026-04-28 06:39:23,990 409 INFO 10768-16-0-without_demo odoo.addons.base.models.ir_cron: Job `Recompute Contract Expire Days` done. 2026-04-28 06:39:23,997 409 INFO 10768-16-0-without_demo odoo.addons.base.models.ir_cron: Starting job `Notify Contract Nearly Expire`. 2026-04-28 06:39:24,016 409 ERROR 10768-16-0-without_demo odoo.sql_db: bad query: INSERT INTO "mail_channel_member" ("channel_id", "create_date", "create_uid", "fold_state", "is_pinned", "last_interest_dt", "partner_id", "write_date", "write_uid") VALUES (2, '2026-04-28 06:39:23.994319', 1, 'open', true, '2026-04-28 06:39:24', 2, '2026-04-28 06:39:23.994319', 1), (2, '2026-04-28 06:39:23.994319', 1, 'open', true, '2026-04-28 06:39:24', 2, '2026-04-28 06:39:23.994319', 1) RETURNING "id" ERROR: duplicate key value violates unique constraint "mail_channel_member_partner_unique" DETAIL: Key (channel_id, partner_id)=(2, 2) already exists. 2026-04-28 06:39:24,018 409 ERROR 10768-16-0-without_demo odoo.addons.base.models.ir_cron: Call from cron Notify Contract Nearly Expire for server action #759 failed in Job #35 Traceback (most recent call last): File "/data/build/odoo/odoo/tools/safe_eval.py", line 399, in safe_eval return unsafe_eval(c, globals_dict, locals_dict) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "ir.actions.server(759,)", line 1, in File "/data/build/kmitl/purchase_order_expiration/models/purchase_order.py", line 101, in _cron_notify_contract_expire channel_data = self.env['mail.channel'].sudo().channel_get( ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/data/build/odoo/addons/mail/models/mail_channel.py", line 894, in channel_get channel = self.create({ ^^^^^^^^^^^^^ File "", line 2, in create File "/data/build/odoo/odoo/api.py", line 430, in _model_create_multi return create(self, [arg]) ^^^^^^^^^^^^^^^^^^^ File "/data/build/odoo/addons/mail/models/mail_channel.py", line 239, in create channels = super(Channel, self.with_context(mail_create_bypass_create_check=self.env['mail.channel.member']._bypass_create_check, mail_create_nolog=True, mail_create_nosubscribe=True)).create(vals_list) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "", line 2, in create File "/data/build/odoo/odoo/api.py", line 431, in _model_create_multi return create(self, arg) ^^^^^^^^^^^^^^^^^ File "/data/build/odoo/addons/mail/models/mail_thread.py", line 258, in create threads = super(MailThread, self).create(vals_list) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "", line 2, in create File "/data/build/odoo/odoo/api.py", line 431, in _model_create_multi return create(self, arg) ^^^^^^^^^^^^^^^^^ File "/data/build/odoo/odoo/addons/base/models/ir_fields.py", line 670, in create recs = super().create(vals_list) ^^^^^^^^^^^^^^^^^^^^^^^^^ File "", line 2, in create File "/data/build/odoo/odoo/api.py", line 431, in _model_create_multi return create(self, arg) ^^^^^^^^^^^^^^^^^ File "/data/build/odoo/odoo/models.py", line 4019, in create records = self._create(data_list) ^^^^^^^^^^^^^^^^^^^^^^^ File "/data/build/odoo/odoo/models.py", line 4256, in _create field.create([ File "/data/build/odoo/odoo/fields.py", line 4282, in create self.write_batch(record_values, True) File "/data/build/odoo/odoo/fields.py", line 4308, in write_batch return self.write_real(records_commands_list, create) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/data/build/odoo/odoo/fields.py", line 4508, in write_real flush() File "/data/build/odoo/odoo/fields.py", line 4464, in flush comodel.create(to_create) File "", line 2, in create File "/data/build/odoo/odoo/api.py", line 431, in _model_create_multi return create(self, arg) ^^^^^^^^^^^^^^^^^ File "/data/build/odoo/addons/mail/models/mail_channel_member.py", line 88, in create return super().create(vals_list) ^^^^^^^^^^^^^^^^^^^^^^^^^ File "", line 2, in create File "/data/build/odoo/odoo/api.py", line 431, in _model_create_multi return create(self, arg) ^^^^^^^^^^^^^^^^^ File "/data/build/odoo/odoo/addons/base/models/ir_fields.py", line 670, in create recs = super().create(vals_list) ^^^^^^^^^^^^^^^^^^^^^^^^^ File "", line 2, in create File "/data/build/odoo/odoo/api.py", line 431, in _model_create_multi return create(self, arg) ^^^^^^^^^^^^^^^^^ File "/data/build/odoo/odoo/models.py", line 4019, in create records = self._create(data_list) ^^^^^^^^^^^^^^^^^^^^^^^ File "/data/build/odoo/odoo/models.py", line 4200, in _create cr.execute( File "/data/build/odoo/odoo/sql_db.py", line 321, in execute res = self._obj.execute(query, params) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ psycopg2.errors.UniqueViolation: duplicate key value violates unique constraint "mail_channel_member_partner_unique" DETAIL: Key (channel_id, partner_id)=(2, 2) already exists. During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/data/build/odoo/odoo/addons/base/models/ir_cron.py", line 391, in _callback self.env['ir.actions.server'].browse(server_action_id).run() File "/data/build/odoo/odoo/addons/base/models/ir_actions.py", line 675, in run res = runner(run_self, eval_context=eval_context) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/data/build/odoo/addons/website/models/ir_actions_server.py", line 61, in _run_action_code_multi res = super(ServerAction, self)._run_action_code_multi(eval_context) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/data/build/odoo/odoo/addons/base/models/ir_actions.py", line 545, in _run_action_code_multi safe_eval(self.code.strip(), eval_context, mode="exec", nocopy=True, filename=str(self)) # nocopy allows to return 'action' ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/data/build/odoo/odoo/tools/safe_eval.py", line 413, in safe_eval raise ValueError('%s: "%s" while evaluating\n%r' % (ustr(type(e)), ustr(e), expr)) ValueError: : "duplicate key value violates unique constraint "mail_channel_member_partner_unique" DETAIL: Key (channel_id, partner_id)=(2, 2) already exists. " while evaluating 'model._cron_notify_contract_expire()' 2026-04-28 06:39:24,038 409 INFO 10768-16-0-without_demo odoo.addons.base.models.ir_cron: Starting job `Base: Auto-vacuum internal data`. 2026-04-28 06:39:24,084 409 INFO 10768-16-0-without_demo odoo.addons.base.models.ir_attachment: filestore gc 131 checked, 7 removed 2026-04-28 06:39:24,150 409 INFO 10768-16-0-without_demo odoo.addons.base.models.res_users: GC'd 0 user log entries 2026-04-28 06:39:24,186 409 INFO 10768-16-0-without_demo odoo.addons.auth_totp.models.auth_totp: GC'd 0 totp devices entries 2026-04-28 06:39:24,210 409 INFO 10768-16-0-without_demo odoo.models.unlink: User #1 deleted bus.bus records with IDs: [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30] 2026-04-28 06:39:24,749 409 INFO 10768-16-0-without_demo odoo.addons.base.models.ir_cron: Job `Base: Auto-vacuum internal data` done. 2026-04-28 06:39:24,756 409 INFO 10768-16-0-without_demo odoo.addons.base.models.ir_cron: Starting job `Mail: Email Queue Manager`. 2026-04-28 06:39:24,761 409 INFO 10768-16-0-without_demo odoo.addons.base.models.ir_cron: Job `Mail: Email Queue Manager` done. 2026-04-28 06:39:24,766 409 INFO 10768-16-0-without_demo odoo.addons.base.models.ir_cron: Starting job `Notification: Delete Notifications older than 6 Month`. 2026-04-28 06:39:24,771 409 INFO 10768-16-0-without_demo odoo.addons.base.models.ir_cron: Job `Notification: Delete Notifications older than 6 Month` done. 2026-04-28 06:39:24,777 409 INFO 10768-16-0-without_demo odoo.addons.base.models.ir_cron: Starting job `Notification: Send scheduled message notifications`. 2026-04-28 06:39:24,781 409 INFO 10768-16-0-without_demo odoo.addons.base.models.ir_cron: Job `Notification: Send scheduled message notifications` done. 2026-04-28 06:39:24,787 409 INFO 10768-16-0-without_demo odoo.addons.base.models.ir_cron: Starting job `Users: Notify About Unregistered Users`. 2026-04-28 06:39:24,793 409 INFO 10768-16-0-without_demo odoo.addons.base.models.ir_cron: Job `Users: Notify About Unregistered Users` done. 2026-04-28 06:39:24,800 409 INFO 10768-16-0-without_demo odoo.addons.base.models.ir_cron: Starting job `Disable unused snippets assets`. 2026-04-28 06:39:26,265 409 INFO 10768-16-0-without_demo odoo.addons.base.models.ir_cron: Job `Disable unused snippets assets` done. 2026-04-28 06:39:26,279 409 INFO 10768-16-0-without_demo odoo.addons.base.models.ir_cron: Starting job `Website Visitor : clean inactive visitors`. 2026-04-28 06:39:26,284 409 INFO 10768-16-0-without_demo odoo.addons.base.models.ir_cron: Job `Website Visitor : clean inactive visitors` done. 2026-04-28 06:39:26,290 409 INFO 10768-16-0-without_demo odoo.addons.base.models.ir_cron: Starting job `Procurement: run scheduler`. 2026-04-28 06:39:26,306 409 INFO 10768-16-0-without_demo odoo.addons.stock.models.stock_rule: _run_scheduler_tasks is finished and committed 2026-04-28 06:39:26,306 409 INFO 10768-16-0-without_demo odoo.addons.base.models.ir_cron: Job `Procurement: run scheduler` done. 2026-04-28 06:39:26,314 409 INFO 10768-16-0-without_demo odoo.addons.base.models.ir_cron: Starting job `Purchase reminder`. 2026-04-28 06:39:26,323 409 INFO 10768-16-0-without_demo odoo.addons.base.models.ir_cron: Job `Purchase reminder` done. 2026-04-28 06:39:26,330 409 INFO 10768-16-0-without_demo odoo.addons.base.models.ir_cron: Starting job `Project: Send rating`. 2026-04-28 06:39:26,334 409 INFO 10768-16-0-without_demo odoo.addons.base.models.ir_cron: Job `Project: Send rating` done. 2026-04-28 06:39:26,339 409 INFO 10768-16-0-without_demo odoo.addons.base.models.ir_cron: Starting job `HR Employee: check work permit validity`. 2026-04-28 06:39:26,343 409 INFO 10768-16-0-without_demo odoo.addons.base.models.ir_cron: Job `HR Employee: check work permit validity` done. 2026-04-28 06:39:26,347 409 INFO 10768-16-0-without_demo odoo.addons.base.models.ir_cron: Starting job `Calendar: Event Reminder`. 2026-04-28 06:39:26,351 409 INFO 10768-16-0-without_demo odoo.addons.base.models.ir_cron: Job `Calendar: Event Reminder` done. 2026-04-28 06:39:26,357 409 INFO 10768-16-0-without_demo odoo.addons.base.models.ir_cron: Starting job `Accrual Time Off: Updates the number of time off`. 2026-04-28 06:39:26,364 409 INFO 10768-16-0-without_demo odoo.addons.base.models.ir_cron: Job `Accrual Time Off: Updates the number of time off` done. 2026-04-28 06:39:26,370 409 INFO 10768-16-0-without_demo odoo.addons.base.models.ir_cron: Starting job `HR Contract: update state`. 2026-04-28 06:39:26,378 409 INFO 10768-16-0-without_demo odoo.addons.base.models.ir_cron: Job `HR Contract: update state` done. 2026-04-28 06:39:26,385 409 INFO 10768-16-0-without_demo odoo.addons.base.models.ir_cron: Starting job `SMS: SMS Queue Manager`. 2026-04-28 06:39:26,389 409 INFO 10768-16-0-without_demo odoo.addons.base.models.ir_cron: Job `SMS: SMS Queue Manager` done. 2026-04-28 06:39:26,395 409 INFO 10768-16-0-without_demo odoo.addons.base.models.ir_cron: Starting job `payment: post-process transactions`. 2026-04-28 06:39:26,399 409 INFO 10768-16-0-without_demo odoo.addons.base.models.ir_cron: Job `payment: post-process transactions` done. 2026-04-28 06:39:26,406 409 INFO 10768-16-0-without_demo odoo.addons.base.models.ir_cron: Starting job `Close Expired Job Postings`. 2026-04-28 06:39:26,411 409 INFO 10768-16-0-without_demo odoo.addons.base.models.ir_cron: Job `Close Expired Job Postings` done. 2026-04-28 06:39:26,418 409 INFO 10768-16-0-without_demo odoo.addons.base.models.ir_cron: Starting job `Partner Autocomplete : Sync with remote DB`. 2026-04-28 06:39:26,421 409 INFO 10768-16-0-without_demo odoo.addons.base.models.ir_cron: Job `Partner Autocomplete : Sync with remote DB` done. 2026-04-28 06:39:26,429 409 INFO 10768-16-0-without_demo odoo.addons.base.models.ir_cron: Starting job `Update user roles`. 2026-04-28 06:39:26,433 409 INFO 10768-16-0-without_demo root: Update user roles 2026-04-28 06:39:26,434 409 INFO 10768-16-0-without_demo odoo.addons.base.models.ir_cron: Job `Update user roles` done. 2026-04-28 06:39:26,442 409 INFO 10768-16-0-without_demo odoo.addons.base.models.ir_cron: Starting job `Snailmail: process letters queue`. 2026-04-28 06:39:26,446 409 INFO 10768-16-0-without_demo odoo.addons.base.models.ir_cron: Job `Snailmail: process letters queue` done. 2026-04-28 06:42:53,971 409 INFO 10768-16-0-without_demo odoo.addons.base.models.ir_cron: Starting job `payment: post-process transactions`. 2026-04-28 06:42:53,976 409 INFO 10768-16-0-without_demo odoo.addons.base.models.ir_cron: Job `payment: post-process transactions` done. 2026-04-28 06:52:07,320 409 INFO 10768-16-0-without_demo odoo.addons.base.models.ir_cron: Starting job `payment: post-process transactions`. 2026-04-28 06:52:07,324 409 INFO 10768-16-0-without_demo odoo.addons.base.models.ir_cron: Job `payment: post-process transactions` done. 2026-04-28 07:02:29,937 409 INFO 10768-16-0-without_demo odoo.addons.base.models.ir_cron: Starting job `payment: post-process transactions`. 2026-04-28 07:02:29,943 409 INFO 10768-16-0-without_demo odoo.addons.base.models.ir_cron: Job `payment: post-process transactions` done. 2026-04-28 07:12:52,614 409 INFO 10768-16-0-without_demo odoo.addons.base.models.ir_cron: Starting job `payment: post-process transactions`. 2026-04-28 07:12:52,620 409 INFO 10768-16-0-without_demo odoo.addons.base.models.ir_cron: Job `payment: post-process transactions` done. 2026-04-28 07:22:06,060 409 INFO 10768-16-0-without_demo odoo.addons.base.models.ir_cron: Starting job `payment: post-process transactions`. 2026-04-28 07:22:06,066 409 INFO 10768-16-0-without_demo odoo.addons.base.models.ir_cron: Job `payment: post-process transactions` done. 2026-04-28 07:29:56,393 404 INFO 10768-16-0-without_demo odoo.addons.base.models.ir_http: Generating routing map for key 1 2026-04-28 07:29:57,152 404 WARNING 10768-16-0-without_demo odoo.modules.module: Missing `license` key in manifest for 'agx_construction', defaulting to LGPL-3 2026-04-28 07:29:57,209 404 WARNING 10768-16-0-without_demo odoo.modules.module: Missing `license` key in manifest for 'agx_approval', defaulting to LGPL-3 2026-04-28 07:29:57,451 404 INFO 10768-16-0-without_demo odoo.addons.base.models.assetsbundle: Failed to find attachment for assets /web/assets/%-34e5c55/1/web.assets_frontend.min.css 2026-04-28 07:29:58,657 404 WARNING 10768-16-0-without_demo py.warnings: /data/build/odoo/odoo/fields.py:809: UserWarning: Field 'purchase.order.wa_ids' in dependency of purchase.order.pending_wa_count should be searchable. This is necessary to determine which records to recompute when work.acceptance.state is modified. You should either make the field searchable, or simplify the field dependency. File "/usr/lib/python3.12/threading.py", line 1030, in _bootstrap self._bootstrap_inner() File "/usr/lib/python3.12/threading.py", line 1073, in _bootstrap_inner self.run() File "/usr/lib/python3.12/threading.py", line 1010, in run self._target(*self._args, **self._kwargs) File "/data/build/odoo/odoo/service/server.py", line 1129, in _runloop self.process_work() File "/data/build/odoo/odoo/service/server.py", line 1168, in process_work self.process_request(client, addr) File "/data/build/odoo/odoo/service/server.py", line 1159, in process_request self.server.process_request(client, addr) File "/usr/lib/python3.12/socketserver.py", line 349, in process_request self.finish_request(request, client_address) File "/usr/lib/python3.12/socketserver.py", line 362, in finish_request self.RequestHandlerClass(request, client_address, self) File "/usr/lib/python3.12/socketserver.py", line 761, in __init__ self.handle() File "/home/runbot/.local/lib/python3.12/site-packages/werkzeug/serving.py", line 342, in handle BaseHTTPRequestHandler.handle(self) File "/usr/lib/python3.12/http/server.py", line 436, in handle self.handle_one_request() File "/home/runbot/.local/lib/python3.12/site-packages/werkzeug/serving.py", line 374, in handle_one_request self.run_wsgi() File "/home/runbot/.local/lib/python3.12/site-packages/werkzeug/serving.py", line 319, in run_wsgi execute(self.server.app) File "/home/runbot/.local/lib/python3.12/site-packages/werkzeug/serving.py", line 308, in execute application_iter = app(environ, start_response) File "/data/build/odoo/odoo/http.py", line 2237, in __call__ response = request._serve_db() File "/data/build/odoo/odoo/http.py", line 1824, in _serve_db return service_model.retrying(self._serve_ir_http, self.env) File "/data/build/odoo/odoo/service/model.py", line 152, in retrying result = func() File "/data/build/odoo/odoo/http.py", line 1852, in _serve_ir_http response = self.dispatcher.dispatch(rule.endpoint, args) File "/data/build/odoo/odoo/http.py", line 1966, in dispatch return self.request.registry['ir.http']._dispatch(endpoint) File "/data/build/odoo/addons/website/models/ir_http.py", line 237, in _dispatch response = super()._dispatch(endpoint) File "/data/build/odoo/odoo/addons/base/models/ir_http.py", line 156, in _dispatch result.flatten() File "/data/build/odoo/odoo/tools/facade.py", line 83, in wrap_func func(self._wrapped__, *args, **kwargs) File "/data/build/odoo/odoo/http.py", line 1213, in flatten self.response.append(self.render()) File "/data/build/odoo/odoo/http.py", line 1205, in render return request.env["ir.ui.view"]._render_template(self.template, self.qcontext) File "/data/build/odoo/addons/website/models/ir_ui_view.py", line 419, in _render_template return super()._render_template(template, values=values) File "/data/build/odoo/odoo/addons/base/models/ir_ui_view.py", line 2135, in _render_template return self.env['ir.qweb']._render(template, values) File "/data/build/odoo/odoo/tools/profiler.py", line 301, in _tracked_method_render return method_render(self, template, values, **options) File "/data/build/odoo/odoo/addons/base/models/ir_qweb.py", line 593, in _render result = ''.join(rendering) File "<1379>", line 39, in template_1379 File "<1379>", line 28, in template_1379_content File "<1381>", line 1402, in template_1381 File "<1381>", line 1015, in template_1381_content File "/data/build/odoo/odoo/addons/base/models/ir_qweb.py", line 2470, in _load_values value = self._get_cached_values(cache_key, get_value) File "", line 2, in _get_cached_values File "/data/build/odoo/odoo/tools/cache.py", line 90, in lookup value = d[key] = self.method(*args, **kwargs) File "/data/build/odoo/odoo/addons/base/models/ir_qweb.py", line 2483, in _get_cached_values return get_value() File "<1381>", line 1005, in template_1381_t_cache_0_cache File "<1381>", line 426, in template_1381_t_cache_0 File "/data/build/odoo/addons/website/models/ir_qweb.py", line 122, in _get_asset_nodes return super(IrQWeb, self_website)._get_asset_nodes(bundle, css=css, js=js, debug=debug, async_load=async_load, defer_load=defer_load, lazy_load=lazy_load, media=media) File "/data/build/odoo/odoo/addons/base/models/ir_qweb.py", line 2438, in _get_asset_nodes return self._generate_asset_nodes_cache(bundle, css, js, debug, async_load, defer_load, lazy_load, media) File "", line 2, in _generate_asset_nodes_cache File "/data/build/odoo/odoo/tools/cache.py", line 90, in lookup value = d[key] = self.method(*args, **kwargs) File "/data/build/odoo/odoo/addons/base/models/ir_qweb.py", line 2493, in _generate_asset_nodes_cache return self._generate_asset_nodes(bundle, css, js, debug, async_load, defer_load, lazy_load, media) File "/data/build/odoo/odoo/addons/base/models/ir_qweb.py", line 2567, in _generate_asset_nodes return remains + asset.to_node(css=css, js=js, debug=debug, async_load=async_load, defer_load=defer_load, lazy_load=lazy_load) File "/data/build/odoo/odoo/addons/base/models/assetsbundle.py", line 159, in to_node css_attachments = self.css(is_minified=not is_debug_assets) or [] File "/data/build/odoo/odoo/addons/base/models/assetsbundle.py", line 627, in css self.save_attachment(extension, css) File "/data/build/odoo/odoo/addons/base/models/assetsbundle.py", line 373, in save_attachment attachment = ira.with_user(SUPERUSER_ID).create(values) File "", line 2, in create File "/data/build/odoo/odoo/api.py", line 430, in _model_create_multi return create(self, [arg]) File "/data/build/odoo/addons/website/models/ir_attachment.py", line 23, in create return super().create(vals_list) File "", line 2, in create File "/data/build/odoo/odoo/api.py", line 431, in _model_create_multi return create(self, arg) File "/data/build/odoo/odoo/addons/base/models/ir_attachment.py", line 673, in create return super().create(vals_list) File "", line 2, in create File "/data/build/odoo/odoo/api.py", line 431, in _model_create_multi return create(self, arg) File "/data/build/odoo/odoo/addons/base/models/ir_fields.py", line 670, in create recs = super().create(vals_list) File "", line 2, in create File "/data/build/odoo/odoo/api.py", line 431, in _model_create_multi return create(self, arg) File "/data/build/odoo/odoo/models.py", line 4019, in create records = self._create(data_list) File "/data/build/odoo/odoo/models.py", line 4250, in _create records.modified(self._fields, create=True) File "/data/build/odoo/odoo/models.py", line 6165, in modified todo = [self._modified([self._fields[fname] for fname in fnames], create)] File "/data/build/odoo/odoo/models.py", line 6216, in _modified tree = self.pool.get_trigger_tree(fields, select=select) File "/data/build/odoo/odoo/modules/registry.py", line 345, in get_trigger_tree if field in self._field_triggers File "/data/build/odoo/odoo/tools/func.py", line 28, in __get__ value = self.fget(obj) File "/data/build/odoo/odoo/modules/registry.py", line 439, in _field_triggers dependencies = list(field.resolve_depends(self)) File "/data/build/odoo/odoo/fields.py", line 809, in resolve_depends warnings.warn( 2026-04-28 07:29:58,662 404 WARNING 10768-16-0-without_demo py.warnings: /data/build/odoo/odoo/fields.py:809: UserWarning: Field 'purchase.order.wa_ids' in dependency of purchase.order.pending_wa_count should be searchable. This is necessary to determine which records to recompute when work.acceptance.is_disbursed is modified. You should either make the field searchable, or simplify the field dependency. File "/usr/lib/python3.12/threading.py", line 1030, in _bootstrap self._bootstrap_inner() File "/usr/lib/python3.12/threading.py", line 1073, in _bootstrap_inner self.run() File "/usr/lib/python3.12/threading.py", line 1010, in run self._target(*self._args, **self._kwargs) File "/data/build/odoo/odoo/service/server.py", line 1129, in _runloop self.process_work() File "/data/build/odoo/odoo/service/server.py", line 1168, in process_work self.process_request(client, addr) File "/data/build/odoo/odoo/service/server.py", line 1159, in process_request self.server.process_request(client, addr) File "/usr/lib/python3.12/socketserver.py", line 349, in process_request self.finish_request(request, client_address) File "/usr/lib/python3.12/socketserver.py", line 362, in finish_request self.RequestHandlerClass(request, client_address, self) File "/usr/lib/python3.12/socketserver.py", line 761, in __init__ self.handle() File "/home/runbot/.local/lib/python3.12/site-packages/werkzeug/serving.py", line 342, in handle BaseHTTPRequestHandler.handle(self) File "/usr/lib/python3.12/http/server.py", line 436, in handle self.handle_one_request() File "/home/runbot/.local/lib/python3.12/site-packages/werkzeug/serving.py", line 374, in handle_one_request self.run_wsgi() File "/home/runbot/.local/lib/python3.12/site-packages/werkzeug/serving.py", line 319, in run_wsgi execute(self.server.app) File "/home/runbot/.local/lib/python3.12/site-packages/werkzeug/serving.py", line 308, in execute application_iter = app(environ, start_response) File "/data/build/odoo/odoo/http.py", line 2237, in __call__ response = request._serve_db() File "/data/build/odoo/odoo/http.py", line 1824, in _serve_db return service_model.retrying(self._serve_ir_http, self.env) File "/data/build/odoo/odoo/service/model.py", line 152, in retrying result = func() File "/data/build/odoo/odoo/http.py", line 1852, in _serve_ir_http response = self.dispatcher.dispatch(rule.endpoint, args) File "/data/build/odoo/odoo/http.py", line 1966, in dispatch return self.request.registry['ir.http']._dispatch(endpoint) File "/data/build/odoo/addons/website/models/ir_http.py", line 237, in _dispatch response = super()._dispatch(endpoint) File "/data/build/odoo/odoo/addons/base/models/ir_http.py", line 156, in _dispatch result.flatten() File "/data/build/odoo/odoo/tools/facade.py", line 83, in wrap_func func(self._wrapped__, *args, **kwargs) File "/data/build/odoo/odoo/http.py", line 1213, in flatten self.response.append(self.render()) File "/data/build/odoo/odoo/http.py", line 1205, in render return request.env["ir.ui.view"]._render_template(self.template, self.qcontext) File "/data/build/odoo/addons/website/models/ir_ui_view.py", line 419, in _render_template return super()._render_template(template, values=values) File "/data/build/odoo/odoo/addons/base/models/ir_ui_view.py", line 2135, in _render_template return self.env['ir.qweb']._render(template, values) File "/data/build/odoo/odoo/tools/profiler.py", line 301, in _tracked_method_render return method_render(self, template, values, **options) File "/data/build/odoo/odoo/addons/base/models/ir_qweb.py", line 593, in _render result = ''.join(rendering) File "<1379>", line 39, in template_1379 File "<1379>", line 28, in template_1379_content File "<1381>", line 1402, in template_1381 File "<1381>", line 1015, in template_1381_content File "/data/build/odoo/odoo/addons/base/models/ir_qweb.py", line 2470, in _load_values value = self._get_cached_values(cache_key, get_value) File "", line 2, in _get_cached_values File "/data/build/odoo/odoo/tools/cache.py", line 90, in lookup value = d[key] = self.method(*args, **kwargs) File "/data/build/odoo/odoo/addons/base/models/ir_qweb.py", line 2483, in _get_cached_values return get_value() File "<1381>", line 1005, in template_1381_t_cache_0_cache File "<1381>", line 426, in template_1381_t_cache_0 File "/data/build/odoo/addons/website/models/ir_qweb.py", line 122, in _get_asset_nodes return super(IrQWeb, self_website)._get_asset_nodes(bundle, css=css, js=js, debug=debug, async_load=async_load, defer_load=defer_load, lazy_load=lazy_load, media=media) File "/data/build/odoo/odoo/addons/base/models/ir_qweb.py", line 2438, in _get_asset_nodes return self._generate_asset_nodes_cache(bundle, css, js, debug, async_load, defer_load, lazy_load, media) File "", line 2, in _generate_asset_nodes_cache File "/data/build/odoo/odoo/tools/cache.py", line 90, in lookup value = d[key] = self.method(*args, **kwargs) File "/data/build/odoo/odoo/addons/base/models/ir_qweb.py", line 2493, in _generate_asset_nodes_cache return self._generate_asset_nodes(bundle, css, js, debug, async_load, defer_load, lazy_load, media) File "/data/build/odoo/odoo/addons/base/models/ir_qweb.py", line 2567, in _generate_asset_nodes return remains + asset.to_node(css=css, js=js, debug=debug, async_load=async_load, defer_load=defer_load, lazy_load=lazy_load) File "/data/build/odoo/odoo/addons/base/models/assetsbundle.py", line 159, in to_node css_attachments = self.css(is_minified=not is_debug_assets) or [] File "/data/build/odoo/odoo/addons/base/models/assetsbundle.py", line 627, in css self.save_attachment(extension, css) File "/data/build/odoo/odoo/addons/base/models/assetsbundle.py", line 373, in save_attachment attachment = ira.with_user(SUPERUSER_ID).create(values) File "", line 2, in create File "/data/build/odoo/odoo/api.py", line 430, in _model_create_multi return create(self, [arg]) File "/data/build/odoo/addons/website/models/ir_attachment.py", line 23, in create return super().create(vals_list) File "", line 2, in create File "/data/build/odoo/odoo/api.py", line 431, in _model_create_multi return create(self, arg) File "/data/build/odoo/odoo/addons/base/models/ir_attachment.py", line 673, in create return super().create(vals_list) File "", line 2, in create File "/data/build/odoo/odoo/api.py", line 431, in _model_create_multi return create(self, arg) File "/data/build/odoo/odoo/addons/base/models/ir_fields.py", line 670, in create recs = super().create(vals_list) File "", line 2, in create File "/data/build/odoo/odoo/api.py", line 431, in _model_create_multi return create(self, arg) File "/data/build/odoo/odoo/models.py", line 4019, in create records = self._create(data_list) File "/data/build/odoo/odoo/models.py", line 4250, in _create records.modified(self._fields, create=True) File "/data/build/odoo/odoo/models.py", line 6165, in modified todo = [self._modified([self._fields[fname] for fname in fnames], create)] File "/data/build/odoo/odoo/models.py", line 6216, in _modified tree = self.pool.get_trigger_tree(fields, select=select) File "/data/build/odoo/odoo/modules/registry.py", line 345, in get_trigger_tree if field in self._field_triggers File "/data/build/odoo/odoo/tools/func.py", line 28, in __get__ value = self.fget(obj) File "/data/build/odoo/odoo/modules/registry.py", line 439, in _field_triggers dependencies = list(field.resolve_depends(self)) File "/data/build/odoo/odoo/fields.py", line 809, in resolve_depends warnings.warn( 2026-04-28 07:29:58,664 404 WARNING 10768-16-0-without_demo py.warnings: /data/build/odoo/odoo/fields.py:809: UserWarning: Field 'purchase.order.wa_ids' in dependency of purchase.order.wa_fines_total should be searchable. This is necessary to determine which records to recompute when work.acceptance.state is modified. You should either make the field searchable, or simplify the field dependency. File "/usr/lib/python3.12/threading.py", line 1030, in _bootstrap self._bootstrap_inner() File "/usr/lib/python3.12/threading.py", line 1073, in _bootstrap_inner self.run() File "/usr/lib/python3.12/threading.py", line 1010, in run self._target(*self._args, **self._kwargs) File "/data/build/odoo/odoo/service/server.py", line 1129, in _runloop self.process_work() File "/data/build/odoo/odoo/service/server.py", line 1168, in process_work self.process_request(client, addr) File "/data/build/odoo/odoo/service/server.py", line 1159, in process_request self.server.process_request(client, addr) File "/usr/lib/python3.12/socketserver.py", line 349, in process_request self.finish_request(request, client_address) File "/usr/lib/python3.12/socketserver.py", line 362, in finish_request self.RequestHandlerClass(request, client_address, self) File "/usr/lib/python3.12/socketserver.py", line 761, in __init__ self.handle() File "/home/runbot/.local/lib/python3.12/site-packages/werkzeug/serving.py", line 342, in handle BaseHTTPRequestHandler.handle(self) File "/usr/lib/python3.12/http/server.py", line 436, in handle self.handle_one_request() File "/home/runbot/.local/lib/python3.12/site-packages/werkzeug/serving.py", line 374, in handle_one_request self.run_wsgi() File "/home/runbot/.local/lib/python3.12/site-packages/werkzeug/serving.py", line 319, in run_wsgi execute(self.server.app) File "/home/runbot/.local/lib/python3.12/site-packages/werkzeug/serving.py", line 308, in execute application_iter = app(environ, start_response) File "/data/build/odoo/odoo/http.py", line 2237, in __call__ response = request._serve_db() File "/data/build/odoo/odoo/http.py", line 1824, in _serve_db return service_model.retrying(self._serve_ir_http, self.env) File "/data/build/odoo/odoo/service/model.py", line 152, in retrying result = func() File "/data/build/odoo/odoo/http.py", line 1852, in _serve_ir_http response = self.dispatcher.dispatch(rule.endpoint, args) File "/data/build/odoo/odoo/http.py", line 1966, in dispatch return self.request.registry['ir.http']._dispatch(endpoint) File "/data/build/odoo/addons/website/models/ir_http.py", line 237, in _dispatch response = super()._dispatch(endpoint) File "/data/build/odoo/odoo/addons/base/models/ir_http.py", line 156, in _dispatch result.flatten() File "/data/build/odoo/odoo/tools/facade.py", line 83, in wrap_func func(self._wrapped__, *args, **kwargs) File "/data/build/odoo/odoo/http.py", line 1213, in flatten self.response.append(self.render()) File "/data/build/odoo/odoo/http.py", line 1205, in render return request.env["ir.ui.view"]._render_template(self.template, self.qcontext) File "/data/build/odoo/addons/website/models/ir_ui_view.py", line 419, in _render_template return super()._render_template(template, values=values) File "/data/build/odoo/odoo/addons/base/models/ir_ui_view.py", line 2135, in _render_template return self.env['ir.qweb']._render(template, values) File "/data/build/odoo/odoo/tools/profiler.py", line 301, in _tracked_method_render return method_render(self, template, values, **options) File "/data/build/odoo/odoo/addons/base/models/ir_qweb.py", line 593, in _render result = ''.join(rendering) File "<1379>", line 39, in template_1379 File "<1379>", line 28, in template_1379_content File "<1381>", line 1402, in template_1381 File "<1381>", line 1015, in template_1381_content File "/data/build/odoo/odoo/addons/base/models/ir_qweb.py", line 2470, in _load_values value = self._get_cached_values(cache_key, get_value) File "", line 2, in _get_cached_values File "/data/build/odoo/odoo/tools/cache.py", line 90, in lookup value = d[key] = self.method(*args, **kwargs) File "/data/build/odoo/odoo/addons/base/models/ir_qweb.py", line 2483, in _get_cached_values return get_value() File "<1381>", line 1005, in template_1381_t_cache_0_cache File "<1381>", line 426, in template_1381_t_cache_0 File "/data/build/odoo/addons/website/models/ir_qweb.py", line 122, in _get_asset_nodes return super(IrQWeb, self_website)._get_asset_nodes(bundle, css=css, js=js, debug=debug, async_load=async_load, defer_load=defer_load, lazy_load=lazy_load, media=media) File "/data/build/odoo/odoo/addons/base/models/ir_qweb.py", line 2438, in _get_asset_nodes return self._generate_asset_nodes_cache(bundle, css, js, debug, async_load, defer_load, lazy_load, media) File "", line 2, in _generate_asset_nodes_cache File "/data/build/odoo/odoo/tools/cache.py", line 90, in lookup value = d[key] = self.method(*args, **kwargs) File "/data/build/odoo/odoo/addons/base/models/ir_qweb.py", line 2493, in _generate_asset_nodes_cache return self._generate_asset_nodes(bundle, css, js, debug, async_load, defer_load, lazy_load, media) File "/data/build/odoo/odoo/addons/base/models/ir_qweb.py", line 2567, in _generate_asset_nodes return remains + asset.to_node(css=css, js=js, debug=debug, async_load=async_load, defer_load=defer_load, lazy_load=lazy_load) File "/data/build/odoo/odoo/addons/base/models/assetsbundle.py", line 159, in to_node css_attachments = self.css(is_minified=not is_debug_assets) or [] File "/data/build/odoo/odoo/addons/base/models/assetsbundle.py", line 627, in css self.save_attachment(extension, css) File "/data/build/odoo/odoo/addons/base/models/assetsbundle.py", line 373, in save_attachment attachment = ira.with_user(SUPERUSER_ID).create(values) File "", line 2, in create File "/data/build/odoo/odoo/api.py", line 430, in _model_create_multi return create(self, [arg]) File "/data/build/odoo/addons/website/models/ir_attachment.py", line 23, in create return super().create(vals_list) File "", line 2, in create File "/data/build/odoo/odoo/api.py", line 431, in _model_create_multi return create(self, arg) File "/data/build/odoo/odoo/addons/base/models/ir_attachment.py", line 673, in create return super().create(vals_list) File "", line 2, in create File "/data/build/odoo/odoo/api.py", line 431, in _model_create_multi return create(self, arg) File "/data/build/odoo/odoo/addons/base/models/ir_fields.py", line 670, in create recs = super().create(vals_list) File "", line 2, in create File "/data/build/odoo/odoo/api.py", line 431, in _model_create_multi return create(self, arg) File "/data/build/odoo/odoo/models.py", line 4019, in create records = self._create(data_list) File "/data/build/odoo/odoo/models.py", line 4250, in _create records.modified(self._fields, create=True) File "/data/build/odoo/odoo/models.py", line 6165, in modified todo = [self._modified([self._fields[fname] for fname in fnames], create)] File "/data/build/odoo/odoo/models.py", line 6216, in _modified tree = self.pool.get_trigger_tree(fields, select=select) File "/data/build/odoo/odoo/modules/registry.py", line 345, in get_trigger_tree if field in self._field_triggers File "/data/build/odoo/odoo/tools/func.py", line 28, in __get__ value = self.fget(obj) File "/data/build/odoo/odoo/modules/registry.py", line 439, in _field_triggers dependencies = list(field.resolve_depends(self)) File "/data/build/odoo/odoo/fields.py", line 809, in resolve_depends warnings.warn( 2026-04-28 07:29:58,667 404 WARNING 10768-16-0-without_demo py.warnings: /data/build/odoo/odoo/fields.py:809: UserWarning: Field 'purchase.order.wa_ids' in dependency of purchase.order.wa_fines_total should be searchable. This is necessary to determine which records to recompute when work.acceptance.is_disbursed is modified. You should either make the field searchable, or simplify the field dependency. File "/usr/lib/python3.12/threading.py", line 1030, in _bootstrap self._bootstrap_inner() File "/usr/lib/python3.12/threading.py", line 1073, in _bootstrap_inner self.run() File "/usr/lib/python3.12/threading.py", line 1010, in run self._target(*self._args, **self._kwargs) File "/data/build/odoo/odoo/service/server.py", line 1129, in _runloop self.process_work() File "/data/build/odoo/odoo/service/server.py", line 1168, in process_work self.process_request(client, addr) File "/data/build/odoo/odoo/service/server.py", line 1159, in process_request self.server.process_request(client, addr) File "/usr/lib/python3.12/socketserver.py", line 349, in process_request self.finish_request(request, client_address) File "/usr/lib/python3.12/socketserver.py", line 362, in finish_request self.RequestHandlerClass(request, client_address, self) File "/usr/lib/python3.12/socketserver.py", line 761, in __init__ self.handle() File "/home/runbot/.local/lib/python3.12/site-packages/werkzeug/serving.py", line 342, in handle BaseHTTPRequestHandler.handle(self) File "/usr/lib/python3.12/http/server.py", line 436, in handle self.handle_one_request() File "/home/runbot/.local/lib/python3.12/site-packages/werkzeug/serving.py", line 374, in handle_one_request self.run_wsgi() File "/home/runbot/.local/lib/python3.12/site-packages/werkzeug/serving.py", line 319, in run_wsgi execute(self.server.app) File "/home/runbot/.local/lib/python3.12/site-packages/werkzeug/serving.py", line 308, in execute application_iter = app(environ, start_response) File "/data/build/odoo/odoo/http.py", line 2237, in __call__ response = request._serve_db() File "/data/build/odoo/odoo/http.py", line 1824, in _serve_db return service_model.retrying(self._serve_ir_http, self.env) File "/data/build/odoo/odoo/service/model.py", line 152, in retrying result = func() File "/data/build/odoo/odoo/http.py", line 1852, in _serve_ir_http response = self.dispatcher.dispatch(rule.endpoint, args) File "/data/build/odoo/odoo/http.py", line 1966, in dispatch return self.request.registry['ir.http']._dispatch(endpoint) File "/data/build/odoo/addons/website/models/ir_http.py", line 237, in _dispatch response = super()._dispatch(endpoint) File "/data/build/odoo/odoo/addons/base/models/ir_http.py", line 156, in _dispatch result.flatten() File "/data/build/odoo/odoo/tools/facade.py", line 83, in wrap_func func(self._wrapped__, *args, **kwargs) File "/data/build/odoo/odoo/http.py", line 1213, in flatten self.response.append(self.render()) File "/data/build/odoo/odoo/http.py", line 1205, in render return request.env["ir.ui.view"]._render_template(self.template, self.qcontext) File "/data/build/odoo/addons/website/models/ir_ui_view.py", line 419, in _render_template return super()._render_template(template, values=values) File "/data/build/odoo/odoo/addons/base/models/ir_ui_view.py", line 2135, in _render_template return self.env['ir.qweb']._render(template, values) File "/data/build/odoo/odoo/tools/profiler.py", line 301, in _tracked_method_render return method_render(self, template, values, **options) File "/data/build/odoo/odoo/addons/base/models/ir_qweb.py", line 593, in _render result = ''.join(rendering) File "<1379>", line 39, in template_1379 File "<1379>", line 28, in template_1379_content File "<1381>", line 1402, in template_1381 File "<1381>", line 1015, in template_1381_content File "/data/build/odoo/odoo/addons/base/models/ir_qweb.py", line 2470, in _load_values value = self._get_cached_values(cache_key, get_value) File "", line 2, in _get_cached_values File "/data/build/odoo/odoo/tools/cache.py", line 90, in lookup value = d[key] = self.method(*args, **kwargs) File "/data/build/odoo/odoo/addons/base/models/ir_qweb.py", line 2483, in _get_cached_values return get_value() File "<1381>", line 1005, in template_1381_t_cache_0_cache File "<1381>", line 426, in template_1381_t_cache_0 File "/data/build/odoo/addons/website/models/ir_qweb.py", line 122, in _get_asset_nodes return super(IrQWeb, self_website)._get_asset_nodes(bundle, css=css, js=js, debug=debug, async_load=async_load, defer_load=defer_load, lazy_load=lazy_load, media=media) File "/data/build/odoo/odoo/addons/base/models/ir_qweb.py", line 2438, in _get_asset_nodes return self._generate_asset_nodes_cache(bundle, css, js, debug, async_load, defer_load, lazy_load, media) File "", line 2, in _generate_asset_nodes_cache File "/data/build/odoo/odoo/tools/cache.py", line 90, in lookup value = d[key] = self.method(*args, **kwargs) File "/data/build/odoo/odoo/addons/base/models/ir_qweb.py", line 2493, in _generate_asset_nodes_cache return self._generate_asset_nodes(bundle, css, js, debug, async_load, defer_load, lazy_load, media) File "/data/build/odoo/odoo/addons/base/models/ir_qweb.py", line 2567, in _generate_asset_nodes return remains + asset.to_node(css=css, js=js, debug=debug, async_load=async_load, defer_load=defer_load, lazy_load=lazy_load) File "/data/build/odoo/odoo/addons/base/models/assetsbundle.py", line 159, in to_node css_attachments = self.css(is_minified=not is_debug_assets) or [] File "/data/build/odoo/odoo/addons/base/models/assetsbundle.py", line 627, in css self.save_attachment(extension, css) File "/data/build/odoo/odoo/addons/base/models/assetsbundle.py", line 373, in save_attachment attachment = ira.with_user(SUPERUSER_ID).create(values) File "", line 2, in create File "/data/build/odoo/odoo/api.py", line 430, in _model_create_multi return create(self, [arg]) File "/data/build/odoo/addons/website/models/ir_attachment.py", line 23, in create return super().create(vals_list) File "", line 2, in create File "/data/build/odoo/odoo/api.py", line 431, in _model_create_multi return create(self, arg) File "/data/build/odoo/odoo/addons/base/models/ir_attachment.py", line 673, in create return super().create(vals_list) File "", line 2, in create File "/data/build/odoo/odoo/api.py", line 431, in _model_create_multi return create(self, arg) File "/data/build/odoo/odoo/addons/base/models/ir_fields.py", line 670, in create recs = super().create(vals_list) File "", line 2, in create File "/data/build/odoo/odoo/api.py", line 431, in _model_create_multi return create(self, arg) File "/data/build/odoo/odoo/models.py", line 4019, in create records = self._create(data_list) File "/data/build/odoo/odoo/models.py", line 4250, in _create records.modified(self._fields, create=True) File "/data/build/odoo/odoo/models.py", line 6165, in modified todo = [self._modified([self._fields[fname] for fname in fnames], create)] File "/data/build/odoo/odoo/models.py", line 6216, in _modified tree = self.pool.get_trigger_tree(fields, select=select) File "/data/build/odoo/odoo/modules/registry.py", line 345, in get_trigger_tree if field in self._field_triggers File "/data/build/odoo/odoo/tools/func.py", line 28, in __get__ value = self.fget(obj) File "/data/build/odoo/odoo/modules/registry.py", line 439, in _field_triggers dependencies = list(field.resolve_depends(self)) File "/data/build/odoo/odoo/fields.py", line 809, in resolve_depends warnings.warn( 2026-04-28 07:29:58,680 404 WARNING 10768-16-0-without_demo py.warnings: /data/build/odoo/odoo/fields.py:809: UserWarning: Field 'purchase.order.wa_ids' in dependency of purchase.order.wa_fines_total should be searchable. This is necessary to determine which records to recompute when work.acceptance.fines_total is modified. You should either make the field searchable, or simplify the field dependency. File "/usr/lib/python3.12/threading.py", line 1030, in _bootstrap self._bootstrap_inner() File "/usr/lib/python3.12/threading.py", line 1073, in _bootstrap_inner self.run() File "/usr/lib/python3.12/threading.py", line 1010, in run self._target(*self._args, **self._kwargs) File "/data/build/odoo/odoo/service/server.py", line 1129, in _runloop self.process_work() File "/data/build/odoo/odoo/service/server.py", line 1168, in process_work self.process_request(client, addr) File "/data/build/odoo/odoo/service/server.py", line 1159, in process_request self.server.process_request(client, addr) File "/usr/lib/python3.12/socketserver.py", line 349, in process_request self.finish_request(request, client_address) File "/usr/lib/python3.12/socketserver.py", line 362, in finish_request self.RequestHandlerClass(request, client_address, self) File "/usr/lib/python3.12/socketserver.py", line 761, in __init__ self.handle() File "/home/runbot/.local/lib/python3.12/site-packages/werkzeug/serving.py", line 342, in handle BaseHTTPRequestHandler.handle(self) File "/usr/lib/python3.12/http/server.py", line 436, in handle self.handle_one_request() File "/home/runbot/.local/lib/python3.12/site-packages/werkzeug/serving.py", line 374, in handle_one_request self.run_wsgi() File "/home/runbot/.local/lib/python3.12/site-packages/werkzeug/serving.py", line 319, in run_wsgi execute(self.server.app) File "/home/runbot/.local/lib/python3.12/site-packages/werkzeug/serving.py", line 308, in execute application_iter = app(environ, start_response) File "/data/build/odoo/odoo/http.py", line 2237, in __call__ response = request._serve_db() File "/data/build/odoo/odoo/http.py", line 1824, in _serve_db return service_model.retrying(self._serve_ir_http, self.env) File "/data/build/odoo/odoo/service/model.py", line 152, in retrying result = func() File "/data/build/odoo/odoo/http.py", line 1852, in _serve_ir_http response = self.dispatcher.dispatch(rule.endpoint, args) File "/data/build/odoo/odoo/http.py", line 1966, in dispatch return self.request.registry['ir.http']._dispatch(endpoint) File "/data/build/odoo/addons/website/models/ir_http.py", line 237, in _dispatch response = super()._dispatch(endpoint) File "/data/build/odoo/odoo/addons/base/models/ir_http.py", line 156, in _dispatch result.flatten() File "/data/build/odoo/odoo/tools/facade.py", line 83, in wrap_func func(self._wrapped__, *args, **kwargs) File "/data/build/odoo/odoo/http.py", line 1213, in flatten self.response.append(self.render()) File "/data/build/odoo/odoo/http.py", line 1205, in render return request.env["ir.ui.view"]._render_template(self.template, self.qcontext) File "/data/build/odoo/addons/website/models/ir_ui_view.py", line 419, in _render_template return super()._render_template(template, values=values) File "/data/build/odoo/odoo/addons/base/models/ir_ui_view.py", line 2135, in _render_template return self.env['ir.qweb']._render(template, values) File "/data/build/odoo/odoo/tools/profiler.py", line 301, in _tracked_method_render return method_render(self, template, values, **options) File "/data/build/odoo/odoo/addons/base/models/ir_qweb.py", line 593, in _render result = ''.join(rendering) File "<1379>", line 39, in template_1379 File "<1379>", line 28, in template_1379_content File "<1381>", line 1402, in template_1381 File "<1381>", line 1015, in template_1381_content File "/data/build/odoo/odoo/addons/base/models/ir_qweb.py", line 2470, in _load_values value = self._get_cached_values(cache_key, get_value) File "", line 2, in _get_cached_values File "/data/build/odoo/odoo/tools/cache.py", line 90, in lookup value = d[key] = self.method(*args, **kwargs) File "/data/build/odoo/odoo/addons/base/models/ir_qweb.py", line 2483, in _get_cached_values return get_value() File "<1381>", line 1005, in template_1381_t_cache_0_cache File "<1381>", line 426, in template_1381_t_cache_0 File "/data/build/odoo/addons/website/models/ir_qweb.py", line 122, in _get_asset_nodes return super(IrQWeb, self_website)._get_asset_nodes(bundle, css=css, js=js, debug=debug, async_load=async_load, defer_load=defer_load, lazy_load=lazy_load, media=media) File "/data/build/odoo/odoo/addons/base/models/ir_qweb.py", line 2438, in _get_asset_nodes return self._generate_asset_nodes_cache(bundle, css, js, debug, async_load, defer_load, lazy_load, media) File "", line 2, in _generate_asset_nodes_cache File "/data/build/odoo/odoo/tools/cache.py", line 90, in lookup value = d[key] = self.method(*args, **kwargs) File "/data/build/odoo/odoo/addons/base/models/ir_qweb.py", line 2493, in _generate_asset_nodes_cache return self._generate_asset_nodes(bundle, css, js, debug, async_load, defer_load, lazy_load, media) File "/data/build/odoo/odoo/addons/base/models/ir_qweb.py", line 2567, in _generate_asset_nodes return remains + asset.to_node(css=css, js=js, debug=debug, async_load=async_load, defer_load=defer_load, lazy_load=lazy_load) File "/data/build/odoo/odoo/addons/base/models/assetsbundle.py", line 159, in to_node css_attachments = self.css(is_minified=not is_debug_assets) or [] File "/data/build/odoo/odoo/addons/base/models/assetsbundle.py", line 627, in css self.save_attachment(extension, css) File "/data/build/odoo/odoo/addons/base/models/assetsbundle.py", line 373, in save_attachment attachment = ira.with_user(SUPERUSER_ID).create(values) File "", line 2, in create File "/data/build/odoo/odoo/api.py", line 430, in _model_create_multi return create(self, [arg]) File "/data/build/odoo/addons/website/models/ir_attachment.py", line 23, in create return super().create(vals_list) File "", line 2, in create File "/data/build/odoo/odoo/api.py", line 431, in _model_create_multi return create(self, arg) File "/data/build/odoo/odoo/addons/base/models/ir_attachment.py", line 673, in create return super().create(vals_list) File "", line 2, in create File "/data/build/odoo/odoo/api.py", line 431, in _model_create_multi return create(self, arg) File "/data/build/odoo/odoo/addons/base/models/ir_fields.py", line 670, in create recs = super().create(vals_list) File "", line 2, in create File "/data/build/odoo/odoo/api.py", line 431, in _model_create_multi return create(self, arg) File "/data/build/odoo/odoo/models.py", line 4019, in create records = self._create(data_list) File "/data/build/odoo/odoo/models.py", line 4250, in _create records.modified(self._fields, create=True) File "/data/build/odoo/odoo/models.py", line 6165, in modified todo = [self._modified([self._fields[fname] for fname in fnames], create)] File "/data/build/odoo/odoo/models.py", line 6216, in _modified tree = self.pool.get_trigger_tree(fields, select=select) File "/data/build/odoo/odoo/modules/registry.py", line 345, in get_trigger_tree if field in self._field_triggers File "/data/build/odoo/odoo/tools/func.py", line 28, in __get__ value = self.fget(obj) File "/data/build/odoo/odoo/modules/registry.py", line 439, in _field_triggers dependencies = list(field.resolve_depends(self)) File "/data/build/odoo/odoo/fields.py", line 809, in resolve_depends warnings.warn( 2026-04-28 07:29:58,722 404 INFO 10768-16-0-without_demo odoo.addons.base.models.assetsbundle: Failed to find attachment for assets /web/assets/%-1de624b/1/web.assets_frontend_minimal.min.js 2026-04-28 07:29:58,881 404 INFO 10768-16-0-without_demo odoo.addons.base.models.assetsbundle: Failed to find attachment for assets /web/assets/%-5bbbc3e/1/web.assets_frontend_lazy.min.js 2026-04-28 07:29:59,358 406 INFO 10768-16-0-without_demo odoo.addons.base.models.ir_http: Generating routing map for key 1 2026-04-28 07:29:59,992 404 INFO 10768-16-0-without_demo werkzeug: 10.72.0.104 - - [28/Apr/2026 07:29:59] "GET / HTTP/1.0" 200 - 178 0.197 3.438 2026-04-28 07:30:00,169 406 WARNING 10768-16-0-without_demo odoo.modules.module: Missing `license` key in manifest for 'agx_construction', defaulting to LGPL-3 2026-04-28 07:30:00,241 406 WARNING 10768-16-0-without_demo odoo.modules.module: Missing `license` key in manifest for 'agx_approval', defaulting to LGPL-3 2026-04-28 07:30:00,516 406 INFO 10768-16-0-without_demo odoo.addons.base.models.assetsbundle: Failed to find attachment for assets /web/assets/%-34e5c55/1/web.assets_frontend.min.css 2026-04-28 07:30:01,781 406 WARNING 10768-16-0-without_demo py.warnings: /data/build/odoo/odoo/fields.py:809: UserWarning: Field 'purchase.order.wa_ids' in dependency of purchase.order.pending_wa_count should be searchable. This is necessary to determine which records to recompute when work.acceptance.state is modified. You should either make the field searchable, or simplify the field dependency. File "/usr/lib/python3.12/threading.py", line 1030, in _bootstrap self._bootstrap_inner() File "/usr/lib/python3.12/threading.py", line 1073, in _bootstrap_inner self.run() File "/usr/lib/python3.12/threading.py", line 1010, in run self._target(*self._args, **self._kwargs) File "/data/build/odoo/odoo/service/server.py", line 1129, in _runloop self.process_work() File "/data/build/odoo/odoo/service/server.py", line 1168, in process_work self.process_request(client, addr) File "/data/build/odoo/odoo/service/server.py", line 1159, in process_request self.server.process_request(client, addr) File "/usr/lib/python3.12/socketserver.py", line 349, in process_request self.finish_request(request, client_address) File "/usr/lib/python3.12/socketserver.py", line 362, in finish_request self.RequestHandlerClass(request, client_address, self) File "/usr/lib/python3.12/socketserver.py", line 761, in __init__ self.handle() File "/home/runbot/.local/lib/python3.12/site-packages/werkzeug/serving.py", line 342, in handle BaseHTTPRequestHandler.handle(self) File "/usr/lib/python3.12/http/server.py", line 436, in handle self.handle_one_request() File "/home/runbot/.local/lib/python3.12/site-packages/werkzeug/serving.py", line 374, in handle_one_request self.run_wsgi() File "/home/runbot/.local/lib/python3.12/site-packages/werkzeug/serving.py", line 319, in run_wsgi execute(self.server.app) File "/home/runbot/.local/lib/python3.12/site-packages/werkzeug/serving.py", line 308, in execute application_iter = app(environ, start_response) File "/data/build/odoo/odoo/http.py", line 2237, in __call__ response = request._serve_db() File "/data/build/odoo/odoo/http.py", line 1824, in _serve_db return service_model.retrying(self._serve_ir_http, self.env) File "/data/build/odoo/odoo/service/model.py", line 152, in retrying result = func() File "/data/build/odoo/odoo/http.py", line 1852, in _serve_ir_http response = self.dispatcher.dispatch(rule.endpoint, args) File "/data/build/odoo/odoo/http.py", line 1966, in dispatch return self.request.registry['ir.http']._dispatch(endpoint) File "/data/build/odoo/addons/website/models/ir_http.py", line 237, in _dispatch response = super()._dispatch(endpoint) File "/data/build/odoo/odoo/addons/base/models/ir_http.py", line 156, in _dispatch result.flatten() File "/data/build/odoo/odoo/tools/facade.py", line 83, in wrap_func func(self._wrapped__, *args, **kwargs) File "/data/build/odoo/odoo/http.py", line 1213, in flatten self.response.append(self.render()) File "/data/build/odoo/odoo/http.py", line 1205, in render return request.env["ir.ui.view"]._render_template(self.template, self.qcontext) File "/data/build/odoo/addons/website/models/ir_ui_view.py", line 419, in _render_template return super()._render_template(template, values=values) File "/data/build/odoo/odoo/addons/base/models/ir_ui_view.py", line 2135, in _render_template return self.env['ir.qweb']._render(template, values) File "/data/build/odoo/odoo/tools/profiler.py", line 301, in _tracked_method_render return method_render(self, template, values, **options) File "/data/build/odoo/odoo/addons/base/models/ir_qweb.py", line 593, in _render result = ''.join(rendering) File "<1379>", line 39, in template_1379 File "<1379>", line 28, in template_1379_content File "<1381>", line 1402, in template_1381 File "<1381>", line 1015, in template_1381_content File "/data/build/odoo/odoo/addons/base/models/ir_qweb.py", line 2470, in _load_values value = self._get_cached_values(cache_key, get_value) File "", line 2, in _get_cached_values File "/data/build/odoo/odoo/tools/cache.py", line 90, in lookup value = d[key] = self.method(*args, **kwargs) File "/data/build/odoo/odoo/addons/base/models/ir_qweb.py", line 2483, in _get_cached_values return get_value() File "<1381>", line 1005, in template_1381_t_cache_0_cache File "<1381>", line 426, in template_1381_t_cache_0 File "/data/build/odoo/addons/website/models/ir_qweb.py", line 122, in _get_asset_nodes return super(IrQWeb, self_website)._get_asset_nodes(bundle, css=css, js=js, debug=debug, async_load=async_load, defer_load=defer_load, lazy_load=lazy_load, media=media) File "/data/build/odoo/odoo/addons/base/models/ir_qweb.py", line 2438, in _get_asset_nodes return self._generate_asset_nodes_cache(bundle, css, js, debug, async_load, defer_load, lazy_load, media) File "", line 2, in _generate_asset_nodes_cache File "/data/build/odoo/odoo/tools/cache.py", line 90, in lookup value = d[key] = self.method(*args, **kwargs) File "/data/build/odoo/odoo/addons/base/models/ir_qweb.py", line 2493, in _generate_asset_nodes_cache return self._generate_asset_nodes(bundle, css, js, debug, async_load, defer_load, lazy_load, media) File "/data/build/odoo/odoo/addons/base/models/ir_qweb.py", line 2567, in _generate_asset_nodes return remains + asset.to_node(css=css, js=js, debug=debug, async_load=async_load, defer_load=defer_load, lazy_load=lazy_load) File "/data/build/odoo/odoo/addons/base/models/assetsbundle.py", line 159, in to_node css_attachments = self.css(is_minified=not is_debug_assets) or [] File "/data/build/odoo/odoo/addons/base/models/assetsbundle.py", line 627, in css self.save_attachment(extension, css) File "/data/build/odoo/odoo/addons/base/models/assetsbundle.py", line 373, in save_attachment attachment = ira.with_user(SUPERUSER_ID).create(values) File "", line 2, in create File "/data/build/odoo/odoo/api.py", line 430, in _model_create_multi return create(self, [arg]) File "/data/build/odoo/addons/website/models/ir_attachment.py", line 23, in create return super().create(vals_list) File "", line 2, in create File "/data/build/odoo/odoo/api.py", line 431, in _model_create_multi return create(self, arg) File "/data/build/odoo/odoo/addons/base/models/ir_attachment.py", line 673, in create return super().create(vals_list) File "", line 2, in create File "/data/build/odoo/odoo/api.py", line 431, in _model_create_multi return create(self, arg) File "/data/build/odoo/odoo/addons/base/models/ir_fields.py", line 670, in create recs = super().create(vals_list) File "", line 2, in create File "/data/build/odoo/odoo/api.py", line 431, in _model_create_multi return create(self, arg) File "/data/build/odoo/odoo/models.py", line 4019, in create records = self._create(data_list) File "/data/build/odoo/odoo/models.py", line 4250, in _create records.modified(self._fields, create=True) File "/data/build/odoo/odoo/models.py", line 6165, in modified todo = [self._modified([self._fields[fname] for fname in fnames], create)] File "/data/build/odoo/odoo/models.py", line 6216, in _modified tree = self.pool.get_trigger_tree(fields, select=select) File "/data/build/odoo/odoo/modules/registry.py", line 345, in get_trigger_tree if field in self._field_triggers File "/data/build/odoo/odoo/tools/func.py", line 28, in __get__ value = self.fget(obj) File "/data/build/odoo/odoo/modules/registry.py", line 439, in _field_triggers dependencies = list(field.resolve_depends(self)) File "/data/build/odoo/odoo/fields.py", line 809, in resolve_depends warnings.warn( 2026-04-28 07:30:01,788 406 WARNING 10768-16-0-without_demo py.warnings: /data/build/odoo/odoo/fields.py:809: UserWarning: Field 'purchase.order.wa_ids' in dependency of purchase.order.pending_wa_count should be searchable. This is necessary to determine which records to recompute when work.acceptance.is_disbursed is modified. You should either make the field searchable, or simplify the field dependency. File "/usr/lib/python3.12/threading.py", line 1030, in _bootstrap self._bootstrap_inner() File "/usr/lib/python3.12/threading.py", line 1073, in _bootstrap_inner self.run() File "/usr/lib/python3.12/threading.py", line 1010, in run self._target(*self._args, **self._kwargs) File "/data/build/odoo/odoo/service/server.py", line 1129, in _runloop self.process_work() File "/data/build/odoo/odoo/service/server.py", line 1168, in process_work self.process_request(client, addr) File "/data/build/odoo/odoo/service/server.py", line 1159, in process_request self.server.process_request(client, addr) File "/usr/lib/python3.12/socketserver.py", line 349, in process_request self.finish_request(request, client_address) File "/usr/lib/python3.12/socketserver.py", line 362, in finish_request self.RequestHandlerClass(request, client_address, self) File "/usr/lib/python3.12/socketserver.py", line 761, in __init__ self.handle() File "/home/runbot/.local/lib/python3.12/site-packages/werkzeug/serving.py", line 342, in handle BaseHTTPRequestHandler.handle(self) File "/usr/lib/python3.12/http/server.py", line 436, in handle self.handle_one_request() File "/home/runbot/.local/lib/python3.12/site-packages/werkzeug/serving.py", line 374, in handle_one_request self.run_wsgi() File "/home/runbot/.local/lib/python3.12/site-packages/werkzeug/serving.py", line 319, in run_wsgi execute(self.server.app) File "/home/runbot/.local/lib/python3.12/site-packages/werkzeug/serving.py", line 308, in execute application_iter = app(environ, start_response) File "/data/build/odoo/odoo/http.py", line 2237, in __call__ response = request._serve_db() File "/data/build/odoo/odoo/http.py", line 1824, in _serve_db return service_model.retrying(self._serve_ir_http, self.env) File "/data/build/odoo/odoo/service/model.py", line 152, in retrying result = func() File "/data/build/odoo/odoo/http.py", line 1852, in _serve_ir_http response = self.dispatcher.dispatch(rule.endpoint, args) File "/data/build/odoo/odoo/http.py", line 1966, in dispatch return self.request.registry['ir.http']._dispatch(endpoint) File "/data/build/odoo/addons/website/models/ir_http.py", line 237, in _dispatch response = super()._dispatch(endpoint) File "/data/build/odoo/odoo/addons/base/models/ir_http.py", line 156, in _dispatch result.flatten() File "/data/build/odoo/odoo/tools/facade.py", line 83, in wrap_func func(self._wrapped__, *args, **kwargs) File "/data/build/odoo/odoo/http.py", line 1213, in flatten self.response.append(self.render()) File "/data/build/odoo/odoo/http.py", line 1205, in render return request.env["ir.ui.view"]._render_template(self.template, self.qcontext) File "/data/build/odoo/addons/website/models/ir_ui_view.py", line 419, in _render_template return super()._render_template(template, values=values) File "/data/build/odoo/odoo/addons/base/models/ir_ui_view.py", line 2135, in _render_template return self.env['ir.qweb']._render(template, values) File "/data/build/odoo/odoo/tools/profiler.py", line 301, in _tracked_method_render return method_render(self, template, values, **options) File "/data/build/odoo/odoo/addons/base/models/ir_qweb.py", line 593, in _render result = ''.join(rendering) File "<1379>", line 39, in template_1379 File "<1379>", line 28, in template_1379_content File "<1381>", line 1402, in template_1381 File "<1381>", line 1015, in template_1381_content File "/data/build/odoo/odoo/addons/base/models/ir_qweb.py", line 2470, in _load_values value = self._get_cached_values(cache_key, get_value) File "", line 2, in _get_cached_values File "/data/build/odoo/odoo/tools/cache.py", line 90, in lookup value = d[key] = self.method(*args, **kwargs) File "/data/build/odoo/odoo/addons/base/models/ir_qweb.py", line 2483, in _get_cached_values return get_value() File "<1381>", line 1005, in template_1381_t_cache_0_cache File "<1381>", line 426, in template_1381_t_cache_0 File "/data/build/odoo/addons/website/models/ir_qweb.py", line 122, in _get_asset_nodes return super(IrQWeb, self_website)._get_asset_nodes(bundle, css=css, js=js, debug=debug, async_load=async_load, defer_load=defer_load, lazy_load=lazy_load, media=media) File "/data/build/odoo/odoo/addons/base/models/ir_qweb.py", line 2438, in _get_asset_nodes return self._generate_asset_nodes_cache(bundle, css, js, debug, async_load, defer_load, lazy_load, media) File "", line 2, in _generate_asset_nodes_cache File "/data/build/odoo/odoo/tools/cache.py", line 90, in lookup value = d[key] = self.method(*args, **kwargs) File "/data/build/odoo/odoo/addons/base/models/ir_qweb.py", line 2493, in _generate_asset_nodes_cache return self._generate_asset_nodes(bundle, css, js, debug, async_load, defer_load, lazy_load, media) File "/data/build/odoo/odoo/addons/base/models/ir_qweb.py", line 2567, in _generate_asset_nodes return remains + asset.to_node(css=css, js=js, debug=debug, async_load=async_load, defer_load=defer_load, lazy_load=lazy_load) File "/data/build/odoo/odoo/addons/base/models/assetsbundle.py", line 159, in to_node css_attachments = self.css(is_minified=not is_debug_assets) or [] File "/data/build/odoo/odoo/addons/base/models/assetsbundle.py", line 627, in css self.save_attachment(extension, css) File "/data/build/odoo/odoo/addons/base/models/assetsbundle.py", line 373, in save_attachment attachment = ira.with_user(SUPERUSER_ID).create(values) File "", line 2, in create File "/data/build/odoo/odoo/api.py", line 430, in _model_create_multi return create(self, [arg]) File "/data/build/odoo/addons/website/models/ir_attachment.py", line 23, in create return super().create(vals_list) File "", line 2, in create File "/data/build/odoo/odoo/api.py", line 431, in _model_create_multi return create(self, arg) File "/data/build/odoo/odoo/addons/base/models/ir_attachment.py", line 673, in create return super().create(vals_list) File "", line 2, in create File "/data/build/odoo/odoo/api.py", line 431, in _model_create_multi return create(self, arg) File "/data/build/odoo/odoo/addons/base/models/ir_fields.py", line 670, in create recs = super().create(vals_list) File "", line 2, in create File "/data/build/odoo/odoo/api.py", line 431, in _model_create_multi return create(self, arg) File "/data/build/odoo/odoo/models.py", line 4019, in create records = self._create(data_list) File "/data/build/odoo/odoo/models.py", line 4250, in _create records.modified(self._fields, create=True) File "/data/build/odoo/odoo/models.py", line 6165, in modified todo = [self._modified([self._fields[fname] for fname in fnames], create)] File "/data/build/odoo/odoo/models.py", line 6216, in _modified tree = self.pool.get_trigger_tree(fields, select=select) File "/data/build/odoo/odoo/modules/registry.py", line 345, in get_trigger_tree if field in self._field_triggers File "/data/build/odoo/odoo/tools/func.py", line 28, in __get__ value = self.fget(obj) File "/data/build/odoo/odoo/modules/registry.py", line 439, in _field_triggers dependencies = list(field.resolve_depends(self)) File "/data/build/odoo/odoo/fields.py", line 809, in resolve_depends warnings.warn( 2026-04-28 07:30:01,792 406 WARNING 10768-16-0-without_demo py.warnings: /data/build/odoo/odoo/fields.py:809: UserWarning: Field 'purchase.order.wa_ids' in dependency of purchase.order.wa_fines_total should be searchable. This is necessary to determine which records to recompute when work.acceptance.state is modified. You should either make the field searchable, or simplify the field dependency. File "/usr/lib/python3.12/threading.py", line 1030, in _bootstrap self._bootstrap_inner() File "/usr/lib/python3.12/threading.py", line 1073, in _bootstrap_inner self.run() File "/usr/lib/python3.12/threading.py", line 1010, in run self._target(*self._args, **self._kwargs) File "/data/build/odoo/odoo/service/server.py", line 1129, in _runloop self.process_work() File "/data/build/odoo/odoo/service/server.py", line 1168, in process_work self.process_request(client, addr) File "/data/build/odoo/odoo/service/server.py", line 1159, in process_request self.server.process_request(client, addr) File "/usr/lib/python3.12/socketserver.py", line 349, in process_request self.finish_request(request, client_address) File "/usr/lib/python3.12/socketserver.py", line 362, in finish_request self.RequestHandlerClass(request, client_address, self) File "/usr/lib/python3.12/socketserver.py", line 761, in __init__ self.handle() File "/home/runbot/.local/lib/python3.12/site-packages/werkzeug/serving.py", line 342, in handle BaseHTTPRequestHandler.handle(self) File "/usr/lib/python3.12/http/server.py", line 436, in handle self.handle_one_request() File "/home/runbot/.local/lib/python3.12/site-packages/werkzeug/serving.py", line 374, in handle_one_request self.run_wsgi() File "/home/runbot/.local/lib/python3.12/site-packages/werkzeug/serving.py", line 319, in run_wsgi execute(self.server.app) File "/home/runbot/.local/lib/python3.12/site-packages/werkzeug/serving.py", line 308, in execute application_iter = app(environ, start_response) File "/data/build/odoo/odoo/http.py", line 2237, in __call__ response = request._serve_db() File "/data/build/odoo/odoo/http.py", line 1824, in _serve_db return service_model.retrying(self._serve_ir_http, self.env) File "/data/build/odoo/odoo/service/model.py", line 152, in retrying result = func() File "/data/build/odoo/odoo/http.py", line 1852, in _serve_ir_http response = self.dispatcher.dispatch(rule.endpoint, args) File "/data/build/odoo/odoo/http.py", line 1966, in dispatch return self.request.registry['ir.http']._dispatch(endpoint) File "/data/build/odoo/addons/website/models/ir_http.py", line 237, in _dispatch response = super()._dispatch(endpoint) File "/data/build/odoo/odoo/addons/base/models/ir_http.py", line 156, in _dispatch result.flatten() File "/data/build/odoo/odoo/tools/facade.py", line 83, in wrap_func func(self._wrapped__, *args, **kwargs) File "/data/build/odoo/odoo/http.py", line 1213, in flatten self.response.append(self.render()) File "/data/build/odoo/odoo/http.py", line 1205, in render return request.env["ir.ui.view"]._render_template(self.template, self.qcontext) File "/data/build/odoo/addons/website/models/ir_ui_view.py", line 419, in _render_template return super()._render_template(template, values=values) File "/data/build/odoo/odoo/addons/base/models/ir_ui_view.py", line 2135, in _render_template return self.env['ir.qweb']._render(template, values) File "/data/build/odoo/odoo/tools/profiler.py", line 301, in _tracked_method_render return method_render(self, template, values, **options) File "/data/build/odoo/odoo/addons/base/models/ir_qweb.py", line 593, in _render result = ''.join(rendering) File "<1379>", line 39, in template_1379 File "<1379>", line 28, in template_1379_content File "<1381>", line 1402, in template_1381 File "<1381>", line 1015, in template_1381_content File "/data/build/odoo/odoo/addons/base/models/ir_qweb.py", line 2470, in _load_values value = self._get_cached_values(cache_key, get_value) File "", line 2, in _get_cached_values File "/data/build/odoo/odoo/tools/cache.py", line 90, in lookup value = d[key] = self.method(*args, **kwargs) File "/data/build/odoo/odoo/addons/base/models/ir_qweb.py", line 2483, in _get_cached_values return get_value() File "<1381>", line 1005, in template_1381_t_cache_0_cache File "<1381>", line 426, in template_1381_t_cache_0 File "/data/build/odoo/addons/website/models/ir_qweb.py", line 122, in _get_asset_nodes return super(IrQWeb, self_website)._get_asset_nodes(bundle, css=css, js=js, debug=debug, async_load=async_load, defer_load=defer_load, lazy_load=lazy_load, media=media) File "/data/build/odoo/odoo/addons/base/models/ir_qweb.py", line 2438, in _get_asset_nodes return self._generate_asset_nodes_cache(bundle, css, js, debug, async_load, defer_load, lazy_load, media) File "", line 2, in _generate_asset_nodes_cache File "/data/build/odoo/odoo/tools/cache.py", line 90, in lookup value = d[key] = self.method(*args, **kwargs) File "/data/build/odoo/odoo/addons/base/models/ir_qweb.py", line 2493, in _generate_asset_nodes_cache return self._generate_asset_nodes(bundle, css, js, debug, async_load, defer_load, lazy_load, media) File "/data/build/odoo/odoo/addons/base/models/ir_qweb.py", line 2567, in _generate_asset_nodes return remains + asset.to_node(css=css, js=js, debug=debug, async_load=async_load, defer_load=defer_load, lazy_load=lazy_load) File "/data/build/odoo/odoo/addons/base/models/assetsbundle.py", line 159, in to_node css_attachments = self.css(is_minified=not is_debug_assets) or [] File "/data/build/odoo/odoo/addons/base/models/assetsbundle.py", line 627, in css self.save_attachment(extension, css) File "/data/build/odoo/odoo/addons/base/models/assetsbundle.py", line 373, in save_attachment attachment = ira.with_user(SUPERUSER_ID).create(values) File "", line 2, in create File "/data/build/odoo/odoo/api.py", line 430, in _model_create_multi return create(self, [arg]) File "/data/build/odoo/addons/website/models/ir_attachment.py", line 23, in create return super().create(vals_list) File "", line 2, in create File "/data/build/odoo/odoo/api.py", line 431, in _model_create_multi return create(self, arg) File "/data/build/odoo/odoo/addons/base/models/ir_attachment.py", line 673, in create return super().create(vals_list) File "", line 2, in create File "/data/build/odoo/odoo/api.py", line 431, in _model_create_multi return create(self, arg) File "/data/build/odoo/odoo/addons/base/models/ir_fields.py", line 670, in create recs = super().create(vals_list) File "", line 2, in create File "/data/build/odoo/odoo/api.py", line 431, in _model_create_multi return create(self, arg) File "/data/build/odoo/odoo/models.py", line 4019, in create records = self._create(data_list) File "/data/build/odoo/odoo/models.py", line 4250, in _create records.modified(self._fields, create=True) File "/data/build/odoo/odoo/models.py", line 6165, in modified todo = [self._modified([self._fields[fname] for fname in fnames], create)] File "/data/build/odoo/odoo/models.py", line 6216, in _modified tree = self.pool.get_trigger_tree(fields, select=select) File "/data/build/odoo/odoo/modules/registry.py", line 345, in get_trigger_tree if field in self._field_triggers File "/data/build/odoo/odoo/tools/func.py", line 28, in __get__ value = self.fget(obj) File "/data/build/odoo/odoo/modules/registry.py", line 439, in _field_triggers dependencies = list(field.resolve_depends(self)) File "/data/build/odoo/odoo/fields.py", line 809, in resolve_depends warnings.warn( 2026-04-28 07:30:01,795 406 WARNING 10768-16-0-without_demo py.warnings: /data/build/odoo/odoo/fields.py:809: UserWarning: Field 'purchase.order.wa_ids' in dependency of purchase.order.wa_fines_total should be searchable. This is necessary to determine which records to recompute when work.acceptance.is_disbursed is modified. You should either make the field searchable, or simplify the field dependency. File "/usr/lib/python3.12/threading.py", line 1030, in _bootstrap self._bootstrap_inner() File "/usr/lib/python3.12/threading.py", line 1073, in _bootstrap_inner self.run() File "/usr/lib/python3.12/threading.py", line 1010, in run self._target(*self._args, **self._kwargs) File "/data/build/odoo/odoo/service/server.py", line 1129, in _runloop self.process_work() File "/data/build/odoo/odoo/service/server.py", line 1168, in process_work self.process_request(client, addr) File "/data/build/odoo/odoo/service/server.py", line 1159, in process_request self.server.process_request(client, addr) File "/usr/lib/python3.12/socketserver.py", line 349, in process_request self.finish_request(request, client_address) File "/usr/lib/python3.12/socketserver.py", line 362, in finish_request self.RequestHandlerClass(request, client_address, self) File "/usr/lib/python3.12/socketserver.py", line 761, in __init__ self.handle() File "/home/runbot/.local/lib/python3.12/site-packages/werkzeug/serving.py", line 342, in handle BaseHTTPRequestHandler.handle(self) File "/usr/lib/python3.12/http/server.py", line 436, in handle self.handle_one_request() File "/home/runbot/.local/lib/python3.12/site-packages/werkzeug/serving.py", line 374, in handle_one_request self.run_wsgi() File "/home/runbot/.local/lib/python3.12/site-packages/werkzeug/serving.py", line 319, in run_wsgi execute(self.server.app) File "/home/runbot/.local/lib/python3.12/site-packages/werkzeug/serving.py", line 308, in execute application_iter = app(environ, start_response) File "/data/build/odoo/odoo/http.py", line 2237, in __call__ response = request._serve_db() File "/data/build/odoo/odoo/http.py", line 1824, in _serve_db return service_model.retrying(self._serve_ir_http, self.env) File "/data/build/odoo/odoo/service/model.py", line 152, in retrying result = func() File "/data/build/odoo/odoo/http.py", line 1852, in _serve_ir_http response = self.dispatcher.dispatch(rule.endpoint, args) File "/data/build/odoo/odoo/http.py", line 1966, in dispatch return self.request.registry['ir.http']._dispatch(endpoint) File "/data/build/odoo/addons/website/models/ir_http.py", line 237, in _dispatch response = super()._dispatch(endpoint) File "/data/build/odoo/odoo/addons/base/models/ir_http.py", line 156, in _dispatch result.flatten() File "/data/build/odoo/odoo/tools/facade.py", line 83, in wrap_func func(self._wrapped__, *args, **kwargs) File "/data/build/odoo/odoo/http.py", line 1213, in flatten self.response.append(self.render()) File "/data/build/odoo/odoo/http.py", line 1205, in render return request.env["ir.ui.view"]._render_template(self.template, self.qcontext) File "/data/build/odoo/addons/website/models/ir_ui_view.py", line 419, in _render_template return super()._render_template(template, values=values) File "/data/build/odoo/odoo/addons/base/models/ir_ui_view.py", line 2135, in _render_template return self.env['ir.qweb']._render(template, values) File "/data/build/odoo/odoo/tools/profiler.py", line 301, in _tracked_method_render return method_render(self, template, values, **options) File "/data/build/odoo/odoo/addons/base/models/ir_qweb.py", line 593, in _render result = ''.join(rendering) File "<1379>", line 39, in template_1379 File "<1379>", line 28, in template_1379_content File "<1381>", line 1402, in template_1381 File "<1381>", line 1015, in template_1381_content File "/data/build/odoo/odoo/addons/base/models/ir_qweb.py", line 2470, in _load_values value = self._get_cached_values(cache_key, get_value) File "", line 2, in _get_cached_values File "/data/build/odoo/odoo/tools/cache.py", line 90, in lookup value = d[key] = self.method(*args, **kwargs) File "/data/build/odoo/odoo/addons/base/models/ir_qweb.py", line 2483, in _get_cached_values return get_value() File "<1381>", line 1005, in template_1381_t_cache_0_cache File "<1381>", line 426, in template_1381_t_cache_0 File "/data/build/odoo/addons/website/models/ir_qweb.py", line 122, in _get_asset_nodes return super(IrQWeb, self_website)._get_asset_nodes(bundle, css=css, js=js, debug=debug, async_load=async_load, defer_load=defer_load, lazy_load=lazy_load, media=media) File "/data/build/odoo/odoo/addons/base/models/ir_qweb.py", line 2438, in _get_asset_nodes return self._generate_asset_nodes_cache(bundle, css, js, debug, async_load, defer_load, lazy_load, media) File "", line 2, in _generate_asset_nodes_cache File "/data/build/odoo/odoo/tools/cache.py", line 90, in lookup value = d[key] = self.method(*args, **kwargs) File "/data/build/odoo/odoo/addons/base/models/ir_qweb.py", line 2493, in _generate_asset_nodes_cache return self._generate_asset_nodes(bundle, css, js, debug, async_load, defer_load, lazy_load, media) File "/data/build/odoo/odoo/addons/base/models/ir_qweb.py", line 2567, in _generate_asset_nodes return remains + asset.to_node(css=css, js=js, debug=debug, async_load=async_load, defer_load=defer_load, lazy_load=lazy_load) File "/data/build/odoo/odoo/addons/base/models/assetsbundle.py", line 159, in to_node css_attachments = self.css(is_minified=not is_debug_assets) or [] File "/data/build/odoo/odoo/addons/base/models/assetsbundle.py", line 627, in css self.save_attachment(extension, css) File "/data/build/odoo/odoo/addons/base/models/assetsbundle.py", line 373, in save_attachment attachment = ira.with_user(SUPERUSER_ID).create(values) File "", line 2, in create File "/data/build/odoo/odoo/api.py", line 430, in _model_create_multi return create(self, [arg]) File "/data/build/odoo/addons/website/models/ir_attachment.py", line 23, in create return super().create(vals_list) File "", line 2, in create File "/data/build/odoo/odoo/api.py", line 431, in _model_create_multi return create(self, arg) File "/data/build/odoo/odoo/addons/base/models/ir_attachment.py", line 673, in create return super().create(vals_list) File "", line 2, in create File "/data/build/odoo/odoo/api.py", line 431, in _model_create_multi return create(self, arg) File "/data/build/odoo/odoo/addons/base/models/ir_fields.py", line 670, in create recs = super().create(vals_list) File "", line 2, in create File "/data/build/odoo/odoo/api.py", line 431, in _model_create_multi return create(self, arg) File "/data/build/odoo/odoo/models.py", line 4019, in create records = self._create(data_list) File "/data/build/odoo/odoo/models.py", line 4250, in _create records.modified(self._fields, create=True) File "/data/build/odoo/odoo/models.py", line 6165, in modified todo = [self._modified([self._fields[fname] for fname in fnames], create)] File "/data/build/odoo/odoo/models.py", line 6216, in _modified tree = self.pool.get_trigger_tree(fields, select=select) File "/data/build/odoo/odoo/modules/registry.py", line 345, in get_trigger_tree if field in self._field_triggers File "/data/build/odoo/odoo/tools/func.py", line 28, in __get__ value = self.fget(obj) File "/data/build/odoo/odoo/modules/registry.py", line 439, in _field_triggers dependencies = list(field.resolve_depends(self)) File "/data/build/odoo/odoo/fields.py", line 809, in resolve_depends warnings.warn( 2026-04-28 07:30:01,798 406 WARNING 10768-16-0-without_demo py.warnings: /data/build/odoo/odoo/fields.py:809: UserWarning: Field 'purchase.order.wa_ids' in dependency of purchase.order.wa_fines_total should be searchable. This is necessary to determine which records to recompute when work.acceptance.fines_total is modified. You should either make the field searchable, or simplify the field dependency. File "/usr/lib/python3.12/threading.py", line 1030, in _bootstrap self._bootstrap_inner() File "/usr/lib/python3.12/threading.py", line 1073, in _bootstrap_inner self.run() File "/usr/lib/python3.12/threading.py", line 1010, in run self._target(*self._args, **self._kwargs) File "/data/build/odoo/odoo/service/server.py", line 1129, in _runloop self.process_work() File "/data/build/odoo/odoo/service/server.py", line 1168, in process_work self.process_request(client, addr) File "/data/build/odoo/odoo/service/server.py", line 1159, in process_request self.server.process_request(client, addr) File "/usr/lib/python3.12/socketserver.py", line 349, in process_request self.finish_request(request, client_address) File "/usr/lib/python3.12/socketserver.py", line 362, in finish_request self.RequestHandlerClass(request, client_address, self) File "/usr/lib/python3.12/socketserver.py", line 761, in __init__ self.handle() File "/home/runbot/.local/lib/python3.12/site-packages/werkzeug/serving.py", line 342, in handle BaseHTTPRequestHandler.handle(self) File "/usr/lib/python3.12/http/server.py", line 436, in handle self.handle_one_request() File "/home/runbot/.local/lib/python3.12/site-packages/werkzeug/serving.py", line 374, in handle_one_request self.run_wsgi() File "/home/runbot/.local/lib/python3.12/site-packages/werkzeug/serving.py", line 319, in run_wsgi execute(self.server.app) File "/home/runbot/.local/lib/python3.12/site-packages/werkzeug/serving.py", line 308, in execute application_iter = app(environ, start_response) File "/data/build/odoo/odoo/http.py", line 2237, in __call__ response = request._serve_db() File "/data/build/odoo/odoo/http.py", line 1824, in _serve_db return service_model.retrying(self._serve_ir_http, self.env) File "/data/build/odoo/odoo/service/model.py", line 152, in retrying result = func() File "/data/build/odoo/odoo/http.py", line 1852, in _serve_ir_http response = self.dispatcher.dispatch(rule.endpoint, args) File "/data/build/odoo/odoo/http.py", line 1966, in dispatch return self.request.registry['ir.http']._dispatch(endpoint) File "/data/build/odoo/addons/website/models/ir_http.py", line 237, in _dispatch response = super()._dispatch(endpoint) File "/data/build/odoo/odoo/addons/base/models/ir_http.py", line 156, in _dispatch result.flatten() File "/data/build/odoo/odoo/tools/facade.py", line 83, in wrap_func func(self._wrapped__, *args, **kwargs) File "/data/build/odoo/odoo/http.py", line 1213, in flatten self.response.append(self.render()) File "/data/build/odoo/odoo/http.py", line 1205, in render return request.env["ir.ui.view"]._render_template(self.template, self.qcontext) File "/data/build/odoo/addons/website/models/ir_ui_view.py", line 419, in _render_template return super()._render_template(template, values=values) File "/data/build/odoo/odoo/addons/base/models/ir_ui_view.py", line 2135, in _render_template return self.env['ir.qweb']._render(template, values) File "/data/build/odoo/odoo/tools/profiler.py", line 301, in _tracked_method_render return method_render(self, template, values, **options) File "/data/build/odoo/odoo/addons/base/models/ir_qweb.py", line 593, in _render result = ''.join(rendering) File "<1379>", line 39, in template_1379 File "<1379>", line 28, in template_1379_content File "<1381>", line 1402, in template_1381 File "<1381>", line 1015, in template_1381_content File "/data/build/odoo/odoo/addons/base/models/ir_qweb.py", line 2470, in _load_values value = self._get_cached_values(cache_key, get_value) File "", line 2, in _get_cached_values File "/data/build/odoo/odoo/tools/cache.py", line 90, in lookup value = d[key] = self.method(*args, **kwargs) File "/data/build/odoo/odoo/addons/base/models/ir_qweb.py", line 2483, in _get_cached_values return get_value() File "<1381>", line 1005, in template_1381_t_cache_0_cache File "<1381>", line 426, in template_1381_t_cache_0 File "/data/build/odoo/addons/website/models/ir_qweb.py", line 122, in _get_asset_nodes return super(IrQWeb, self_website)._get_asset_nodes(bundle, css=css, js=js, debug=debug, async_load=async_load, defer_load=defer_load, lazy_load=lazy_load, media=media) File "/data/build/odoo/odoo/addons/base/models/ir_qweb.py", line 2438, in _get_asset_nodes return self._generate_asset_nodes_cache(bundle, css, js, debug, async_load, defer_load, lazy_load, media) File "", line 2, in _generate_asset_nodes_cache File "/data/build/odoo/odoo/tools/cache.py", line 90, in lookup value = d[key] = self.method(*args, **kwargs) File "/data/build/odoo/odoo/addons/base/models/ir_qweb.py", line 2493, in _generate_asset_nodes_cache return self._generate_asset_nodes(bundle, css, js, debug, async_load, defer_load, lazy_load, media) File "/data/build/odoo/odoo/addons/base/models/ir_qweb.py", line 2567, in _generate_asset_nodes return remains + asset.to_node(css=css, js=js, debug=debug, async_load=async_load, defer_load=defer_load, lazy_load=lazy_load) File "/data/build/odoo/odoo/addons/base/models/assetsbundle.py", line 159, in to_node css_attachments = self.css(is_minified=not is_debug_assets) or [] File "/data/build/odoo/odoo/addons/base/models/assetsbundle.py", line 627, in css self.save_attachment(extension, css) File "/data/build/odoo/odoo/addons/base/models/assetsbundle.py", line 373, in save_attachment attachment = ira.with_user(SUPERUSER_ID).create(values) File "", line 2, in create File "/data/build/odoo/odoo/api.py", line 430, in _model_create_multi return create(self, [arg]) File "/data/build/odoo/addons/website/models/ir_attachment.py", line 23, in create return super().create(vals_list) File "", line 2, in create File "/data/build/odoo/odoo/api.py", line 431, in _model_create_multi return create(self, arg) File "/data/build/odoo/odoo/addons/base/models/ir_attachment.py", line 673, in create return super().create(vals_list) File "", line 2, in create File "/data/build/odoo/odoo/api.py", line 431, in _model_create_multi return create(self, arg) File "/data/build/odoo/odoo/addons/base/models/ir_fields.py", line 670, in create recs = super().create(vals_list) File "", line 2, in create File "/data/build/odoo/odoo/api.py", line 431, in _model_create_multi return create(self, arg) File "/data/build/odoo/odoo/models.py", line 4019, in create records = self._create(data_list) File "/data/build/odoo/odoo/models.py", line 4250, in _create records.modified(self._fields, create=True) File "/data/build/odoo/odoo/models.py", line 6165, in modified todo = [self._modified([self._fields[fname] for fname in fnames], create)] File "/data/build/odoo/odoo/models.py", line 6216, in _modified tree = self.pool.get_trigger_tree(fields, select=select) File "/data/build/odoo/odoo/modules/registry.py", line 345, in get_trigger_tree if field in self._field_triggers File "/data/build/odoo/odoo/tools/func.py", line 28, in __get__ value = self.fget(obj) File "/data/build/odoo/odoo/modules/registry.py", line 439, in _field_triggers dependencies = list(field.resolve_depends(self)) File "/data/build/odoo/odoo/fields.py", line 809, in resolve_depends warnings.warn( 2026-04-28 07:30:01,857 406 INFO 10768-16-0-without_demo odoo.addons.base.models.assetsbundle: Failed to find attachment for assets /web/assets/%-1de624b/1/web.assets_frontend_minimal.min.js 2026-04-28 07:30:02,054 406 INFO 10768-16-0-without_demo odoo.addons.base.models.assetsbundle: Failed to find attachment for assets /web/assets/%-5bbbc3e/1/web.assets_frontend_lazy.min.js 2026-04-28 07:30:03,224 406 INFO 10768-16-0-without_demo werkzeug: 10.72.0.104 - - [28/Apr/2026 07:30:03] "GET / HTTP/1.0" 200 - 178 0.229 3.670 2026-04-28 07:30:04,221 404 INFO 10768-16-0-without_demo werkzeug: 10.72.0.104 - - [28/Apr/2026 07:30:04] "GET /web/assets/274-34e5c55/1/web.assets_frontend.min.css HTTP/1.0" 200 - 5 0.005 0.932 2026-04-28 07:30:04,258 406 INFO ? werkzeug: 10.72.0.104 - - [28/Apr/2026 07:30:04] "GET /web/static/src/libs/fontawesome/fonts/fontawesome-webfont.woff2?v=4.7.0 HTTP/1.0" 200 - 1 0.005 0.977 2026-04-28 07:30:04,330 406 INFO 10768-16-0-without_demo werkzeug: 10.72.0.104 - - [28/Apr/2026 07:30:04] "GET /web/assets/275-1de624b/1/web.assets_frontend_minimal.min.js HTTP/1.0" 200 - 5 0.007 0.021 2026-04-28 07:30:04,430 406 INFO ? werkzeug: 10.72.0.104 - - [28/Apr/2026 07:30:04] "GET /web/static/img/odoo_logo_tiny.png HTTP/1.0" 200 - 1 0.003 0.012 2026-04-28 07:30:04,442 404 INFO 10768-16-0-without_demo werkzeug: 10.72.0.104 - - [28/Apr/2026 07:30:04] "GET /web/image/website/1/logo/My%20Website?unique=a4e853f HTTP/1.0" 200 - 6 0.009 0.018 2026-04-28 07:30:04,444 406 INFO ? werkzeug: 10.72.0.104 - - [28/Apr/2026 07:30:04] "GET /web/static/fonts/twitter_x_only.woff HTTP/1.0" 200 - 1 0.003 0.009 2026-04-28 07:30:04,453 404 INFO ? werkzeug: 10.72.0.104 - - [28/Apr/2026 07:30:04] "GET /base_fontawesome/static/lib/fontawesome-6.5.1/webfonts/fa-brands-400.woff2 HTTP/1.0" 200 - 1 0.003 0.007 2026-04-28 07:30:04,513 404 INFO ? werkzeug: 10.72.0.104 - - [28/Apr/2026 07:30:04] "GET /base_fontawesome/static/lib/fontawesome-6.5.1/webfonts/fa-solid-900.woff2 HTTP/1.0" 200 - 1 0.004 0.011 2026-04-28 07:30:04,566 406 INFO 10768-16-0-without_demo werkzeug: 10.72.0.104 - - [28/Apr/2026 07:30:04] "GET /web/assets/276-5bbbc3e/1/web.assets_frontend_lazy.min.js HTTP/1.0" 200 - 5 0.006 0.011 2026-04-28 07:30:04,570 404 INFO 10768-16-0-without_demo werkzeug: 10.72.0.104 - - [28/Apr/2026 07:30:04] "GET /web/image/website/1/favicon?unique=a4e853f HTTP/1.0" 200 - 6 0.005 0.016 2026-04-28 07:30:04,906 406 INFO 10768-16-0-without_demo werkzeug: 10.72.0.104 - - [28/Apr/2026 07:30:04] "GET /website/translations/76088d6be19ccea33315de4d609bce1d8c50ac29?lang=en_US HTTP/1.0" 200 - 3 0.006 0.018 2026-04-28 07:30:05,934 406 INFO 10768-16-0-without_demo werkzeug: 10.72.0.104 - - [28/Apr/2026 07:30:05] "GET /web/login HTTP/1.0" 200 - 19 0.014 0.061 2026-04-28 07:30:11,790 406 INFO 10768-16-0-without_demo odoo.addons.base.models.res_users: Login successful for db:10768-16-0-without_demo login:admin from 10.72.0.104 2026-04-28 07:30:11,838 406 INFO 10768-16-0-without_demo odoo.modules.registry: At least one model cache has been invalidated, signaling through the database. 2026-04-28 07:30:11,841 406 INFO 10768-16-0-without_demo werkzeug: 10.72.0.104 - - [28/Apr/2026 07:30:11] "POST /web/login HTTP/1.0" 303 - 94 0.123 0.725 2026-04-28 07:30:14,589 406 INFO 10768-16-0-without_demo odoo.addons.base.models.assetsbundle: Failed to find attachment for assets /web/assets/%-c40ace6/web.assets_common.min.css 2026-04-28 07:30:15,244 406 INFO 10768-16-0-without_demo odoo.addons.base.models.assetsbundle: Failed to find attachment for assets /web/assets/%-64f1211/web.assets_backend.min.css 2026-04-28 07:30:17,217 406 INFO 10768-16-0-without_demo odoo.addons.base.models.assetsbundle: Failed to find attachment for assets /web/assets/%-c40ace6/web.assets_common.min.js 2026-04-28 07:30:17,822 406 INFO 10768-16-0-without_demo odoo.addons.base.models.assetsbundle: Failed to find attachment for assets /web/assets/%-64f1211/web.assets_backend.min.js 2026-04-28 07:30:21,075 406 INFO 10768-16-0-without_demo odoo.addons.base.models.assetsbundle: Failed to find attachment for assets /web/assets/%-260b8f1/web.assets_backend_prod_only.min.js 2026-04-28 07:30:21,127 406 INFO 10768-16-0-without_demo werkzeug: 10.72.0.104 - - [28/Apr/2026 07:30:21] "GET /web HTTP/1.0" 200 - 129 0.165 9.090 2026-04-28 07:30:21,170 404 INFO ? odoo.modules.registry: Invalidating all model caches after database signaling. 2026-04-28 07:30:21,194 406 INFO 10768-16-0-without_demo werkzeug: 10.72.0.104 - - [28/Apr/2026 07:30:21] "GET /web/assets/278-64f1211/web.assets_backend.min.css HTTP/1.0" 200 - 4 0.002 0.010 2026-04-28 07:30:21,196 404 INFO 10768-16-0-without_demo odoo.addons.base.models.ir_http: Generating routing map for key 1 2026-04-28 07:30:21,211 406 INFO 10768-16-0-without_demo werkzeug: 10.72.0.104 - - [28/Apr/2026 07:30:21] "GET /web/assets/279-c40ace6/web.assets_common.min.js HTTP/1.0" 200 - 4 0.001 0.005 2026-04-28 07:30:21,223 406 INFO 10768-16-0-without_demo werkzeug: 10.72.0.104 - - [28/Apr/2026 07:30:21] "GET /web/assets/280-64f1211/web.assets_backend.min.js HTTP/1.0" 200 - 4 0.001 0.005 2026-04-28 07:30:21,239 406 INFO 10768-16-0-without_demo werkzeug: 10.72.0.104 - - [28/Apr/2026 07:30:21] "GET /web/assets/281-260b8f1/web.assets_backend_prod_only.min.js HTTP/1.0" 200 - 4 0.001 0.003 2026-04-28 07:30:21,319 406 INFO 10768-16-0-without_demo werkzeug: 10.72.0.104 - - [28/Apr/2026 07:30:21] "GET /web/webclient/load_menus/37ca1416c3e2a3a39400f64b2ea43389c6ed542e522ab94ebddfffd49a20825c HTTP/1.0" 200 - 4 0.001 0.078 2026-04-28 07:30:21,374 406 INFO 10768-16-0-without_demo werkzeug: 10.72.0.104 - - [28/Apr/2026 07:30:21] "GET /web/webclient/translations/6e71482e341eaee90d5333afb84312a760fcd156?lang=th_TH HTTP/1.0" 200 - 3 0.001 0.025 2026-04-28 07:30:21,920 404 INFO 10768-16-0-without_demo werkzeug: 10.72.0.104 - - [28/Apr/2026 07:30:21] "GET /web/assets/277-c40ace6/web.assets_common.min.css HTTP/1.0" 200 - 14 0.012 0.741 2026-04-28 07:30:23,072 406 INFO 10768-16-0-without_demo odoo.addons.partner_autocomplete.models.res_company: Starting enrich of company สถาบันเทคโนโลยีพระจอมเกล้าเจ้าคุณทหารลาดกระบัง (1) 2026-04-28 07:30:23,081 404 INFO 10768-16-0-without_demo werkzeug: 10.72.0.104 - - [28/Apr/2026 07:30:23] "GET /web/webclient/locale/th_TH HTTP/1.0" 200 - 1 0.000 0.006 2026-04-28 07:30:23,114 406 INFO 10768-16-0-without_demo odoo.addons.iap.tools.iap_tools: iap jsonrpc https://partner-autocomplete.odoo.com/iap/partner_autocomplete/enrich 2026-04-28 07:30:23,147 404 INFO ? werkzeug: 10.72.0.104 - - [28/Apr/2026 07:30:23] "GET /web/static/img/favicon.ico HTTP/1.0" 200 - 0 0.000 0.003 2026-04-28 07:30:23,605 404 INFO 10768-16-0-without_demo odoo.addons.base.models.assetsbundle: Failed to find attachment for assets /web/assets/%-a3fd9c5/bus.websocket_worker_assets.min.js 2026-04-28 07:30:23,628 404 INFO 10768-16-0-without_demo werkzeug: 10.72.0.104 - - [28/Apr/2026 07:30:23] "GET /bus/websocket_worker_bundle?v=1.0.5 HTTP/1.0" 200 - 12 0.005 0.037 2026-04-28 07:30:23,715 407 INFO ? odoo.modules.loading: loading 1 modules... 2026-04-28 07:30:23,727 407 INFO ? odoo.modules.loading: 1 modules loaded in 0.01s, 0 queries (+0 extra) 2026-04-28 07:30:23,753 407 WARNING ? odoo.modules.module: Missing `license` key in manifest for 'agx_construction', defaulting to LGPL-3 2026-04-28 07:30:23,828 407 WARNING ? odoo.modules.module: Missing `license` key in manifest for 'agx_approval', defaulting to LGPL-3 2026-04-28 07:30:23,932 407 INFO ? odoo.modules.loading: loading 322 modules... 2026-04-28 07:30:23,958 404 INFO 10768-16-0-without_demo werkzeug: 10.72.0.104 - - [28/Apr/2026 07:30:23] "POST /mail/init_messaging HTTP/1.0" 200 - 106 0.047 0.282 2026-04-28 07:30:23,972 404 INFO 10768-16-0-without_demo werkzeug: 10.72.0.104 - - [28/Apr/2026 07:30:23] "POST /web/dataset/call_kw/res.users/get_wa_inbox_count HTTP/1.0" 200 - 9 0.005 0.008 2026-04-28 07:30:23,991 404 INFO 10768-16-0-without_demo werkzeug: 10.72.0.104 - - [28/Apr/2026 07:30:23] "POST /web/dataset/call_kw/res.users/get_sarabun_inbox_count HTTP/1.0" 200 - 10 0.008 0.009 2026-04-28 07:30:24,006 404 INFO 10768-16-0-without_demo werkzeug: 10.72.0.104 - - [28/Apr/2026 07:30:24] "POST /web/dataset/call_kw/res.company/get_current_fiscal_year_name HTTP/1.0" 200 - 8 0.006 0.008 2026-04-28 07:30:24,021 404 INFO 10768-16-0-without_demo werkzeug: 10.72.0.104 - - [28/Apr/2026 07:30:24] "POST /web/dataset/call_kw/res.users/review_user_count HTTP/1.0" 200 - 7 0.007 0.007 2026-04-28 07:30:24,074 404 INFO 10768-16-0-without_demo werkzeug: 10.72.0.104 - - [28/Apr/2026 07:30:24] "POST /web/dataset/call_kw/res.users/systray_get_activities HTTP/1.0" 200 - 24 0.026 0.026 2026-04-28 07:30:24,086 404 INFO 10768-16-0-without_demo werkzeug: 10.72.0.104 - - [28/Apr/2026 07:30:24] "POST /mail/load_message_failures HTTP/1.0" 200 - 3 0.004 0.006 2026-04-28 07:30:24,089 404 INFO ? werkzeug: 10.72.0.104 - - [28/Apr/2026 07:30:24] "GET /agx_sarabun/static/src/audio/ting.ogg HTTP/1.0" 206 - 0 0.000 0.002 2026-04-28 07:30:24,105 404 INFO ? werkzeug: 10.72.0.104 - - [28/Apr/2026 07:30:24] "GET /mail/static/src/audio/ting.ogg HTTP/1.0" 206 - 0 0.000 0.003 2026-04-28 07:30:24,118 404 INFO 10768-16-0-without_demo werkzeug: 10.72.0.104 - - [28/Apr/2026 07:30:24] "POST /web/dataset/call_kw/web.environment.ribbon.backend/get_environment_ribbon HTTP/1.0" 200 - 4 0.001 0.011 2026-04-28 07:30:24,121 404 INFO ? werkzeug: 10.72.0.104 - - [28/Apr/2026 07:30:24] "GET /web/static/lib/odoo_ui_icons/fonts/odoo_ui_icons.woff2 HTTP/1.0" 200 - 0 0.000 0.003 2026-04-28 07:30:24,124 404 INFO ? werkzeug: 10.72.0.104 - - [28/Apr/2026 07:30:24] "GET /base_fontawesome/static/lib/fontawesome-6.5.1/webfonts/fa-regular-400.woff2 HTTP/1.0" 200 - 0 0.000 0.002 2026-04-28 07:30:24,128 404 INFO ? werkzeug: 10.72.0.104 - - [28/Apr/2026 07:30:24] "GET /base_fontawesome/static/lib/fontawesome-6.5.1/webfonts/fa-brands-400.woff2 HTTP/1.0" 200 - 0 0.000 0.001 2026-04-28 07:30:24,161 404 INFO 10768-16-0-without_demo werkzeug: 10.72.0.104 - - [28/Apr/2026 07:30:24] "POST /web/action/load HTTP/1.0" 200 - 8 0.019 0.010 2026-04-28 07:30:24,187 404 INFO 10768-16-0-without_demo werkzeug: 10.72.0.104 - - [28/Apr/2026 07:30:24] "GET /web/image?model=res.users&field=avatar_128&id=2 HTTP/1.0" 200 - 15 0.007 0.018 2026-04-28 07:30:24,200 404 INFO 10768-16-0-without_demo werkzeug: 10.72.0.104 - - [28/Apr/2026 07:30:24] "GET /web/image/res.company/1/favicon HTTP/1.0" 200 - 10 0.005 0.007 2026-04-28 07:30:24,203 404 INFO ? werkzeug: 10.72.0.104 - - [28/Apr/2026 07:30:24] "GET /base_fontawesome/static/lib/fontawesome-6.5.1/webfonts/fa-solid-900.woff2 HTTP/1.0" 200 - 0 0.000 0.001 2026-04-28 07:30:24,209 404 INFO 10768-16-0-without_demo werkzeug: 10.72.0.104 - - [28/Apr/2026 07:30:24] "POST /mail/inbox/messages HTTP/1.0" 200 - 6 0.002 0.003 2026-04-28 07:30:24,219 404 INFO 10768-16-0-without_demo werkzeug: 10.72.0.104 - - [28/Apr/2026 07:30:24] "GET /web/image/mail.channel/1/avatar_128?unique=7f8c039d18d2c51e32774976ca6e96609c79e59356c7f91670904e01f09ebe1a8f0fbb0cc454a1a57564199d9306ba054767b9aaac821f6712a8c3ddd6cebf46 HTTP/1.0" 200 - 9 0.002 0.007 2026-04-28 07:30:24,229 404 INFO 10768-16-0-without_demo werkzeug: 10.72.0.104 - - [28/Apr/2026 07:30:24] "GET /web/image/res.partner/2/avatar_128 HTTP/1.0" 200 - 7 0.002 0.006 2026-04-28 07:30:24,307 404 INFO 10768-16-0-without_demo werkzeug: 10.72.0.104 - - [28/Apr/2026 07:30:24] "GET /web/image/res.company/1/favicon HTTP/1.0" 304 - 5 0.004 0.010 2026-04-28 07:30:24,619 406 INFO 10768-16-0-without_demo odoo.modules.registry: At least one model cache has been invalidated, signaling through the database. 2026-04-28 07:30:24,621 406 INFO 10768-16-0-without_demo werkzeug: 10.72.0.104 - - [28/Apr/2026 07:30:24] "POST /web/dataset/call_kw/res.company/iap_enrich_auto HTTP/1.0" 200 - 37 0.049 1.517 2026-04-28 07:30:27,219 407 INFO ? odoo.modules.loading: 322 modules loaded in 3.29s, 0 queries (+0 extra) 2026-04-28 07:30:27,707 407 INFO ? odoo.modules.loading: Modules loaded. 2026-04-28 07:30:27,721 407 INFO ? odoo.modules.registry: Registry loaded in 4.026s 2026-04-28 07:30:27,722 407 INFO ? odoo.modules.registry: Invalidating all model caches after database signaling. 2026-04-28 07:30:27,729 407 INFO 10768-16-0-without_demo odoo.addons.base.models.ir_http: Generating routing map for key 1 2026-04-28 07:30:28,229 407 INFO ? odoo.addons.bus.models.bus: Bus.loop listen imbus on db postgres 2026-04-28 07:30:28,555 407 WARNING 10768-16-0-without_demo py.warnings: /data/build/odoo/odoo/fields.py:809: UserWarning: Field 'purchase.order.wa_ids' in dependency of purchase.order.pending_wa_count should be searchable. This is necessary to determine which records to recompute when work.acceptance.state is modified. You should either make the field searchable, or simplify the field dependency. File "/usr/lib/python3/dist-packages/gevent/baseserver.py", line 34, in _handle_and_close_when_done return handle(*args_tuple) File "/usr/lib/python3/dist-packages/gevent/pywsgi.py", line 1700, in handle handler.handle() File "/usr/lib/python3/dist-packages/gevent/pywsgi.py", line 574, in handle result = self.handle_one_request() File "/usr/lib/python3/dist-packages/gevent/pywsgi.py", line 804, in handle_one_request self.handle_one_response() File "/usr/lib/python3/dist-packages/gevent/pywsgi.py", line 1107, in handle_one_response self.run_application() File "/usr/lib/python3/dist-packages/gevent/pywsgi.py", line 1059, in run_application close() File "/home/runbot/.local/lib/python3.12/site-packages/werkzeug/wsgi.py", line 466, in close callback() File "/home/runbot/.local/lib/python3.12/site-packages/werkzeug/wrappers/response.py", line 439, in close func() File "/data/build/odoo/addons/bus/websocket.py", line 821, in response.call_on_close(lambda: cls._serve_forever( File "/data/build/odoo/addons/bus/websocket.py", line 918, in _serve_forever req.serve_websocket_message(message) File "/data/build/odoo/addons/bus/websocket.py", line 758, in serve_websocket_message service_model.retrying( File "/data/build/odoo/odoo/service/model.py", line 152, in retrying result = func() File "/data/build/odoo/addons/bus/websocket.py", line 775, in _serve_ir_websocket ir_websocket._update_bus_presence(**data) File "/data/build/odoo/addons/mail/models/ir_websocket.py", line 39, in _update_bus_presence super()._update_bus_presence(inactivity_period, im_status_ids_by_model) File "/data/build/odoo/addons/bus/models/ir_websocket.py", line 43, in _update_bus_presence self.env['bus.presence'].update( File "/data/build/odoo/addons/bus/models/bus_presence.py", line 47, in update self._update(inactivity_period=inactivity_period, identity_field=identity_field, identity_value=identity_value) File "/data/build/odoo/addons/bus/models/bus_presence.py", line 68, in _update self.create(values) File "", line 2, in create File "/data/build/odoo/odoo/api.py", line 430, in _model_create_multi return create(self, [arg]) File "/data/build/odoo/odoo/addons/base/models/ir_fields.py", line 670, in create recs = super().create(vals_list) File "", line 2, in create File "/data/build/odoo/odoo/api.py", line 431, in _model_create_multi return create(self, arg) File "/data/build/odoo/odoo/models.py", line 4019, in create records = self._create(data_list) File "/data/build/odoo/odoo/models.py", line 4250, in _create records.modified(self._fields, create=True) File "/data/build/odoo/odoo/models.py", line 6165, in modified todo = [self._modified([self._fields[fname] for fname in fnames], create)] File "/data/build/odoo/odoo/models.py", line 6216, in _modified tree = self.pool.get_trigger_tree(fields, select=select) File "/data/build/odoo/odoo/modules/registry.py", line 345, in get_trigger_tree if field in self._field_triggers File "/data/build/odoo/odoo/tools/func.py", line 28, in __get__ value = self.fget(obj) File "/data/build/odoo/odoo/modules/registry.py", line 439, in _field_triggers dependencies = list(field.resolve_depends(self)) File "/data/build/odoo/odoo/fields.py", line 809, in resolve_depends warnings.warn( 2026-04-28 07:30:28,558 407 WARNING 10768-16-0-without_demo py.warnings: /data/build/odoo/odoo/fields.py:809: UserWarning: Field 'purchase.order.wa_ids' in dependency of purchase.order.pending_wa_count should be searchable. This is necessary to determine which records to recompute when work.acceptance.is_disbursed is modified. You should either make the field searchable, or simplify the field dependency. File "/usr/lib/python3/dist-packages/gevent/baseserver.py", line 34, in _handle_and_close_when_done return handle(*args_tuple) File "/usr/lib/python3/dist-packages/gevent/pywsgi.py", line 1700, in handle handler.handle() File "/usr/lib/python3/dist-packages/gevent/pywsgi.py", line 574, in handle result = self.handle_one_request() File "/usr/lib/python3/dist-packages/gevent/pywsgi.py", line 804, in handle_one_request self.handle_one_response() File "/usr/lib/python3/dist-packages/gevent/pywsgi.py", line 1107, in handle_one_response self.run_application() File "/usr/lib/python3/dist-packages/gevent/pywsgi.py", line 1059, in run_application close() File "/home/runbot/.local/lib/python3.12/site-packages/werkzeug/wsgi.py", line 466, in close callback() File "/home/runbot/.local/lib/python3.12/site-packages/werkzeug/wrappers/response.py", line 439, in close func() File "/data/build/odoo/addons/bus/websocket.py", line 821, in response.call_on_close(lambda: cls._serve_forever( File "/data/build/odoo/addons/bus/websocket.py", line 918, in _serve_forever req.serve_websocket_message(message) File "/data/build/odoo/addons/bus/websocket.py", line 758, in serve_websocket_message service_model.retrying( File "/data/build/odoo/odoo/service/model.py", line 152, in retrying result = func() File "/data/build/odoo/addons/bus/websocket.py", line 775, in _serve_ir_websocket ir_websocket._update_bus_presence(**data) File "/data/build/odoo/addons/mail/models/ir_websocket.py", line 39, in _update_bus_presence super()._update_bus_presence(inactivity_period, im_status_ids_by_model) File "/data/build/odoo/addons/bus/models/ir_websocket.py", line 43, in _update_bus_presence self.env['bus.presence'].update( File "/data/build/odoo/addons/bus/models/bus_presence.py", line 47, in update self._update(inactivity_period=inactivity_period, identity_field=identity_field, identity_value=identity_value) File "/data/build/odoo/addons/bus/models/bus_presence.py", line 68, in _update self.create(values) File "", line 2, in create File "/data/build/odoo/odoo/api.py", line 430, in _model_create_multi return create(self, [arg]) File "/data/build/odoo/odoo/addons/base/models/ir_fields.py", line 670, in create recs = super().create(vals_list) File "", line 2, in create File "/data/build/odoo/odoo/api.py", line 431, in _model_create_multi return create(self, arg) File "/data/build/odoo/odoo/models.py", line 4019, in create records = self._create(data_list) File "/data/build/odoo/odoo/models.py", line 4250, in _create records.modified(self._fields, create=True) File "/data/build/odoo/odoo/models.py", line 6165, in modified todo = [self._modified([self._fields[fname] for fname in fnames], create)] File "/data/build/odoo/odoo/models.py", line 6216, in _modified tree = self.pool.get_trigger_tree(fields, select=select) File "/data/build/odoo/odoo/modules/registry.py", line 345, in get_trigger_tree if field in self._field_triggers File "/data/build/odoo/odoo/tools/func.py", line 28, in __get__ value = self.fget(obj) File "/data/build/odoo/odoo/modules/registry.py", line 439, in _field_triggers dependencies = list(field.resolve_depends(self)) File "/data/build/odoo/odoo/fields.py", line 809, in resolve_depends warnings.warn( 2026-04-28 07:30:28,560 407 WARNING 10768-16-0-without_demo py.warnings: /data/build/odoo/odoo/fields.py:809: UserWarning: Field 'purchase.order.wa_ids' in dependency of purchase.order.wa_fines_total should be searchable. This is necessary to determine which records to recompute when work.acceptance.state is modified. You should either make the field searchable, or simplify the field dependency. File "/usr/lib/python3/dist-packages/gevent/baseserver.py", line 34, in _handle_and_close_when_done return handle(*args_tuple) File "/usr/lib/python3/dist-packages/gevent/pywsgi.py", line 1700, in handle handler.handle() File "/usr/lib/python3/dist-packages/gevent/pywsgi.py", line 574, in handle result = self.handle_one_request() File "/usr/lib/python3/dist-packages/gevent/pywsgi.py", line 804, in handle_one_request self.handle_one_response() File "/usr/lib/python3/dist-packages/gevent/pywsgi.py", line 1107, in handle_one_response self.run_application() File "/usr/lib/python3/dist-packages/gevent/pywsgi.py", line 1059, in run_application close() File "/home/runbot/.local/lib/python3.12/site-packages/werkzeug/wsgi.py", line 466, in close callback() File "/home/runbot/.local/lib/python3.12/site-packages/werkzeug/wrappers/response.py", line 439, in close func() File "/data/build/odoo/addons/bus/websocket.py", line 821, in response.call_on_close(lambda: cls._serve_forever( File "/data/build/odoo/addons/bus/websocket.py", line 918, in _serve_forever req.serve_websocket_message(message) File "/data/build/odoo/addons/bus/websocket.py", line 758, in serve_websocket_message service_model.retrying( File "/data/build/odoo/odoo/service/model.py", line 152, in retrying result = func() File "/data/build/odoo/addons/bus/websocket.py", line 775, in _serve_ir_websocket ir_websocket._update_bus_presence(**data) File "/data/build/odoo/addons/mail/models/ir_websocket.py", line 39, in _update_bus_presence super()._update_bus_presence(inactivity_period, im_status_ids_by_model) File "/data/build/odoo/addons/bus/models/ir_websocket.py", line 43, in _update_bus_presence self.env['bus.presence'].update( File "/data/build/odoo/addons/bus/models/bus_presence.py", line 47, in update self._update(inactivity_period=inactivity_period, identity_field=identity_field, identity_value=identity_value) File "/data/build/odoo/addons/bus/models/bus_presence.py", line 68, in _update self.create(values) File "", line 2, in create File "/data/build/odoo/odoo/api.py", line 430, in _model_create_multi return create(self, [arg]) File "/data/build/odoo/odoo/addons/base/models/ir_fields.py", line 670, in create recs = super().create(vals_list) File "", line 2, in create File "/data/build/odoo/odoo/api.py", line 431, in _model_create_multi return create(self, arg) File "/data/build/odoo/odoo/models.py", line 4019, in create records = self._create(data_list) File "/data/build/odoo/odoo/models.py", line 4250, in _create records.modified(self._fields, create=True) File "/data/build/odoo/odoo/models.py", line 6165, in modified todo = [self._modified([self._fields[fname] for fname in fnames], create)] File "/data/build/odoo/odoo/models.py", line 6216, in _modified tree = self.pool.get_trigger_tree(fields, select=select) File "/data/build/odoo/odoo/modules/registry.py", line 345, in get_trigger_tree if field in self._field_triggers File "/data/build/odoo/odoo/tools/func.py", line 28, in __get__ value = self.fget(obj) File "/data/build/odoo/odoo/modules/registry.py", line 439, in _field_triggers dependencies = list(field.resolve_depends(self)) File "/data/build/odoo/odoo/fields.py", line 809, in resolve_depends warnings.warn( 2026-04-28 07:30:28,562 407 WARNING 10768-16-0-without_demo py.warnings: /data/build/odoo/odoo/fields.py:809: UserWarning: Field 'purchase.order.wa_ids' in dependency of purchase.order.wa_fines_total should be searchable. This is necessary to determine which records to recompute when work.acceptance.is_disbursed is modified. You should either make the field searchable, or simplify the field dependency. File "/usr/lib/python3/dist-packages/gevent/baseserver.py", line 34, in _handle_and_close_when_done return handle(*args_tuple) File "/usr/lib/python3/dist-packages/gevent/pywsgi.py", line 1700, in handle handler.handle() File "/usr/lib/python3/dist-packages/gevent/pywsgi.py", line 574, in handle result = self.handle_one_request() File "/usr/lib/python3/dist-packages/gevent/pywsgi.py", line 804, in handle_one_request self.handle_one_response() File "/usr/lib/python3/dist-packages/gevent/pywsgi.py", line 1107, in handle_one_response self.run_application() File "/usr/lib/python3/dist-packages/gevent/pywsgi.py", line 1059, in run_application close() File "/home/runbot/.local/lib/python3.12/site-packages/werkzeug/wsgi.py", line 466, in close callback() File "/home/runbot/.local/lib/python3.12/site-packages/werkzeug/wrappers/response.py", line 439, in close func() File "/data/build/odoo/addons/bus/websocket.py", line 821, in response.call_on_close(lambda: cls._serve_forever( File "/data/build/odoo/addons/bus/websocket.py", line 918, in _serve_forever req.serve_websocket_message(message) File "/data/build/odoo/addons/bus/websocket.py", line 758, in serve_websocket_message service_model.retrying( File "/data/build/odoo/odoo/service/model.py", line 152, in retrying result = func() File "/data/build/odoo/addons/bus/websocket.py", line 775, in _serve_ir_websocket ir_websocket._update_bus_presence(**data) File "/data/build/odoo/addons/mail/models/ir_websocket.py", line 39, in _update_bus_presence super()._update_bus_presence(inactivity_period, im_status_ids_by_model) File "/data/build/odoo/addons/bus/models/ir_websocket.py", line 43, in _update_bus_presence self.env['bus.presence'].update( File "/data/build/odoo/addons/bus/models/bus_presence.py", line 47, in update self._update(inactivity_period=inactivity_period, identity_field=identity_field, identity_value=identity_value) File "/data/build/odoo/addons/bus/models/bus_presence.py", line 68, in _update self.create(values) File "", line 2, in create File "/data/build/odoo/odoo/api.py", line 430, in _model_create_multi return create(self, [arg]) File "/data/build/odoo/odoo/addons/base/models/ir_fields.py", line 670, in create recs = super().create(vals_list) File "", line 2, in create File "/data/build/odoo/odoo/api.py", line 431, in _model_create_multi return create(self, arg) File "/data/build/odoo/odoo/models.py", line 4019, in create records = self._create(data_list) File "/data/build/odoo/odoo/models.py", line 4250, in _create records.modified(self._fields, create=True) File "/data/build/odoo/odoo/models.py", line 6165, in modified todo = [self._modified([self._fields[fname] for fname in fnames], create)] File "/data/build/odoo/odoo/models.py", line 6216, in _modified tree = self.pool.get_trigger_tree(fields, select=select) File "/data/build/odoo/odoo/modules/registry.py", line 345, in get_trigger_tree if field in self._field_triggers File "/data/build/odoo/odoo/tools/func.py", line 28, in __get__ value = self.fget(obj) File "/data/build/odoo/odoo/modules/registry.py", line 439, in _field_triggers dependencies = list(field.resolve_depends(self)) File "/data/build/odoo/odoo/fields.py", line 809, in resolve_depends warnings.warn( 2026-04-28 07:30:28,563 407 WARNING 10768-16-0-without_demo py.warnings: /data/build/odoo/odoo/fields.py:809: UserWarning: Field 'purchase.order.wa_ids' in dependency of purchase.order.wa_fines_total should be searchable. This is necessary to determine which records to recompute when work.acceptance.fines_total is modified. You should either make the field searchable, or simplify the field dependency. File "/usr/lib/python3/dist-packages/gevent/baseserver.py", line 34, in _handle_and_close_when_done return handle(*args_tuple) File "/usr/lib/python3/dist-packages/gevent/pywsgi.py", line 1700, in handle handler.handle() File "/usr/lib/python3/dist-packages/gevent/pywsgi.py", line 574, in handle result = self.handle_one_request() File "/usr/lib/python3/dist-packages/gevent/pywsgi.py", line 804, in handle_one_request self.handle_one_response() File "/usr/lib/python3/dist-packages/gevent/pywsgi.py", line 1107, in handle_one_response self.run_application() File "/usr/lib/python3/dist-packages/gevent/pywsgi.py", line 1059, in run_application close() File "/home/runbot/.local/lib/python3.12/site-packages/werkzeug/wsgi.py", line 466, in close callback() File "/home/runbot/.local/lib/python3.12/site-packages/werkzeug/wrappers/response.py", line 439, in close func() File "/data/build/odoo/addons/bus/websocket.py", line 821, in response.call_on_close(lambda: cls._serve_forever( File "/data/build/odoo/addons/bus/websocket.py", line 918, in _serve_forever req.serve_websocket_message(message) File "/data/build/odoo/addons/bus/websocket.py", line 758, in serve_websocket_message service_model.retrying( File "/data/build/odoo/odoo/service/model.py", line 152, in retrying result = func() File "/data/build/odoo/addons/bus/websocket.py", line 775, in _serve_ir_websocket ir_websocket._update_bus_presence(**data) File "/data/build/odoo/addons/mail/models/ir_websocket.py", line 39, in _update_bus_presence super()._update_bus_presence(inactivity_period, im_status_ids_by_model) File "/data/build/odoo/addons/bus/models/ir_websocket.py", line 43, in _update_bus_presence self.env['bus.presence'].update( File "/data/build/odoo/addons/bus/models/bus_presence.py", line 47, in update self._update(inactivity_period=inactivity_period, identity_field=identity_field, identity_value=identity_value) File "/data/build/odoo/addons/bus/models/bus_presence.py", line 68, in _update self.create(values) File "", line 2, in create File "/data/build/odoo/odoo/api.py", line 430, in _model_create_multi return create(self, [arg]) File "/data/build/odoo/odoo/addons/base/models/ir_fields.py", line 670, in create recs = super().create(vals_list) File "", line 2, in create File "/data/build/odoo/odoo/api.py", line 431, in _model_create_multi return create(self, arg) File "/data/build/odoo/odoo/models.py", line 4019, in create records = self._create(data_list) File "/data/build/odoo/odoo/models.py", line 4250, in _create records.modified(self._fields, create=True) File "/data/build/odoo/odoo/models.py", line 6165, in modified todo = [self._modified([self._fields[fname] for fname in fnames], create)] File "/data/build/odoo/odoo/models.py", line 6216, in _modified tree = self.pool.get_trigger_tree(fields, select=select) File "/data/build/odoo/odoo/modules/registry.py", line 345, in get_trigger_tree if field in self._field_triggers File "/data/build/odoo/odoo/tools/func.py", line 28, in __get__ value = self.fget(obj) File "/data/build/odoo/odoo/modules/registry.py", line 439, in _field_triggers dependencies = list(field.resolve_depends(self)) File "/data/build/odoo/odoo/fields.py", line 809, in resolve_depends warnings.warn( 2026-04-28 07:30:31,468 406 INFO ? werkzeug: 10.72.0.104 - - [28/Apr/2026 07:30:31] "GET /web_responsive/static/src/img/home-menu-bg-overlay.svg HTTP/1.0" 200 - 0 0.000 0.004 2026-04-28 07:30:31,505 406 INFO ? werkzeug: 10.72.0.104 - - [28/Apr/2026 07:30:31] "GET /web_responsive/static/img/default_icon_app.png HTTP/1.0" 200 - 0 0.000 0.003 2026-04-28 07:30:32,591 406 INFO 10768-16-0-without_demo werkzeug: 10.72.0.104 - - [28/Apr/2026 07:30:32] "POST /web/action/load HTTP/1.0" 200 - 26 0.021 0.482 2026-04-28 07:30:32,815 406 INFO 10768-16-0-without_demo werkzeug: 10.72.0.104 - - [28/Apr/2026 07:30:32] "POST /web/dataset/call_kw/purchase.request/get_views HTTP/1.0" 200 - 108 0.072 0.138 2026-04-28 07:30:32,878 404 INFO ? odoo.modules.registry: Invalidating all model caches after database signaling. 2026-04-28 07:30:32,886 404 INFO 10768-16-0-without_demo odoo.addons.base.models.ir_http: Generating routing map for key 1 2026-04-28 07:30:32,920 406 INFO 10768-16-0-without_demo werkzeug: 10.72.0.104 - - [28/Apr/2026 07:30:32] "POST /web/dataset/call_kw/purchase.request/search_panel_select_range HTTP/1.0" 200 - 12 0.016 0.025 2026-04-28 07:30:32,927 406 INFO 10768-16-0-without_demo werkzeug: 10.72.0.104 - - [28/Apr/2026 07:30:32] "POST /web/dataset/call_kw/res.users/has_group HTTP/1.0" 200 - 2 0.001 0.004 2026-04-28 07:30:33,387 404 INFO 10768-16-0-without_demo werkzeug: 10.72.0.104 - - [28/Apr/2026 07:30:33] "POST /web/dataset/call_kw/purchase.request/web_search_read HTTP/1.0" 200 - 62 0.024 0.486 2026-04-28 07:30:33,563 406 INFO 10768-16-0-without_demo werkzeug: 10.72.0.104 - - [28/Apr/2026 07:30:33] "GET /web/image/res.users/11/avatar_128 HTTP/1.0" 200 - 17 0.010 0.023 2026-04-28 07:30:33,572 404 INFO 10768-16-0-without_demo werkzeug: 10.72.0.104 - - [28/Apr/2026 07:30:33] "GET /web/image/res.users/14/avatar_128 HTTP/1.0" 200 - 17 0.015 0.026 2026-04-28 07:30:33,578 406 INFO 10768-16-0-without_demo werkzeug: 10.72.0.104 - - [28/Apr/2026 07:30:33] "GET /web/image/res.users/2/avatar_128 HTTP/1.0" 200 - 8 0.004 0.010 2026-04-28 07:30:33,591 406 INFO 10768-16-0-without_demo werkzeug: 10.72.0.104 - - [28/Apr/2026 07:30:33] "GET /web/image/res.users/19/avatar_128 HTTP/1.0" 200 - 8 0.003 0.008 2026-04-28 07:30:33,594 404 INFO 10768-16-0-without_demo werkzeug: 10.72.0.104 - - [28/Apr/2026 07:30:33] "GET /web/image/res.users/16/avatar_128 HTTP/1.0" 200 - 8 0.007 0.014 2026-04-28 07:30:33,606 406 INFO 10768-16-0-without_demo werkzeug: 10.72.0.104 - - [28/Apr/2026 07:30:33] "GET /web/image/res.users/13/avatar_128 HTTP/1.0" 200 - 8 0.004 0.010 2026-04-28 07:30:35,449 406 INFO 10768-16-0-without_demo werkzeug: 10.72.0.104 - - [28/Apr/2026 07:30:35] "POST /web/dataset/call_kw/purchase.request/read HTTP/1.0" 200 - 80 0.051 0.085 2026-04-28 07:30:35,478 404 INFO 10768-16-0-without_demo werkzeug: 10.72.0.104 - - [28/Apr/2026 07:30:35] "POST /web/dataset/call_kw/procurement.committee/read HTTP/1.0" 200 - 6 0.003 0.007 2026-04-28 07:30:35,487 404 INFO 10768-16-0-without_demo werkzeug: 10.72.0.104 - - [28/Apr/2026 07:30:35] "POST /web/dataset/call_kw/procurement.committee/read HTTP/1.0" 200 - 4 0.001 0.006 2026-04-28 07:30:35,495 406 INFO 10768-16-0-without_demo werkzeug: 10.72.0.104 - - [28/Apr/2026 07:30:35] "POST /web/dataset/call_kw/purchase.request.line/read HTTP/1.0" 200 - 16 0.013 0.016 2026-04-28 07:30:35,522 406 INFO 10768-16-0-without_demo werkzeug: 10.72.0.104 - - [28/Apr/2026 07:30:35] "POST /web/dataset/call_kw/account.fiscal.year/name_search HTTP/1.0" 200 - 7 0.005 0.008 2026-04-28 07:30:35,527 404 INFO 10768-16-0-without_demo werkzeug: 10.72.0.104 - - [28/Apr/2026 07:30:35] "POST /web/dataset/call_kw/account.analytic.account/name_search HTTP/1.0" 200 - 6 0.006 0.011 2026-04-28 07:30:35,535 406 INFO 10768-16-0-without_demo werkzeug: 10.72.0.104 - - [28/Apr/2026 07:30:35] "POST /web/dataset/call_kw/operating.unit/name_search HTTP/1.0" 200 - 8 0.004 0.008 2026-04-28 07:30:35,546 406 INFO 10768-16-0-without_demo werkzeug: 10.72.0.104 - - [28/Apr/2026 07:30:35] "POST /web/dataset/call_kw/account.analytic.account/name_search HTTP/1.0" 200 - 6 0.004 0.006 2026-04-28 07:30:35,547 404 INFO 10768-16-0-without_demo werkzeug: 10.72.0.104 - - [28/Apr/2026 07:30:35] "POST /web/dataset/call_kw/account.tax/name_search HTTP/1.0" 200 - 12 0.008 0.010 2026-04-28 07:30:35,660 406 INFO 10768-16-0-without_demo werkzeug: 10.72.0.104 - - [28/Apr/2026 07:30:35] "POST /mail/thread/data HTTP/1.0" 200 - 20 0.022 0.026 2026-04-28 07:30:35,679 404 INFO 10768-16-0-without_demo werkzeug: 10.72.0.104 - - [28/Apr/2026 07:30:35] "POST /mail/thread/messages HTTP/1.0" 200 - 32 0.030 0.036 2026-04-28 07:30:35,749 406 INFO 10768-16-0-without_demo werkzeug: 10.72.0.104 - - [28/Apr/2026 07:30:35] "GET /web/image/res.partner/3/avatar_128 HTTP/1.0" 200 - 6 0.005 0.014 2026-04-28 07:30:40,039 406 INFO 10768-16-0-without_demo werkzeug: 10.72.0.104 - - [28/Apr/2026 07:30:40] "GET /web?debug=1 HTTP/1.0" 200 - 93 0.077 0.851 2026-04-28 07:30:40,070 407 INFO 10768-16-0-without_demo longpolling: 10.72.0.104 - - [2026-04-28 07:30:40] "GET /websocket HTTP/1.0" 101 417 16.378684 2026-04-28 07:30:40,452 404 INFO 10768-16-0-without_demo werkzeug: 10.72.0.104 - - [28/Apr/2026 07:30:40] "GET /web/webclient/load_menus/4ace506726348cf026892ee4c43c5857051c53b0fbc2bebfb53e48ca1535117f HTTP/1.0" 200 - 31 0.055 0.313 2026-04-28 07:30:40,931 404 INFO 10768-16-0-without_demo werkzeug: 10.72.0.104 - - [28/Apr/2026 07:30:40] "POST /web/action/load HTTP/1.0" 200 - 14 0.008 0.270 2026-04-28 07:30:41,730 406 INFO 10768-16-0-without_demo werkzeug: 10.72.0.104 - - [28/Apr/2026 07:30:41] "GET /bus/websocket_worker_bundle?v=1.0.5 HTTP/1.0" 304 - 5 0.003 0.018 2026-04-28 07:30:41,770 406 INFO 10768-16-0-without_demo werkzeug: 10.72.0.104 - - [28/Apr/2026 07:30:41] "POST /web/dataset/call_kw/res.users/get_wa_inbox_count HTTP/1.0" 200 - 6 0.006 0.012 2026-04-28 07:30:41,793 406 INFO 10768-16-0-without_demo werkzeug: 10.72.0.104 - - [28/Apr/2026 07:30:41] "POST /web/dataset/call_kw/res.users/get_sarabun_inbox_count HTTP/1.0" 200 - 10 0.009 0.012 2026-04-28 07:30:41,812 406 INFO 10768-16-0-without_demo werkzeug: 10.72.0.104 - - [28/Apr/2026 07:30:41] "POST /web/dataset/call_kw/res.company/get_current_fiscal_year_name HTTP/1.0" 200 - 8 0.006 0.011 2026-04-28 07:30:41,822 406 INFO 10768-16-0-without_demo werkzeug: 10.72.0.104 - - [28/Apr/2026 07:30:41] "POST /web/dataset/call_kw/res.users/review_user_count HTTP/1.0" 200 - 3 0.002 0.006 2026-04-28 07:30:41,833 404 INFO 10768-16-0-without_demo werkzeug: 10.72.0.104 - - [28/Apr/2026 07:30:41] "POST /mail/init_messaging HTTP/1.0" 200 - 57 0.045 0.051 2026-04-28 07:30:41,855 406 INFO 10768-16-0-without_demo werkzeug: 10.72.0.104 - - [28/Apr/2026 07:30:41] "POST /web/dataset/call_kw/res.users/systray_get_activities HTTP/1.0" 200 - 17 0.014 0.017 2026-04-28 07:30:41,856 404 INFO 10768-16-0-without_demo werkzeug: 10.72.0.104 - - [28/Apr/2026 07:30:41] "GET /web/image?model=res.users&field=avatar_128&id=2 HTTP/1.0" 304 - 8 0.007 0.015 2026-04-28 07:30:41,861 406 INFO 10768-16-0-without_demo werkzeug: 10.72.0.104 - - [28/Apr/2026 07:30:41] "POST /web/dataset/call_kw/web.environment.ribbon.backend/get_environment_ribbon HTTP/1.0" 200 - 4 0.001 0.004 2026-04-28 07:30:41,875 406 INFO 10768-16-0-without_demo werkzeug: 10.72.0.104 - - [28/Apr/2026 07:30:41] "POST /mail/load_message_failures HTTP/1.0" 200 - 3 0.007 0.006 2026-04-28 07:30:42,035 404 INFO 10768-16-0-without_demo werkzeug: 10.72.0.104 - - [28/Apr/2026 07:30:42] "POST /web/dataset/call_kw/purchase.request/get_views HTTP/1.0" 200 - 107 0.054 0.124 2026-04-28 07:30:42,261 404 INFO 10768-16-0-without_demo werkzeug: 10.72.0.104 - - [28/Apr/2026 07:30:42] "POST /web/dataset/call_kw/purchase.request/read HTTP/1.0" 200 - 73 0.067 0.105 2026-04-28 07:30:42,296 404 INFO 10768-16-0-without_demo werkzeug: 10.72.0.104 - - [28/Apr/2026 07:30:42] "POST /web/dataset/call_kw/procurement.committee/read HTTP/1.0" 200 - 4 0.003 0.015 2026-04-28 07:30:42,306 406 INFO 10768-16-0-without_demo werkzeug: 10.72.0.104 - - [28/Apr/2026 07:30:42] "POST /web/dataset/call_kw/purchase.request.line/read HTTP/1.0" 200 - 14 0.009 0.020 2026-04-28 07:30:42,309 404 INFO 10768-16-0-without_demo werkzeug: 10.72.0.104 - - [28/Apr/2026 07:30:42] "POST /web/dataset/call_kw/procurement.committee/read HTTP/1.0" 200 - 4 0.003 0.008 2026-04-28 07:30:42,328 406 INFO 10768-16-0-without_demo werkzeug: 10.72.0.104 - - [28/Apr/2026 07:30:42] "POST /web/dataset/call_kw/account.fiscal.year/name_search HTTP/1.0" 200 - 3 0.001 0.007 2026-04-28 07:30:42,336 404 INFO 10768-16-0-without_demo werkzeug: 10.72.0.104 - - [28/Apr/2026 07:30:42] "POST /web/dataset/call_kw/account.analytic.account/name_search HTTP/1.0" 200 - 5 0.004 0.011 2026-04-28 07:30:42,336 406 INFO 10768-16-0-without_demo werkzeug: 10.72.0.104 - - [28/Apr/2026 07:30:42] "POST /web/dataset/call_kw/operating.unit/name_search HTTP/1.0" 200 - 3 0.001 0.005 2026-04-28 07:30:42,349 404 INFO 10768-16-0-without_demo werkzeug: 10.72.0.104 - - [28/Apr/2026 07:30:42] "POST /web/dataset/call_kw/account.analytic.account/name_search HTTP/1.0" 200 - 5 0.003 0.009 2026-04-28 07:30:42,350 406 INFO 10768-16-0-without_demo werkzeug: 10.72.0.104 - - [28/Apr/2026 07:30:42] "POST /web/dataset/call_kw/account.tax/name_search HTTP/1.0" 200 - 12 0.005 0.008 2026-04-28 07:30:42,438 406 INFO 10768-16-0-without_demo werkzeug: 10.72.0.104 - - [28/Apr/2026 07:30:42] "POST /mail/thread/data HTTP/1.0" 200 - 9 0.007 0.017 2026-04-28 07:30:42,462 404 INFO 10768-16-0-without_demo werkzeug: 10.72.0.104 - - [28/Apr/2026 07:30:42] "POST /mail/thread/messages HTTP/1.0" 200 - 22 0.019 0.030 2026-04-28 07:30:42,579 404 INFO 10768-16-0-without_demo werkzeug: 10.72.0.104 - - [28/Apr/2026 07:30:42] "GET /web/image/res.partner/3/avatar_128 HTTP/1.0" 304 - 6 0.005 0.015 2026-04-28 07:30:42,579 406 INFO 10768-16-0-without_demo werkzeug: 10.72.0.104 - - [28/Apr/2026 07:30:42] "GET /web/image/res.partner/2/avatar_128 HTTP/1.0" 304 - 7 0.006 0.015 2026-04-28 07:31:19,590 409 INFO 10768-16-0-without_demo odoo.modules.registry: Invalidating all model caches after database signaling. 2026-04-28 07:31:19,595 409 INFO 10768-16-0-without_demo odoo.addons.base.models.ir_cron: Starting job `Mail: Email Queue Manager`. 2026-04-28 07:31:19,599 409 INFO 10768-16-0-without_demo odoo.addons.base.models.ir_cron: Job `Mail: Email Queue Manager` done. 2026-04-28 07:31:19,607 409 INFO 10768-16-0-without_demo odoo.addons.base.models.ir_cron: Starting job `Notification: Send scheduled message notifications`. 2026-04-28 07:31:19,611 409 INFO 10768-16-0-without_demo odoo.addons.base.models.ir_cron: Job `Notification: Send scheduled message notifications` done. 2026-04-28 07:32:28,735 409 INFO 10768-16-0-without_demo odoo.addons.base.models.ir_cron: Starting job `SMS: SMS Queue Manager`. 2026-04-28 07:32:28,743 409 INFO 10768-16-0-without_demo odoo.addons.base.models.ir_cron: Job `SMS: SMS Queue Manager` done. 2026-04-28 07:32:28,756 409 INFO 10768-16-0-without_demo odoo.addons.base.models.ir_cron: Starting job `Partner Autocomplete : Sync with remote DB`. 2026-04-28 07:32:28,763 409 INFO 10768-16-0-without_demo odoo.addons.base.models.ir_cron: Job `Partner Autocomplete : Sync with remote DB` done. 2026-04-28 07:32:28,773 409 INFO 10768-16-0-without_demo odoo.addons.base.models.ir_cron: Starting job `Snailmail: process letters queue`. 2026-04-28 07:32:28,778 409 INFO 10768-16-0-without_demo odoo.addons.base.models.ir_cron: Job `Snailmail: process letters queue` done. 2026-04-28 07:32:28,785 409 INFO 10768-16-0-without_demo odoo.addons.base.models.ir_cron: Starting job `payment: post-process transactions`. 2026-04-28 07:32:28,790 409 INFO 10768-16-0-without_demo odoo.addons.base.models.ir_cron: Job `payment: post-process transactions` done. 2026-04-28 07:34:40,793 404 INFO 10768-16-0-without_demo werkzeug: 10.72.0.104 - - [28/Apr/2026 07:34:40] "POST /web/dataset/call_kw/purchase.request/get_views HTTP/1.0" 200 - 8 0.009 0.048 2026-04-28 07:34:40,846 404 INFO 10768-16-0-without_demo werkzeug: 10.72.0.104 - - [28/Apr/2026 07:34:40] "POST /web/dataset/call_kw/purchase.request/search_panel_select_range HTTP/1.0" 200 - 3 0.004 0.010 2026-04-28 07:34:40,863 406 INFO 10768-16-0-without_demo werkzeug: 10.72.0.104 - - [28/Apr/2026 07:34:40] "POST /web/dataset/call_kw/res.users/has_group HTTP/1.0" 200 - 1 0.001 0.010 2026-04-28 07:34:40,937 404 INFO 10768-16-0-without_demo werkzeug: 10.72.0.104 - - [28/Apr/2026 07:34:40] "POST /web/dataset/call_kw/purchase.request/web_search_read HTTP/1.0" 200 - 32 0.026 0.061 2026-04-28 07:34:41,051 404 INFO 10768-16-0-without_demo werkzeug: 10.72.0.104 - - [28/Apr/2026 07:34:41] "GET /web/image/res.users/16/avatar_128 HTTP/1.0" 304 - 8 0.012 0.018 2026-04-28 07:34:41,060 406 INFO 10768-16-0-without_demo werkzeug: 10.72.0.104 - - [28/Apr/2026 07:34:41] "GET /web/image/res.users/14/avatar_128 HTTP/1.0" 304 - 8 0.018 0.021 2026-04-28 07:34:41,070 404 INFO 10768-16-0-without_demo werkzeug: 10.72.0.104 - - [28/Apr/2026 07:34:41] "GET /web/image/res.users/2/avatar_128 HTTP/1.0" 304 - 8 0.008 0.010 2026-04-28 07:34:41,080 406 INFO 10768-16-0-without_demo werkzeug: 10.72.0.104 - - [28/Apr/2026 07:34:41] "GET /web/image/res.users/13/avatar_128 HTTP/1.0" 304 - 8 0.005 0.013 2026-04-28 07:34:41,085 404 INFO 10768-16-0-without_demo werkzeug: 10.72.0.104 - - [28/Apr/2026 07:34:41] "GET /web/image/res.users/11/avatar_128 HTTP/1.0" 304 - 8 0.004 0.010 2026-04-28 07:34:41,093 406 INFO 10768-16-0-without_demo werkzeug: 10.72.0.104 - - [28/Apr/2026 07:34:41] "GET /web/image/res.users/19/avatar_128 HTTP/1.0" 304 - 8 0.003 0.009 2026-04-28 07:34:41,788 404 INFO 10768-16-0-without_demo werkzeug: 10.72.0.104 - - [28/Apr/2026 07:34:41] "POST /web/dataset/call_kw/purchase.request/onchange HTTP/1.0" 200 - 27 0.027 0.066 2026-04-28 07:34:41,817 404 INFO 10768-16-0-without_demo werkzeug: 10.72.0.104 - - [28/Apr/2026 07:34:41] "POST /web/dataset/call_kw/account.fiscal.year/name_search HTTP/1.0" 200 - 7 0.005 0.008 2026-04-28 07:34:41,824 406 INFO 10768-16-0-without_demo werkzeug: 10.72.0.104 - - [28/Apr/2026 07:34:41] "POST /web/dataset/call_kw/account.analytic.account/name_search HTTP/1.0" 200 - 5 0.007 0.012 2026-04-28 07:34:41,833 404 INFO 10768-16-0-without_demo werkzeug: 10.72.0.104 - - [28/Apr/2026 07:34:41] "POST /web/dataset/call_kw/operating.unit/name_search HTTP/1.0" 200 - 8 0.006 0.009 2026-04-28 07:34:41,835 406 INFO 10768-16-0-without_demo werkzeug: 10.72.0.104 - - [28/Apr/2026 07:34:41] "POST /web/dataset/call_kw/account.tax/name_search HTTP/1.0" 200 - 3 0.002 0.007 2026-04-28 07:34:41,847 404 INFO 10768-16-0-without_demo werkzeug: 10.72.0.104 - - [28/Apr/2026 07:34:41] "POST /web/dataset/call_kw/account.analytic.account/name_search HTTP/1.0" 200 - 5 0.005 0.008 2026-04-28 07:34:43,597 404 INFO 10768-16-0-without_demo werkzeug: 10.72.0.104 - - [28/Apr/2026 07:34:43] "POST /web/dataset/call_kw/hr.department/name_search HTTP/1.0" 200 - 7 0.006 0.013 2026-04-28 07:34:46,420 406 INFO 10768-16-0-without_demo werkzeug: 10.72.0.104 - - [28/Apr/2026 07:34:46] "POST /web/dataset/call_kw/procurement.method/name_search HTTP/1.0" 200 - 4 0.006 0.007 2026-04-28 07:34:47,042 404 INFO 10768-16-0-without_demo werkzeug: 10.72.0.104 - - [28/Apr/2026 07:34:47] "POST /web/dataset/call_kw/procurement.type/name_search HTTP/1.0" 200 - 4 0.003 0.006 2026-04-28 07:34:47,507 404 INFO 10768-16-0-without_demo werkzeug: 10.72.0.104 - - [28/Apr/2026 07:34:47] "POST /web/dataset/call_kw/procurement.method/name_search HTTP/1.0" 200 - 4 0.003 0.007 2026-04-28 07:34:48,471 406 INFO 10768-16-0-without_demo werkzeug: 10.72.0.104 - - [28/Apr/2026 07:34:48] "POST /web/dataset/call_kw/procurement.method/name_search HTTP/1.0" 200 - 3 0.001 0.007 2026-04-28 07:34:49,419 404 INFO 10768-16-0-without_demo werkzeug: 10.72.0.104 - - [28/Apr/2026 07:34:49] "POST /web/dataset/call_kw/budget.account/name_search HTTP/1.0" 200 - 4 0.003 0.010 2026-04-28 07:34:49,786 404 INFO 10768-16-0-without_demo werkzeug: 10.72.0.104 - - [28/Apr/2026 07:34:49] "POST /web/dataset/call_kw/purchase.request/onchange HTTP/1.0" 200 - 24 0.013 0.031 2026-04-28 07:34:50,144 406 INFO 10768-16-0-without_demo werkzeug: 10.72.0.104 - - [28/Apr/2026 07:34:50] "POST /web/dataset/call_kw/account.analytic.account/name_search HTTP/1.0" 200 - 5 0.004 0.005 2026-04-28 07:34:50,834 406 INFO 10768-16-0-without_demo werkzeug: 10.72.0.104 - - [28/Apr/2026 07:34:50] "POST /web/dataset/call_kw/account.analytic.account/name_search HTTP/1.0" 200 - 5 0.004 0.010 2026-04-28 07:34:52,505 406 INFO 10768-16-0-without_demo werkzeug: 10.72.0.104 - - [28/Apr/2026 07:34:52] "POST /web/dataset/call_kw/res.partner/name_search HTTP/1.0" 200 - 7 0.008 0.012 2026-04-28 07:34:54,344 406 INFO 10768-16-0-without_demo werkzeug: 10.72.0.104 - - [28/Apr/2026 07:34:54] "POST /web/dataset/call_kw/purchase.request.line/onchange HTTP/1.0" 200 - 4 0.006 0.018 2026-04-28 07:34:54,389 404 INFO 10768-16-0-without_demo werkzeug: 10.72.0.104 - - [28/Apr/2026 07:34:54] "POST /web/dataset/call_kw/purchase.request/onchange HTTP/1.0" 200 - 8 0.008 0.024 2026-04-28 07:34:55,387 404 INFO 10768-16-0-without_demo werkzeug: 10.72.0.104 - - [28/Apr/2026 07:34:55] "POST /web/dataset/call_kw/purchase.request/create HTTP/1.0" 200 - 57 0.053 0.081 2026-04-28 07:34:55,489 404 INFO 10768-16-0-without_demo werkzeug: 10.72.0.104 - - [28/Apr/2026 07:34:55] "POST /web/dataset/call_kw/purchase.request/read HTTP/1.0" 200 - 43 0.034 0.056 2026-04-28 07:34:55,540 404 INFO 10768-16-0-without_demo werkzeug: 10.72.0.104 - - [28/Apr/2026 07:34:55] "POST /web/dataset/call_kw/purchase.request.line/read HTTP/1.0" 200 - 13 0.014 0.025 2026-04-28 07:34:55,591 404 INFO 10768-16-0-without_demo werkzeug: 10.72.0.104 - - [28/Apr/2026 07:34:55] "POST /mail/thread/messages HTTP/1.0" 200 - 19 0.015 0.018 2026-04-28 07:34:55,638 404 INFO 10768-16-0-without_demo werkzeug: 10.72.0.104 - - [28/Apr/2026 07:34:55] "POST /mail/thread/data HTTP/1.0" 200 - 23 0.020 0.025 2026-04-28 07:34:55,644 406 INFO 10768-16-0-without_demo werkzeug: 10.72.0.104 - - [28/Apr/2026 07:34:55] "POST /web/dataset/call_button HTTP/1.0" 200 - 38 0.038 0.053 2026-04-28 07:34:55,675 406 INFO 10768-16-0-without_demo werkzeug: 10.72.0.104 - - [28/Apr/2026 07:34:55] "POST /web/dataset/call_kw/purchase.request.exception.confirm/get_views HTTP/1.0" 200 - 7 0.005 0.015 2026-04-28 07:34:55,714 406 INFO 10768-16-0-without_demo werkzeug: 10.72.0.104 - - [28/Apr/2026 07:34:55] "POST /web/dataset/call_kw/purchase.request.exception.confirm/onchange HTTP/1.0" 200 - 8 0.005 0.015 2026-04-28 07:34:55,732 404 INFO 10768-16-0-without_demo werkzeug: 10.72.0.104 - - [28/Apr/2026 07:34:55] "POST /web/dataset/call_kw/exception.rule/read HTTP/1.0" 200 - 2 0.001 0.005 2026-04-28 07:34:55,765 404 INFO 10768-16-0-without_demo werkzeug: 10.72.0.104 - - [28/Apr/2026 07:34:55] "POST /mail/thread/messages HTTP/1.0" 200 - 4 0.003 0.007 2026-04-28 07:34:55,802 406 INFO 10768-16-0-without_demo werkzeug: 10.72.0.104 - - [28/Apr/2026 07:34:55] "POST /mail/thread/data HTTP/1.0" 200 - 17 0.020 0.026 2026-04-28 07:34:56,962 404 INFO 10768-16-0-without_demo werkzeug: 10.72.0.104 - - [28/Apr/2026 07:34:56] "POST /web/dataset/call_kw/purchase.request.exception.confirm/create HTTP/1.0" 200 - 10 0.010 0.014 2026-04-28 07:34:56,985 404 INFO 10768-16-0-without_demo werkzeug: 10.72.0.104 - - [28/Apr/2026 07:34:56] "POST /web/dataset/call_kw/purchase.request.exception.confirm/read HTTP/1.0" 200 - 5 0.003 0.007 2026-04-28 07:34:57,001 404 INFO 10768-16-0-without_demo werkzeug: 10.72.0.104 - - [28/Apr/2026 07:34:57] "POST /web/dataset/call_kw/exception.rule/read HTTP/1.0" 200 - 2 0.001 0.004 2026-04-28 07:34:57,087 404 INFO 10768-16-0-without_demo werkzeug: 10.72.0.104 - - [28/Apr/2026 07:34:57] "POST /web/dataset/call_button HTTP/1.0" 200 - 46 0.034 0.041 2026-04-28 07:34:57,158 404 INFO 10768-16-0-without_demo werkzeug: 10.72.0.104 - - [28/Apr/2026 07:34:57] "POST /web/dataset/call_kw/purchase.request/read HTTP/1.0" 200 - 43 0.025 0.034 2026-04-28 07:34:57,199 404 INFO 10768-16-0-without_demo werkzeug: 10.72.0.104 - - [28/Apr/2026 07:34:57] "POST /web/dataset/call_kw/purchase.request.line/read HTTP/1.0" 200 - 13 0.010 0.022 2026-04-28 07:34:57,250 406 INFO 10768-16-0-without_demo werkzeug: 10.72.0.104 - - [28/Apr/2026 07:34:57] "POST /mail/thread/messages HTTP/1.0" 200 - 24 0.017 0.013 2026-04-28 07:34:57,263 404 INFO 10768-16-0-without_demo werkzeug: 10.72.0.104 - - [28/Apr/2026 07:34:57] "POST /mail/thread/data HTTP/1.0" 200 - 16 0.008 0.033 2026-04-28 07:34:57,654 406 INFO 10768-16-0-without_demo werkzeug: 10.72.0.104 - - [28/Apr/2026 07:34:57] "POST /mail/thread/messages HTTP/1.0" 200 - 4 0.003 0.007 2026-04-28 07:34:57,676 404 INFO 10768-16-0-without_demo werkzeug: 10.72.0.104 - - [28/Apr/2026 07:34:57] "POST /mail/thread/data HTTP/1.0" 200 - 16 0.010 0.022 2026-04-28 07:34:57,693 404 INFO 10768-16-0-without_demo werkzeug: 10.72.0.104 - - [28/Apr/2026 07:34:57] "POST /mail/thread/data HTTP/1.0" 200 - 16 0.005 0.010 2026-04-28 07:34:57,815 406 INFO 10768-16-0-without_demo odoo.addons.budget.models.budget_commitment_mixin: Created new budget commitment New for purchase.request amount 1234.0 2026-04-28 07:34:57,861 406 INFO 10768-16-0-without_demo werkzeug: 10.72.0.104 - - [28/Apr/2026 07:34:57] "POST /web/dataset/call_button HTTP/1.0" 200 - 99 0.084 0.122 2026-04-28 07:34:57,932 404 INFO 10768-16-0-without_demo werkzeug: 10.72.0.104 - - [28/Apr/2026 07:34:57] "POST /web/dataset/call_kw/purchase.request/get_views HTTP/1.0" 200 - 12 0.007 0.051 2026-04-28 07:34:58,092 404 INFO 10768-16-0-without_demo werkzeug: 10.72.0.104 - - [28/Apr/2026 07:34:58] "POST /web/dataset/call_kw/purchase.request/read HTTP/1.0" 200 - 50 0.043 0.075 2026-04-28 07:34:58,148 406 INFO 10768-16-0-without_demo werkzeug: 10.72.0.104 - - [28/Apr/2026 07:34:58] "POST /web/dataset/call_kw/purchase.request.line/read HTTP/1.0" 200 - 18 0.016 0.027 2026-04-28 07:34:58,168 406 INFO 10768-16-0-without_demo werkzeug: 10.72.0.104 - - [28/Apr/2026 07:34:58] "POST /web/dataset/call_kw/account.fiscal.year/name_search HTTP/1.0" 200 - 3 0.001 0.006 2026-04-28 07:34:58,172 404 INFO 10768-16-0-without_demo werkzeug: 10.72.0.104 - - [28/Apr/2026 07:34:58] "POST /web/dataset/call_kw/operating.unit/name_search HTTP/1.0" 200 - 3 0.002 0.008 2026-04-28 07:34:58,180 406 INFO 10768-16-0-without_demo werkzeug: 10.72.0.104 - - [28/Apr/2026 07:34:58] "POST /web/dataset/call_kw/account.analytic.account/name_search HTTP/1.0" 200 - 5 0.003 0.008 2026-04-28 07:34:58,186 404 INFO 10768-16-0-without_demo werkzeug: 10.72.0.104 - - [28/Apr/2026 07:34:58] "POST /web/dataset/call_kw/account.analytic.account/name_search HTTP/1.0" 200 - 5 0.004 0.008 2026-04-28 07:34:58,186 406 INFO 10768-16-0-without_demo werkzeug: 10.72.0.104 - - [28/Apr/2026 07:34:58] "POST /web/dataset/call_kw/account.tax/name_search HTTP/1.0" 200 - 3 0.001 0.004 2026-04-28 07:34:58,236 406 INFO 10768-16-0-without_demo werkzeug: 10.72.0.104 - - [28/Apr/2026 07:34:58] "POST /mail/thread/messages HTTP/1.0" 200 - 22 0.010 0.020 2026-04-28 07:34:58,242 404 INFO 10768-16-0-without_demo werkzeug: 10.72.0.104 - - [28/Apr/2026 07:34:58] "POST /mail/thread/data HTTP/1.0" 200 - 16 0.013 0.022 2026-04-28 07:34:58,583 406 INFO 10768-16-0-without_demo werkzeug: 10.72.0.104 - - [28/Apr/2026 07:34:58] "POST /mail/thread/messages HTTP/1.0" 200 - 4 0.003 0.008 2026-04-28 07:34:58,608 404 INFO 10768-16-0-without_demo werkzeug: 10.72.0.104 - - [28/Apr/2026 07:34:58] "POST /mail/thread/data HTTP/1.0" 200 - 16 0.012 0.024 2026-04-28 07:34:58,631 404 INFO 10768-16-0-without_demo werkzeug: 10.72.0.104 - - [28/Apr/2026 07:34:58] "POST /mail/thread/data HTTP/1.0" 200 - 16 0.007 0.014 2026-04-28 07:34:58,683 406 INFO 10768-16-0-without_demo werkzeug: 10.72.0.104 - - [28/Apr/2026 07:34:58] "POST /web/dataset/call_button HTTP/1.0" 200 - 40 0.038 0.061 2026-04-28 07:34:58,779 404 INFO 10768-16-0-without_demo werkzeug: 10.72.0.104 - - [28/Apr/2026 07:34:58] "POST /web/dataset/call_kw/sarabun.document/get_views HTTP/1.0" 200 - 44 0.024 0.060 2026-04-28 07:34:58,899 404 INFO 10768-16-0-without_demo werkzeug: 10.72.0.104 - - [28/Apr/2026 07:34:58] "POST /web/dataset/call_kw/sarabun.document/read HTTP/1.0" 200 - 42 0.035 0.050 2026-04-28 07:34:58,961 404 INFO 10768-16-0-without_demo werkzeug: 10.72.0.104 - - [28/Apr/2026 07:34:58] "POST /mail/thread/messages HTTP/1.0" 200 - 19 0.014 0.019 2026-04-28 07:34:58,969 406 INFO 10768-16-0-without_demo werkzeug: 10.72.0.104 - - [28/Apr/2026 07:34:58] "POST /mail/thread/data HTTP/1.0" 200 - 19 0.017 0.023 2026-04-28 07:34:59,156 404 INFO 10768-16-0-without_demo odoo.addons.base.models.assetsbundle: Failed to find attachment for assets /web/assets/%-31cfbf6/1/web.report_assets_common.min.css 2026-04-28 07:35:00,158 404 INFO 10768-16-0-without_demo odoo.addons.base.models.assetsbundle: Failed to find attachment for assets /web/assets/%-c40ace6/1/web.assets_common.min.js 2026-04-28 07:35:00,164 406 INFO 10768-16-0-without_demo werkzeug: 10.72.0.104 - - [28/Apr/2026 07:35:00] "POST /mail/thread/data HTTP/1.0" 200 - 15 0.009 0.020 2026-04-28 07:35:00,174 406 INFO 10768-16-0-without_demo werkzeug: 10.72.0.104 - - [28/Apr/2026 07:35:00] "POST /mail/thread/messages HTTP/1.0" 200 - 4 0.003 0.006 2026-04-28 07:35:00,466 406 INFO 10768-16-0-without_demo werkzeug: 10.72.0.104 - - [28/Apr/2026 07:35:00] "POST /mail/thread/messages HTTP/1.0" 200 - 4 0.003 0.007 2026-04-28 07:35:00,500 406 INFO 10768-16-0-without_demo werkzeug: 10.72.0.104 - - [28/Apr/2026 07:35:00] "POST /mail/thread/data HTTP/1.0" 200 - 15 0.010 0.022 2026-04-28 07:35:00,527 406 INFO 10768-16-0-without_demo werkzeug: 10.72.0.104 - - [28/Apr/2026 07:35:00] "POST /mail/thread/data HTTP/1.0" 200 - 15 0.009 0.015 2026-04-28 07:35:00,766 404 INFO 10768-16-0-without_demo odoo.addons.base.models.assetsbundle: Failed to find attachment for assets /web/assets/%-31cfbf6/1/web.report_assets_common.min.js 2026-04-28 07:35:00,808 404 INFO 10768-16-0-without_demo werkzeug: 10.72.0.104 - - [28/Apr/2026 07:35:00] "GET /my/sarabun_document/16?access_token=1f49ffd5-fd97-432d-98ea-408632246156&report_type=html HTTP/1.0" 200 - 111 0.089 1.755 2026-04-28 07:35:01,380 406 INFO 10768-16-0-without_demo werkzeug: 10.72.0.104 - - [28/Apr/2026 07:35:01] "POST /web/dataset/call_kw/sarabun.route.template/name_search HTTP/1.0" 200 - 7 0.006 0.009 2026-04-28 07:35:01,626 406 INFO 10768-16-0-without_demo werkzeug: 10.72.0.104 - - [28/Apr/2026 07:35:01] "POST /web/dataset/call_kw/sarabun.document/onchange HTTP/1.0" 200 - 10 0.008 0.029 2026-04-28 07:35:01,652 406 INFO 10768-16-0-without_demo werkzeug: 10.72.0.104 - - [28/Apr/2026 07:35:01] "POST /mail/thread/messages HTTP/1.0" 200 - 4 0.003 0.008 2026-04-28 07:35:01,656 406 INFO ? werkzeug: 10.72.0.104 - - [28/Apr/2026 07:35:01] "GET /web/static/img/openhand.cur HTTP/1.0" 200 - 0 0.000 0.003 2026-04-28 07:35:01,700 404 INFO 10768-16-0-without_demo werkzeug: 10.72.0.104 - - [28/Apr/2026 07:35:01] "POST /mail/thread/data HTTP/1.0" 200 - 20 0.015 0.045 2026-04-28 07:35:02,328 404 INFO 10768-16-0-without_demo werkzeug: 10.72.0.104 - - [28/Apr/2026 07:35:02] "POST /mail/thread/messages HTTP/1.0" 200 - 4 0.003 0.012 2026-04-28 07:35:02,341 406 INFO 10768-16-0-without_demo werkzeug: 10.72.0.104 - - [28/Apr/2026 07:35:02] "POST /mail/thread/data HTTP/1.0" 200 - 15 0.010 0.019 2026-04-28 07:35:02,380 404 INFO 10768-16-0-without_demo werkzeug: 10.72.0.104 - - [28/Apr/2026 07:35:02] "POST /web/dataset/call_kw/sarabun.document/write HTTP/1.0" 200 - 20 0.017 0.034 2026-04-28 07:35:02,436 406 INFO 10768-16-0-without_demo werkzeug: 10.72.0.104 - - [28/Apr/2026 07:35:02] "POST /web/dataset/call_kw/sarabun.document/read HTTP/1.0" 200 - 30 0.022 0.023 2026-04-28 07:35:02,464 406 INFO 10768-16-0-without_demo werkzeug: 10.72.0.104 - - [28/Apr/2026 07:35:02] "POST /web/dataset/call_kw/sarabun.routing.line/read HTTP/1.0" 200 - 6 0.005 0.012 2026-04-28 07:35:02,501 404 INFO 10768-16-0-without_demo werkzeug: 10.72.0.104 - - [28/Apr/2026 07:35:02] "POST /mail/thread/messages HTTP/1.0" 200 - 21 0.012 0.011 2026-04-28 07:35:02,519 404 INFO 10768-16-0-without_demo werkzeug: 10.72.0.104 - - [28/Apr/2026 07:35:02] "POST /mail/thread/data HTTP/1.0" 200 - 15 0.007 0.010 2026-04-28 07:35:02,595 406 INFO 10768-16-0-without_demo werkzeug: 10.72.0.104 - - [28/Apr/2026 07:35:02] "POST /web/dataset/call_button HTTP/1.0" 200 - 56 0.043 0.076 2026-04-28 07:35:02,632 404 INFO 10768-16-0-without_demo werkzeug: 10.72.0.104 - - [28/Apr/2026 07:35:02] "POST /web/dataset/call_kw/res.users/get_sarabun_inbox_count HTTP/1.0" 200 - 11 0.009 0.012 2026-04-28 07:35:02,650 406 INFO 10768-16-0-without_demo werkzeug: 10.72.0.104 - - [28/Apr/2026 07:35:02] "POST /web/dataset/call_kw/sarabun.document/read HTTP/1.0" 200 - 27 0.014 0.029 2026-04-28 07:35:02,655 404 INFO 10768-16-0-without_demo werkzeug: 10.72.0.104 - - [28/Apr/2026 07:35:02] "GET /web/image/res.company/1/favicon HTTP/1.0" 304 - 10 0.008 0.013 2026-04-28 07:35:02,679 404 INFO 10768-16-0-without_demo werkzeug: 10.72.0.104 - - [28/Apr/2026 07:35:02] "POST /web/dataset/call_kw/sarabun.routing.line/read HTTP/1.0" 200 - 7 0.005 0.013 2026-04-28 07:35:02,723 406 INFO 10768-16-0-without_demo werkzeug: 10.72.0.104 - - [28/Apr/2026 07:35:02] "POST /mail/thread/data HTTP/1.0" 200 - 15 0.010 0.019 2026-04-28 07:35:02,728 404 INFO 10768-16-0-without_demo werkzeug: 10.72.0.104 - - [28/Apr/2026 07:35:02] "POST /mail/thread/messages HTTP/1.0" 200 - 22 0.015 0.019 2026-04-28 07:35:02,741 406 INFO 10768-16-0-without_demo werkzeug: 10.72.0.104 - - [28/Apr/2026 07:35:02] "POST /mail/thread/data HTTP/1.0" 200 - 15 0.005 0.011 2026-04-28 07:35:03,040 404 INFO 10768-16-0-without_demo werkzeug: 10.72.0.104 - - [28/Apr/2026 07:35:03] "POST /mail/thread/messages HTTP/1.0" 200 - 4 0.002 0.008 2026-04-28 07:35:03,056 406 INFO 10768-16-0-without_demo werkzeug: 10.72.0.104 - - [28/Apr/2026 07:35:03] "POST /mail/thread/data HTTP/1.0" 200 - 15 0.008 0.018 2026-04-28 07:35:03,077 404 INFO 10768-16-0-without_demo werkzeug: 10.72.0.104 - - [28/Apr/2026 07:35:03] "POST /web/dataset/call_button HTTP/1.0" 200 - 6 0.003 0.032 2026-04-28 07:35:03,079 406 INFO 10768-16-0-without_demo werkzeug: 10.72.0.104 - - [28/Apr/2026 07:35:03] "POST /mail/thread/data HTTP/1.0" 200 - 15 0.007 0.014 2026-04-28 07:35:03,100 406 INFO 10768-16-0-without_demo werkzeug: 10.72.0.104 - - [28/Apr/2026 07:35:03] "POST /web/dataset/call_kw/sarabun.signing.wizard/get_views HTTP/1.0" 200 - 9 0.003 0.010 2026-04-28 07:35:03,127 406 INFO 10768-16-0-without_demo werkzeug: 10.72.0.104 - - [28/Apr/2026 07:35:03] "POST /web/dataset/call_kw/sarabun.signing.wizard/onchange HTTP/1.0" 200 - 7 0.003 0.009 2026-04-28 07:35:03,148 404 INFO 10768-16-0-without_demo werkzeug: 10.72.0.104 - - [28/Apr/2026 07:35:03] "POST /web/dataset/call_kw/sarabun.role/search_read HTTP/1.0" 200 - 4 0.002 0.007 2026-04-28 07:35:03,176 406 INFO 10768-16-0-without_demo werkzeug: 10.72.0.104 - - [28/Apr/2026 07:35:03] "POST /mail/thread/messages HTTP/1.0" 200 - 4 0.002 0.006 2026-04-28 07:35:03,193 404 INFO 10768-16-0-without_demo werkzeug: 10.72.0.104 - - [28/Apr/2026 07:35:03] "POST /mail/thread/data HTTP/1.0" 200 - 15 0.007 0.017 2026-04-28 07:35:03,836 404 INFO 10768-16-0-without_demo werkzeug: 10.72.0.104 - - [28/Apr/2026 07:35:03] "POST /web/dataset/call_kw/sarabun.role/search_read HTTP/1.0" 200 - 4 0.002 0.006 2026-04-28 07:35:04,179 404 INFO 10768-16-0-without_demo werkzeug: 10.72.0.104 - - [28/Apr/2026 07:35:04] "POST /web/dataset/call_kw/sarabun.document/read HTTP/1.0" 200 - 20 0.011 0.024 2026-04-28 07:35:04,203 404 INFO 10768-16-0-without_demo werkzeug: 10.72.0.104 - - [28/Apr/2026 07:35:04] "POST /web/dataset/call_kw/sarabun.routing.line/read HTTP/1.0" 200 - 7 0.004 0.007 2026-04-28 07:35:04,225 404 INFO 10768-16-0-without_demo werkzeug: 10.72.0.104 - - [28/Apr/2026 07:35:04] "POST /mail/thread/messages HTTP/1.0" 200 - 4 0.003 0.004 2026-04-28 07:35:04,246 406 INFO 10768-16-0-without_demo werkzeug: 10.72.0.104 - - [28/Apr/2026 07:35:04] "POST /mail/thread/data HTTP/1.0" 200 - 15 0.008 0.018 2026-04-28 07:35:04,937 406 INFO 10768-16-0-without_demo werkzeug: 10.72.0.104 - - [28/Apr/2026 07:35:04] "POST /mail/thread/messages HTTP/1.0" 200 - 4 0.004 0.006 2026-04-28 07:35:04,945 406 INFO 10768-16-0-without_demo werkzeug: 10.72.0.104 - - [28/Apr/2026 07:35:04] "POST /web/dataset/call_button HTTP/1.0" 200 - 5 0.002 0.005 2026-04-28 07:35:04,954 404 INFO 10768-16-0-without_demo werkzeug: 10.72.0.104 - - [28/Apr/2026 07:35:04] "POST /mail/thread/data HTTP/1.0" 200 - 15 0.008 0.018 2026-04-28 07:35:04,963 406 INFO 10768-16-0-without_demo werkzeug: 10.72.0.104 - - [28/Apr/2026 07:35:04] "POST /mail/thread/data HTTP/1.0" 200 - 15 0.007 0.009 2026-04-28 07:35:04,987 404 INFO 10768-16-0-without_demo werkzeug: 10.72.0.104 - - [28/Apr/2026 07:35:04] "POST /web/dataset/call_kw/sarabun.signing.wizard/onchange HTTP/1.0" 200 - 6 0.004 0.022 2026-04-28 07:35:05,008 406 INFO 10768-16-0-without_demo werkzeug: 10.72.0.104 - - [28/Apr/2026 07:35:05] "POST /web/dataset/call_kw/sarabun.role/search_read HTTP/1.0" 200 - 4 0.002 0.007 2026-04-28 07:35:05,036 406 INFO 10768-16-0-without_demo werkzeug: 10.72.0.104 - - [28/Apr/2026 07:35:05] "POST /mail/thread/messages HTTP/1.0" 200 - 4 0.003 0.007 2026-04-28 07:35:05,065 404 INFO 10768-16-0-without_demo werkzeug: 10.72.0.104 - - [28/Apr/2026 07:35:05] "POST /mail/thread/data HTTP/1.0" 200 - 15 0.011 0.027 2026-04-28 07:35:06,596 404 INFO 10768-16-0-without_demo werkzeug: 10.72.0.104 - - [28/Apr/2026 07:35:06] "POST /web/dataset/call_kw/sarabun.role/search_read HTTP/1.0" 200 - 4 0.002 0.009 2026-04-28 07:35:07,040 406 INFO 10768-16-0-without_demo werkzeug: 10.72.0.104 - - [28/Apr/2026 07:35:07] "POST /web/dataset/call_kw/sarabun.signing.wizard/create HTTP/1.0" 200 - 4 0.004 0.008 2026-04-28 07:35:07,064 406 INFO 10768-16-0-without_demo werkzeug: 10.72.0.104 - - [28/Apr/2026 07:35:07] "POST /web/dataset/call_kw/sarabun.signing.wizard/read HTTP/1.0" 200 - 7 0.004 0.009 2026-04-28 07:35:07,112 406 INFO 10768-16-0-without_demo odoo.addons.agx_sarabun.models.sarabun_document: Calling _on_sarabun_action on purchase.request (id=21) with action=approve 2026-04-28 07:35:07,129 406 INFO 10768-16-0-without_demo odoo.addons.agx_sarabun.models.sarabun_document: Calling _on_sarabun_completed on purchase.request (id=21) 2026-04-28 07:35:07,131 406 INFO 10768-16-0-without_demo odoo.addons.purchase_request_sarabun.models.purchase_request: Sarabun completed callback for PR PR/60/วศ/0001 (id=21) from document สจล./2026/0016 2026-04-28 07:35:07,223 406 INFO 10768-16-0-without_demo werkzeug: 10.72.0.104 - - [28/Apr/2026 07:35:07] "POST /web/dataset/call_button HTTP/1.0" 200 - 69 0.055 0.092 2026-04-28 07:35:07,270 406 INFO 10768-16-0-without_demo werkzeug: 10.72.0.104 - - [28/Apr/2026 07:35:07] "POST /web/dataset/call_kw/sarabun.document/read HTTP/1.0" 200 - 20 0.010 0.024 2026-04-28 07:35:07,294 404 INFO 10768-16-0-without_demo werkzeug: 10.72.0.104 - - [28/Apr/2026 07:35:07] "POST /web/dataset/call_kw/sarabun.routing.line/read HTTP/1.0" 200 - 7 0.004 0.008 2026-04-28 07:35:07,332 404 INFO 10768-16-0-without_demo werkzeug: 10.72.0.104 - - [28/Apr/2026 07:35:07] "POST /mail/thread/messages HTTP/1.0" 200 - 22 0.012 0.012 2026-04-28 07:35:07,336 406 INFO 10768-16-0-without_demo werkzeug: 10.72.0.104 - - [28/Apr/2026 07:35:07] "POST /mail/thread/data HTTP/1.0" 200 - 15 0.008 0.018 2026-04-28 07:35:07,902 404 INFO 10768-16-0-without_demo werkzeug: 10.72.0.104 - - [28/Apr/2026 07:35:07] "POST /web/dataset/call_kw/purchase.request/read HTTP/1.0" 200 - 44 0.026 0.053 2026-04-28 07:35:07,943 406 INFO 10768-16-0-without_demo werkzeug: 10.72.0.104 - - [28/Apr/2026 07:35:07] "POST /web/dataset/call_kw/purchase.request.line/read HTTP/1.0" 200 - 13 0.009 0.020 2026-04-28 07:35:07,964 404 INFO 10768-16-0-without_demo werkzeug: 10.72.0.104 - - [28/Apr/2026 07:35:07] "POST /web/dataset/call_kw/account.fiscal.year/name_search HTTP/1.0" 200 - 3 0.002 0.008 2026-04-28 07:35:07,968 406 INFO 10768-16-0-without_demo werkzeug: 10.72.0.104 - - [28/Apr/2026 07:35:07] "POST /web/dataset/call_kw/account.analytic.account/name_search HTTP/1.0" 200 - 5 0.003 0.010 2026-04-28 07:35:07,973 404 INFO 10768-16-0-without_demo werkzeug: 10.72.0.104 - - [28/Apr/2026 07:35:07] "POST /web/dataset/call_kw/operating.unit/name_search HTTP/1.0" 200 - 3 0.002 0.006 2026-04-28 07:35:07,978 404 INFO 10768-16-0-without_demo werkzeug: 10.72.0.104 - - [28/Apr/2026 07:35:07] "POST /web/dataset/call_kw/account.tax/name_search HTTP/1.0" 200 - 3 0.001 0.003 2026-04-28 07:35:07,980 406 INFO 10768-16-0-without_demo werkzeug: 10.72.0.104 - - [28/Apr/2026 07:35:07] "POST /web/dataset/call_kw/account.analytic.account/name_search HTTP/1.0" 200 - 5 0.004 0.007 2026-04-28 07:35:08,029 406 INFO 10768-16-0-without_demo werkzeug: 10.72.0.104 - - [28/Apr/2026 07:35:08] "POST /mail/thread/messages HTTP/1.0" 200 - 22 0.012 0.019 2026-04-28 07:35:08,053 404 INFO 10768-16-0-without_demo werkzeug: 10.72.0.104 - - [28/Apr/2026 07:35:08] "POST /mail/thread/data HTTP/1.0" 200 - 28 0.021 0.034 2026-04-28 07:37:05,569 409 INFO 10768-16-0-without_demo odoo.addons.base.models.ir_cron: Starting job `Automatic Tier Validation`. 2026-04-28 07:37:05,578 409 INFO 10768-16-0-without_demo odoo.addons.base.models.ir_cron: Job `Automatic Tier Validation` done. 2026-04-28 07:42:51,527 409 INFO 10768-16-0-without_demo odoo.addons.base.models.ir_cron: Starting job `payment: post-process transactions`. 2026-04-28 07:42:51,534 409 INFO 10768-16-0-without_demo odoo.addons.base.models.ir_cron: Job `payment: post-process transactions` done. 2026-04-28 07:52:05,081 409 INFO 10768-16-0-without_demo odoo.addons.base.models.ir_cron: Starting job `payment: post-process transactions`. 2026-04-28 07:52:05,092 409 INFO 10768-16-0-without_demo odoo.addons.base.models.ir_cron: Job `payment: post-process transactions` done. 2026-04-28 08:02:27,826 409 INFO 10768-16-0-without_demo odoo.addons.base.models.ir_cron: Starting job `payment: post-process transactions`. 2026-04-28 08:02:27,834 409 INFO 10768-16-0-without_demo odoo.addons.base.models.ir_cron: Job `payment: post-process transactions` done. 2026-04-28 08:06:51,595 406 INFO 10768-16-0-without_demo werkzeug: 10.72.0.104 - - [28/Apr/2026 08:06:51] "GET / HTTP/1.0" 200 - 143 0.112 0.654 2026-04-28 08:06:51,652 404 INFO ? werkzeug: 10.72.0.104 - - [28/Apr/2026 08:06:51] "GET /web/static/src/libs/fontawesome/fonts/fontawesome-webfont.woff2?v=4.7.0 HTTP/1.0" 200 - 1 0.005 0.014 2026-04-28 08:06:51,669 406 INFO 10768-16-0-without_demo werkzeug: 10.72.0.104 - - [28/Apr/2026 08:06:51] "GET /web/assets/274-34e5c55/1/web.assets_frontend.min.css HTTP/1.0" 200 - 5 0.004 0.019 2026-04-28 08:06:51,996 406 INFO ? werkzeug: 10.72.0.104 - - [28/Apr/2026 08:06:51] "GET /base_fontawesome/static/lib/fontawesome-6.5.1/webfonts/fa-brands-400.woff2 HTTP/1.0" 200 - 1 0.005 0.009 2026-04-28 08:06:52,005 406 INFO ? werkzeug: 10.72.0.104 - - [28/Apr/2026 08:06:52] "GET /web/static/fonts/twitter_x_only.woff HTTP/1.0" 200 - 1 0.002 0.006 2026-04-28 08:06:52,011 404 INFO 10768-16-0-without_demo werkzeug: 10.72.0.104 - - [28/Apr/2026 08:06:52] "GET /web/assets/275-1de624b/1/web.assets_frontend_minimal.min.js HTTP/1.0" 200 - 8 0.011 0.017 2026-04-28 08:06:52,032 406 INFO ? werkzeug: 10.72.0.104 - - [28/Apr/2026 08:06:52] "GET /base_fontawesome/static/lib/fontawesome-6.5.1/webfonts/fa-solid-900.woff2 HTTP/1.0" 200 - 1 0.003 0.008 2026-04-28 08:06:52,060 406 INFO 10768-16-0-without_demo werkzeug: 10.72.0.104 - - [28/Apr/2026 08:06:52] "GET /web/assets/275-1de624b/1/web.assets_frontend_minimal.min.js HTTP/1.0" 200 - 5 0.005 0.014 2026-04-28 08:06:52,085 406 INFO 10768-16-0-without_demo werkzeug: 10.72.0.104 - - [28/Apr/2026 08:06:52] "GET /web/assets/276-5bbbc3e/1/web.assets_frontend_lazy.min.js HTTP/1.0" 200 - 5 0.006 0.013 2026-04-28 08:06:52,098 404 INFO 10768-16-0-without_demo werkzeug: 10.72.0.104 - - [28/Apr/2026 08:06:52] "GET /web/image/website/1/favicon?unique=a4e853f HTTP/1.0" 200 - 9 0.013 0.019 2026-04-28 08:06:52,300 406 INFO 10768-16-0-without_demo werkzeug: 10.72.0.104 - - [28/Apr/2026 08:06:52] "GET /web/assets/276-5bbbc3e/1/web.assets_frontend_lazy.min.js HTTP/1.0" 200 - 5 0.007 0.015 2026-04-28 08:06:52,316 404 INFO 10768-16-0-without_demo werkzeug: 10.72.0.104 - - [28/Apr/2026 08:06:52] "GET /website/translations/76088d6be19ccea33315de4d609bce1d8c50ac29?lang=en_US HTTP/1.0" 200 - 4 0.008 0.020 2026-04-28 08:07:19,344 404 INFO ? werkzeug: 10.72.0.104 - - [28/Apr/2026 08:07:19] "GET /web/static/img/odoo_logo_tiny.png HTTP/1.0" 200 - 1 0.002 0.008 2026-04-28 08:07:19,350 406 INFO 10768-16-0-without_demo werkzeug: 10.72.0.104 - - [28/Apr/2026 08:07:19] "GET /web/image/website/1/logo/My%20Website?unique=a4e853f HTTP/1.0" 200 - 6 0.007 0.010 2026-04-28 08:12:50,492 409 INFO 10768-16-0-without_demo odoo.addons.base.models.ir_cron: Starting job `payment: post-process transactions`. 2026-04-28 08:12:50,503 409 INFO 10768-16-0-without_demo odoo.addons.base.models.ir_cron: Job `payment: post-process transactions` done. 2026-04-28 08:22:04,072 409 INFO 10768-16-0-without_demo odoo.addons.base.models.ir_cron: Starting job `payment: post-process transactions`. 2026-04-28 08:22:04,082 409 INFO 10768-16-0-without_demo odoo.addons.base.models.ir_cron: Job `payment: post-process transactions` done. 2026-04-28 08:31:17,586 409 INFO 10768-16-0-without_demo odoo.addons.base.models.ir_cron: Starting job `Mail: Email Queue Manager`. 2026-04-28 08:31:17,593 409 INFO 10768-16-0-without_demo odoo.addons.base.models.ir_cron: Job `Mail: Email Queue Manager` done. 2026-04-28 08:31:17,606 409 INFO 10768-16-0-without_demo odoo.addons.base.models.ir_cron: Starting job `Notification: Send scheduled message notifications`. 2026-04-28 08:31:17,613 409 INFO 10768-16-0-without_demo odoo.addons.base.models.ir_cron: Job `Notification: Send scheduled message notifications` done. 2026-04-28 08:32:26,811 409 INFO 10768-16-0-without_demo odoo.addons.base.models.ir_cron: Starting job `Digest Emails`. 2026-04-28 08:32:29,221 409 INFO 10768-16-0-without_demo odoo.addons.base.models.ir_cron: Job `Digest Emails` done. 2026-04-28 08:32:29,314 409 INFO 10768-16-0-without_demo odoo.addons.base.models.ir_cron: Starting job `Partner Autocomplete : Sync with remote DB`. 2026-04-28 08:32:29,319 409 INFO 10768-16-0-without_demo odoo.addons.base.models.ir_cron: Job `Partner Autocomplete : Sync with remote DB` done. 2026-04-28 08:32:29,326 409 INFO 10768-16-0-without_demo odoo.addons.base.models.ir_cron: Starting job `Snailmail: process letters queue`. 2026-04-28 08:32:29,329 409 INFO 10768-16-0-without_demo odoo.addons.base.models.ir_cron: Job `Snailmail: process letters queue` done. 2026-04-28 08:32:29,334 409 INFO 10768-16-0-without_demo odoo.addons.base.models.ir_cron: Starting job `SMS: SMS Queue Manager`. 2026-04-28 08:32:29,338 409 INFO 10768-16-0-without_demo odoo.addons.base.models.ir_cron: Job `SMS: SMS Queue Manager` done. 2026-04-28 08:32:29,343 409 INFO 10768-16-0-without_demo odoo.addons.base.models.ir_cron: Starting job `payment: post-process transactions`. 2026-04-28 08:32:29,346 409 INFO 10768-16-0-without_demo odoo.addons.base.models.ir_cron: Job `payment: post-process transactions` done. 2026-04-28 08:37:06,149 409 INFO 10768-16-0-without_demo odoo.addons.base.models.ir_cron: Starting job `Automatic Tier Validation`. 2026-04-28 08:37:06,160 409 INFO 10768-16-0-without_demo odoo.addons.base.models.ir_cron: Job `Automatic Tier Validation` done. 2026-04-28 08:37:20,719 404 INFO 10768-16-0-without_demo werkzeug: 10.72.0.104 - - [28/Apr/2026 08:37:20] "GET / HTTP/1.0" 200 - 132 0.124 0.744 2026-04-28 08:37:24,854 404 INFO 10768-16-0-without_demo werkzeug: 10.72.0.104 - - [28/Apr/2026 08:37:24] "GET /web/login HTTP/1.0" 200 - 20 0.017 0.057 2026-04-28 08:37:27,395 404 INFO 10768-16-0-without_demo odoo.addons.base.models.res_users: Login successful for db:10768-16-0-without_demo login:admin from 10.72.0.104 2026-04-28 08:37:27,426 404 INFO 10768-16-0-without_demo odoo.models.unlink: User #4 deleted website.visitor records with IDs: [3] 2026-04-28 08:37:27,446 404 INFO 10768-16-0-without_demo werkzeug: 10.72.0.104 - - [28/Apr/2026 08:37:27] "POST /web/login HTTP/1.0" 303 - 47 0.069 0.670 2026-04-28 08:37:27,985 406 INFO 10768-16-0-without_demo werkzeug: 10.72.0.104 - - [28/Apr/2026 08:37:27] "GET /web HTTP/1.0" 200 - 49 0.081 0.345 2026-04-28 08:37:28,068 406 INFO 10768-16-0-without_demo werkzeug: 10.72.0.104 - - [28/Apr/2026 08:37:28] "GET /web/assets/277-c40ace6/web.assets_common.min.css HTTP/1.0" 200 - 4 0.002 0.008 2026-04-28 08:37:28,078 404 INFO 10768-16-0-without_demo werkzeug: 10.72.0.104 - - [28/Apr/2026 08:37:28] "GET /web/assets/278-64f1211/web.assets_backend.min.css HTTP/1.0" 200 - 4 0.002 0.016 2026-04-28 08:37:28,087 406 INFO 10768-16-0-without_demo werkzeug: 10.72.0.104 - - [28/Apr/2026 08:37:28] "GET /web/assets/279-c40ace6/web.assets_common.min.js HTTP/1.0" 200 - 4 0.002 0.006 2026-04-28 08:37:28,103 406 INFO 10768-16-0-without_demo werkzeug: 10.72.0.104 - - [28/Apr/2026 08:37:28] "GET /web/assets/281-260b8f1/web.assets_backend_prod_only.min.js HTTP/1.0" 200 - 4 0.001 0.006 2026-04-28 08:37:28,111 404 INFO 10768-16-0-without_demo werkzeug: 10.72.0.104 - - [28/Apr/2026 08:37:28] "GET /web/assets/280-64f1211/web.assets_backend.min.js HTTP/1.0" 200 - 4 0.002 0.023 2026-04-28 08:37:28,196 406 INFO 10768-16-0-without_demo werkzeug: 10.72.0.104 - - [28/Apr/2026 08:37:28] "GET /web/webclient/load_menus/37ca1416c3e2a3a39400f64b2ea43389c6ed542e522ab94ebddfffd49a20825c HTTP/1.0" 200 - 1 0.000 0.065 2026-04-28 08:37:28,262 406 INFO 10768-16-0-without_demo werkzeug: 10.72.0.104 - - [28/Apr/2026 08:37:28] "GET /web/assets/281-260b8f1/web.assets_backend_prod_only.min.js HTTP/1.0" 200 - 4 0.001 0.007 2026-04-28 08:37:28,505 406 INFO 10768-16-0-without_demo werkzeug: 10.72.0.104 - - [28/Apr/2026 08:37:28] "GET /web/assets/279-c40ace6/web.assets_common.min.js HTTP/1.0" 200 - 4 0.002 0.007 2026-04-28 08:37:29,920 406 INFO 10768-16-0-without_demo werkzeug: 10.72.0.104 - - [28/Apr/2026 08:37:29] "GET /web/assets/280-64f1211/web.assets_backend.min.js HTTP/1.0" 200 - 4 0.002 0.008 2026-04-28 08:37:30,139 406 INFO ? werkzeug: 10.72.0.104 - - [28/Apr/2026 08:37:30] "GET /web/static/img/favicon.ico HTTP/1.0" 200 - 0 0.000 0.003 2026-04-28 08:37:31,270 404 INFO 10768-16-0-without_demo werkzeug: 10.72.0.104 - - [28/Apr/2026 08:37:31] "GET /web/webclient/translations/6e71482e341eaee90d5333afb84312a760fcd156?lang=th_TH HTTP/1.0" 200 - 2 0.001 3.139 2026-04-28 08:37:31,387 406 INFO 10768-16-0-without_demo werkzeug: 10.72.0.104 - - [28/Apr/2026 08:37:31] "GET /bus/websocket_worker_bundle?v=1.0.5 HTTP/1.0" 200 - 4 0.002 0.007 2026-04-28 08:37:31,392 406 INFO ? werkzeug: 10.72.0.104 - - [28/Apr/2026 08:37:31] "GET /agx_sarabun/static/src/audio/ting.ogg HTTP/1.0" 206 - 0 0.000 0.003 2026-04-28 08:37:31,395 406 INFO ? werkzeug: 10.72.0.104 - - [28/Apr/2026 08:37:31] "GET /mail/static/src/audio/ting.ogg HTTP/1.0" 206 - 0 0.000 0.002 2026-04-28 08:37:31,401 406 INFO 10768-16-0-without_demo werkzeug: 10.72.0.104 - - [28/Apr/2026 08:37:31] "GET /web/webclient/locale/th_TH HTTP/1.0" 200 - 1 0.000 0.004 2026-04-28 08:37:31,425 406 INFO 10768-16-0-without_demo werkzeug: 10.72.0.104 - - [28/Apr/2026 08:37:31] "GET /bus/websocket_worker_bundle?v=1.0.5 HTTP/1.0" 200 - 4 0.002 0.008 2026-04-28 08:37:31,436 406 INFO 10768-16-0-without_demo werkzeug: 10.72.0.104 - - [28/Apr/2026 08:37:31] "POST /web/dataset/call_kw/res.users/get_wa_inbox_count HTTP/1.0" 200 - 2 0.002 0.008 2026-04-28 08:37:31,446 406 INFO 10768-16-0-without_demo werkzeug: 10.72.0.104 - - [28/Apr/2026 08:37:31] "POST /web/dataset/call_kw/res.users/get_sarabun_inbox_count HTTP/1.0" 200 - 2 0.002 0.006 2026-04-28 08:37:31,455 406 INFO 10768-16-0-without_demo werkzeug: 10.72.0.104 - - [28/Apr/2026 08:37:31] "POST /web/dataset/call_kw/res.company/get_current_fiscal_year_name HTTP/1.0" 200 - 4 0.002 0.007 2026-04-28 08:37:31,464 406 INFO 10768-16-0-without_demo werkzeug: 10.72.0.104 - - [28/Apr/2026 08:37:31] "POST /web/dataset/call_kw/res.users/review_user_count HTTP/1.0" 200 - 3 0.002 0.006 2026-04-28 08:37:31,473 404 INFO 10768-16-0-without_demo werkzeug: 10.72.0.104 - - [28/Apr/2026 08:37:31] "POST /mail/init_messaging HTTP/1.0" 200 - 34 0.037 0.048 2026-04-28 08:37:31,479 404 INFO 10768-16-0-without_demo werkzeug: 10.72.0.104 - - [28/Apr/2026 08:37:31] "GET /web/webclient/locale/th_TH HTTP/1.0" 200 - 1 0.000 0.005 2026-04-28 08:37:31,486 404 INFO 10768-16-0-without_demo werkzeug: 10.72.0.104 - - [28/Apr/2026 08:37:31] "POST /web/dataset/call_kw/web.environment.ribbon.backend/get_environment_ribbon HTTP/1.0" 200 - 4 0.001 0.004 2026-04-28 08:37:31,492 406 INFO 10768-16-0-without_demo werkzeug: 10.72.0.104 - - [28/Apr/2026 08:37:31] "POST /web/dataset/call_kw/res.users/systray_get_activities HTTP/1.0" 200 - 10 0.010 0.016 2026-04-28 08:37:31,502 404 INFO 10768-16-0-without_demo werkzeug: 10.72.0.104 - - [28/Apr/2026 08:37:31] "GET /web/image?model=res.users&field=avatar_128&id=2 HTTP/1.0" 200 - 8 0.004 0.010 2026-04-28 08:37:31,505 404 INFO ? werkzeug: 10.72.0.104 - - [28/Apr/2026 08:37:31] "GET /web/static/lib/odoo_ui_icons/fonts/odoo_ui_icons.woff2 HTTP/1.0" 200 - 0 0.000 0.002 2026-04-28 08:37:31,507 404 INFO ? werkzeug: 10.72.0.104 - - [28/Apr/2026 08:37:31] "GET /base_fontawesome/static/lib/fontawesome-6.5.1/webfonts/fa-regular-400.woff2 HTTP/1.0" 200 - 0 0.000 0.002 2026-04-28 08:37:31,513 406 INFO 10768-16-0-without_demo werkzeug: 10.72.0.104 - - [28/Apr/2026 08:37:31] "POST /web/action/load HTTP/1.0" 200 - 8 0.003 0.017 2026-04-28 08:37:31,517 404 INFO 10768-16-0-without_demo werkzeug: 10.72.0.104 - - [28/Apr/2026 08:37:31] "GET /web/image/res.company/1/favicon HTTP/1.0" 200 - 5 0.002 0.006 2026-04-28 08:37:31,527 406 INFO 10768-16-0-without_demo werkzeug: 10.72.0.104 - - [28/Apr/2026 08:37:31] "POST /mail/load_message_failures HTTP/1.0" 200 - 3 0.006 0.006 2026-04-28 08:37:31,620 404 INFO 10768-16-0-without_demo werkzeug: 10.72.0.104 - - [28/Apr/2026 08:37:31] "POST /mail/inbox/messages HTTP/1.0" 200 - 5 0.005 0.007 2026-04-28 08:37:31,643 406 INFO 10768-16-0-without_demo werkzeug: 10.72.0.104 - - [28/Apr/2026 08:37:31] "GET /web/image/res.partner/2/avatar_128 HTTP/1.0" 200 - 7 0.006 0.013 2026-04-28 08:37:31,645 404 INFO 10768-16-0-without_demo werkzeug: 10.72.0.104 - - [28/Apr/2026 08:37:31] "GET /web/image/mail.channel/1/avatar_128?unique=7f8c039d18d2c51e32774976ca6e96609c79e59356c7f91670904e01f09ebe1a8f0fbb0cc454a1a57564199d9306ba054767b9aaac821f6712a8c3ddd6cebf46 HTTP/1.0" 200 - 9 0.007 0.014 2026-04-28 08:38:38,549 404 INFO ? werkzeug: 10.72.0.104 - - [28/Apr/2026 08:38:38] "GET /web_responsive/static/src/img/home-menu-bg-overlay.svg HTTP/1.0" 200 - 0 0.000 0.003 2026-04-28 08:38:38,556 404 INFO ? werkzeug: 10.72.0.104 - - [28/Apr/2026 08:38:38] "GET /web_responsive/static/img/default_icon_app.png HTTP/1.0" 200 - 0 0.000 0.002 2026-04-28 08:38:39,815 406 INFO 10768-16-0-without_demo werkzeug: 10.72.0.104 - - [28/Apr/2026 08:38:39] "POST /web/action/load HTTP/1.0" 200 - 12 0.011 0.023 2026-04-28 08:38:39,921 404 INFO 10768-16-0-without_demo werkzeug: 10.72.0.104 - - [28/Apr/2026 08:38:39] "POST /web/dataset/call_kw/budget.appropriation/get_views HTTP/1.0" 200 - 36 0.019 0.072 2026-04-28 08:38:39,993 404 INFO 10768-16-0-without_demo werkzeug: 10.72.0.104 - - [28/Apr/2026 08:38:39] "POST /web/dataset/call_kw/budget.appropriation/search_panel_select_range HTTP/1.0" 200 - 11 0.007 0.010 2026-04-28 08:38:39,997 406 INFO 10768-16-0-without_demo werkzeug: 10.72.0.104 - - [28/Apr/2026 08:38:39] "POST /web/dataset/call_kw/budget.appropriation/search_panel_select_range HTTP/1.0" 200 - 9 0.009 0.012 2026-04-28 08:38:40,002 404 INFO 10768-16-0-without_demo werkzeug: 10.72.0.104 - - [28/Apr/2026 08:38:40] "POST /web/dataset/call_kw/res.users/has_group HTTP/1.0" 200 - 2 0.001 0.003 2026-04-28 08:38:40,016 404 INFO 10768-16-0-without_demo werkzeug: 10.72.0.104 - - [28/Apr/2026 08:38:40] "POST /web/dataset/call_kw/budget.appropriation/search_panel_select_range HTTP/1.0" 200 - 5 0.003 0.010 2026-04-28 08:38:40,025 406 INFO 10768-16-0-without_demo werkzeug: 10.72.0.104 - - [28/Apr/2026 08:38:40] "POST /web/dataset/call_kw/budget.appropriation/web_search_read HTTP/1.0" 200 - 9 0.005 0.021 2026-04-28 08:38:40,103 404 INFO 10768-16-0-without_demo werkzeug: 10.72.0.104 - - [28/Apr/2026 08:38:40] "GET /web/image/res.users/1/avatar_128 HTTP/1.0" 200 - 9 0.005 0.017 2026-04-28 08:40:19,673 407 INFO 10768-16-0-without_demo longpolling: 10.72.0.104 - - [2026-04-28 08:40:19] "GET /websocket HTTP/1.0" 101 417 4177.870916 2026-04-28 08:42:52,114 409 INFO 10768-16-0-without_demo odoo.addons.base.models.ir_cron: Starting job `payment: post-process transactions`. 2026-04-28 08:42:52,125 409 INFO 10768-16-0-without_demo odoo.addons.base.models.ir_cron: Job `payment: post-process transactions` done. 2026-04-28 08:51:15,846 407 INFO 10768-16-0-without_demo longpolling: 10.72.0.104 - - [2026-04-28 08:51:15] "GET /websocket HTTP/1.0" 101 417 655.525310 2026-04-28 08:52:05,571 409 INFO 10768-16-0-without_demo odoo.addons.base.models.ir_cron: Starting job `payment: post-process transactions`. 2026-04-28 08:52:05,582 409 INFO 10768-16-0-without_demo odoo.addons.base.models.ir_cron: Job `payment: post-process transactions` done. 2026-04-28 08:56:27,783 406 INFO 10768-16-0-without_demo werkzeug: 10.72.0.104 - - [28/Apr/2026 08:56:27] "GET / HTTP/1.0" 200 - 137 0.137 0.855 2026-04-28 08:56:27,900 404 INFO ? werkzeug: 10.72.0.104 - - [28/Apr/2026 08:56:27] "GET /website/static/description/icon.png HTTP/1.0" 200 - 0 0.000 0.004 2026-04-28 08:56:27,914 404 INFO ? werkzeug: 10.72.0.104 - - [28/Apr/2026 08:56:27] "GET /base/static/img/country_flags/us.png?height=25 HTTP/1.0" 200 - 0 0.000 0.003 2026-04-28 08:56:28,002 404 INFO 10768-16-0-without_demo werkzeug: 10.72.0.104 - - [28/Apr/2026 08:56:28] "GET /website/translations/9dd4337e46c5da5529be26d8dfcbac71c552f060?lang=en_US HTTP/1.0" 200 - 3 0.008 0.012 2026-04-28 08:56:28,039 404 INFO 10768-16-0-without_demo werkzeug: 10.72.0.104 - - [28/Apr/2026 08:56:28] "POST /web/dataset/call_kw/web_tour.tour/get_consumed_tours HTTP/1.0" 200 - 7 0.009 0.008 2026-04-28 09:02:28,321 409 INFO 10768-16-0-without_demo odoo.addons.base.models.ir_cron: Starting job `payment: post-process transactions`. 2026-04-28 09:02:28,328 409 INFO 10768-16-0-without_demo odoo.addons.base.models.ir_cron: Job `payment: post-process transactions` done. 2026-04-28 09:04:39,344 404 INFO 10768-16-0-without_demo werkzeug: 10.72.0.104 - - [28/Apr/2026 09:04:39] "POST /web/action/load HTTP/1.0" 200 - 13 0.012 0.016 2026-04-28 09:04:39,563 406 INFO 10768-16-0-without_demo werkzeug: 10.72.0.104 - - [28/Apr/2026 09:04:39] "POST /web/dataset/call_kw/account.asset/get_views HTTP/1.0" 200 - 52 0.039 0.167 2026-04-28 09:04:39,630 406 INFO 10768-16-0-without_demo werkzeug: 10.72.0.104 - - [28/Apr/2026 09:04:39] "POST /web/dataset/call_kw/account.asset/web_search_read HTTP/1.0" 200 - 9 0.010 0.013 2026-04-28 09:04:39,657 404 INFO ? werkzeug: 10.72.0.104 - - [28/Apr/2026 09:04:39] "GET /web/static/img/smiling_face.svg HTTP/1.0" 200 - 0 0.000 0.003 2026-04-28 09:11:16,453 407 INFO 10768-16-0-without_demo longpolling: 10.72.0.104 - - [2026-04-28 09:11:16] "GET /websocket HTTP/1.0" 101 417 2025.034880 2026-04-28 09:12:51,014 409 INFO 10768-16-0-without_demo odoo.addons.base.models.ir_cron: Starting job `payment: post-process transactions`. 2026-04-28 09:12:51,019 409 INFO 10768-16-0-without_demo odoo.addons.base.models.ir_cron: Job `payment: post-process transactions` done. 2026-04-28 09:16:09,398 404 INFO 10768-16-0-without_demo werkzeug: 10.72.0.104 - - [28/Apr/2026 09:16:09] "POST /web/webclient/version_info HTTP/1.0" 200 - 1 0.000 0.005 2026-04-28 09:22:04,479 409 INFO 10768-16-0-without_demo odoo.addons.base.models.ir_cron: Starting job `payment: post-process transactions`. 2026-04-28 09:22:04,486 409 INFO 10768-16-0-without_demo odoo.addons.base.models.ir_cron: Job `payment: post-process transactions` done. 2026-04-28 09:31:18,022 409 INFO 10768-16-0-without_demo odoo.addons.base.models.ir_cron: Starting job `Update user roles`. 2026-04-28 09:31:18,029 409 INFO 10768-16-0-without_demo root: Update user roles 2026-04-28 09:31:18,030 409 INFO 10768-16-0-without_demo odoo.addons.base.models.ir_cron: Job `Update user roles` done. 2026-04-28 09:31:18,041 409 INFO 10768-16-0-without_demo odoo.addons.base.models.ir_cron: Starting job `Mail: Email Queue Manager`. 2026-04-28 09:31:18,073 409 INFO 10768-16-0-without_demo odoo.addons.base.models.ir_cron: Job `Mail: Email Queue Manager` done. 2026-04-28 09:31:18,084 409 INFO 10768-16-0-without_demo odoo.addons.base.models.ir_cron: Starting job `Notification: Send scheduled message notifications`. 2026-04-28 09:31:18,090 409 INFO 10768-16-0-without_demo odoo.addons.base.models.ir_cron: Job `Notification: Send scheduled message notifications` done. 2026-04-28 09:32:27,291 409 INFO 10768-16-0-without_demo odoo.addons.base.models.ir_cron: Starting job `Snailmail: process letters queue`. 2026-04-28 09:32:27,296 409 INFO 10768-16-0-without_demo odoo.addons.base.models.ir_cron: Job `Snailmail: process letters queue` done. 2026-04-28 09:32:27,305 409 INFO 10768-16-0-without_demo odoo.addons.base.models.ir_cron: Starting job `SMS: SMS Queue Manager`. 2026-04-28 09:32:27,312 409 INFO 10768-16-0-without_demo odoo.addons.base.models.ir_cron: Job `SMS: SMS Queue Manager` done. 2026-04-28 09:32:27,319 409 INFO 10768-16-0-without_demo odoo.addons.base.models.ir_cron: Starting job `payment: post-process transactions`. 2026-04-28 09:32:27,323 409 INFO 10768-16-0-without_demo odoo.addons.base.models.ir_cron: Job `payment: post-process transactions` done. 2026-04-28 09:32:27,330 409 INFO 10768-16-0-without_demo odoo.addons.base.models.ir_cron: Starting job `Partner Autocomplete : Sync with remote DB`. 2026-04-28 09:32:27,333 409 INFO 10768-16-0-without_demo odoo.addons.base.models.ir_cron: Job `Partner Autocomplete : Sync with remote DB` done. 2026-04-28 09:37:04,113 409 INFO 10768-16-0-without_demo odoo.addons.base.models.ir_cron: Starting job `Automatic Tier Validation`. 2026-04-28 09:37:04,124 409 INFO 10768-16-0-without_demo odoo.addons.base.models.ir_cron: Job `Automatic Tier Validation` done. 2026-04-28 09:42:50,072 409 INFO 10768-16-0-without_demo odoo.addons.base.models.ir_cron: Starting job `payment: post-process transactions`. 2026-04-28 09:42:50,083 409 INFO 10768-16-0-without_demo odoo.addons.base.models.ir_cron: Job `payment: post-process transactions` done. 2026-04-28 09:52:03,635 409 INFO 10768-16-0-without_demo odoo.addons.base.models.ir_cron: Starting job `payment: post-process transactions`. 2026-04-28 09:52:03,644 409 INFO 10768-16-0-without_demo odoo.addons.base.models.ir_cron: Job `payment: post-process transactions` done. 2026-04-28 09:53:58,460 407 INFO 10768-16-0-without_demo longpolling: 10.72.0.104 - - [2026-04-28 09:53:58] "GET /websocket HTTP/1.0" 101 417 2269.654564 2026-04-28 09:55:22,849 407 INFO 10768-16-0-without_demo longpolling: 10.72.0.104 - - [2026-04-28 09:55:22] "GET /websocket HTTP/1.0" 101 417 82.615145 2026-04-28 09:56:47,406 407 INFO 10768-16-0-without_demo longpolling: 10.72.0.104 - - [2026-04-28 09:56:47] "GET /websocket HTTP/1.0" 101 417 84.605288 2026-04-28 09:58:19,714 407 INFO 10768-16-0-without_demo longpolling: 10.72.0.104 - - [2026-04-28 09:58:19] "GET /websocket HTTP/1.0" 101 417 90.039930 2026-04-28 10:02:26,360 409 INFO 10768-16-0-without_demo odoo.addons.base.models.ir_cron: Starting job `payment: post-process transactions`. 2026-04-28 10:02:26,367 409 INFO 10768-16-0-without_demo odoo.addons.base.models.ir_cron: Job `payment: post-process transactions` done. 2026-04-28 10:08:01,830 407 INFO 10768-16-0-without_demo longpolling: 10.72.0.104 - - [2026-04-28 10:08:01] "GET /websocket HTTP/1.0" 101 417 628.625333 2026-04-28 10:12:48,932 409 INFO 10768-16-0-without_demo odoo.addons.base.models.ir_cron: Starting job `payment: post-process transactions`. 2026-04-28 10:12:48,943 409 INFO 10768-16-0-without_demo odoo.addons.base.models.ir_cron: Job `payment: post-process transactions` done. 2026-04-28 10:22:02,486 409 INFO 10768-16-0-without_demo odoo.addons.base.models.ir_cron: Starting job `payment: post-process transactions`. 2026-04-28 10:22:02,494 409 INFO 10768-16-0-without_demo odoo.addons.base.models.ir_cron: Job `payment: post-process transactions` done. 2026-04-28 10:32:25,206 409 INFO 10768-16-0-without_demo odoo.addons.base.models.ir_cron: Starting job `Mail: Email Queue Manager`. 2026-04-28 10:32:25,218 409 INFO 10768-16-0-without_demo odoo.addons.base.models.ir_cron: Job `Mail: Email Queue Manager` done. 2026-04-28 10:32:25,229 409 INFO 10768-16-0-without_demo odoo.addons.base.models.ir_cron: Starting job `Notification: Send scheduled message notifications`. 2026-04-28 10:32:25,236 409 INFO 10768-16-0-without_demo odoo.addons.base.models.ir_cron: Job `Notification: Send scheduled message notifications` done. 2026-04-28 10:32:25,244 409 INFO 10768-16-0-without_demo odoo.addons.base.models.ir_cron: Starting job `Partner Autocomplete : Sync with remote DB`. 2026-04-28 10:32:25,248 409 INFO 10768-16-0-without_demo odoo.addons.base.models.ir_cron: Job `Partner Autocomplete : Sync with remote DB` done. 2026-04-28 10:32:25,256 409 INFO 10768-16-0-without_demo odoo.addons.base.models.ir_cron: Starting job `payment: post-process transactions`. 2026-04-28 10:32:25,260 409 INFO 10768-16-0-without_demo odoo.addons.base.models.ir_cron: Job `payment: post-process transactions` done. 2026-04-28 10:32:25,266 409 INFO 10768-16-0-without_demo odoo.addons.base.models.ir_cron: Starting job `Snailmail: process letters queue`. 2026-04-28 10:32:25,269 409 INFO 10768-16-0-without_demo odoo.addons.base.models.ir_cron: Job `Snailmail: process letters queue` done. 2026-04-28 10:32:25,274 409 INFO 10768-16-0-without_demo odoo.addons.base.models.ir_cron: Starting job `SMS: SMS Queue Manager`. 2026-04-28 10:32:25,276 409 INFO 10768-16-0-without_demo odoo.addons.base.models.ir_cron: Job `SMS: SMS Queue Manager` done. 2026-04-28 10:37:01,956 409 INFO 10768-16-0-without_demo odoo.addons.base.models.ir_cron: Starting job `Automatic Tier Validation`. 2026-04-28 10:37:01,962 409 INFO 10768-16-0-without_demo odoo.addons.base.models.ir_cron: Job `Automatic Tier Validation` done. 2026-04-28 10:42:47,925 409 INFO 10768-16-0-without_demo odoo.addons.base.models.ir_cron: Starting job `payment: post-process transactions`. 2026-04-28 10:42:47,931 409 INFO 10768-16-0-without_demo odoo.addons.base.models.ir_cron: Job `payment: post-process transactions` done. 2026-04-28 10:52:01,459 409 INFO 10768-16-0-without_demo odoo.addons.base.models.ir_cron: Starting job `payment: post-process transactions`. 2026-04-28 10:52:01,470 409 INFO 10768-16-0-without_demo odoo.addons.base.models.ir_cron: Job `payment: post-process transactions` done. 2026-04-28 11:02:24,090 409 INFO 10768-16-0-without_demo odoo.addons.base.models.ir_cron: Starting job `payment: post-process transactions`. 2026-04-28 11:02:24,116 409 INFO 10768-16-0-without_demo odoo.addons.base.models.ir_cron: Job `payment: post-process transactions` done. 2026-04-28 11:12:46,849 409 INFO 10768-16-0-without_demo odoo.addons.base.models.ir_cron: Starting job `payment: post-process transactions`. 2026-04-28 11:12:46,862 409 INFO 10768-16-0-without_demo odoo.addons.base.models.ir_cron: Job `payment: post-process transactions` done. 2026-04-28 11:22:00,285 409 INFO 10768-16-0-without_demo odoo.addons.base.models.ir_cron: Starting job `payment: post-process transactions`. 2026-04-28 11:22:00,294 409 INFO 10768-16-0-without_demo odoo.addons.base.models.ir_cron: Job `payment: post-process transactions` done. 2026-04-28 11:32:22,763 409 INFO 10768-16-0-without_demo odoo.addons.base.models.ir_cron: Starting job `Mail: Email Queue Manager`. 2026-04-28 11:32:22,771 409 INFO 10768-16-0-without_demo odoo.addons.base.models.ir_cron: Job `Mail: Email Queue Manager` done. 2026-04-28 11:32:22,781 409 INFO 10768-16-0-without_demo odoo.addons.base.models.ir_cron: Starting job `Notification: Send scheduled message notifications`. 2026-04-28 11:32:22,786 409 INFO 10768-16-0-without_demo odoo.addons.base.models.ir_cron: Job `Notification: Send scheduled message notifications` done. 2026-04-28 11:32:22,795 409 INFO 10768-16-0-without_demo odoo.addons.base.models.ir_cron: Starting job `Snailmail: process letters queue`. 2026-04-28 11:32:22,801 409 INFO 10768-16-0-without_demo odoo.addons.base.models.ir_cron: Job `Snailmail: process letters queue` done. 2026-04-28 11:32:22,810 409 INFO 10768-16-0-without_demo odoo.addons.base.models.ir_cron: Starting job `SMS: SMS Queue Manager`. 2026-04-28 11:32:22,814 409 INFO 10768-16-0-without_demo odoo.addons.base.models.ir_cron: Job `SMS: SMS Queue Manager` done. 2026-04-28 11:32:22,823 409 INFO 10768-16-0-without_demo odoo.addons.base.models.ir_cron: Starting job `payment: post-process transactions`. 2026-04-28 11:32:22,828 409 INFO 10768-16-0-without_demo odoo.addons.base.models.ir_cron: Job `payment: post-process transactions` done. 2026-04-28 11:32:22,837 409 INFO 10768-16-0-without_demo odoo.addons.base.models.ir_cron: Starting job `Partner Autocomplete : Sync with remote DB`. 2026-04-28 11:32:22,841 409 INFO 10768-16-0-without_demo odoo.addons.base.models.ir_cron: Job `Partner Autocomplete : Sync with remote DB` done. 2026-04-28 11:36:59,601 409 INFO 10768-16-0-without_demo odoo.addons.base.models.ir_cron: Starting job `Automatic Tier Validation`. 2026-04-28 11:36:59,610 409 INFO 10768-16-0-without_demo odoo.addons.base.models.ir_cron: Job `Automatic Tier Validation` done. 2026-04-28 11:42:45,554 409 INFO 10768-16-0-without_demo odoo.addons.base.models.ir_cron: Starting job `payment: post-process transactions`. 2026-04-28 11:42:45,560 409 INFO 10768-16-0-without_demo odoo.addons.base.models.ir_cron: Job `payment: post-process transactions` done. 2026-04-28 11:51:59,028 409 INFO 10768-16-0-without_demo odoo.addons.base.models.ir_cron: Starting job `payment: post-process transactions`. 2026-04-28 11:51:59,034 409 INFO 10768-16-0-without_demo odoo.addons.base.models.ir_cron: Job `payment: post-process transactions` done. 2026-04-28 12:02:21,687 409 INFO 10768-16-0-without_demo odoo.addons.base.models.ir_cron: Starting job `payment: post-process transactions`. 2026-04-28 12:02:21,691 409 INFO 10768-16-0-without_demo odoo.addons.base.models.ir_cron: Job `payment: post-process transactions` done. 2026-04-28 12:12:44,406 409 INFO 10768-16-0-without_demo odoo.addons.base.models.ir_cron: Starting job `payment: post-process transactions`. 2026-04-28 12:12:44,417 409 INFO 10768-16-0-without_demo odoo.addons.base.models.ir_cron: Job `payment: post-process transactions` done. 2026-04-28 12:21:57,886 409 INFO 10768-16-0-without_demo odoo.addons.base.models.ir_cron: Starting job `payment: post-process transactions`. 2026-04-28 12:21:57,912 409 INFO 10768-16-0-without_demo odoo.addons.base.models.ir_cron: Job `payment: post-process transactions` done. 2026-04-28 12:31:11,325 409 INFO 10768-16-0-without_demo odoo.addons.base.models.ir_cron: Starting job `Update user roles`. 2026-04-28 12:31:11,331 409 INFO 10768-16-0-without_demo root: Update user roles 2026-04-28 12:31:11,332 409 INFO 10768-16-0-without_demo odoo.addons.base.models.ir_cron: Job `Update user roles` done. 2026-04-28 12:32:20,539 409 INFO 10768-16-0-without_demo odoo.addons.base.models.ir_cron: Starting job `Mail: Email Queue Manager`. 2026-04-28 12:32:20,550 409 INFO 10768-16-0-without_demo odoo.addons.base.models.ir_cron: Job `Mail: Email Queue Manager` done. 2026-04-28 12:32:20,560 409 INFO 10768-16-0-without_demo odoo.addons.base.models.ir_cron: Starting job `Notification: Send scheduled message notifications`. 2026-04-28 12:32:20,565 409 INFO 10768-16-0-without_demo odoo.addons.base.models.ir_cron: Job `Notification: Send scheduled message notifications` done. 2026-04-28 12:32:20,572 409 INFO 10768-16-0-without_demo odoo.addons.base.models.ir_cron: Starting job `Partner Autocomplete : Sync with remote DB`. 2026-04-28 12:32:20,575 409 INFO 10768-16-0-without_demo odoo.addons.base.models.ir_cron: Job `Partner Autocomplete : Sync with remote DB` done. 2026-04-28 12:32:20,581 409 INFO 10768-16-0-without_demo odoo.addons.base.models.ir_cron: Starting job `payment: post-process transactions`. 2026-04-28 12:32:20,586 409 INFO 10768-16-0-without_demo odoo.addons.base.models.ir_cron: Job `payment: post-process transactions` done. 2026-04-28 12:32:20,592 409 INFO 10768-16-0-without_demo odoo.addons.base.models.ir_cron: Starting job `Snailmail: process letters queue`. 2026-04-28 12:32:20,596 409 INFO 10768-16-0-without_demo odoo.addons.base.models.ir_cron: Job `Snailmail: process letters queue` done. 2026-04-28 12:32:20,601 409 INFO 10768-16-0-without_demo odoo.addons.base.models.ir_cron: Starting job `SMS: SMS Queue Manager`. 2026-04-28 12:32:20,604 409 INFO 10768-16-0-without_demo odoo.addons.base.models.ir_cron: Job `SMS: SMS Queue Manager` done. 2026-04-28 12:36:57,271 409 INFO 10768-16-0-without_demo odoo.addons.base.models.ir_cron: Starting job `Automatic Tier Validation`. 2026-04-28 12:36:57,276 409 INFO 10768-16-0-without_demo odoo.addons.base.models.ir_cron: Job `Automatic Tier Validation` done. 2026-04-28 12:42:43,200 409 INFO 10768-16-0-without_demo odoo.addons.base.models.ir_cron: Starting job `payment: post-process transactions`. 2026-04-28 12:42:43,206 409 INFO 10768-16-0-without_demo odoo.addons.base.models.ir_cron: Job `payment: post-process transactions` done. 2026-04-28 12:51:56,725 409 INFO 10768-16-0-without_demo odoo.addons.base.models.ir_cron: Starting job `payment: post-process transactions`. 2026-04-28 12:51:56,732 409 INFO 10768-16-0-without_demo odoo.addons.base.models.ir_cron: Job `payment: post-process transactions` done. 2026-04-28 13:02:19,269 409 INFO 10768-16-0-without_demo odoo.addons.base.models.ir_cron: Starting job `payment: post-process transactions`. 2026-04-28 13:02:19,276 409 INFO 10768-16-0-without_demo odoo.addons.base.models.ir_cron: Job `payment: post-process transactions` done. 2026-04-28 13:12:41,943 409 INFO 10768-16-0-without_demo odoo.addons.base.models.ir_cron: Starting job `payment: post-process transactions`. 2026-04-28 13:12:41,952 409 INFO 10768-16-0-without_demo odoo.addons.base.models.ir_cron: Job `payment: post-process transactions` done. 2026-04-28 13:21:55,492 409 INFO 10768-16-0-without_demo odoo.addons.base.models.ir_cron: Starting job `payment: post-process transactions`. 2026-04-28 13:21:55,499 409 INFO 10768-16-0-without_demo odoo.addons.base.models.ir_cron: Job `payment: post-process transactions` done. 2026-04-28 13:32:18,165 409 INFO 10768-16-0-without_demo odoo.addons.base.models.ir_cron: Starting job `Mail: Email Queue Manager`. 2026-04-28 13:32:18,173 409 INFO 10768-16-0-without_demo odoo.addons.base.models.ir_cron: Job `Mail: Email Queue Manager` done. 2026-04-28 13:32:18,183 409 INFO 10768-16-0-without_demo odoo.addons.base.models.ir_cron: Starting job `Notification: Send scheduled message notifications`. 2026-04-28 13:32:18,187 409 INFO 10768-16-0-without_demo odoo.addons.base.models.ir_cron: Job `Notification: Send scheduled message notifications` done. 2026-04-28 13:32:18,196 409 INFO 10768-16-0-without_demo odoo.addons.base.models.ir_cron: Starting job `payment: post-process transactions`. 2026-04-28 13:32:18,202 409 INFO 10768-16-0-without_demo odoo.addons.base.models.ir_cron: Job `payment: post-process transactions` done. 2026-04-28 13:32:18,210 409 INFO 10768-16-0-without_demo odoo.addons.base.models.ir_cron: Starting job `Partner Autocomplete : Sync with remote DB`. 2026-04-28 13:32:18,215 409 INFO 10768-16-0-without_demo odoo.addons.base.models.ir_cron: Job `Partner Autocomplete : Sync with remote DB` done. 2026-04-28 13:32:18,225 409 INFO 10768-16-0-without_demo odoo.addons.base.models.ir_cron: Starting job `Snailmail: process letters queue`. 2026-04-28 13:32:18,230 409 INFO 10768-16-0-without_demo odoo.addons.base.models.ir_cron: Job `Snailmail: process letters queue` done. 2026-04-28 13:32:18,239 409 INFO 10768-16-0-without_demo odoo.addons.base.models.ir_cron: Starting job `SMS: SMS Queue Manager`. 2026-04-28 13:32:18,243 409 INFO 10768-16-0-without_demo odoo.addons.base.models.ir_cron: Job `SMS: SMS Queue Manager` done. 2026-04-28 13:36:54,958 409 INFO 10768-16-0-without_demo odoo.addons.base.models.ir_cron: Starting job `Automatic Tier Validation`. 2026-04-28 13:36:54,965 409 INFO 10768-16-0-without_demo odoo.addons.base.models.ir_cron: Job `Automatic Tier Validation` done. 2026-04-28 13:42:40,801 409 INFO 10768-16-0-without_demo odoo.addons.base.models.ir_cron: Starting job `payment: post-process transactions`. 2026-04-28 13:42:40,808 409 INFO 10768-16-0-without_demo odoo.addons.base.models.ir_cron: Job `payment: post-process transactions` done. 2026-04-28 13:51:54,297 409 INFO 10768-16-0-without_demo odoo.addons.base.models.ir_cron: Starting job `payment: post-process transactions`. 2026-04-28 13:51:54,303 409 INFO 10768-16-0-without_demo odoo.addons.base.models.ir_cron: Job `payment: post-process transactions` done. 2026-04-28 14:02:17,006 409 INFO 10768-16-0-without_demo odoo.addons.base.models.ir_cron: Starting job `payment: post-process transactions`. 2026-04-28 14:02:17,013 409 INFO 10768-16-0-without_demo odoo.addons.base.models.ir_cron: Job `payment: post-process transactions` done. 2026-04-28 14:12:39,610 409 INFO 10768-16-0-without_demo odoo.addons.base.models.ir_cron: Starting job `payment: post-process transactions`. 2026-04-28 14:12:39,615 409 INFO 10768-16-0-without_demo odoo.addons.base.models.ir_cron: Job `payment: post-process transactions` done. 2026-04-28 14:21:53,142 409 INFO 10768-16-0-without_demo odoo.addons.base.models.ir_cron: Starting job `payment: post-process transactions`. 2026-04-28 14:21:53,149 409 INFO 10768-16-0-without_demo odoo.addons.base.models.ir_cron: Job `payment: post-process transactions` done. 2026-04-28 14:32:15,880 409 INFO 10768-16-0-without_demo odoo.addons.base.models.ir_cron: Starting job `Mail: Email Queue Manager`. 2026-04-28 14:32:15,882 409 INFO 10768-16-0-without_demo odoo.addons.base.models.ir_cron: Job `Mail: Email Queue Manager` done. 2026-04-28 14:32:15,887 409 INFO 10768-16-0-without_demo odoo.addons.base.models.ir_cron: Starting job `Notification: Send scheduled message notifications`. 2026-04-28 14:32:15,890 409 INFO 10768-16-0-without_demo odoo.addons.base.models.ir_cron: Job `Notification: Send scheduled message notifications` done. 2026-04-28 14:32:15,895 409 INFO 10768-16-0-without_demo odoo.addons.base.models.ir_cron: Starting job `payment: post-process transactions`. 2026-04-28 14:32:15,899 409 INFO 10768-16-0-without_demo odoo.addons.base.models.ir_cron: Job `payment: post-process transactions` done. 2026-04-28 14:32:15,934 409 INFO 10768-16-0-without_demo odoo.addons.base.models.ir_cron: Starting job `Partner Autocomplete : Sync with remote DB`. 2026-04-28 14:32:15,938 409 INFO 10768-16-0-without_demo odoo.addons.base.models.ir_cron: Job `Partner Autocomplete : Sync with remote DB` done. 2026-04-28 14:32:15,945 409 INFO 10768-16-0-without_demo odoo.addons.base.models.ir_cron: Starting job `Snailmail: process letters queue`. 2026-04-28 14:32:15,949 409 INFO 10768-16-0-without_demo odoo.addons.base.models.ir_cron: Job `Snailmail: process letters queue` done. 2026-04-28 14:32:15,956 409 INFO 10768-16-0-without_demo odoo.addons.base.models.ir_cron: Starting job `SMS: SMS Queue Manager`. 2026-04-28 14:32:15,960 409 INFO 10768-16-0-without_demo odoo.addons.base.models.ir_cron: Job `SMS: SMS Queue Manager` done. 2026-04-28 14:36:52,705 409 INFO 10768-16-0-without_demo odoo.addons.base.models.ir_cron: Starting job `Automatic Tier Validation`. 2026-04-28 14:36:52,717 409 INFO 10768-16-0-without_demo odoo.addons.base.models.ir_cron: Job `Automatic Tier Validation` done. 2026-04-28 14:42:38,695 409 INFO 10768-16-0-without_demo odoo.addons.base.models.ir_cron: Starting job `payment: post-process transactions`. 2026-04-28 14:42:38,707 409 INFO 10768-16-0-without_demo odoo.addons.base.models.ir_cron: Job `payment: post-process transactions` done. 2026-04-28 14:51:52,186 409 INFO 10768-16-0-without_demo odoo.addons.base.models.ir_cron: Starting job `payment: post-process transactions`. 2026-04-28 14:51:52,192 409 INFO 10768-16-0-without_demo odoo.addons.base.models.ir_cron: Job `payment: post-process transactions` done. 2026-04-28 15:02:14,843 409 INFO 10768-16-0-without_demo odoo.addons.base.models.ir_cron: Starting job `payment: post-process transactions`. 2026-04-28 15:02:14,849 409 INFO 10768-16-0-without_demo odoo.addons.base.models.ir_cron: Job `payment: post-process transactions` done. 2026-04-28 15:12:37,569 409 INFO 10768-16-0-without_demo odoo.addons.base.models.ir_cron: Starting job `payment: post-process transactions`. 2026-04-28 15:12:37,575 409 INFO 10768-16-0-without_demo odoo.addons.base.models.ir_cron: Job `payment: post-process transactions` done. 2026-04-28 15:21:51,069 409 INFO 10768-16-0-without_demo odoo.addons.base.models.ir_cron: Starting job `payment: post-process transactions`. 2026-04-28 15:21:51,081 409 INFO 10768-16-0-without_demo odoo.addons.base.models.ir_cron: Job `payment: post-process transactions` done.