Commit: Gitlab Phileas Common modules 18.0:3b25ea2a  
Subject: Enable ir_attachment_cleaner
Author: Yann Le Doaré
Committer: Yann Le Doaré
Commit: Gitlab Phileas Core TMS 18.0:0e657948  
Subject: Merge pull request #11 from irOkoo/18.0_fix_search_type_dossier
Author: os4b
Committer: GitHub
Commit: Gitlab Phileas Community 18.0:b8e86b73  
Subject: Update base_user_role
Author: Yann Le Doaré
Committer: Yann Le Doaré
Commit: Gitlab Phileas Odoo 18.0:71e0751f  
Subject: Disable data demo for fleet module
Author: Yann Le Doaré
Committer: Yann Le Doaré
Commit: OS4B raud:42f5d9b5  
Subject: Updated
Author: Yann Le Doaré
Committer: Yann Le Doaré
Version: master
Config: Default
Build time: 24m
Wait time: 24m
Load time: 23m38s
Date Level Type Message
2026-05-27 09:53:18 INFO runbot Init build environment with config Default
2026-05-27 09:53:18 Starting step base from config Default
2026-05-27 09:53:18 Using Dockerfile Tag odoo:minimal_18_0
2026-05-27 09:53:46 INFO server odoo.modules.loading:360 1 modules loaded in 13.60s, 8884 queries (+8884 extra)
2026-05-27 09:53:55 INFO server odoo.modules.loading:360 13 modules loaded in 7.21s, 4198 queries (+4198 extra)
2026-05-27 09:54:00 INFO runbot Getting results for build 00336-master
2026-05-27 09:54:00 Step base finished in 38s
2026-05-27 09:54:00 Starting step all from config Default
2026-05-27 09:54:00 Using Dockerfile Tag odoo:minimal_18_0
2026-05-27 09:55:40 INFO server odoo.modules.loading:360 1 modules loaded in 84.26s, 8884 queries (+36543 extra)
2026-05-27 09:57:32 ERROR server odoo.addons.web.tests.test_ir_qweb:58
ERROR: TestIrQweb.test_image_field_webp
Traceback (most recent call last):
  File "/data/build/Gitlab Phileas Odoo 18.0/addons/web/tests/test_ir_qweb.py", line 58, in test_image_field_webp
    jpeg_attach = self.env["ir.attachment"].create({
                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/data/build/Gitlab Phileas Common modules 18.0/ir_attachment_cleaner/models/ir_attachment.py", line 17, in create
    vals = self._clean_data_attachment_data(vals)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/data/build/Gitlab Phileas Common modules 18.0/ir_attachment_cleaner/models/ir_attachment.py", line 27, in _clean_data_attachment_data
    if datas := vals.get("datas"):
                ^^^^^^^^
AttributeError: 'str' object has no attribute 'get'
2026-05-27 09:57:33 ERROR server odoo.addons.web.tests.test_reports:13
ERROR: TestReports.test_report_session_cookie
Traceback (most recent call last):
  File "/data/build/Gitlab Phileas Odoo 18.0/addons/web/tests/test_reports.py", line 13, in test_report_session_cookie
    image = self.env['ir.attachment'].create({
            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/data/build/Gitlab Phileas Common modules 18.0/ir_attachment_cleaner/models/ir_attachment.py", line 17, in create
    vals = self._clean_data_attachment_data(vals)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/data/build/Gitlab Phileas Common modules 18.0/ir_attachment_cleaner/models/ir_attachment.py", line 27, in _clean_data_attachment_data
    if datas := vals.get("datas"):
                ^^^^^^^^
AttributeError: 'str' object has no attribute 'get'
2026-05-27 09:57:35 ERROR server odoo.modules.loading:321 Module web: 0 failures, 2 errors of 24 tests
2026-05-27 09:57:39 ERROR server odoo.addons.xevent.tests.test_events:107
ERROR: TestXevents.test_101_substitute_attachment
Traceback (most recent call last):
  File "/data/build/Gitlab Phileas Common modules 18.0/xevent/tests/test_events.py", line 107, in test_101_substitute_attachment
    new_attach = self.env["ir.attachment"].create(
                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/data/build/Gitlab Phileas Common modules 18.0/ir_attachment_cleaner/models/ir_attachment.py", line 17, in create
    vals = self._clean_data_attachment_data(vals)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/data/build/Gitlab Phileas Common modules 18.0/ir_attachment_cleaner/models/ir_attachment.py", line 27, in _clean_data_attachment_data
    if datas := vals.get("datas"):
                ^^^^^^^^
AttributeError: 'str' object has no attribute 'get'
2026-05-27 09:57:39 ERROR server odoo.addons.xevent.tests.test_events:125
ERROR: TestXevents.test_102_substitute_attachment
Traceback (most recent call last):
  File "/data/build/Gitlab Phileas Common modules 18.0/xevent/tests/test_events.py", line 125, in test_102_substitute_attachment
    new_attach = self.env["ir.attachment"].create(
                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/data/build/Gitlab Phileas Common modules 18.0/ir_attachment_cleaner/models/ir_attachment.py", line 17, in create
    vals = self._clean_data_attachment_data(vals)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/data/build/Gitlab Phileas Common modules 18.0/ir_attachment_cleaner/models/ir_attachment.py", line 27, in _clean_data_attachment_data
    if datas := vals.get("datas"):
                ^^^^^^^^
AttributeError: 'str' object has no attribute 'get'
2026-05-27 09:57:39 ERROR server odoo.modules.loading:321 Module xevent: 0 failures, 2 errors of 9 tests
2026-05-27 09:57:51 ERROR server odoo.addons.base_import_module.tests.test_cloc:164
ERROR: TestClocFields.test_count_attachment_imported_module
Traceback (most recent call last):
  File "/data/build/Gitlab Phileas Odoo 18.0/addons/base_import_module/models/ir_module.py", line 313, in _import_zipfile
    self.sudo()._import_module(mod_name, path, force=force, with_demo=with_demo)
  File "/data/build/Gitlab Phileas Odoo 18.0/addons/base_import_module/models/ir_module.py", line 182, in _import_module
    attachment = IrAttachment.create(values)
                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/data/build/Gitlab Phileas Common modules 18.0/ir_attachment_cleaner/models/ir_attachment.py", line 17, in create
    vals = self._clean_data_attachment_data(vals)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/data/build/Gitlab Phileas Common modules 18.0/ir_attachment_cleaner/models/ir_attachment.py", line 27, in _clean_data_attachment_data
    if datas := vals.get("datas"):
                ^^^^^^^^
AttributeError: 'str' object has no attribute 'get'

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/data/build/Gitlab Phileas Odoo 18.0/addons/base_import_module/tests/test_cloc.py", line 164, in test_count_attachment_imported_module
    self.env['ir.module.module']._import_zipfile(stream)
  File "/data/build/Gitlab Phileas Odoo 18.0/addons/base_import_module/models/ir_module.py", line 315, in _import_zipfile
    raise UserError(_(
odoo.exceptions.UserError: Error while importing module 'test_imported_module'.

 'str' object has no attribute 'get' 


2026-05-27 09:57:51 ERROR server odoo.addons.base_import_module.tests.test_cloc:219
ERROR: TestClocFields.test_exclude_attachment_imported_module
Traceback (most recent call last):
  File "/data/build/Gitlab Phileas Odoo 18.0/addons/base_import_module/models/ir_module.py", line 313, in _import_zipfile
    self.sudo()._import_module(mod_name, path, force=force, with_demo=with_demo)
  File "/data/build/Gitlab Phileas Odoo 18.0/addons/base_import_module/models/ir_module.py", line 182, in _import_module
    attachment = IrAttachment.create(values)
                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/data/build/Gitlab Phileas Common modules 18.0/ir_attachment_cleaner/models/ir_attachment.py", line 17, in create
    vals = self._clean_data_attachment_data(vals)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/data/build/Gitlab Phileas Common modules 18.0/ir_attachment_cleaner/models/ir_attachment.py", line 27, in _clean_data_attachment_data
    if datas := vals.get("datas"):
                ^^^^^^^^
AttributeError: 'str' object has no attribute 'get'

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/data/build/Gitlab Phileas Odoo 18.0/addons/base_import_module/tests/test_cloc.py", line 219, in test_exclude_attachment_imported_module
    self.env['ir.module.module']._import_zipfile(stream)
  File "/data/build/Gitlab Phileas Odoo 18.0/addons/base_import_module/models/ir_module.py", line 315, in _import_zipfile
    raise UserError(_(
odoo.exceptions.UserError: Error while importing module 'test_imported_module'.

 'str' object has no attribute 'get' 


2026-05-27 09:57:51 ERROR server odoo.addons.base_import_module.tests.test_cloc:256
ERROR: TestClocFields.test_exclude_cloc_imported_module
Traceback (most recent call last):
  File "/data/build/Gitlab Phileas Odoo 18.0/addons/base_import_module/models/ir_module.py", line 313, in _import_zipfile
    self.sudo()._import_module(mod_name, path, force=force, with_demo=with_demo)
  File "/data/build/Gitlab Phileas Odoo 18.0/addons/base_import_module/models/ir_module.py", line 182, in _import_module
    attachment = IrAttachment.create(values)
                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/data/build/Gitlab Phileas Common modules 18.0/ir_attachment_cleaner/models/ir_attachment.py", line 17, in create
    vals = self._clean_data_attachment_data(vals)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/data/build/Gitlab Phileas Common modules 18.0/ir_attachment_cleaner/models/ir_attachment.py", line 27, in _clean_data_attachment_data
    if datas := vals.get("datas"):
                ^^^^^^^^
AttributeError: 'str' object has no attribute 'get'

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/data/build/Gitlab Phileas Odoo 18.0/addons/base_import_module/tests/test_cloc.py", line 256, in test_exclude_cloc_imported_module
    self.env['ir.module.module']._import_zipfile(stream)
  File "/data/build/Gitlab Phileas Odoo 18.0/addons/base_import_module/models/ir_module.py", line 315, in _import_zipfile
    raise UserError(_(
odoo.exceptions.UserError: Error while importing module 'test_imported_module'.

 'str' object has no attribute 'get' 


2026-05-27 09:57:52 ERROR server odoo.modules.loading:321 Module base_import_module: 0 failures, 3 errors of 8 tests
2026-05-27 09:58:08 ERROR server odoo.addons.test_testing_utilities.tests.test_form_impl:568
FAIL: TestO2M.test_o2m_external_readonly_parent
Traceback (most recent call last):
  File "/data/build/Gitlab Phileas Odoo 18.0/odoo/addons/test_testing_utilities/tests/test_form_impl.py", line 568, in test_o2m_external_readonly_parent
    with self.assertRaisesRegex(AssertionError, 'invisible'):
AssertionError: AssertionError not raised
2026-05-27 09:58:10 ERROR server odoo.modules.loading:321 Module test_testing_utilities: 1 failures, 0 errors of 60 tests
2026-05-27 09:58:44 ERROR server odoo.addons.test_new_api.tests.test_new_fields:113
ERROR: TestFields.test_05_unknown_fields
Traceback (most recent call last):
  File "/data/build/Gitlab Phileas Odoo 18.0/odoo/addons/test_new_api/tests/test_new_fields.py", line 113, in test_05_unknown_fields
    cat.write({'zzz': 42})
  File "/data/build/Gitlab Phileas Common modules 18.0/base_event_field/base.py", line 140, in write
    hasattr(rec._fields[key], "event")
            ~~~~~~~~~~~^^^^^
KeyError: 'zzz'
2026-05-27 09:58:44 ERROR server odoo.addons.test_new_api.tests.test_new_fields:165
ERROR: TestFields.test_10_computed_custom
Traceback (most recent call last):
  File "/data/build/Gitlab Phileas Odoo 18.0/odoo/addons/test_new_api/tests/test_new_fields.py", line 165, in test_10_computed_custom
    field = self.env['test_new_api.message']._fields['x_bool_false_computed']
            ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^
KeyError: 'x_bool_false_computed'
2026-05-27 09:58:45 ERROR server odoo.addons.test_new_api.tests.test_new_fields:221
ERROR: TestFields.test_10_computed_custom_invalid_transitive_depends
Traceback (most recent call last):
  File "/data/build/Gitlab Phileas Odoo 18.0/odoo/addons/test_new_api/tests/test_new_fields.py", line 221, in test_10_computed_custom_invalid_transitive_depends
    valid_depends = fields["x_computed_custom_valid_depends"]
                    ~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
KeyError: 'x_computed_custom_valid_depends'
2026-05-27 09:59:09 ERROR server odoo.addons.test_new_api.tests.test_new_fields:4516
FAIL: TestFieldParametersValidation.test_invalid_parameter
Traceback (most recent call last):
  File "/data/build/Gitlab Phileas Odoo 18.0/odoo/addons/test_new_api/tests/test_new_fields.py", line 4516, in test_invalid_parameter
    with self.assertLogs('odoo.fields', level='WARNING') as cm:
  File "/usr/lib/python3.12/unittest/_log.py", line 84, in __exit__
    self._raiseFailure(
AssertionError: no logs of level WARNING or higher triggered on odoo.fields
2026-05-27 09:59:21 ERROR server odoo.modules.loading:321 Module test_new_api: 1 failures, 3 errors of 448 tests
2026-05-27 10:00:32 ERROR server odoo.addons.autovacuum_message_attachment.tests.test_vacuum_rule:103
ERROR: TestVacuumRule.test_attachment_vacuum_rule
Traceback (most recent call last):
  File "/data/build/Gitlab Phileas Community 18.0/autovacuum_message_attachment/tests/test_vacuum_rule.py", line 103, in test_attachment_vacuum_rule
    a1 = self.create_attachment("Test-dummy")
         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/data/build/Gitlab Phileas Community 18.0/autovacuum_message_attachment/tests/test_vacuum_rule.py", line 92, in create_attachment
    return self.env["ir.attachment"].create(vals)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/data/build/Gitlab Phileas Common modules 18.0/ir_attachment_cleaner/models/ir_attachment.py", line 17, in create
    vals = self._clean_data_attachment_data(vals)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/data/build/Gitlab Phileas Common modules 18.0/ir_attachment_cleaner/models/ir_attachment.py", line 27, in _clean_data_attachment_data
    if datas := vals.get("datas"):
                ^^^^^^^^
AttributeError: 'str' object has no attribute 'get'
2026-05-27 10:00:32 ERROR server odoo.modules.loading:321 Module autovacuum_message_attachment: 0 failures, 1 errors of 4 tests
2026-05-27 10:00:37 ERROR server odoo.addons.calendar.tests.test_access_rights:160
ERROR: TestAccessRights.test_meeting_edit_access_notification_handle_in_odoo
Traceback (most recent call last):
  File "/data/build/Gitlab Phileas Odoo 18.0/addons/calendar/tests/test_access_rights.py", line 160, in test_meeting_edit_access_notification_handle_in_odoo
    meeting.write({
  File "/data/build/Gitlab Phileas Odoo 18.0/addons/calendar/models/calendar_event.py", line 791, in write
    )._send_mail_to_attendees(
      ^^^^^^^^^^^^^^^^^^^^^^^^
  File "/data/build/Gitlab Phileas Odoo 18.0/addons/calendar/models/calendar_attendee.py", line 161, in _send_mail_to_attendees
    attachment_ids += self.env['ir.attachment'].with_context(context).create({
                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/data/build/Gitlab Phileas Common modules 18.0/ir_attachment_cleaner/models/ir_attachment.py", line 17, in create
    vals = self._clean_data_attachment_data(vals)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/data/build/Gitlab Phileas Common modules 18.0/ir_attachment_cleaner/models/ir_attachment.py", line 27, in _clean_data_attachment_data
    if datas := vals.get("datas"):
                ^^^^^^^^
AttributeError: 'str' object has no attribute 'get'
2026-05-27 10:00:38 ERROR server odoo.addons.calendar.tests.test_access_rights:136
ERROR: TestAccessRights.test_private_attendee
Traceback (most recent call last):
  File "/data/build/Gitlab Phileas Odoo 18.0/addons/calendar/tests/test_access_rights.py", line 136, in test_private_attendee
    event.write({'partner_ids': [(6, 0, partners.ids)]})
  File "/data/build/Gitlab Phileas Odoo 18.0/addons/calendar/models/calendar_event.py", line 781, in write
    (current_attendees - previous_attendees)._send_mail_to_attendees(
  File "/data/build/Gitlab Phileas Odoo 18.0/addons/calendar/models/calendar_attendee.py", line 161, in _send_mail_to_attendees
    attachment_ids += self.env['ir.attachment'].with_context(context).create({
                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/data/build/Gitlab Phileas Common modules 18.0/ir_attachment_cleaner/models/ir_attachment.py", line 17, in create
    vals = self._clean_data_attachment_data(vals)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/data/build/Gitlab Phileas Common modules 18.0/ir_attachment_cleaner/models/ir_attachment.py", line 27, in _clean_data_attachment_data
    if datas := vals.get("datas"):
                ^^^^^^^^
AttributeError: 'str' object has no attribute 'get'
2026-05-27 10:00:38 ERROR server odoo.addons.calendar.tests.test_access_rights:368
ERROR: TestAccessRights.test_recurring_event_with_alarms_for_non_admin
Traceback (most recent call last):
  File "/data/build/Gitlab Phileas Odoo 18.0/addons/calendar/tests/test_access_rights.py", line 368, in test_recurring_event_with_alarms_for_non_admin
    with Form(recurring_event.with_user(self.john)) as form:
  File "/data/build/Gitlab Phileas Odoo 18.0/odoo/tests/form.py", line 426, in __exit__
    self.save()
  File "/data/build/Gitlab Phileas Odoo 18.0/odoo/tests/form.py", line 443, in save
    [record_values] = self._record.web_save(values, self._view['fields_spec'])
                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/data/build/Gitlab Phileas Odoo 18.0/addons/web/models/models.py", line 70, in web_save
    self.write(vals)
  File "/data/build/Gitlab Phileas Odoo 18.0/addons/calendar/models/calendar_event.py", line 781, in write
    (current_attendees - previous_attendees)._send_mail_to_attendees(
  File "/data/build/Gitlab Phileas Odoo 18.0/addons/calendar/models/calendar_attendee.py", line 161, in _send_mail_to_attendees
    attachment_ids += self.env['ir.attachment'].with_context(context).create({
                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/data/build/Gitlab Phileas Common modules 18.0/ir_attachment_cleaner/models/ir_attachment.py", line 17, in create
    vals = self._clean_data_attachment_data(vals)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/data/build/Gitlab Phileas Common modules 18.0/ir_attachment_cleaner/models/ir_attachment.py", line 27, in _clean_data_attachment_data
    if datas := vals.get("datas"):
                ^^^^^^^^
AttributeError: 'str' object has no attribute 'get'
2026-05-27 10:00:40 ERROR server odoo.addons.calendar.tests.test_attendees:169
ERROR: TestEventNotifications.test_multi_attendee_mt_note_default
Traceback (most recent call last):
  File "/usr/lib/python3/dist-packages/freezegun/api.py", line 789, in wrapper
    result = func(*args, **kwargs)
             ^^^^^^^^^^^^^^^^^^^^^
  File "/data/build/Gitlab Phileas Odoo 18.0/addons/calendar/tests/test_attendees.py", line 169, in test_multi_attendee_mt_note_default
    event = self.env["calendar.event"].create({
            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "<decorator-gen-216>", line 2, in create
  File "/data/build/Gitlab Phileas Odoo 18.0/odoo/api.py", line 497, in _model_create_multi
    return create(self, [arg])
           ^^^^^^^^^^^^^^^^^^^
  File "/data/build/Gitlab Phileas Odoo 18.0/addons/calendar/models/calendar_event.py", line 643, in create
    events.filtered(lambda event: event.start > fields.Datetime.now()).attendee_ids._send_invitation_emails()
  File "/data/build/Gitlab Phileas Odoo 18.0/addons/calendar/models/calendar_attendee.py", line 107, in _send_invitation_emails
    self._send_mail_to_attendees(
  File "/data/build/Gitlab Phileas Odoo 18.0/addons/calendar/models/calendar_attendee.py", line 161, in _send_mail_to_attendees
    attachment_ids += self.env['ir.attachment'].with_context(context).create({
                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/data/build/Gitlab Phileas Common modules 18.0/ir_attachment_cleaner/models/ir_attachment.py", line 17, in create
    vals = self._clean_data_attachment_data(vals)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/data/build/Gitlab Phileas Common modules 18.0/ir_attachment_cleaner/models/ir_attachment.py", line 27, in _clean_data_attachment_data
    if datas := vals.get("datas"):
                ^^^^^^^^
AttributeError: 'str' object has no attribute 'get'
2026-05-27 10:00:40 ERROR server odoo.addons.calendar.tests.test_attendees:158
ERROR: TestEventNotifications.test_push_meeting_start
Traceback (most recent call last):
  File "/data/build/Gitlab Phileas Odoo 18.0/addons/calendar/tests/test_attendees.py", line 158, in test_push_meeting_start
    with Form(event) as event_form:
  File "/data/build/Gitlab Phileas Odoo 18.0/odoo/tests/form.py", line 426, in __exit__
    self.save()
  File "/data/build/Gitlab Phileas Odoo 18.0/odoo/tests/form.py", line 443, in save
    [record_values] = self._record.web_save(values, self._view['fields_spec'])
                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/data/build/Gitlab Phileas Odoo 18.0/addons/web/models/models.py", line 70, in web_save
    self.write(vals)
  File "/data/build/Gitlab Phileas Odoo 18.0/addons/calendar/models/calendar_event.py", line 755, in write
    super().write(values)
  File "/data/build/Gitlab Phileas Odoo 18.0/addons/mail/models/mail_thread.py", line 356, in write
    result = super(MailThread, self).write(values)
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/data/build/Gitlab Phileas Common modules 18.0/base_event_field/base.py", line 165, in write
    res = super().write(vals)
          ^^^^^^^^^^^^^^^^^^^
  File "/data/build/Gitlab Phileas Common modules 18.0/base_odoo_utilities/models/base_base.py", line 56, in write
    res = super().write(vals)
          ^^^^^^^^^^^^^^^^^^^
  File "/data/build/Gitlab Phileas Common modules 18.0/base_force_upper_field/base.py", line 49, in write
    return super().write(vals)
           ^^^^^^^^^^^^^^^^^^^
  File "/data/build/Gitlab Phileas Odoo 18.0/odoo/models.py", line 4840, in write
    fields[0].determine_inverse(real_recs)
  File "/data/build/Gitlab Phileas Odoo 18.0/odoo/fields.py", line 1502, in determine_inverse
    determine(self.inverse, records)
  File "/data/build/Gitlab Phileas Odoo 18.0/odoo/fields.py", line 110, in determine
    return needle(*args)
           ^^^^^^^^^^^^^
  File "/data/build/Gitlab Phileas Odoo 18.0/addons/calendar/models/calendar_event.py", line 418, in _inverse_dates
    meeting.write({
  File "/data/build/Gitlab Phileas Odoo 18.0/addons/calendar/models/calendar_event.py", line 791, in write
    )._send_mail_to_attendees(
      ^^^^^^^^^^^^^^^^^^^^^^^^
  File "/data/build/Gitlab Phileas Odoo 18.0/addons/calendar/models/calendar_attendee.py", line 161, in _send_mail_to_attendees
    attachment_ids += self.env['ir.attachment'].with_context(context).create({
                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/data/build/Gitlab Phileas Common modules 18.0/ir_attachment_cleaner/models/ir_attachment.py", line 17, in create
    vals = self._clean_data_attachment_data(vals)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/data/build/Gitlab Phileas Common modules 18.0/ir_attachment_cleaner/models/ir_attachment.py", line 27, in _clean_data_attachment_data
    if datas := vals.get("datas"):
                ^^^^^^^^
AttributeError: 'str' object has no attribute 'get'
2026-05-27 10:00:41 ERROR server odoo.addons.calendar.tests.test_calendar:552
ERROR: TestCalendar.test_discuss_videocall
Traceback (most recent call last):
  File "/data/build/Gitlab Phileas Odoo 18.0/addons/calendar/tests/test_calendar.py", line 552, in test_discuss_videocall
    self.event_tech_presentation.write({
  File "/data/build/Gitlab Phileas Odoo 18.0/addons/calendar/models/calendar_event.py", line 781, in write
    (current_attendees - previous_attendees)._send_mail_to_attendees(
  File "/data/build/Gitlab Phileas Odoo 18.0/addons/calendar/models/calendar_attendee.py", line 161, in _send_mail_to_attendees
    attachment_ids += self.env['ir.attachment'].with_context(context).create({
                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/data/build/Gitlab Phileas Common modules 18.0/ir_attachment_cleaner/models/ir_attachment.py", line 17, in create
    vals = self._clean_data_attachment_data(vals)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/data/build/Gitlab Phileas Common modules 18.0/ir_attachment_cleaner/models/ir_attachment.py", line 27, in _clean_data_attachment_data
    if datas := vals.get("datas"):
                ^^^^^^^^
AttributeError: 'str' object has no attribute 'get'
2026-05-27 10:00:42 ERROR server odoo.addons.calendar.tests.test_calendar:485
ERROR: TestCalendar.test_event_creation_internal_user_invitation_ics
Traceback (most recent call last):
  File "/data/build/Gitlab Phileas Odoo 18.0/addons/calendar/tests/test_calendar.py", line 485, in test_event_creation_internal_user_invitation_ics
    self.event_tech_presentation.write({
  File "/data/build/Gitlab Phileas Odoo 18.0/addons/calendar/models/calendar_event.py", line 781, in write
    (current_attendees - previous_attendees)._send_mail_to_attendees(
  File "/data/build/Gitlab Phileas Odoo 18.0/addons/calendar/models/calendar_attendee.py", line 161, in _send_mail_to_attendees
    attachment_ids += self.env['ir.attachment'].with_context(context).create({
                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/data/build/Gitlab Phileas Common modules 18.0/ir_attachment_cleaner/models/ir_attachment.py", line 17, in create
    vals = self._clean_data_attachment_data(vals)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/data/build/Gitlab Phileas Common modules 18.0/ir_attachment_cleaner/models/ir_attachment.py", line 27, in _clean_data_attachment_data
    if datas := vals.get("datas"):
                ^^^^^^^^
AttributeError: 'str' object has no attribute 'get'
2026-05-27 10:00:42 ERROR server odoo.addons.calendar.tests.test_calendar:417
ERROR: TestCalendar.test_event_creation_mail
Traceback (most recent call last):
  File "/usr/lib/python3/dist-packages/freezegun/api.py", line 789, in wrapper
    result = func(*args, **kwargs)
             ^^^^^^^^^^^^^^^^^^^^^
  File "/data/build/Gitlab Phileas Odoo 18.0/addons/calendar/tests/test_calendar.py", line 417, in test_event_creation_mail
    m = self.CalendarEvent.create({
        ^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "<decorator-gen-216>", line 2, in create
  File "/data/build/Gitlab Phileas Odoo 18.0/odoo/api.py", line 497, in _model_create_multi
    return create(self, [arg])
           ^^^^^^^^^^^^^^^^^^^
  File "/data/build/Gitlab Phileas Odoo 18.0/addons/calendar/models/calendar_event.py", line 643, in create
    events.filtered(lambda event: event.start > fields.Datetime.now()).attendee_ids._send_invitation_emails()
  File "/data/build/Gitlab Phileas Odoo 18.0/addons/calendar/models/calendar_attendee.py", line 107, in _send_invitation_emails
    self._send_mail_to_attendees(
  File "/data/build/Gitlab Phileas Odoo 18.0/addons/calendar/models/calendar_attendee.py", line 161, in _send_mail_to_attendees
    attachment_ids += self.env['ir.attachment'].with_context(context).create({
                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/data/build/Gitlab Phileas Common modules 18.0/ir_attachment_cleaner/models/ir_attachment.py", line 17, in create
    vals = self._clean_data_attachment_data(vals)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/data/build/Gitlab Phileas Common modules 18.0/ir_attachment_cleaner/models/ir_attachment.py", line 27, in _clean_data_attachment_data
    if datas := vals.get("datas"):
                ^^^^^^^^
AttributeError: 'str' object has no attribute 'get'
2026-05-27 10:00:42 ERROR server odoo.addons.calendar.tests.test_calendar:512
ERROR: TestCalendar.test_event_creation_sudo_other_company
Traceback (most recent call last):
  File "/data/build/Gitlab Phileas Odoo 18.0/addons/calendar/tests/test_calendar.py", line 512, in test_event_creation_sudo_other_company
    self.CalendarEvent.with_user(web_user).with_company(web_company).sudo().create({
  File "<decorator-gen-216>", line 2, in create
  File "/data/build/Gitlab Phileas Odoo 18.0/odoo/api.py", line 497, in _model_create_multi
    return create(self, [arg])
           ^^^^^^^^^^^^^^^^^^^
  File "/data/build/Gitlab Phileas Odoo 18.0/addons/calendar/models/calendar_event.py", line 643, in create
    events.filtered(lambda event: event.start > fields.Datetime.now()).attendee_ids._send_invitation_emails()
  File "/data/build/Gitlab Phileas Odoo 18.0/addons/calendar/models/calendar_attendee.py", line 107, in _send_invitation_emails
    self._send_mail_to_attendees(
  File "/data/build/Gitlab Phileas Odoo 18.0/addons/calendar/models/calendar_attendee.py", line 161, in _send_mail_to_attendees
    attachment_ids += self.env['ir.attachment'].with_context(context).create({
                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/data/build/Gitlab Phileas Common modules 18.0/ir_attachment_cleaner/models/ir_attachment.py", line 17, in create
    vals = self._clean_data_attachment_data(vals)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/data/build/Gitlab Phileas Common modules 18.0/ir_attachment_cleaner/models/ir_attachment.py", line 27, in _clean_data_attachment_data
    if datas := vals.get("datas"):
                ^^^^^^^^
AttributeError: 'str' object has no attribute 'get'
2026-05-27 10:00:43 ERROR server odoo.addons.calendar.tests.test_calendar:293
ERROR: TestCalendar.test_recurring_ny
Traceback (most recent call last):
  File "/data/build/Gitlab Phileas Odoo 18.0/addons/calendar/tests/test_calendar.py", line 293, in test_recurring_ny
    event = self.CalendarEvent.create({'user_id': self.user_demo.id, 'name': 'test', 'partner_ids': [Command.link(self.user_demo.partner_id.id)]})
            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "<decorator-gen-216>", line 2, in create
  File "/data/build/Gitlab Phileas Odoo 18.0/odoo/api.py", line 497, in _model_create_multi
    return create(self, [arg])
           ^^^^^^^^^^^^^^^^^^^
  File "/data/build/Gitlab Phileas Odoo 18.0/addons/calendar/models/calendar_event.py", line 643, in create
    events.filtered(lambda event: event.start > fields.Datetime.now()).attendee_ids._send_invitation_emails()
  File "/data/build/Gitlab Phileas Odoo 18.0/addons/calendar/models/calendar_attendee.py", line 107, in _send_invitation_emails
    self._send_mail_to_attendees(
  File "/data/build/Gitlab Phileas Odoo 18.0/addons/calendar/models/calendar_attendee.py", line 161, in _send_mail_to_attendees
    attachment_ids += self.env['ir.attachment'].with_context(context).create({
                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/data/build/Gitlab Phileas Common modules 18.0/ir_attachment_cleaner/models/ir_attachment.py", line 17, in create
    vals = self._clean_data_attachment_data(vals)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/data/build/Gitlab Phileas Common modules 18.0/ir_attachment_cleaner/models/ir_attachment.py", line 27, in _clean_data_attachment_data
    if datas := vals.get("datas"):
                ^^^^^^^^
AttributeError: 'str' object has no attribute 'get'
2026-05-27 10:00:44 ERROR server odoo.addons.calendar.tests.test_event_notifications:194
ERROR: TestEventNotifications.test_email_alarm
Traceback (most recent call last):
  File "/data/build/Gitlab Phileas Odoo 18.0/addons/calendar/tests/test_event_notifications.py", line 194, in test_email_alarm
    self.event.with_user(self.user).write({
  File "/data/build/Gitlab Phileas Odoo 18.0/addons/calendar/models/calendar_event.py", line 791, in write
    )._send_mail_to_attendees(
      ^^^^^^^^^^^^^^^^^^^^^^^^
  File "/data/build/Gitlab Phileas Odoo 18.0/addons/calendar/models/calendar_attendee.py", line 161, in _send_mail_to_attendees
    attachment_ids += self.env['ir.attachment'].with_context(context).create({
                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/data/build/Gitlab Phileas Common modules 18.0/ir_attachment_cleaner/models/ir_attachment.py", line 17, in create
    vals = self._clean_data_attachment_data(vals)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/data/build/Gitlab Phileas Common modules 18.0/ir_attachment_cleaner/models/ir_attachment.py", line 27, in _clean_data_attachment_data
    if datas := vals.get("datas"):
                ^^^^^^^^
AttributeError: 'str' object has no attribute 'get'
2026-05-27 10:00:45 ERROR server odoo.addons.calendar.tests.test_event_notifications:359
ERROR: TestEventNotifications.test_email_alarm_daily_recurrence
Traceback (most recent call last):
  File "/data/build/Gitlab Phileas Odoo 18.0/addons/calendar/tests/test_event_notifications.py", line 359, in test_email_alarm_daily_recurrence
    self.env['calendar.alarm_manager']._send_reminder()
  File "/data/build/Gitlab Phileas Odoo 18.0/addons/calendar/models/calendar_alarm_manager.py", line 201, in _send_reminder
    )._send_mail_to_attendees(
      ^^^^^^^^^^^^^^^^^^^^^^^^
  File "/data/build/Gitlab Phileas Odoo 18.0/addons/calendar/models/calendar_attendee.py", line 161, in _send_mail_to_attendees
    attachment_ids += self.env['ir.attachment'].with_context(context).create({
                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/data/build/Gitlab Phileas Common modules 18.0/ir_attachment_cleaner/models/ir_attachment.py", line 17, in create
    vals = self._clean_data_attachment_data(vals)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/data/build/Gitlab Phileas Common modules 18.0/ir_attachment_cleaner/models/ir_attachment.py", line 27, in _clean_data_attachment_data
    if datas := vals.get("datas"):
                ^^^^^^^^
AttributeError: 'str' object has no attribute 'get'
2026-05-27 10:00:45 ERROR server odoo.addons.calendar.tests.test_event_notifications:520
ERROR: TestEventNotifications.test_get_next_potential_limit_alarm
Traceback (most recent call last):
  File "/data/build/Gitlab Phileas Odoo 18.0/addons/calendar/tests/test_event_notifications.py", line 520, in test_get_next_potential_limit_alarm
    self.event.write(event_vals)
  File "/data/build/Gitlab Phileas Odoo 18.0/addons/calendar/models/calendar_event.py", line 781, in write
    (current_attendees - previous_attendees)._send_mail_to_attendees(
  File "/data/build/Gitlab Phileas Odoo 18.0/addons/calendar/models/calendar_attendee.py", line 161, in _send_mail_to_attendees
    attachment_ids += self.env['ir.attachment'].with_context(context).create({
                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/data/build/Gitlab Phileas Common modules 18.0/ir_attachment_cleaner/models/ir_attachment.py", line 17, in create
    vals = self._clean_data_attachment_data(vals)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/data/build/Gitlab Phileas Common modules 18.0/ir_attachment_cleaner/models/ir_attachment.py", line 27, in _clean_data_attachment_data
    if datas := vals.get("datas"):
                ^^^^^^^^
AttributeError: 'str' object has no attribute 'get'
2026-05-27 10:00:45 ERROR server odoo.addons.calendar.tests.test_event_notifications:147
FAIL: TestEventNotifications.test_message_add_and_date_changed
Traceback (most recent call last):
  File "/data/build/Gitlab Phileas Odoo 18.0/addons/mail/tests/common.py", line 1086, in assertPostNotifications
    yield
  File "/data/build/Gitlab Phileas Odoo 18.0/addons/mail/tests/common.py", line 1079, in assertSinglePostNotifications
    yield
  File "/data/build/Gitlab Phileas Odoo 18.0/addons/calendar/tests/test_event_notifications.py", line 151, in test_message_add_and_date_changed
    self.event.write({
  File "/data/build/Gitlab Phileas Odoo 18.0/addons/calendar/models/calendar_event.py", line 781, in write
    (current_attendees - previous_attendees)._send_mail_to_attendees(
  File "/data/build/Gitlab Phileas Odoo 18.0/addons/calendar/models/calendar_attendee.py", line 161, in _send_mail_to_attendees
    attachment_ids += self.env['ir.attachment'].with_context(context).create({
                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/data/build/Gitlab Phileas Common modules 18.0/ir_attachment_cleaner/models/ir_attachment.py", line 17, in create
    vals = self._clean_data_attachment_data(vals)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
AttributeError: 'str' object has no attribute 'get'

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/data/build/Gitlab Phileas Odoo 18.0/addons/calendar/tests/test_event_notifications.py", line 147, in test_message_add_and_date_changed
    with self.assertSinglePostNotifications([{'partner': self.partner, 'type': 'inbox'}], {
  File "/usr/lib/python3.12/contextlib.py", line 158, in __exit__
    self.gen.throw(value)
  File "/data/build/Gitlab Phileas Odoo 18.0/addons/mail/tests/common.py", line 1078, in assertSinglePostNotifications
    with self.assertPostNotifications([r_info], mail_unlink_sent=mail_unlink_sent):
  File "/usr/lib/python3.12/contextlib.py", line 158, in __exit__
    self.gen.throw(value)
  File "/data/build/Gitlab Phileas Odoo 18.0/addons/mail/tests/common.py", line 1088, in assertPostNotifications
    done_msgs, done_notifs = self.assertMailNotifications(self._new_msgs, recipients_info)
                             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/data/build/Gitlab Phileas Odoo 18.0/addons/mail/tests/common.py", line 1233, in assertMailNotifications
    self.assertTrue(message, 'Mail: not found message (content: %s, message_type: %s, subtype: %s\n%s)' % (mbody, mtype, msubtype.name, debug_info))
AssertionError: mail.message() is not true : Mail: not found message (content: , message_type: user_notification, subtype: Note
)
2026-05-27 10:00:45 ERROR server odoo.addons.calendar.tests.test_event_notifications:104
ERROR: TestEventNotifications.test_message_date_changed
Traceback (most recent call last):
  File "/data/build/Gitlab Phileas Odoo 18.0/addons/calendar/tests/test_event_notifications.py", line 104, in test_message_date_changed
    self.event.partner_ids = self.partner
    ^^^^^^^^^^^^^^^^^^^^^^
  File "/data/build/Gitlab Phileas Odoo 18.0/odoo/fields.py", line 1426, in __set__
    records.write({self.name: write_value})
  File "/data/build/Gitlab Phileas Odoo 18.0/addons/calendar/models/calendar_event.py", line 781, in write
    (current_attendees - previous_attendees)._send_mail_to_attendees(
  File "/data/build/Gitlab Phileas Odoo 18.0/addons/calendar/models/calendar_attendee.py", line 161, in _send_mail_to_attendees
    attachment_ids += self.env['ir.attachment'].with_context(context).create({
                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/data/build/Gitlab Phileas Common modules 18.0/ir_attachment_cleaner/models/ir_attachment.py", line 17, in create
    vals = self._clean_data_attachment_data(vals)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/data/build/Gitlab Phileas Common modules 18.0/ir_attachment_cleaner/models/ir_attachment.py", line 27, in _clean_data_attachment_data
    if datas := vals.get("datas"):
                ^^^^^^^^
AttributeError: 'str' object has no attribute 'get'
2026-05-27 10:00:45 ERROR server odoo.addons.calendar.tests.test_event_notifications:117
ERROR: TestEventNotifications.test_message_date_changed_past
Traceback (most recent call last):
  File "/data/build/Gitlab Phileas Odoo 18.0/addons/calendar/tests/test_event_notifications.py", line 117, in test_message_date_changed_past
    self.event.partner_ids = self.partner
    ^^^^^^^^^^^^^^^^^^^^^^
  File "/data/build/Gitlab Phileas Odoo 18.0/odoo/fields.py", line 1426, in __set__
    records.write({self.name: write_value})
  File "/data/build/Gitlab Phileas Odoo 18.0/addons/calendar/models/calendar_event.py", line 781, in write
    (current_attendees - previous_attendees)._send_mail_to_attendees(
  File "/data/build/Gitlab Phileas Odoo 18.0/addons/calendar/models/calendar_attendee.py", line 161, in _send_mail_to_attendees
    attachment_ids += self.env['ir.attachment'].with_context(context).create({
                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/data/build/Gitlab Phileas Common modules 18.0/ir_attachment_cleaner/models/ir_attachment.py", line 17, in create
    vals = self._clean_data_attachment_data(vals)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/data/build/Gitlab Phileas Common modules 18.0/ir_attachment_cleaner/models/ir_attachment.py", line 27, in _clean_data_attachment_data
    if datas := vals.get("datas"):
                ^^^^^^^^
AttributeError: 'str' object has no attribute 'get'
2026-05-27 10:00:46 ERROR server odoo.addons.calendar.tests.test_event_notifications:90
ERROR: TestEventNotifications.test_message_datetime_changed
Traceback (most recent call last):
  File "/data/build/Gitlab Phileas Odoo 18.0/addons/calendar/tests/test_event_notifications.py", line 90, in test_message_datetime_changed
    self.event.partner_ids = self.partner
    ^^^^^^^^^^^^^^^^^^^^^^
  File "/data/build/Gitlab Phileas Odoo 18.0/odoo/fields.py", line 1426, in __set__
    records.write({self.name: write_value})
  File "/data/build/Gitlab Phileas Odoo 18.0/addons/calendar/models/calendar_event.py", line 781, in write
    (current_attendees - previous_attendees)._send_mail_to_attendees(
  File "/data/build/Gitlab Phileas Odoo 18.0/addons/calendar/models/calendar_attendee.py", line 161, in _send_mail_to_attendees
    attachment_ids += self.env['ir.attachment'].with_context(context).create({
                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/data/build/Gitlab Phileas Common modules 18.0/ir_attachment_cleaner/models/ir_attachment.py", line 17, in create
    vals = self._clean_data_attachment_data(vals)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/data/build/Gitlab Phileas Common modules 18.0/ir_attachment_cleaner/models/ir_attachment.py", line 27, in _clean_data_attachment_data
    if datas := vals.get("datas"):
                ^^^^^^^^
AttributeError: 'str' object has no attribute 'get'
2026-05-27 10:00:46 ERROR server odoo.addons.calendar.tests.test_event_notifications:29
FAIL: TestEventNotifications.test_message_invite
Traceback (most recent call last):
  File "/data/build/Gitlab Phileas Odoo 18.0/addons/mail/tests/common.py", line 1086, in assertPostNotifications
    yield
  File "/data/build/Gitlab Phileas Odoo 18.0/addons/mail/tests/common.py", line 1079, in assertSinglePostNotifications
    yield
  File "/data/build/Gitlab Phileas Odoo 18.0/addons/calendar/tests/test_event_notifications.py", line 33, in test_message_invite
    self.event.partner_ids = self.partner
    ^^^^^^^^^^^^^^^^^^^^^^
  File "/data/build/Gitlab Phileas Odoo 18.0/odoo/fields.py", line 1426, in __set__
    records.write({self.name: write_value})
  File "/data/build/Gitlab Phileas Odoo 18.0/addons/calendar/models/calendar_event.py", line 781, in write
    (current_attendees - previous_attendees)._send_mail_to_attendees(
  File "/data/build/Gitlab Phileas Odoo 18.0/addons/calendar/models/calendar_attendee.py", line 161, in _send_mail_to_attendees
    attachment_ids += self.env['ir.attachment'].with_context(context).create({
                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
AttributeError: 'str' object has no attribute 'get'

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/data/build/Gitlab Phileas Odoo 18.0/addons/calendar/tests/test_event_notifications.py", line 29, in test_message_invite
    with self.assertSinglePostNotifications([{'partner': self.partner, 'type': 'inbox'}], {
  File "/usr/lib/python3.12/contextlib.py", line 158, in __exit__
    self.gen.throw(value)
  File "/data/build/Gitlab Phileas Odoo 18.0/addons/mail/tests/common.py", line 1078, in assertSinglePostNotifications
    with self.assertPostNotifications([r_info], mail_unlink_sent=mail_unlink_sent):
  File "/usr/lib/python3.12/contextlib.py", line 158, in __exit__
    self.gen.throw(value)
  File "/data/build/Gitlab Phileas Odoo 18.0/addons/mail/tests/common.py", line 1088, in assertPostNotifications
    done_msgs, done_notifs = self.assertMailNotifications(self._new_msgs, recipients_info)
                             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/data/build/Gitlab Phileas Odoo 18.0/addons/mail/tests/common.py", line 1233, in assertMailNotifications
    self.assertTrue(message, 'Mail: not found message (content: %s, message_type: %s, subtype: %s\n%s)' % (mbody, mtype, msubtype.name, debug_info))
AssertionError: mail.message() is not true : Mail: not found message (content: , message_type: user_notification, subtype: Note
)
2026-05-27 10:00:46 ERROR server odoo.addons.calendar.tests.test_event_notifications:42
FAIL: TestEventNotifications.test_message_invite_allday
Traceback (most recent call last):
  File "/data/build/Gitlab Phileas Odoo 18.0/addons/mail/tests/common.py", line 1086, in assertPostNotifications
    yield
  File "/data/build/Gitlab Phileas Odoo 18.0/addons/mail/tests/common.py", line 1079, in assertSinglePostNotifications
    yield
  File "/data/build/Gitlab Phileas Odoo 18.0/addons/calendar/tests/test_event_notifications.py", line 46, in test_message_invite_allday
    self.env['calendar.event'].with_context(mail_create_nolog=True).create([{
  File "<decorator-gen-216>", line 2, in create
  File "/data/build/Gitlab Phileas Odoo 18.0/odoo/api.py", line 498, in _model_create_multi
    return create(self, arg)
           ^^^^^^^^^^^^^^^^^
  File "/data/build/Gitlab Phileas Odoo 18.0/addons/calendar/models/calendar_event.py", line 643, in create
    events.filtered(lambda event: event.start > fields.Datetime.now()).attendee_ids._send_invitation_emails()
AttributeError: 'str' object has no attribute 'get'

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/data/build/Gitlab Phileas Odoo 18.0/addons/calendar/tests/test_event_notifications.py", line 42, in test_message_invite_allday
    with self.assertSinglePostNotifications([{'partner': self.partner, 'type': 'inbox'}], {
  File "/usr/lib/python3.12/contextlib.py", line 158, in __exit__
    self.gen.throw(value)
  File "/data/build/Gitlab Phileas Odoo 18.0/addons/mail/tests/common.py", line 1078, in assertSinglePostNotifications
    with self.assertPostNotifications([r_info], mail_unlink_sent=mail_unlink_sent):
  File "/usr/lib/python3.12/contextlib.py", line 158, in __exit__
    self.gen.throw(value)
  File "/data/build/Gitlab Phileas Odoo 18.0/addons/mail/tests/common.py", line 1088, in assertPostNotifications
    done_msgs, done_notifs = self.assertMailNotifications(self._new_msgs, recipients_info)
                             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/data/build/Gitlab Phileas Odoo 18.0/addons/mail/tests/common.py", line 1233, in assertMailNotifications
    self.assertTrue(message, 'Mail: not found message (content: %s, message_type: %s, subtype: %s\n%s)' % (mbody, mtype, msubtype.name, debug_info))
AssertionError: mail.message() is not true : Mail: not found message (content: , message_type: user_notification, subtype: Note
)
2026-05-27 10:00:46 ERROR server odoo.addons.calendar.tests.test_event_notifications:61
ERROR: TestEventNotifications.test_message_invite_email_notif_mass_queued
Traceback (most recent call last):
  File "/data/build/Gitlab Phileas Odoo 18.0/addons/calendar/tests/test_event_notifications.py", line 61, in test_message_invite_email_notif_mass_queued
    self.event.partner_ids = additional_attendees
    ^^^^^^^^^^^^^^^^^^^^^^
  File "/data/build/Gitlab Phileas Odoo 18.0/odoo/fields.py", line 1426, in __set__
    records.write({self.name: write_value})
  File "/data/build/Gitlab Phileas Odoo 18.0/addons/calendar/models/calendar_event.py", line 781, in write
    (current_attendees - previous_attendees)._send_mail_to_attendees(
  File "/data/build/Gitlab Phileas Odoo 18.0/addons/calendar/models/calendar_attendee.py", line 161, in _send_mail_to_attendees
    attachment_ids += self.env['ir.attachment'].with_context(context).create({
                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/data/build/Gitlab Phileas Common modules 18.0/ir_attachment_cleaner/models/ir_attachment.py", line 17, in create
    vals = self._clean_data_attachment_data(vals)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/data/build/Gitlab Phileas Common modules 18.0/ir_attachment_cleaner/models/ir_attachment.py", line 27, in _clean_data_attachment_data
    if datas := vals.get("datas"):
                ^^^^^^^^
AttributeError: 'str' object has no attribute 'get'
2026-05-27 10:00:46 ERROR server odoo.addons.calendar.tests.test_event_notifications:127
ERROR: TestEventNotifications.test_message_set_inactive_date_changed
Traceback (most recent call last):
  File "/data/build/Gitlab Phileas Odoo 18.0/addons/calendar/tests/test_event_notifications.py", line 127, in test_message_set_inactive_date_changed
    self.event.partner_ids = self.partner
    ^^^^^^^^^^^^^^^^^^^^^^
  File "/data/build/Gitlab Phileas Odoo 18.0/odoo/fields.py", line 1426, in __set__
    records.write({self.name: write_value})
  File "/data/build/Gitlab Phileas Odoo 18.0/addons/calendar/models/calendar_event.py", line 781, in write
    (current_attendees - previous_attendees)._send_mail_to_attendees(
  File "/data/build/Gitlab Phileas Odoo 18.0/addons/calendar/models/calendar_attendee.py", line 161, in _send_mail_to_attendees
    attachment_ids += self.env['ir.attachment'].with_context(context).create({
                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/data/build/Gitlab Phileas Common modules 18.0/ir_attachment_cleaner/models/ir_attachment.py", line 17, in create
    vals = self._clean_data_attachment_data(vals)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/data/build/Gitlab Phileas Common modules 18.0/ir_attachment_cleaner/models/ir_attachment.py", line 27, in _clean_data_attachment_data
    if datas := vals.get("datas"):
                ^^^^^^^^
AttributeError: 'str' object has no attribute 'get'
2026-05-27 10:00:59 ERROR server odoo.modules.loading:321 Module calendar: 3 failures, 18 errors of 140 tests
2026-05-27 10:06:42 WARNING server odoo.fields:2886 res.users.chatter_position: selection=[('auto', 'Automatic'), ('bottom', 'Bottom'), ('sided', 'Sided')] overrides existing selection; use selection_add instead
2026-05-27 10:06:43 WARNING server odoo.fields:2886 res.users.chatter_position: selection=[('auto', 'Automatic'), ('bottom', 'Bottom'), ('sided', 'Sided')] overrides existing selection; use selection_add instead
2026-05-27 10:06:44 WARNING server odoo.fields:2886 res.users.chatter_position: selection=[('auto', 'Automatic'), ('bottom', 'Bottom'), ('sided', 'Sided')] overrides existing selection; use selection_add instead
2026-05-27 10:06:44 WARNING server odoo.fields:2886 res.users.chatter_position: selection=[('auto', 'Automatic'), ('bottom', 'Bottom'), ('sided', 'Sided')] overrides existing selection; use selection_add instead
2026-05-27 10:06:45 WARNING server odoo.fields:2886 res.users.chatter_position: selection=[('auto', 'Automatic'), ('bottom', 'Bottom'), ('sided', 'Sided')] overrides existing selection; use selection_add instead
2026-05-27 10:06:46 WARNING server odoo.fields:2886 res.users.chatter_position: selection=[('auto', 'Automatic'), ('bottom', 'Bottom'), ('sided', 'Sided')] overrides existing selection; use selection_add instead
2026-05-27 10:06:47 WARNING server odoo.fields:2886 res.users.chatter_position: selection=[('auto', 'Automatic'), ('bottom', 'Bottom'), ('sided', 'Sided')] overrides existing selection; use selection_add instead
2026-05-27 10:06:49 WARNING server odoo.fields:2886 res.users.chatter_position: selection=[('auto', 'Automatic'), ('bottom', 'Bottom'), ('sided', 'Sided')] overrides existing selection; use selection_add instead
2026-05-27 10:06:49 WARNING server odoo.fields:2886 res.users.chatter_position: selection=[('auto', 'Automatic'), ('bottom', 'Bottom'), ('sided', 'Sided')] overrides existing selection; use selection_add instead
2026-05-27 10:06:50 WARNING server odoo.fields:2886 res.users.chatter_position: selection=[('auto', 'Automatic'), ('bottom', 'Bottom'), ('sided', 'Sided')] overrides existing selection; use selection_add instead
2026-05-27 10:06:51 WARNING server odoo.fields:2886 res.users.chatter_position: selection=[('auto', 'Automatic'), ('bottom', 'Bottom'), ('sided', 'Sided')] overrides existing selection; use selection_add instead
2026-05-27 10:06:53 WARNING server odoo.fields:2886 res.users.chatter_position: selection=[('auto', 'Automatic'), ('bottom', 'Bottom'), ('sided', 'Sided')] overrides existing selection; use selection_add instead
2026-05-27 10:06:53 WARNING server odoo.fields:2886 res.users.chatter_position: selection=[('auto', 'Automatic'), ('bottom', 'Bottom'), ('sided', 'Sided')] overrides existing selection; use selection_add instead
2026-05-27 10:06:54 WARNING server odoo.fields:2886 res.users.chatter_position: selection=[('auto', 'Automatic'), ('bottom', 'Bottom'), ('sided', 'Sided')] overrides existing selection; use selection_add instead
2026-05-27 10:06:55 WARNING server odoo.fields:2886 res.users.chatter_position: selection=[('auto', 'Automatic'), ('bottom', 'Bottom'), ('sided', 'Sided')] overrides existing selection; use selection_add instead
2026-05-27 10:06:56 WARNING server odoo.fields:2886 res.users.chatter_position: selection=[('auto', 'Automatic'), ('bottom', 'Bottom'), ('sided', 'Sided')] overrides existing selection; use selection_add instead
2026-05-27 10:06:57 WARNING server odoo.fields:2886 res.users.chatter_position: selection=[('auto', 'Automatic'), ('bottom', 'Bottom'), ('sided', 'Sided')] overrides existing selection; use selection_add instead
2026-05-27 10:07:51 WARNING server odoo.fields:2886 res.users.chatter_position: selection=[('auto', 'Automatic'), ('bottom', 'Bottom'), ('sided', 'Sided')] overrides existing selection; use selection_add instead
2026-05-27 10:08:15 WARNING server odoo.fields:2886 res.users.chatter_position: selection=[('auto', 'Automatic'), ('bottom', 'Bottom'), ('sided', 'Sided')] overrides existing selection; use selection_add instead
2026-05-27 10:08:18 WARNING server odoo.fields:2886 res.users.chatter_position: selection=[('auto', 'Automatic'), ('bottom', 'Bottom'), ('sided', 'Sided')] overrides existing selection; use selection_add instead
2026-05-27 10:08:19 WARNING server odoo.fields:2886 res.users.chatter_position: selection=[('auto', 'Automatic'), ('bottom', 'Bottom'), ('sided', 'Sided')] overrides existing selection; use selection_add instead
2026-05-27 10:08:20 WARNING server odoo.fields:2886 res.users.chatter_position: selection=[('auto', 'Automatic'), ('bottom', 'Bottom'), ('sided', 'Sided')] overrides existing selection; use selection_add instead
2026-05-27 10:08:21 WARNING server odoo.fields:2886 res.users.chatter_position: selection=[('auto', 'Automatic'), ('bottom', 'Bottom'), ('sided', 'Sided')] overrides existing selection; use selection_add instead
2026-05-27 10:08:21 WARNING server odoo.fields:2886 res.users.chatter_position: selection=[('auto', 'Automatic'), ('bottom', 'Bottom'), ('sided', 'Sided')] overrides existing selection; use selection_add instead
2026-05-27 10:08:25 WARNING server odoo.fields:2886 res.users.chatter_position: selection=[('auto', 'Automatic'), ('bottom', 'Bottom'), ('sided', 'Sided')] overrides existing selection; use selection_add instead
2026-05-27 10:08:28 WARNING server odoo.fields:2886 res.users.chatter_position: selection=[('auto', 'Automatic'), ('bottom', 'Bottom'), ('sided', 'Sided')] overrides existing selection; use selection_add instead
2026-05-27 10:08:29 WARNING server odoo.fields:2886 res.users.chatter_position: selection=[('auto', 'Automatic'), ('bottom', 'Bottom'), ('sided', 'Sided')] overrides existing selection; use selection_add instead
2026-05-27 10:08:36 WARNING server odoo.fields:2886 res.users.chatter_position: selection=[('auto', 'Automatic'), ('bottom', 'Bottom'), ('sided', 'Sided')] overrides existing selection; use selection_add instead
2026-05-27 10:08:42 WARNING server odoo.fields:2886 res.users.chatter_position: selection=[('auto', 'Automatic'), ('bottom', 'Bottom'), ('sided', 'Sided')] overrides existing selection; use selection_add instead
2026-05-27 10:08:57 WARNING server odoo.fields:2886 res.users.chatter_position: selection=[('auto', 'Automatic'), ('bottom', 'Bottom'), ('sided', 'Sided')] overrides existing selection; use selection_add instead
2026-05-27 10:09:13 WARNING server odoo.fields:2886 res.users.chatter_position: selection=[('auto', 'Automatic'), ('bottom', 'Bottom'), ('sided', 'Sided')] overrides existing selection; use selection_add instead
2026-05-27 10:09:13 WARNING server odoo.fields:2886 res.users.chatter_position: selection=[('auto', 'Automatic'), ('bottom', 'Bottom'), ('sided', 'Sided')] overrides existing selection; use selection_add instead
2026-05-27 10:09:41 WARNING server odoo.fields:2886 res.users.chatter_position: selection=[('auto', 'Automatic'), ('bottom', 'Bottom'), ('sided', 'Sided')] overrides existing selection; use selection_add instead
2026-05-27 10:09:42 WARNING server odoo.fields:2886 res.users.chatter_position: selection=[('auto', 'Automatic'), ('bottom', 'Bottom'), ('sided', 'Sided')] overrides existing selection; use selection_add instead
2026-05-27 10:09:42 WARNING server odoo.fields:2886 res.users.chatter_position: selection=[('auto', 'Automatic'), ('bottom', 'Bottom'), ('sided', 'Sided')] overrides existing selection; use selection_add instead
2026-05-27 10:09:43 WARNING server odoo.fields:2886 res.users.chatter_position: selection=[('auto', 'Automatic'), ('bottom', 'Bottom'), ('sided', 'Sided')] overrides existing selection; use selection_add instead
2026-05-27 10:09:45 WARNING server odoo.fields:2886 res.users.chatter_position: selection=[('auto', 'Automatic'), ('bottom', 'Bottom'), ('sided', 'Sided')] overrides existing selection; use selection_add instead
2026-05-27 10:09:56 WARNING server odoo.fields:2886 res.users.chatter_position: selection=[('auto', 'Automatic'), ('bottom', 'Bottom'), ('sided', 'Sided')] overrides existing selection; use selection_add instead
2026-05-27 10:09:59 WARNING server odoo.fields:2886 res.users.chatter_position: selection=[('auto', 'Automatic'), ('bottom', 'Bottom'), ('sided', 'Sided')] overrides existing selection; use selection_add instead
2026-05-27 10:10:03 ERROR server odoo.addons.portal.tests.test_portal_wizard:173
ERROR: TestPortalWizard.test_portal_wizard_multi_company
Traceback (most recent call last):
  File "/data/build/Gitlab Phileas Odoo 18.0/addons/auth_signup/models/res_users.py", line 153, in _create_user_from_template
    return template_user.with_context(no_reset_password=True).copy(values)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/data/build/Gitlab Phileas Odoo 18.0/addons/auth_signup/models/res_users.py", line 376, in copy
    return super().copy(default=default)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/data/build/Gitlab Phileas Odoo 18.0/odoo/models.py", line 5968, in copy
    new_records = self.create(vals_list)
                  ^^^^^^^^^^^^^^^^^^^^^^
  File "<decorator-gen-226>", line 2, in create
  File "/data/build/Gitlab Phileas Odoo 18.0/odoo/api.py", line 498, in _model_create_multi
    return create(self, arg)
           ^^^^^^^^^^^^^^^^^
  File "/data/build/Gitlab Phileas Odoo 18.0/addons/gamification/models/res_users.py", line 72, in create
    res = super(Users, self).create(values_list)
          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "<decorator-gen-217>", line 2, in create
  File "/data/build/Gitlab Phileas Odoo 18.0/odoo/api.py", line 498, in _model_create_multi
    return create(self, arg)
           ^^^^^^^^^^^^^^^^^
  File "/data/build/Gitlab Phileas Odoo 18.0/addons/calendar/models/res_users.py", line 65, in create
    res = super().create(vals_list)
          ^^^^^^^^^^^^^^^^^^^^^^^^^
  File "<decorator-gen-212>", line 2, in create
  File "/data/build/Gitlab Phileas Odoo 18.0/odoo/api.py", line 498, in _model_create_multi
    return create(self, arg)
           ^^^^^^^^^^^^^^^^^
  File "/data/build/Gitlab Phileas Odoo 18.0/addons/auth_signup/models/res_users.py", line 350, in create
    users = super(ResUsers, self).create(vals_list)
            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "<decorator-gen-103>", line 2, in create
  File "/data/build/Gitlab Phileas Odoo 18.0/odoo/api.py", line 498, in _model_create_multi
    return create(self, arg)
           ^^^^^^^^^^^^^^^^^
  File "/data/build/Gitlab Phileas Odoo 18.0/addons/mail/models/discuss/res_users.py", line 12, in create
    users = super().create(vals_list)
            ^^^^^^^^^^^^^^^^^^^^^^^^^
  File "<decorator-gen-99>", line 2, in create
  File "/data/build/Gitlab Phileas Odoo 18.0/odoo/api.py", line 498, in _model_create_multi
    return create(self, arg)
           ^^^^^^^^^^^^^^^^^
  File "/data/build/Gitlab Phileas Odoo 18.0/addons/mail/models/res_users.py", line 76, in create
    users = super(Users, self).create(vals_list)
            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "<decorator-gen-52>", line 2, in create
  File "/data/build/Gitlab Phileas Odoo 18.0/odoo/api.py", line 498, in _model_create_multi
    return create(self, arg)
           ^^^^^^^^^^^^^^^^^
  File "/data/build/Gitlab Phileas Community 18.0/partner_external_map/models/res_users.py", line 59, in create
    users = super().create(vals_list)
            ^^^^^^^^^^^^^^^^^^^^^^^^^
  File "<decorator-gen-49>", line 2, in create
  File "/data/build/Gitlab Phileas Odoo 18.0/odoo/api.py", line 498, in _model_create_multi
    return create(self, arg)
           ^^^^^^^^^^^^^^^^^
  File "/data/build/Gitlab Phileas Community 18.0/base_user_role/models/user.py", line 55, in create
    new_records = super().create(vals_list)
                  ^^^^^^^^^^^^^^^^^^^^^^^^^
  File "<decorator-gen-33>", line 2, in create
  File "/data/build/Gitlab Phileas Odoo 18.0/odoo/api.py", line 498, in _model_create_multi
    return create(self, arg)
           ^^^^^^^^^^^^^^^^^
  File "/data/build/Gitlab Phileas Odoo 18.0/odoo/addons/base/models/res_users.py", line 1907, in create
    users = super(UsersView, self).create(new_vals_list)
            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "<decorator-gen-31>", line 2, in create
  File "/data/build/Gitlab Phileas Odoo 18.0/odoo/api.py", line 498, in _model_create_multi
    return create(self, arg)
           ^^^^^^^^^^^^^^^^^
  File "/data/build/Gitlab Phileas Odoo 18.0/odoo/addons/base/models/res_users.py", line 1605, in create
    return super(UsersImplied, self).create(vals_list)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "<decorator-gen-29>", line 2, in create
  File "/data/build/Gitlab Phileas Odoo 18.0/odoo/api.py", line 498, in _model_create_multi
    return create(self, arg)
           ^^^^^^^^^^^^^^^^^
  File "/data/build/Gitlab Phileas Odoo 18.0/odoo/addons/base/models/res_users.py", line 706, in create
    users = super(Users, self).create(vals_list)
            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "<decorator-gen-112>", line 2, in create
  File "/data/build/Gitlab Phileas Odoo 18.0/odoo/api.py", line 498, in _model_create_multi
    return create(self, arg)
           ^^^^^^^^^^^^^^^^^
  File "/data/build/Gitlab Phileas Common modules 18.0/base_event_field/base.py", line 95, in create
    res = super().create(vals_list)
          ^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/data/build/Gitlab Phileas Common modules 18.0/base_force_upper_field/base.py", line 45, in create
    return super().create(vals_list)
           ^^^^^^^^^^^^^^^^^^^^^^^^^
  File "<decorator-gen-0>", line 2, in create
  File "/data/build/Gitlab Phileas Odoo 18.0/odoo/api.py", line 498, in _model_create_multi
    return create(self, arg)
           ^^^^^^^^^^^^^^^^^
  File "/data/build/Gitlab Phileas Odoo 18.0/odoo/models.py", line 5034, in create
    records = self._create(data_list)
              ^^^^^^^^^^^^^^^^^^^^^^^
  File "/data/build/Gitlab Phileas Odoo 18.0/odoo/models.py", line 5201, in _create
    row.append(field.convert_to_column_insert(stored[fname], self, stored))
               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/data/build/Gitlab Phileas Odoo 18.0/odoo/fields.py", line 994, in convert_to_column_insert
    value = self.convert_to_column(value, record, values, validate)
            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/data/build/Gitlab Phileas Odoo 18.0/odoo/fields.py", line 3000, in convert_to_column
    value = self.convert_to_cache(value, record)
            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/data/build/Gitlab Phileas Odoo 18.0/odoo/fields.py", line 3010, in convert_to_cache
    raise ValueError("Wrong value for %s: %r" % (self, value))
ValueError: Wrong value for res.users.chatter_position: 'side'

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/data/build/Gitlab Phileas Odoo 18.0/addons/portal/tests/test_portal_wizard.py", line 173, in test_portal_wizard_multi_company
    portal_user.with_company(company_1).action_grant_access()
  File "/data/build/Gitlab Phileas Odoo 18.0/addons/portal/wizard/portal_wizard.py", line 154, in action_grant_access
    user_sudo = self.sudo().with_company(company.id)._create_user()
                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/data/build/Gitlab Phileas Odoo 18.0/addons/portal/wizard/portal_wizard.py", line 212, in _create_user
    return self.env['res.users'].with_context(no_reset_password=True)._create_user_from_template({
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/data/build/Gitlab Phileas Odoo 18.0/addons/auth_signup/models/res_users.py", line 156, in _create_user_from_template
    raise SignupError(str(e))
odoo.addons.auth_signup.models.res_partner.SignupError: Wrong value for res.users.chatter_position: 'side'
2026-05-27 10:10:03 ERROR server odoo.addons.portal.tests.test_portal_wizard:68
ERROR: Subtest TestPortalWizard.test_portal_wizard_partner (login='admin')
Traceback (most recent call last):
  File "/data/build/Gitlab Phileas Odoo 18.0/addons/auth_signup/models/res_users.py", line 153, in _create_user_from_template
    return template_user.with_context(no_reset_password=True).copy(values)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/data/build/Gitlab Phileas Odoo 18.0/addons/auth_signup/models/res_users.py", line 376, in copy
    return super().copy(default=default)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/data/build/Gitlab Phileas Odoo 18.0/odoo/models.py", line 5968, in copy
    new_records = self.create(vals_list)
                  ^^^^^^^^^^^^^^^^^^^^^^
  File "<decorator-gen-226>", line 2, in create
  File "/data/build/Gitlab Phileas Odoo 18.0/odoo/api.py", line 498, in _model_create_multi
    return create(self, arg)
           ^^^^^^^^^^^^^^^^^
  File "/data/build/Gitlab Phileas Odoo 18.0/addons/gamification/models/res_users.py", line 72, in create
    res = super(Users, self).create(values_list)
          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "<decorator-gen-217>", line 2, in create
  File "/data/build/Gitlab Phileas Odoo 18.0/odoo/api.py", line 498, in _model_create_multi
    return create(self, arg)
           ^^^^^^^^^^^^^^^^^
  File "/data/build/Gitlab Phileas Odoo 18.0/addons/calendar/models/res_users.py", line 65, in create
    res = super().create(vals_list)
          ^^^^^^^^^^^^^^^^^^^^^^^^^
  File "<decorator-gen-212>", line 2, in create
  File "/data/build/Gitlab Phileas Odoo 18.0/odoo/api.py", line 498, in _model_create_multi
    return create(self, arg)
           ^^^^^^^^^^^^^^^^^
  File "/data/build/Gitlab Phileas Odoo 18.0/addons/auth_signup/models/res_users.py", line 350, in create
    users = super(ResUsers, self).create(vals_list)
            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "<decorator-gen-103>", line 2, in create
  File "/data/build/Gitlab Phileas Odoo 18.0/odoo/api.py", line 498, in _model_create_multi
    return create(self, arg)
           ^^^^^^^^^^^^^^^^^
  File "/data/build/Gitlab Phileas Odoo 18.0/addons/mail/models/discuss/res_users.py", line 12, in create
    users = super().create(vals_list)
            ^^^^^^^^^^^^^^^^^^^^^^^^^
  File "<decorator-gen-99>", line 2, in create
  File "/data/build/Gitlab Phileas Odoo 18.0/odoo/api.py", line 498, in _model_create_multi
    return create(self, arg)
           ^^^^^^^^^^^^^^^^^
  File "/data/build/Gitlab Phileas Odoo 18.0/addons/mail/models/res_users.py", line 76, in create
    users = super(Users, self).create(vals_list)
            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "<decorator-gen-52>", line 2, in create
  File "/data/build/Gitlab Phileas Odoo 18.0/odoo/api.py", line 498, in _model_create_multi
    return create(self, arg)
           ^^^^^^^^^^^^^^^^^
  File "/data/build/Gitlab Phileas Community 18.0/partner_external_map/models/res_users.py", line 59, in create
    users = super().create(vals_list)
            ^^^^^^^^^^^^^^^^^^^^^^^^^
  File "<decorator-gen-49>", line 2, in create
  File "/data/build/Gitlab Phileas Odoo 18.0/odoo/api.py", line 498, in _model_create_multi
    return create(self, arg)
           ^^^^^^^^^^^^^^^^^
  File "/data/build/Gitlab Phileas Community 18.0/base_user_role/models/user.py", line 55, in create
    new_records = super().create(vals_list)
                  ^^^^^^^^^^^^^^^^^^^^^^^^^
  File "<decorator-gen-33>", line 2, in create
  File "/data/build/Gitlab Phileas Odoo 18.0/odoo/api.py", line 498, in _model_create_multi
    return create(self, arg)
           ^^^^^^^^^^^^^^^^^
  File "/data/build/Gitlab Phileas Odoo 18.0/odoo/addons/base/models/res_users.py", line 1907, in create
    users = super(UsersView, self).create(new_vals_list)
            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "<decorator-gen-31>", line 2, in create
  File "/data/build/Gitlab Phileas Odoo 18.0/odoo/api.py", line 498, in _model_create_multi
    return create(self, arg)
           ^^^^^^^^^^^^^^^^^
  File "/data/build/Gitlab Phileas Odoo 18.0/odoo/addons/base/models/res_users.py", line 1605, in create
    return super(UsersImplied, self).create(vals_list)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "<decorator-gen-29>", line 2, in create
  File "/data/build/Gitlab Phileas Odoo 18.0/odoo/api.py", line 498, in _model_create_multi
    return create(self, arg)
           ^^^^^^^^^^^^^^^^^
  File "/data/build/Gitlab Phileas Odoo 18.0/odoo/addons/base/models/res_users.py", line 706, in create
    users = super(Users, self).create(vals_list)
            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "<decorator-gen-112>", line 2, in create
  File "/data/build/Gitlab Phileas Odoo 18.0/odoo/api.py", line 498, in _model_create_multi
    return create(self, arg)
           ^^^^^^^^^^^^^^^^^
  File "/data/build/Gitlab Phileas Common modules 18.0/base_event_field/base.py", line 95, in create
    res = super().create(vals_list)
          ^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/data/build/Gitlab Phileas Common modules 18.0/base_force_upper_field/base.py", line 45, in create
    return super().create(vals_list)
           ^^^^^^^^^^^^^^^^^^^^^^^^^
  File "<decorator-gen-0>", line 2, in create
  File "/data/build/Gitlab Phileas Odoo 18.0/odoo/api.py", line 498, in _model_create_multi
    return create(self, arg)
           ^^^^^^^^^^^^^^^^^
  File "/data/build/Gitlab Phileas Odoo 18.0/odoo/models.py", line 5034, in create
    records = self._create(data_list)
              ^^^^^^^^^^^^^^^^^^^^^^^
  File "/data/build/Gitlab Phileas Odoo 18.0/odoo/models.py", line 5201, in _create
    row.append(field.convert_to_column_insert(stored[fname], self, stored))
               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/data/build/Gitlab Phileas Odoo 18.0/odoo/fields.py", line 994, in convert_to_column_insert
    value = self.convert_to_column(value, record, values, validate)
            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/data/build/Gitlab Phileas Odoo 18.0/odoo/fields.py", line 3000, in convert_to_column
    value = self.convert_to_cache(value, record)
            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/data/build/Gitlab Phileas Odoo 18.0/odoo/fields.py", line 3010, in convert_to_cache
    raise ValueError("Wrong value for %s: %r" % (self, value))
ValueError: Wrong value for res.users.chatter_position: 'side'

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "<decorator-gen-574>", line 2, in test_portal_wizard_partner
  File "/data/build/Gitlab Phileas Odoo 18.0/odoo/tests/common.py", line 2382, in _users
    func(*args, **kwargs)
  File "/data/build/Gitlab Phileas Odoo 18.0/addons/portal/tests/test_portal_wizard.py", line 68, in test_portal_wizard_partner
    portal_user.action_grant_access()
  File "/data/build/Gitlab Phileas Odoo 18.0/addons/portal/wizard/portal_wizard.py", line 154, in action_grant_access
    user_sudo = self.sudo().with_company(company.id)._create_user()
                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/data/build/Gitlab Phileas Odoo 18.0/addons/portal/wizard/portal_wizard.py", line 212, in _create_user
    return self.env['res.users'].with_context(no_reset_password=True)._create_user_from_template({
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/data/build/Gitlab Phileas Odoo 18.0/addons/auth_signup/models/res_users.py", line 156, in _create_user_from_template
    raise SignupError(str(e))
odoo.addons.auth_signup.models.res_partner.SignupError: Wrong value for res.users.chatter_position: 'side'
2026-05-27 10:10:04 WARNING server odoo.fields:2886 res.users.chatter_position: selection=[('auto', 'Automatic'), ('bottom', 'Bottom'), ('sided', 'Sided')] overrides existing selection; use selection_add instead
2026-05-27 10:10:05 ERROR server odoo.modules.loading:321 Module portal: 0 failures, 2 errors of 7 tests
2026-05-27 10:10:05 WARNING server odoo.fields:2886 res.users.chatter_position: selection=[('auto', 'Automatic'), ('bottom', 'Bottom'), ('sided', 'Sided')] overrides existing selection; use selection_add instead
2026-05-27 10:10:05 WARNING server odoo.modules.loading:94
Module product_harmonized_system demo data failed to install, installed without demo data
Traceback (most recent call last):
  File "/data/build/Gitlab Phileas Odoo 18.0/odoo/tools/convert.py", line 590, in _tag_root
    f(rec)
  File "/data/build/Gitlab Phileas Odoo 18.0/odoo/tools/convert.py", line 374, in _tag_record
    raise Exception("Cannot update missing record %r" % xid)
Exception: Cannot update missing record 'product.product_product_3'

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

Traceback (most recent call last):
  File "/data/build/Gitlab Phileas Odoo 18.0/odoo/modules/loading.py", line 90, in load_demo
    load_data(env(su=True), idref, mode, kind='demo', package=package)
  File "/data/build/Gitlab Phileas Odoo 18.0/odoo/modules/loading.py", line 72, in load_data
    tools.convert_file(env, package.name, filename, idref, mode, noupdate, kind)
  File "/data/build/Gitlab Phileas Odoo 18.0/odoo/tools/convert.py", line 662, in convert_file
    convert_xml_import(env, module, fp, idref, mode, noupdate)
  File "/data/build/Gitlab Phileas Odoo 18.0/odoo/tools/convert.py", line 733, in convert_xml_import
    obj.parse(doc.getroot())
  File "/data/build/Gitlab Phileas Odoo 18.0/odoo/tools/convert.py", line 648, in parse
    self._tag_root(de)
  File "/data/build/Gitlab Phileas Odoo 18.0/odoo/tools/convert.py", line 603, in _tag_root
    raise ParseError('while parsing %s:%s, somewhere inside\n%s' % (
odoo.tools.convert.ParseError: while parsing /data/build/Gitlab%20Phileas%20Community%2018.0/product_harmonized_system/demo/product_demo.xml:20, somewhere inside
<record id="product.product_product_3" model="product.product">
        <field name="hs_code_id" ref="84715000"/>
        <field name="origin_country_id" ref="base.tw"/>
        <field name="weight">8.7</field>
    </record>
2026-05-27 10:10:05 WARNING server odoo.fields:2886 res.users.chatter_position: selection=[('auto', 'Automatic'), ('bottom', 'Bottom'), ('sided', 'Sided')] overrides existing selection; use selection_add instead
2026-05-27 10:10:06 WARNING server odoo.fields:2886 res.users.chatter_position: selection=[('auto', 'Automatic'), ('bottom', 'Bottom'), ('sided', 'Sided')] overrides existing selection; use selection_add instead
2026-05-27 10:10:07 ERROR server odoo.addons.queue_job_cron.tests.test_queue_job_cron:25
FAIL: TestQueueJobCron.test_queue_job_cron
Traceback (most recent call last):
  File "/data/build/Gitlab Phileas Community 18.0/queue_job_cron/tests/test_queue_job_cron.py", line 25, in test_queue_job_cron
    self.assertTrue(qjob)
AssertionError: queue.job() is not true
2026-05-27 10:10:07 ERROR server odoo.addons.queue_job_cron.tests.test_queue_job_cron:82
FAIL: TestQueueJobCron.test_queue_job_cron_callback
Traceback (most recent call last):
  File "/data/build/Gitlab Phileas Community 18.0/queue_job_cron/tests/test_queue_job_cron.py", line 82, in test_queue_job_cron_callback
    self.assertEqual(nb_partners_after_cron, nb_partners + 1)
AssertionError: 13 != 12
2026-05-27 10:10:07 ERROR server odoo.addons.queue_job_cron.tests.test_queue_job_cron:56
FAIL: TestQueueJobCron.test_queue_job_no_parallelism
Traceback (most recent call last):
  File "/data/build/Gitlab Phileas Community 18.0/queue_job_cron/tests/test_queue_job_cron.py", line 56, in test_queue_job_no_parallelism
    self.assertEqual(nb_jobs, 1)
AssertionError: 0 != 1
2026-05-27 10:10:07 WARNING server odoo.fields:2886 res.users.chatter_position: selection=[('auto', 'Automatic'), ('bottom', 'Bottom'), ('sided', 'Sided')] overrides existing selection; use selection_add instead
2026-05-27 10:10:08 ERROR server odoo.modules.loading:321 Module queue_job_cron: 3 failures, 0 errors of 5 tests
2026-05-27 10:10:08 WARNING server odoo.fields:2886 res.users.chatter_position: selection=[('auto', 'Automatic'), ('bottom', 'Bottom'), ('sided', 'Sided')] overrides existing selection; use selection_add instead
2026-05-27 10:10:09 WARNING server odoo.fields:2886 res.users.chatter_position: selection=[('auto', 'Automatic'), ('bottom', 'Bottom'), ('sided', 'Sided')] overrides existing selection; use selection_add instead
2026-05-27 10:10:10 WARNING server odoo.fields:2886 res.users.chatter_position: selection=[('auto', 'Automatic'), ('bottom', 'Bottom'), ('sided', 'Sided')] overrides existing selection; use selection_add instead
2026-05-27 10:10:24 WARNING server odoo.fields:2886 res.users.chatter_position: selection=[('auto', 'Automatic'), ('bottom', 'Bottom'), ('sided', 'Sided')] overrides existing selection; use selection_add instead
2026-05-27 10:10:24 WARNING server odoo.fields:2886 res.users.chatter_position: selection=[('auto', 'Automatic'), ('bottom', 'Bottom'), ('sided', 'Sided')] overrides existing selection; use selection_add instead
2026-05-27 10:10:27 Log limit reached (full logs are still available in the log file)
2026-05-27 10:16:56 INFO runbot Getting results for build 00336-master
2026-05-27 10:16:56 Step all finished in 23m
2026-05-27 10:16:56 Starting step run from config Default
2026-05-27 10:16:56 INFO runbot Start running build 00336-master
2026-05-27 10:16:56 Using Dockerfile Tag odoo:minimal_18_0
2026-05-27 10:17:08 INFO server odoo.modules.loading:360 1 modules loaded in 0.09s, 0 queries (+0 extra)
2026-05-27 10:17:10 INFO server odoo.modules.loading:360 13 modules loaded in 1.31s, 0 queries (+0 extra)