Monday, February 15, 2021
6 changes · master
New functionality added to Odoo
Odoo now supports writing browser code with modern JavaScript modules while still packaging it for Odoo’s dynamic app system. This improves developer productivity through better editor assistance, easier refactoring, and sourcemaps that keep debugging practical in asset debug mode.
Original PR description
Because of the way Odoo works at its core, we do not know before hand which files will be loaded as an asset in the browser, because it depends on the installed Odoo addons. This is why it is…
Because of the way Odoo works at its core, we do not know before hand which files will be loaded as an asset in the browser, because it depends on the installed Odoo addons. This is why it is historically difficult to integrate Odoo with standard JS tooling, and this is why Odoo needs to use a custom javascript module system. However, there is a way to use native JS modules (and gain all the benefits from it: IDE autocompletion, ease of refactoring, intellisense, ...): we can write JS as native JS modules, but convert them at runtime into Odoo custom modules. This is exactly the strategy applied by this PR. This has a lot of benefits, but there is a downside: we can no longer serve statically JS files in debug=assets. This would be a dealbreaker, if we did not have sourcemaps. So, this PR introduces - support for native JS modules - add a specific asset controller `/web/assets/` - generate sourcemaps (for debug=assets mode) Note that part of the complexity of this work is cause by the debug=assets mode, where we need to have a fixed route for the debug asset bundle (so we do not lose breakpoints when debugging), but we still need to safely regenerate the bundles whenever the JS code is modified.
Enhancements to existing features
This update lets accounting teams choose whether a tax should be influenced by taxes calculated before it. This improves support for jurisdictions or business cases where taxes must remain independent from earlier tax amounts, reducing manual workarounds and calculation errors.
Original PR description
task: 2343958 Description of the issue/feature this PR addresses: Current behavior before PR: Desired behavior after PR is merged: -- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
The stock Product Moves report now includes quick filters for the last 12 months, 3 months, and 30 days, with the last 12 months applied by default. Users can also filter moves by standard date periods, and product pages now show incoming and outgoing stock move counts from the past year, making recent movement activity easier to review.
Original PR description
Small improvements to the Product Moves (move line) report: - added 3 new filters: Last 12 Months, Last 3 Months, and Last 30 Days (default Last 12 Months) - added standard Date filter (i.e. by quarter, month, year) - updated the Stock Moves stat button in product [template] view to display # incoming/outgoing moves within the past 12 months Task: 2371067 Description of the issue/feature this PR addresses: Current behavior before PR: Desired behavior after PR is merged: -- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
This change merges the extended electronic invoicing capabilities into the main accounting EDI module, reducing module fragmentation and making related payment and invoice workflows easier to manage. Businesses should see a more unified electronic document experience with the same functionality maintained in one place.
Original PR description
Description of the issue/feature this PR addresses: Current behavior before PR: Desired behavior after PR is merged: -- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
The website editor now has a reusable way to edit linked record fields, replacing a more limited snippet-specific approach. This makes editor options more consistent and easier to extend for future website editing features.
Original PR description
Previously, edition of many2ones in the front-end was done through a snippet option. While this works fine for raw many2ones in the page, it is desirable that other snippet options can leverage a many2one as a part of a more complete or comprehensive option. This commit introduces a many2one userValueWidget that will be able to be reused by snippet options, and adapts the existing many2one snippet option to use it instead. The interface has also been reworked so as to lean on the existing we-select userValueWidget for the sake of interface consistency. task-2190603
Website editors can now better tailor Banner and Cover sections by adjusting paragraph size, vertical content placement, and box padding. This makes it easier to create visually balanced pages without custom code.
Original PR description
- Change paragraph font size - Small, Normal, Lead - Change content vertical position - Top, Middle, Bottom - Change box padding - From p-1 to p-5 -- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr