Tuesday, May 6, 2025
4 changes · saas-18.2
Resolved issues and error corrections
Creating a new contact could fail when the website partner feature tried to build a public website link before the contact had been saved. The fix skips that link generation until the record is ready, allowing users to create contacts normally when the website URL field is present.
Original PR description
**Description** - In Saas 18.2, the '[website_url](https://github.com/odoo/odoo/blob/saas-18.2/addons/website_partner/models/res_partner.py#L14)' field in the res.partner is a computed field.…
**Description**
- In Saas 18.2, the '[website_url](https://github.com/odoo/odoo/blob/saas-18.2/addons/website_partner/models/res_partner.py#L14)' field in the res.partner is a computed field. However, when a new contact is created via the form view, as the field does not have dependencies so it won’t be automatically calculated. From odoo/odoo@40e0216, computed fields without dependencies are now computed during onchange() instead of returning an initial False value. During the creation process, especially within onchange triggers [here](https://github.com/odoo/odoo/commit/40e0216656a6bffaff5b36e413aff23603cc8e72) , while creating a new contact, this can lead to an error if the computation tries to perform a slug operation on a record that hasn’t been saved yet.
- This PR ensures that it gets properly computed by ensuring via condition to avoid performing a slug on a not yet saved record in case of an onchange.
**Steps to Reproduce:(V18.2)**
1. Install the 'website_partner', 'contacts' application in saas-18.2
2. Add 'website_url' field in form view of res.partner
3. Try to create new record in contacts[res.partner].
Reference commits - odoo/odoo@40e0216 , [odoo/odoo@7ba64a8](https://github.com/odoo/odoo/commit/7ba64a8c51f2888b301ee6feae140b02ca4b1b95#diff-4c7613a9ea8e1131502ede128b264e908fd6b074bf886ac475fc73833c8a71a8L16-R19)
similar example for other model livechat - [V18.0](https://github.com/odoo/odoo/blob/18.0/addons/website_livechat/models/im_livechat.py#L13 ), [V18.2](https://github.com/odoo/odoo/blob/saas-18.2/addons/website_livechat/models/im_livechat.py#L16)
**Traceback -**
```
File "/home/odoo/src/odoo/saas-18.2/addons/web/models/models.py", line 1559, in onchange
snapshot1 = RecordSnapshot(record, fields_spec)
File "/home/odoo/src/odoo/saas-18.2/addons/web/models/models.py", line 1645, in __init__
self.fetch(name)
File "/home/odoo/src/odoo/saas-18.2/addons/web/models/models.py", line 1660, in fetch
self[field_name] = self.record[field_name]
File "/home/odoo/src/odoo/saas-18.2/odoo/orm/models.py", line 6349, in __getitem__
return self._fields[key].__get__(self)
File "/home/odoo/src/odoo/saas-18.2/odoo/orm/fields.py", line 1437, in __get__
self.compute_value(recs)
File "/home/odoo/src/odoo/saas-18.2/odoo/orm/fields.py", line 1603, in compute_value
records._compute_field_value(self)
File "/home/odoo/src/odoo/saas-18.2/addons/mail/models/mail_thread.py", line 474, in _compute_field_value
return super()._compute_field_value(field)
File "/home/odoo/src/odoo/saas-18.2/odoo/orm/models.py", line 4570, in _compute_field_value
determine(field.compute, self)
File "/home/odoo/src/odoo/saas-18.2/odoo/orm/fields.py", line 69, in determine
return needle(*args)
File "/home/odoo/src/odoo/saas-18.2/addons/website_partner/models/res_partner.py", line 18, in _compute_website_url
partner.website_url = "/partners/%s" % self.env['ir.http']._slug(partner)
File "/home/odoo/src/odoo/saas-18.2/addons/website/models/ir_http.py", line 76, in _slug
return super()._slug(value)
File "/home/odoo/src/odoo/saas-18.2/addons/http_routing/models/ir_http.py", line 62, in _slug
raise ValueError("Cannot slug non-existent record %s" % value)
ValueError: Cannot slug non-existent record res.partner(<NewId 0x7466e37336c0>,)
```

opw - [4709146](https://www.odoo.com/odoo/project/70/tasks/4709146)
upg - [2724009](https://upgrade.odoo.com/web#id=2724009&cids=1&menu_id=107&action=150&model=upgrade.request&view_type=form)
---
I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-prThe live chat "My Sessions" filter now matches users through all linked user accounts for a contact instead of only the assigned salesperson. This helps agents see the sessions that actually belong to them, especially for internal users or shared contacts.
Original PR description
**purpose of this PR:** using `partner_id.user_id` only returns the salesperson assigned to the partner, which isn’t always the correct user. We now use `partner_id.user_ids` instead to resolve the issue. task-4770457 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
Requested documents in the Documents kanban view now display with the intended card border instead of an overly thick dashed outline. This small visual fix makes the request cards look consistent and easier to read.
Original PR description
This commit fixes the thick dashed border on the requested document in kanban view. Task-4721026
Installing the Settle Due point-of-sale module now works even if the default Services product category was previously deleted. This prevents an installation error and lets businesses enable the module without needing manual cleanup or support intervention.
Original PR description
Currently a ParseError is arising when the user installs the `pos_settle_due` module after deleting the `Services` in Product Categories/Configuration. Steps to reproduce: --- - Install `Invoicing`…
Currently a ParseError is arising when the user installs the `pos_settle_due` module after deleting the `Services` in Product Categories/Configuration.
Steps to reproduce:
---
- Install `Invoicing` application (without demo data).
- Invoicing > Configuration > Product Categories > Delete `Services`
- Now install `pos_settle_due` module
Traceback:
---
```
ValueError: External ID not found in the system: product.product_category_services
ParseError: while parsing /home/odoo/src/enterprise/saas-18.2/pos_settle_due/data/pos_settle_due_data.xml:4, somewhere inside <record id="product_product_settle" model="product.product">
<field name="name">Settle Due</field>
<field name="categ_id" ref="product.product_category_services"/>
<field name="type">service</field>
<field name="weight">0.00</field>
<field name="available_in_pos">False</field>
<field name="taxes_id" eval="[]"/>
</record>
```
The error occurs because the user deleted `Services` in Product Categories, and then tried to install the other module.
This commit resolves the error by providing a False value for the field if the product category is missing.
sentry-6377659355