Description: Install and run Odoo without demo data
Commit: kmitl:ba9caf8d  
Subject: fix
Author: Nonpawit Teerachetmongkol
Committer: Nonpawit Teerachetmongkol
Commit: social:d46a117f  
Subject: [BOT] post-merge updates
Author: OCA-git-bot
Committer: OCA-git-bot
Commit: stock-logistics-warehouse:15c4128c  
Subject: Translated using Weblate (Italian)
Author: mymage
Committer: Weblate
Commit: operating-unit:569422ca  
Subject: Translated using Weblate (German)
Author: Bastian Günther
Committer: Weblate
Commit: stock-logistics-request:2f0ce3f5  
Subject: Translated using Weblate (Italian)
Author: mymage
Committer: Weblate
Commit: product-attribute:970fb479  
Subject: [BOT] post-merge updates
Author: OCA-git-bot
Committer: OCA-git-bot
Commit: account-analytic:74d1a04c  
Subject: Translated using Weblate (German)
Author: Bastian Günther
Committer: Weblate
Commit: agreement:800e753c  
Subject: [BOT] post-merge updates
Author: OCA-git-bot
Committer: OCA-git-bot
Commit: server-backend:ccf60878  
Subject: Update requirements.txt
Author: Nopparut Saelim
Committer: GitHub
Commit: account-reconcile:c031db9d  
Subject: [BOT] post-merge updates
Author: OCA-git-bot
Committer: OCA-git-bot
Commit: mis-builder:82d39175  
Subject: [BOT] post-merge updates
Author: OCA-git-bot
Committer: OCA-git-bot
Commit: reporting-engine:4cafaadb  
Subject: Translated using Weblate (Italian)
Author: mymage
Committer: Weblate
Commit: odoo:6491e005  
Subject: [FIX] survey: avoid timer early submissions due to time difference
Author: João Alves
Committer: João Horta Alves
Commit: account-financial-reporting:948901d9  
Subject: [BOT] post-merge updates
Author: OCA-git-bot
Committer: OCA-git-bot
Commit: project:7a5c615c  
Subject: [BOT] post-merge updates
Author: OCA-git-bot
Committer: OCA-git-bot
Commit: server-tools:3abe25d7  
Subject: Translated using Weblate (Italian)
Author: mymage
Committer: Weblate
Commit: server-ux:23e96d19  
Subject: Translated using Weblate (Italian)
Author: mymage
Committer: Weblate
Commit: hr:3af635cb  
Subject: Translated using Weblate (Italian)
Author: mymage
Committer: Weblate
Commit: account-financial-tools:c3b3e7dd  
Subject: Added translation using Weblate (Italian)
Author: mymage
Committer: Weblate
Commit: web:fb9be06e  
Subject: Translated using Weblate (Portuguese (Brazil))
Author: Luis Felipe Miléo
Committer: Weblate
Commit: account-invoicing:7207e6e2  
Subject: [BOT] post-merge updates
Author: OCA-git-bot
Committer: OCA-git-bot
Commit: purchase-workflow:ecf70d6c  
Subject: Translated using Weblate (Turkish)
Author: Betül Öğmen
Committer: Weblate
Commit: server-brand:2bc45d77  
Subject: [UPD] addons table in README.md
Author: OCA-git-bot
Committer: OCA-git-bot
Commit: l10n-thailand:0b7b078e  
Subject: [UPD] addons table in README.md
Author: OCA-git-bot
Committer: OCA-git-bot
Commit: odoo-modules:76529673  
Subject: Merge branch '16.0' of github.com:Aginix/odoo-modules into 16.0
Author: Nonpawit Teerachetmongkol
Committer: Nonpawit Teerachetmongkol
Commit: partner-contact:000f47c5  
Subject: Merge PR #2135 into 16.0
Author: OCA-git-bot
Committer: OCA-git-bot
Version: 16.0
Config: Without demo
Total time: 6m
Date Level Type Message
2025-11-03 17:58:11 INFO runbot Init build environment with config Without demo
2025-11-03 17:58:11 Starting step install_without_demo from config Without demo
2025-11-03 17:58:11 INFO runbot Using Dockerfile Tag odoo:DockerDefaultAke
2025-11-03 17:59:52 INFO server odoo.modules.loading:336 1 modules loaded in 10.17s, 7917 queries (+7917 extra)
2025-11-03 18:01:31 WARNING server odoo.addons.base.models.ir_model:1077 Two fields (participant_ids, target_ids) of project.project() have the same label: กลุ่มเป้าหมาย/ผู้ดำเนินโครงการ. [Modules: project_kmitl and project_kmitl]
2025-11-03 18:01:31 WARNING server odoo.addons.base.models.ir_model:1077 Two fields (organizer_ids, target_ids) of project.project() have the same label: กลุ่มเป้าหมาย/ผู้ดำเนินโครงการ. [Modules: project_kmitl and project_kmitl]
2025-11-03 18:01:31 WARNING server odoo.addons.base.models.ir_model:1077 Two fields (hierarchy_level, level) of project.strategic.plan() have the same label: ระดับแผน. [Modules: project_kmitl and project_kmitl]
2025-11-03 18:01:33 WARNING server odoo.addons.base.models.ir_model:1077 Two fields (participant_ids, target_ids) of project.project() have the same label: กลุ่มเป้าหมาย/ผู้ดำเนินโครงการ. [Modules: project_kmitl and project_kmitl]
2025-11-03 18:01:33 WARNING server odoo.addons.base.models.ir_model:1077 Two fields (organizer_ids, target_ids) of project.project() have the same label: กลุ่มเป้าหมาย/ผู้ดำเนินโครงการ. [Modules: project_kmitl and project_kmitl]
2025-11-03 18:01:44 WARNING server odoo.addons.base.models.ir_model:1077 Two fields (account_id, code) of budget.move.line() have the same label: รหัสงบประมาณ. [Modules: budget and budget]
This error is already known.
2025-11-03 18:03:02 WARNING server odoo.addons.base.models.ir_model:1077 Two fields (purchase_request, purchase_request_ok) of product.template() have the same label: Purchase Request. [Modules: purchase_request and product_kmitl]
2025-11-03 18:03:02 WARNING server odoo.addons.base.models.ir_model:1077 Two fields (purchase_request, purchase_request_ok) of product.product() have the same label: Purchase Request. [Modules: None and None]
2025-11-03 18:03:05 WARNING server odoo.addons.base.models.ir_model:1077 Two fields (purchase_request, purchase_request_ok) of product.template() have the same label: Purchase Request. [Modules: purchase_request and product_kmitl]
2025-11-03 18:03:05 WARNING server odoo.addons.base.models.ir_model:1077 Two fields (purchase_request, purchase_request_ok) of product.product() have the same label: Purchase Request. [Modules: None and None]
2025-11-03 18:03:05 WARNING server odoo.addons.base.models.ir_model:1077 Two fields (purchase_request, purchase_request_ok) of product.template() have the same label: Purchase Request. [Modules: purchase_request and product_kmitl]
2025-11-03 18:03:05 WARNING server odoo.addons.base.models.ir_model:1077 Two fields (purchase_request, purchase_request_ok) of product.product() have the same label: Purchase Request. [Modules: None and None]
2025-11-03 18:03:06 WARNING server odoo.addons.base.models.ir_model:1077 Two fields (purchase_request, purchase_request_ok) of product.template() have the same label: Purchase Request. [Modules: purchase_request and product_kmitl]
2025-11-03 18:03:06 WARNING server odoo.addons.base.models.ir_model:1077 Two fields (purchase_request, purchase_request_ok) of product.product() have the same label: Purchase Request. [Modules: None and None]
2025-11-03 18:03:09 WARNING server odoo.addons.base.models.ir_model:1077 Two fields (account_id, code) of budget.appropriation.line() have the same label: รหัสงบประมาณ. [Modules: budget_appropriation and budget_appropriation]
2025-11-03 18:03:10 WARNING server odoo.modules.loading:276
The models ['budget.appropriation.f4.report'] have no access rules in module budget_appropriation, consider adding some, like:
id,name,model_id:id,group_id:id,perm_read,perm_write,perm_create,perm_unlink
budget_appropriation.access_budget_appropriation_f4_report,access_budget_appropriation_f4_report,budget_appropriation.model_budget_appropriation_f4_report,base.group_user,1,0,0,0
2025-11-03 18:03:15 WARNING server odoo.addons.base.models.ir_model:1077 Two fields (purchase_request, purchase_request_ok) of product.template() have the same label: Purchase Request. [Modules: purchase_request and product_kmitl]
2025-11-03 18:03:15 WARNING server odoo.addons.base.models.ir_model:1077 Two fields (purchase_request, purchase_request_ok) of product.product() have the same label: Purchase Request. [Modules: None and None]
2025-11-03 18:03:22 WARNING server odoo.addons.base.models.ir_model:1077 Two fields (tax_id, price_tax) of purchase.request.line() have the same label: Tax. [Modules: purchase_request_price_tax_included and purchase_request_price_tax_included]
2025-11-03 18:03:22 WARNING server odoo.addons.base.models.ir_model:1077 Two fields (tax_id, price_tax) of purchase.request.line.make.purchase.order.item() have the same label: Tax. [Modules: purchase_request_price_tax_included and purchase_request_price_tax_included]
2025-11-03 18:03:25 WARNING server odoo.addons.base.models.ir_model:1077 Two fields (tax_id, price_tax) of purchase.request.line() have the same label: Tax. [Modules: purchase_request_price_tax_included and purchase_request_price_tax_included]
2025-11-03 18:03:31 WARNING server odoo.addons.base.models.ir_model:1077 Two fields (account_id, code) of budget.appropriation.line() have the same label: รหัสงบประมาณ. [Modules: budget_appropriation and budget_appropriation]
2025-11-03 18:03:33 WARNING server odoo.addons.base.models.ir_model:1077 Two fields (account_id, code) of budget.move.line() have the same label: รหัสงบประมาณ. [Modules: budget and budget]
This error is already known.
2025-11-03 18:03:33 WARNING server odoo.addons.base.models.ir_model:1077 Two fields (account_id, code) of budget.appropriation.line() have the same label: รหัสงบประมาณ. [Modules: budget_appropriation and budget_appropriation]
2025-11-03 18:04:00 WARNING server odoo.addons.base.models.ir_model:1077 Two fields (account_id, code) of budget.move.line() have the same label: รหัสงบประมาณ. [Modules: budget and budget]
This error is already known.
2025-11-03 18:04:00 WARNING server odoo.addons.base.models.ir_model:1077 Two fields (account_id, code) of budget.appropriation.line() have the same label: รหัสงบประมาณ. [Modules: budget_appropriation and budget_appropriation]
2025-11-03 18:04:01 WARNING server odoo.addons.base.models.ir_model:1077 Two fields (tax_id, price_tax) of purchase.request.line() have the same label: Tax. [Modules: purchase_request_price_tax_included and purchase_request_price_tax_included]
2025-11-03 18:04:07 WARNING server odoo.addons.base.models.ir_model:1077 Two fields (account_id, code) of budget.move.line() have the same label: รหัสงบประมาณ. [Modules: budget and budget]
This error is already known.
2025-11-03 18:04:07 WARNING server odoo.addons.base.models.ir_model:1077 Two fields (account_id, code) of budget.appropriation.line() have the same label: รหัสงบประมาณ. [Modules: budget_appropriation and budget_appropriation]
2025-11-03 18:04:17 WARNING server odoo.addons.base.models.ir_model:1077 Two fields (account_id, code) of budget.appropriation.line() have the same label: รหัสงบประมาณ. [Modules: budget_appropriation and budget_appropriation]
2025-11-03 18:04:18 WARNING server odoo.addons.base.models.ir_model:1077 Two fields (tax_id, price_tax) of purchase.request.line() have the same label: Tax. [Modules: purchase_request_price_tax_included and purchase_request_price_tax_included]
2025-11-03 18:04:19 WARNING server odoo.addons.base.models.ir_model:1077 Two fields (tax_id, price_tax) of purchase.request.line.make.purchase.order.item() have the same label: Tax. [Modules: purchase_request_price_tax_included and purchase_request_price_tax_included]
2025-11-03 18:04:26 WARNING server odoo.addons.base.models.ir_module:139
docutils' system message present: <system_message level="2" line="78" source="<string>" type="WARNING"><paragraph>Title underline too short.</paragraph><literal_block xml:space="preserve">Contributors
=======</literal_block></system_message>
2025-11-03 18:04:26 WARNING server odoo.addons.base.models.ir_module:139
docutils' system message present: <system_message level="2" line="83" source="<string>" type="WARNING"><paragraph>Title underline too short.</paragraph><literal_block xml:space="preserve">Maintainers
=======</literal_block></system_message>
2025-11-03 18:04:26 INFO server odoo.modules.loading:336 264 modules loaded in 269.54s, 180844 queries (+180912 extra)
2025-11-03 18:04:37 Step install_without_demo finished in 6m
2025-11-03 18:04:37 Starting step run_without_demo from config Without demo
2025-11-03 18:04:37 INFO runbot Start running build 05345-16-0
2025-11-03 18:04:37 INFO runbot Using Dockerfile Tag odoo:DockerDefaultAke
2025-11-03 18:05:59 INFO server odoo.modules.loading:336 1 modules loaded in 0.01s, 0 queries (+0 extra)
2025-11-03 18:06:02 INFO server odoo.modules.loading:336 264 modules loaded in 2.71s, 0 queries (+0 extra)
2025-11-04 01:57:21 WARNING server odoo.addons.base.models.ir_asset:359 IrAsset: the path "budget_appropriation_portal/static/src/**/*" did not resolve to anything.
2025-11-04 01:57:21 WARNING server odoo.addons.base.models.ir_asset:359 IrAsset: the path "purchase_request_report_kmitl/static/src/**/*" did not resolve to anything.
2025-11-04 01:57:47 WARNING server odoo.addons.base.models.ir_asset:359 IrAsset: the path "budget_appropriation_portal/static/src/**/*" did not resolve to anything.
2025-11-04 01:57:47 WARNING server odoo.addons.base.models.ir_asset:359 IrAsset: the path "purchase_request_report_kmitl/static/src/**/*" did not resolve to anything.
2025-11-04 01:59:54 ERROR server odoo.http:2259
Exception during request handling.
Traceback (most recent call last):
  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/odoo/addons/base/models/ir_http.py", line 154, in _dispatch
    result = endpoint(**request.params)
             ^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/data/build/odoo/odoo/http.py", line 763, in route_wrapper
    result = endpoint(self, *args, **params_ok)
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/data/build/kmitl/purchase_request_portal/controllers/portal.py", line 90, in portal_my_purchase_request
    return self._show_report(model=purchase_request_sudo, report_type=report_type, report_ref='purchase_request.action_report_purchase_requests', download=download)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/data/build/odoo/addons/portal/controllers/portal.py", line 491, in _show_report
    filename = "%s.pdf" % (re.sub(r'\W+', '-', model._get_report_base_filename()))
                                               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
