Friday, May 5, 2023
6 changes · master
Code cleanup and technical improvements
The mail message layout was simplified to reduce duplicated code between viewing and editing messages, making it easier to maintain. It also corrects small visual issues so message editing and option menus behave more consistently for users.
Original PR description
Simplify template so there are less code duplication between editing state and non-editing state. Also fixes following small style issues: - missing opacity-25 when editing message of others - expanded options of message come on top of jump present alert
The mail and live chat code has been reorganized so discussion channel command logic sits with the Discuss-related components. This is an internal cleanup that should make future maintenance easier without changing the user experience.
Original PR description
Part of task-3265211
Spreadsheet pivot tables, lists, and charts now manage their temporary data connections in the user interface layer instead of the shared document core. This keeps document data cleaner, reduces unnecessary internal mapping, and helps avoid user-specific data details being stored or exchanged where they do not belong.
Original PR description
Before this commit, the pivot's dataSources were managed by the core plugin Pivot/ListCorePlugin. This didn't make sense since dataSources aren't core data: they are neither exported nor imported…
Before this commit, the pivot's dataSources were managed by the core plugin Pivot/ListCorePlugin. This didn't make sense since dataSources aren't core data: they are neither exported nor imported they can be different for each user (their ids were generated via uuidv4 at import) managing them required to handle local command in the core plugin Moved the dataSources management to the UI plugin Pivot/ListUIPlugin and moved the relevant getters inside this plugin. Changed the ids of the dataSources to be the same as the pivot's id + a prefix, to avoid having to maintain a mapping pivot/listId <=> dataSourceId . This commit also removes the dataSourceId from the INSERT_PIVOT/LIST command, which have no place here since this is a core command and the dataSources are now a pure UI concept. This is slighly more tricky for pivots than for lists, because the datasource need to be loaded before the INSERT_PIVOT command to fetch the table structure. The component dispatching the command need to make sure it creates a dataSource with the id given by the getter getPivotDataSourceId, or else the dataSource will be loaded twice. Task: [3293491](https://www.odoo.com/web#id=3293491&menu_id=4720&cids=1&action=333&active_id=2328&model=project.task&view_type=form) --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
Spreadsheet pivot tables and lists now keep temporary data source details in the user interface layer instead of the shared spreadsheet core. This reduces unnecessary internal complexity and helps keep collaboration and imports more consistent without changing expected end-user features.
Original PR description
Before this commit, the pivot's dataSources were managed by the core plugin `Pivot/ListCorePlugin`. This didn't make sense since dataSources aren't core data: - they are neither exported nor imported…
Before this commit, the pivot's dataSources were managed by the core plugin `Pivot/ListCorePlugin`. This didn't make sense since dataSources aren't core data: - they are neither exported nor imported - they can be different for each user (their ids were generated via uuidv4 at import) - managing them required to handle local command in the core plugin Moved the dataSources management to the UI plugin `Pivot/ListUIPlugin` and moved the relevant getters inside this plugin. Changed the ids of the dataSources to be the same as the pivot's id + a prefix, to avoid having to maintain a mapping `pivot/listId` <=> `dataSourceId` . This commit also removes the dataSourceId from the `INSERT_PIVOT/LIST` command, which have no place here since this is a core command and the dataSources are now a pure UI concept. This is slighly more tricky for pivots than for lists, because the datasource need to be loaded before the `INSERT_PIVOT` command to fetch the table structure. The component dispatching the command need to make sure it creates a dataSource with the id given by the getter `getPivotDataSourceId`, or else the dataSource will be loaded twice. Task: [3293491](https://www.odoo.com/web#id=3293491&menu_id=4720&cids=1&action=333&active_id=2328&model=project.task&view_type=form)
Several Point of Sale-related modules were updated to use the latest shared asset bundle naming from the core Odoo platform. This keeps these apps aligned with underlying platform changes and helps ensure their screens, integrations, and tests continue loading the right resources.
Original PR description
pos*: l10n_de_pos_cert, l10n_de_pos_res_cert, l10n_mx_edi_pos, pos_hr_mobile, pos_iot, pos_l10n_se, pos_preparation_display, pos_restaurant_iot, pos_settle_due Linked to: odoo/odoo#120070
The Point of Sale app no longer loads a large shared back-office asset package that contained many files it did not need. This should make POS screens load more efficiently and reduce unwanted side effects, while keeping testing support in place.
Original PR description
pos*: l10n_ae_pos, l10n_co_pos, l10n_fr_pos_cert, l10n_gcc_pos, l10n_in_pos, l10n_sa_pos, point_of_sale, pos_adyen, pos_discount, pos_epson_printer, pos_epson_printer_restaurant, pos_hr,…
pos*: l10n_ae_pos, l10n_co_pos, l10n_fr_pos_cert, l10n_gcc_pos, l10n_in_pos, l10n_sa_pos, point_of_sale, pos_adyen, pos_discount, pos_epson_printer, pos_epson_printer_restaurant, pos_hr, pos_hr_restaurant, pos_loyalty, pos_mercury, pos_restaurant, pos_restaurant_adyen, pos_restaurant_stripe, pos_sale, pos_sale_loyalty, pos_sale_product_configurator, pos_six, pos_stripe Previously, the pos assets included almost the entirety of the assets_backend. Most of the contents of the assets_backend is completely useless in the PoS, meaning that the PoS will load slower because it loads much more JS than it needs. It also means that it gets all the side effects of this bundle (global event listeners, among other things) that we don't want. This commit removes the dependency of the pos assets on the assets_backend to solve these issues. The pos assets are now their own bundle with only what is needed in the PoS. As for the unit testing bundle, the same logic applies but unfortunately, because the unit testing code from web that we want to use (eg automatic cleanups, cleaning of registries, etc) depends on the legacy code, we need to include a lot more files than would otherwise be needed. This situation will probably be improved as legacy code is removed from web, but in the mean time, it is not very important for this bundle to be lean, as it's a test bundle and loading speed is less important. Linked to: https://github.com/odoo/enterprise/pull/40502 Linked to: odoo/upgrade#4626