Saturday, January 10, 2026
3 changes · 18.0
Resolved issues and error corrections
This update prevents a sale order saving error that occurred when a Recurring Plan was created without specifying a Start Date or Next Invoice date. The fix ensures the system handles missing date information gracefully, allowing users to save orders with or without these dates.
Original PR description
Currently, an error occurs when saving a sale order without a Start Date or Next Invoice date. Step to produce: - Install the ```sale_subscription_stock``` module. - Create a new sale order, Add a…
Currently, an error occurs when saving a sale order without a Start Date or Next Invoice date.
Step to produce:
- Install the ```sale_subscription_stock``` module.
- Create a new sale order, Add a Recurring Plan with a date, and add a product that has a Subscriptions true.
- Confirm a sale order, and remove a Start Date or Next Invoice date, and try to save an order.
See Traceback:
```
TypeError: '<=' not supported between instances of 'bool' and 'datetime.date'
File "odoo/http.py", line 2363, in __call__
response = request._serve_db()
File "odoo/http.py", line 1891, in _serve_db
return self._transactioning(
File "odoo/http.py", line 1954, in _transactioning
return service_model.retrying(func, env=self.env)
File "odoo/service/model.py", line 137, in retrying
result = func()
File "odoo/http.py", line 1921, in _serve_ir_http
response = self.dispatcher.dispatch(rule.endpoint, args)
File "odoo/http.py", line 2168, in dispatch
result = self.request.registry['ir.http']._dispatch(endpoint)
File "odoo/addons/base/models/ir_http.py", line 329, in _dispatch
result = endpoint(**request.params)
File "odoo/http.py", line 727, in route_wrapper
result = endpoint(self, *args, **params_ok)
File "addons/web/controllers/dataset.py", line 35, in call_kw
return call_kw(request.env[model], method, args, kwargs)
File "odoo/api.py", line 517, in call_kw
result = getattr(recs, name)(*args, **kwargs)
File "addons/web/models/models.py", line 1010, in onchange
if field_name not in done and snapshot0.has_changed(field_name)
File "addons/web/models/models.py", line 1123, in has_changed
return self[field_name] != self.record[field_name]
File "odoo/models.py", line 6981, in __getitem__
return self._fields[key].__get__(self)
File "odoo/fields.py", line 1291, in __get__
self.compute_value(recs)
File "odoo/fields.py", line 1473, in compute_value
records._compute_field_value(self)
File "addons/sale/models/sale_order.py", line 1998, in _compute_field_value
return super()._compute_field_value(field)
File "addons/mail/models/mail_thread.py", line 427, in _compute_field_value
return super()._compute_field_value(field)
File "odoo/models.py", line 5220, in _compute_field_value
fields.determine(field.compute, self)
File "odoo/fields.py", line 110, in determine
return needle(*args)
File "home/odoo/src/enterprise/18.0/sale_subscription_stock/models/sale_order.py", line 21, in _compute_recurring_stock_products
if order.state == 'sale' and order.is_subscription and order.next_invoice_date <= order.start_date:
```
An error occurs when the system attempts to compare a date-time value with bool(False) values at [1], because the Start Date or Next Invoice Date is empty.
Link [1]: https://github.com/odoo/enterprise/blob/ed9bae1b37b336e446b9196a6a95def2602a4ac5/sale_subscription_stock/models/sale_order.py#L21
To resolve this issue, add a condition to ensure the comparison is performed only if both the Start Date and the Next Invoice Date are available.
Sentry-6085265423This update fixes a display issue in the Project module where milestone deadlines weren't shown correctly. The fix ensures that milestone names now include the associated deadline, providing clearer and more informative project views. This improves usability and reduces potential confusion for users.
Original PR description
**Steps to Reproduce:** - Install the Sale Project module. - Navigate to the Project module. - Enable Project Stages. - Go to the Project list view. - Observe that the Next Milestone does not display the deadline along with the milestone name. **Issue:** The milestone display name is incomplete and does not include the deadline date. **Cause:** The context overridden in sale project did not pass the required context, cause the display_name computation did not add deadline to the display name. **Fix:** Passed the appropriate context in the action context to ensure the display name is correctly computed and displayed with its deadline. Task: 5255295 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
This update fixes an issue where the 'Next Milestone' display in Project Configuration didn't show the milestone deadline alongside the name. The fix ensures that milestone names now accurately include the deadline, providing users with clearer project timelines. This improves the usability of the Industry FSM module.
Original PR description
**Steps to Reproduce:** - Install the Industry FSM module. - Navigate to Project Configuration. - Enable Milestones. - Go to the Project list view. - Observe that the Next Milestone does not display the deadline along with the milestone name. **Issue:** The milestone display name is incomplete and does not include the deadline date. **Cause:** The required context was not passed in the action, so the display_name computation did not add the deadline to the milestone name. **Fix:** Pass the appropriate context in the action to correctly compute and display the name along with its deadline. Task: 5255295