| Created Date | Type | Name | Commit Description | State | Age | Up Time | Life Time | Action |
|---|---|---|---|---|---|---|---|---|
|
|
|
[FIX] hr_org_chart: Do not display employees | Succeed | |||||
|
|
|
[FIX] hr_org_chart: Do not display employees | Killed | Not started | Not finished | |||
|
|
|
Succeed | ||||||
|
|
|
Merge remote-tracking branch 'odoo/17.0' into merge_from_upstream_17_20251220_01 | Killed | |||||
|
|
|
Merge remote-tracking branch 'odoo/17.0' into 17.0 | Killed | |||||
|
|
|
Killed | ||||||
|
|
|
Killed | ||||||
|
|
|
[PERF] pos_sale: optimize Session Sale Amount compute by pre-fetching opened sessions to avoid heavy subquery execution Problem The original implementation performs a _read_group on report.pos.order with a domain that includes a relational lookup: ('session_id.state', '=', 'opened') On large databases, this condition forces the ORM to generate a SQL query containing nested subqueries like: session_id IN (SELECT id FROM pos_session WHERE state='opened' AND ...) PostgreSQL cannot short-circuit this subquery, even if no sessions are opened, and still scans a large portion of report_pos_order, causing significant performance degradation. Solution Instead of letting _read_group build a heavy subquery, we explicitly search for the opened sessions first: opened_sessions = self.env['pos.session'].search([ ('config_id.crm_team_id', 'in', self.ids), ('state', '=', 'opened'), ]) data = self.env['report.pos.order']._read_group([ ('session_id', 'in', opened_sessions.ids), ], ['config_id'], ['price_total:sum']) This improves performance because: pos.session is a much smaller table and is fast to filter. If there are no opened sessions, _read_group immediately returns empty results without scanning report_pos_order. It eliminates nested SQL IN (SELECT ...), allowing PostgreSQL to use direct index-based filtering. This approach reduces query time dramatically on large datasets. | Killed | |||||
|
|
|
[FIX] stock: Allow to install demo data outside US company Currently in the `_merge_move_itemgetter` the system call `self.company_id.currency_id.decimal_places`. However the demo data of stock create a database with US currency and some `stock.move` in it. If we have an existing database with EUR for example. The upper call will return a `currency_id.decimal_places` since we have multiple currency. The best solution, would be to split `_action_confirm` to do a loop by company. But it would need a small refactoring and we will do a minimal diff to fix this issue. Using the smallest currency among all the company is not always correct but it's a super edge case and we should probably remove this code since it went to far. Close #230965, #234078 closes odoo/odoo#239273 Signed-off-by: William Henrotin (whe) <whe@odoo.com> | Killed | Not started | Not finished | |||
|
|
|
Merge remote-tracking branch 'odoo/17.0' into merge_from_upstream_17_20251205_01 | Killed | |||||
|
|
|
Merge remote-tracking branch 'odoo/17.0' into merge_from_upstream_17_20251205_01 | Killed | |||||
|
|
|
[FIX] web_editor, mail, account_edi: add indexes to improve performance when deleting ir_attachment records On a DB with 15M+ attachments, deleting a single attachment takes several seconds. Most of the time is spent on the circular `original_id` and `message_main_attachment_id` foreign key. | Killed | |||||
|
|
|
Killed | ||||||
|
|
|
Killed | Not started | Not finished | ||||
|
|
|
Merge remote-tracking branch 'odoo/17.0' into 17.0 | Killed | |||||
|
|
|
Merge remote-tracking branch 'odoo/17.0' into 17.0 | Killed | |||||
|
|
|
Merge remote-tracking branch 'odoo/17.0' into 17.0 | Killed | |||||
|
|
|
Merge remote-tracking branch 'odoo/17.0' into 17.0 | Killed | |||||
|
|
|
Merge remote-tracking branch 'odoo/17.0' into 17.0 | Killed | |||||
|
|
|
Killed | ||||||
|
|
|
Merge remote-tracking branch 'odoo/17.0' into 17.0 | Killed | |||||
|
|
|
Merge remote-tracking branch 'odoo/17.0' into merge_from_upstream_17_20251028_01 | Killed | |||||
|
|
|
Killed | ||||||
|
|
|
[IMP] web: formatCurrency for kanban header data if group field is currency | Killed | |||||
|
|
|
Killed | Not finished | |||||
|
|
|
Killed | Not finished | |||||
|
|
|
Killed | ||||||
|
|
|
Killed | Not started | Not finished | ||||
|
|
|
Killed | Not finished | |||||
|
|
|
[IMP] web: formatCurrency for kanban header data if group field is currency | Killed | |||||
|
|
|
[FIX] mail: remove stale followers from chatter on auto-unfollow In a customized flow: when reassigning a Ticket from employee A to B, the code unsubscribes A and subscribes B automatically. However, A still appears in the Chatter Followers list even after the unsubscribe call. | Killed | |||||
|
|
|
Merge remote-tracking branch 'odoo/17.0' into 17.0 | Killed | |||||
|
|
|
Merge remote-tracking branch 'odoo/17.0' into merge_from_upstream_17_20251001_01 | Killed | |||||
|
|
|
Failed | ||||||
|
|
|
[FIX] l10n_vn: Preserve user data when updating taxes in migration Problem The previous implementation used try_loading() which would reload the entire chart template, potentially overwriting user-customized configurations settings. Solution Replaced try_loading() with a more targeted approach usin _load_data for account.tax.group and account.tax | Killed | |||||
|
|
|
Merge remote-tracking branch 'odoo/17.0' into 17.0 Conflicts: addons/account/i18n/vi.po addons/hr_contract/i18n/vi.po addons/sms/i18n/vi.po addons/spreadsheet/i18n/vi.po | Killed | |||||
|
|
|
Merge remote-tracking branch 'odoo/17.0' into 17.0 | Killed | |||||
|
|
|
[I18N] hr_holidays: update translate vi_VN | Failed | |||||
|
|
|
[I18N] stock: correct Vietnamese translation in stock Forward-Port-Of: #1106 | Killed | Not finished | ||||
|
|
|
[FIX] *: missing format string | Killed | Not started | Not finished |