AttributeError: 'purchase.request' object has no attribute '_get_report_base_filename'
2025-11-04 02:04:54 INFO server odoo.modules.loading:336 1 modules loaded in 0.02s, 0 queries (+0 extra)
2025-11-04 02:04:58 INFO server odoo.modules.loading:336 264 modules loaded in 0.08s, 0 queries (+0 extra)
2025-11-04 02:04:59 INFO server odoo.modules.loading:336 265 modules loaded in 0.76s, 183 queries (+183 extra)
2025-11-04 02:05:02 WARNING server odoo.addons.base.models.ir_asset:359 IrAsset: the path "budget_appropriation_portal/static/src/**/*" did not resolve to anything.
2025-11-04 02:05:02 WARNING server odoo.addons.base.models.ir_asset:359 IrAsset: the path "purchase_request_report_kmitl/static/src/**/*" did not resolve to anything.
2025-11-04 02:06:24 INFO server odoo.modules.loading:336 1 modules loaded in 0.02s, 0 queries (+0 extra)
2025-11-04 02:06:25 INFO server odoo.modules.loading:336 265 modules loaded in 0.27s, 0 queries (+0 extra)
2025-11-04 02:06:54 WARNING server odoo.addons.base.models.ir_module:139
docutils' system message present: <system_message level="2" line="78" source="<string>" type="WARNING"><paragraph>Title underline too short.</paragraph><literal_block xml:space="preserve">Contributors
=======</literal_block></system_message>
2025-11-04 02:06:54 WARNING server odoo.addons.base.models.ir_module:139
docutils' system message present: <system_message level="2" line="83" source="<string>" type="WARNING"><paragraph>Title underline too short.</paragraph><literal_block xml:space="preserve">Maintainers
=======</literal_block></system_message>
2025-11-04 02:12:24 ERROR server odoo.http:2259
Exception during request handling.
Traceback (most recent call last):
  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 2056, in dispatch
    result = self.request.registry['ir.http']._dispatch(endpoint)
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/data/build/odoo/odoo/addons/base/models/ir_http.py", line 154, in _dispatch
    result = endpoint(**request.params)
             ^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/data/build/odoo/odoo/http.py", line 763, in route_wrapper
    result = endpoint(self, *args, **params_ok)
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/data/build/odoo/addons/web/controllers/dataset.py", line 43, in call_kw
    return self._call_kw(model, method, args, kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/data/build/odoo/addons/web/controllers/dataset.py", line 34, in _call_kw
    return call_kw(Model, method, args, kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/data/build/odoo/odoo/api.py", line 484, in call_kw
    result = _call_kw_multi(method, model, args, kwargs)
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/data/build/odoo/odoo/api.py", line 469, in _call_kw_multi
    result = method(recs, *args, **kwargs)
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/data/build/odoo/odoo/addons/base/models/ir_ui_view.py", line 577, in write
    res = super(View, self).write(self._compute_defaults(vals))
          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/data/build/odoo/odoo/models.py", line 3852, in write
    fields[0].determine_inverse(real_recs)
  File "/data/build/odoo/odoo/fields.py", line 1413, in determine_inverse
    determine(self.inverse, records)
  File "/data/build/odoo/odoo/fields.py", line 98, in determine
    return needle(*args)
           ^^^^^^^^^^^^^
  File "/data/build/odoo/odoo/addons/base/models/ir_ui_view.py", line 360, in _inverse_arch_base
    view_wo_lang.arch = view.arch_base
    ^^^^^^^^^^^^^^^^^
  File "/data/build/odoo/odoo/fields.py", line 1337, in __set__
    records.write({self.name: write_value})
  File "/data/build/odoo/odoo/addons/base/models/ir_ui_view.py", line 577, in write
    res = super(View, self).write(self._compute_defaults(vals))
          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/data/build/odoo/odoo/models.py", line 3852, in write
    fields[0].determine_inverse(real_recs)
  File "/data/build/odoo/odoo/fields.py", line 1413, in determine_inverse
    determine(self.inverse, records)
  File "/data/build/odoo/odoo/fields.py", line 98, in determine
    return needle(*args)
           ^^^^^^^^^^^^^
  File "/data/build/odoo/odoo/addons/base/models/ir_ui_view.py", line 342, in _inverse_arch
    view.write(data)
  File "/data/build/odoo/odoo/addons/base/models/ir_ui_view.py", line 577, in write
    res = super(View, self).write(self._compute_defaults(vals))
          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/data/build/odoo/odoo/models.py", line 3842, in write
    real_recs._validate_fields(vals, inverse_fields)
  File "/data/build/odoo/odoo/models.py", line 1373, in _validate_fields
    check(self)
  File "/data/build/odoo/odoo/addons/base/models/ir_ui_view.py", line 437, in _check_xml
    combined_arch = view._get_combined_arch()
                    ^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/data/build/odoo/odoo/addons/base/models/ir_ui_view.py", line 1000, in _get_combined_arch
    arch = root.with_prefetch(tree_views._prefetch_ids)._combine(hierarchy)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/data/build/odoo/odoo/addons/base/models/ir_ui_view.py", line 918, in _combine
    combined_arch = etree.fromstring(self.arch)
                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "src/lxml/etree.pyx", line 3287, in lxml.etree.fromstring
  File "src/lxml/parser.pxi", line 1989, in lxml.etree._parseMemoryDocument
  File "src/lxml/parser.pxi", line 1869, in lxml.etree._parseDoc
  File "src/lxml/parser.pxi", line 1105, in lxml.etree._BaseParser._parseUnicodeDoc
  File "src/lxml/parser.pxi", line 633, in lxml.etree._ParserContext._handleParseResultDoc
  File "src/lxml/parser.pxi", line 743, in lxml.etree._handleParseResult
  File "src/lxml/parser.pxi", line 672, in lxml.etree._raiseParseError
  File "<string>", line 93
lxml.etree.XMLSyntaxError: Opening and ending tag mismatch: t line 2 and div, line 93, column 19
2025-11-04 02:12:32 ERROR server odoo.http:2259
Exception during request handling.
Traceback (most recent call last):
  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 2056, in dispatch
    result = self.request.registry['ir.http']._dispatch(endpoint)
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/data/build/odoo/odoo/addons/base/models/ir_http.py", line 154, in _dispatch
    result = endpoint(**request.params)
             ^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/data/build/odoo/odoo/http.py", line 763, in route_wrapper
    result = endpoint(self, *args, **params_ok)
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/data/build/odoo/addons/web/controllers/dataset.py", line 43, in call_kw
    return self._call_kw(model, method, args, kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/data/build/odoo/addons/web/controllers/dataset.py", line 34, in _call_kw
    return call_kw(Model, method, args, kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/data/build/odoo/odoo/api.py", line 484, in call_kw
    result = _call_kw_multi(method, model, args, kwargs)
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/data/build/odoo/odoo/api.py", line 469, in _call_kw_multi
    result = method(recs, *args, **kwargs)
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/data/build/odoo/odoo/addons/base/models/ir_ui_view.py", line 577, in write
    res = super(View, self).write(self._compute_defaults(vals))
          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/data/build/odoo/odoo/models.py", line 3852, in write
    fields[0].determine_inverse(real_recs)
  File "/data/build/odoo/odoo/fields.py", line 1413, in determine_inverse
    determine(self.inverse, records)
  File "/data/build/odoo/odoo/fields.py", line 98, in determine
    return needle(*args)
           ^^^^^^^^^^^^^
  File "/data/build/odoo/odoo/addons/base/models/ir_ui_view.py", line 360, in _inverse_arch_base
    view_wo_lang.arch = view.arch_base
    ^^^^^^^^^^^^^^^^^
  File "/data/build/odoo/odoo/fields.py", line 1337, in __set__
    records.write({self.name: write_value})
  File "/data/build/odoo/odoo/addons/base/models/ir_ui_view.py", line 577, in write
    res = super(View, self).write(self._compute_defaults(vals))
          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/data/build/odoo/odoo/models.py", line 3852, in write
    fields[0].determine_inverse(real_recs)
  File "/data/build/odoo/odoo/fields.py", line 1413, in determine_inverse
    determine(self.inverse, records)
  File "/data/build/odoo/odoo/fields.py", line 98, in determine
    return needle(*args)
           ^^^^^^^^^^^^^
  File "/data/build/odoo/odoo/addons/base/models/ir_ui_view.py", line 342, in _inverse_arch
    view.write(data)
  File "/data/build/odoo/odoo/addons/base/models/ir_ui_view.py", line 577, in write
    res = super(View, self).write(self._compute_defaults(vals))
          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/data/build/odoo/odoo/models.py", line 3842, in write
    real_recs._validate_fields(vals, inverse_fields)
  File "/data/build/odoo/odoo/models.py", line 1373, in _validate_fields
    check(self)
  File "/data/build/odoo/odoo/addons/base/models/ir_ui_view.py", line 437, in _check_xml
    combined_arch = view._get_combined_arch()
                    ^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/data/build/odoo/odoo/addons/base/models/ir_ui_view.py", line 1000, in _get_combined_arch
    arch = root.with_prefetch(tree_views._prefetch_ids)._combine(hierarchy)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/data/build/odoo/odoo/addons/base/models/ir_ui_view.py", line 918, in _combine
    combined_arch = etree.fromstring(self.arch)
                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "src/lxml/etree.pyx", line 3287, in lxml.etree.fromstring
  File "src/lxml/parser.pxi", line 1989, in lxml.etree._parseMemoryDocument
  File "src/lxml/parser.pxi", line 1869, in lxml.etree._parseDoc
  File "src/lxml/parser.pxi", line 1105, in lxml.etree._BaseParser._parseUnicodeDoc
  File "src/lxml/parser.pxi", line 633, in lxml.etree._ParserContext._handleParseResultDoc
  File "src/lxml/parser.pxi", line 743, in lxml.etree._handleParseResult
  File "src/lxml/parser.pxi", line 672, in lxml.etree._raiseParseError
  File "<string>", line 67
lxml.etree.XMLSyntaxError: Opening and ending tag mismatch: t line 2 and div, line 67, column 19
2025-11-04 02:13:38 ERROR server odoo.http:2259
Exception during request handling.
Traceback (most recent call last):
  File "<739>", line 41, in template_739
  File "<739>", line 15, in template_739_content
KeyError: 'object'

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  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/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/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 "<1958>", line 107, in template_1958
  File "<1958>", line 89, in template_1958_content
  File "<1958>", line 78, in template_1958_t_call_0
  File "<739>", line 47, in template_739
odoo.addons.base.models.ir_qweb.QWebException: Error while render the template
KeyError: 'object'
Template: portal.message_thread
Path: /t/div
Node: <div id="discussion" data-anchor="true" class="d-print-none o_portal_chatter o_not_editable p-0" t-att-data-token="token" t-att-data-res_model="object._name" t-att-data-pid="pid" t-att-data-hash="hash" t-att-data-res_id="object.id" t-att-data-pager_step="message_per_page or 10" t-att-data-allow_composer="\'0\' if disable_composer else \'1\'" t-att-data-two_columns="\'true\' if two_columns else \'false\'" t-att-data-display_rating="display_rating or False"/>
2025-11-04 02:13:40 ERROR server odoo.http:2259
Exception during request handling.
Traceback (most recent call last):
  File "<739>", line 41, in template_739
  File "<739>", line 15, in template_739_content
KeyError: 'object'

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  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/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/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 "<1958>", line 107, in template_1958
  File "<1958>", line 89, in template_1958_content
  File "<1958>", line 78, in template_1958_t_call_0
  File "<739>", line 47, in template_739
odoo.addons.base.models.ir_qweb.QWebException: Error while render the template
KeyError: 'object'
Template: portal.message_thread
Path: /t/div
Node: <div id="discussion" data-anchor="true" class="d-print-none o_portal_chatter o_not_editable p-0" t-att-data-token="token" t-att-data-res_model="object._name" t-att-data-pid="pid" t-att-data-hash="hash" t-att-data-res_id="object.id" t-att-data-pager_step="message_per_page or 10" t-att-data-allow_composer="\'0\' if disable_composer else \'1\'" t-att-data-two_columns="\'true\' if two_columns else \'false\'" t-att-data-display_rating="display_rating or False"/>
2025-11-04 02:16:33 ERROR server odoo.http:2259
Exception during request handling.
Traceback (most recent call last):
  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/odoo/addons/base/models/ir_http.py", line 154, in _dispatch
    result = endpoint(**request.params)
             ^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/data/build/odoo/odoo/http.py", line 763, in route_wrapper
    result = endpoint(self, *args, **params_ok)
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/data/build/kmitl/purchase_request_portal/controllers/portal.py", line 90, in portal_my_purchase_request
    return self._show_report(model=purchase_request_sudo, report_type=report_type, report_ref='purchase_request.action_report_purchase_requests', download=download)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/data/build/odoo/addons/portal/controllers/portal.py", line 491, in _show_report
    filename = "%s.pdf" % (re.sub(r'\W+', '-', model._get_report_base_filename()))
                                               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
AttributeError: 'purchase.request' object has no attribute '_get_report_base_filename'
2025-11-04 08:25:34 INFO runbot Kill build 05345-16-0