Tuesday, February 2, 2021
40 changes · master
New functionality added to Odoo
Users can now click directly on read-only form fields to start editing, with the selected field focused automatically and special handling for checkboxes, radio buttons, lists, and HTML fields. Navigation is smoother because changes are saved automatically when moving between records, menus, or actions, reducing interruptions and accidental lost work.
Original PR description
This PR adds two main features: quick edit and auto save Quick Edit --- The quick edit allows to click on fields in readonly form view to switch into edit mode. After switching mode, the clicked…
This PR adds two main features: quick edit and auto save Quick Edit --- The quick edit allows to click on fields in readonly form view to switch into edit mode. After switching mode, the clicked field is automatically focused. A few fields have a custom quick edit behaviour after mode switched: - checkboxes automatically toggle. - radio buttons are set to the selected value. - one2many list's cell are focused. One2many list fields now show the "add a line" in readonly mode. In order to minify the differences between edit and readonly modes multiple things have been done done: - a lot of `o_edit_only`,`o_read_only` labels have been removed and `placeholder` have been set on fields in a lot of xml templates. - the render function of many2one and x2many radio fields have been changed to render them the same in edit mode and read mode. - margins in inner form groups have been removed. - a minimum height on rows has been set to align them. - empty fields are now visible. (as a blank line) Auto Save --- Auto save is self explanatory. With auto save, changing the pager, going back in the breadcrumb, going to another action or clicking on a menu item doesn't ask to confirm changes if any but automatically saves them. In settings, the confirm dialog has been revamped. We can now decide to "Save" or "Discard" the changes or "Stay Here" to do nothing. --- [Enterprise PR](https://github.com/odoo/enterprise/pull/14931) task 2330101
Enhancements to existing features
This update adds new tips to Odoo digest emails, helping users discover website customization options and timesheet shortcuts. It also adjusts the display order of an existing tip so the guidance appears in a better sequence.
Original PR description
This commits adds a few digest tips and change sequence of one. Task-2341722 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
Resolved issues and error corrections
List view buttons now ignore rapid repeat clicks for a short moment after the first click. This helps prevent accidental duplicate actions, such as sending the same email twice, improving reliability for everyday users.
Original PR description
PURPOSE
It aims at prevent the following use case:
A user double clicks on a 'send email' listview button and sends the email twice.
Listview buttons should be disabled on click until the action is resolved (i.e. longer than the time it takes to double click)
SPEC
When clicking on a button in listview, disable the clicked button until the action is resolved/done.
NB: do not disable the whole row or list, but just the clicked button
TASK 2391298
--
I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-prCode cleanup and technical improvements
This change prepares the website email marketing area for an upcoming update by ensuring a required page view is already available. It helps keep future upgrade and migration checks running smoothly without affecting day-to-day users.
Original PR description
Prepare the merge of [1] which require a view to already be present in master so the migration tests pass. [1]: https://github.com/odoo/odoo/pull/65263
Documentation and clarification updates
This pull request adds i3 Rendszerház Kft. to Odoo's corporate contributor license agreement records. It is an administrative legal documentation update that helps confirm contribution rights and has no impact on product features or user workflows.
Original PR description
Add my name i3 Rendszerház Kft. 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
Miscellaneous changes
This should be a smarter and properly reliable version of #42071: in that, the runner requests a port, closes it, and gives the port to Chrome. However this apparently turns out to be less reliable than hoped for and the port we just released can immediately be picked up by somebody else (the original PR assumed the allocation of ephemeral ports would be random or FIFO but that may not be the case, especially inside containers). This uses the same technique of requesting port 0 so the OS allo
Original PR description
This should be a smarter and properly reliable version of #42071: in that, the runner requests a port, closes it, and gives the port to Chrome. However this apparently turns out to be less reliable…
This should be a smarter and properly reliable version of #42071: in that, the runner requests a port, closes it, and gives the port to Chrome. However this apparently turns out to be less reliable than hoped for and the port we just released can immediately be picked up by somebody else (the original PR assumed the allocation of ephemeral ports would be random or FIFO but that may not be the case, especially inside containers). This uses the same technique of requesting port 0 so the OS allocates one, but it's Chrome requesting & immediately connecting so there should be no race condition possible, and we keep the property that as long as ephemeral ports are available Chrome will be able to open one without conflicts or overlaps. After lots of trying around, @d-fence has won the "how do we retrieve the websocket port once the OS has handed it to chrome": Chrome writes it to a file in the user-data-dir from which we can read it back. Runner-up: @Xavier-Do's "check what ports chrome listens on", it's pretty fast and reliable but probably less future-proof (to the extent that anything can be future-proof when interacting with chrome) as nothing really prevents chrome from adding new servers (and thus listen on new ports) in the future, and also doesn't work on WSL. Jury's award: `--remote-debugging-pipe`, would require a lot of rewrite but could be pretty nice, and would remove the websockets dependency. Anne Frank award: @amigrave's suggestion to use socket activation support (`--remote-debuggin-socket-fd`), it would have worked perfectly *if it had not been removed when pipes support was added*. Red-headed stepchild: reading from Chrome's stderr as the websocket url is printed there, we don't really know how much garbage chrome sends to stderr during tours and we don't want it to block when the pipe becomes full, so we'd need to have either a thread or an other subprocess to continuously read from the pipe, way more complexity. Forward-Port-Of: odoo/odoo#65175 Forward-Port-Of: odoo/odoo#64844
Monetary changes shown in record messages now include the relevant currency symbol, making updates such as revenue changes easier to understand at a glance. CRM recurring revenue tracking is also aligned with expected revenue tracking, improving visibility into commercial changes.
Original PR description
# Purpose Add the currency symbol in the message for the monetary tracking field. For example, if we have a record with a monetary field displaying "$ 500". If we modify the currency and the value to…
# Purpose Add the currency symbol in the message for the monetary tracking field. For example, if we have a record with a monetary field displaying "$ 500". If we modify the currency and the value to have "450 €", the message containing the tracking values will display: "500 € -> 450 €". # Specifications Add the currency symbol for the monetary tracking field to better represent the change of a monetary field. The currency will be fetch from the currency defined in the monetary field or on the record's company in case there is not. We only use one field to track the currency of a monetary field. Indeed, in the case where the currency is changed with the value of a monetary field, only the new currency is tracked. We focus on the fact that the more important thing is the new value. Furthermore, when modifying a currency of a monetary field, the user can already see the new currency before saving the changes. This allows him to adapt the value of the field if he needs it. (N.B. we assume that this case will happen very rarely) Using only one field takes also into account that there are millions of record for this model and adding a new field would take a lot of memory. task-2387268 odoo/upgrade#2060
Accounting chart templates can now be linked to the countries they apply to, helping Odoo choose the right accounting setup for each company. The update also supports more limited accounting data imports, making setup and localization handling more precise.
Original PR description
Task link: https://www.odoo.com/web#id=2252801&model=project.task&view_type=form&cids=1&menu_id=
The contact title field now behaves as a simple selection instead of opening the title setup page when clicked. This reduces accidental navigation and keeps users focused while creating or editing partner contacts.
Original PR description
Avoid users unnecessarily land on the res.title form. so that add a selection widget on res.title form. **TaskId : 2446112** -- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
Sales users can now access the CRM Reporting menu according to their permission level. Additional access rules ensure users only see reporting data they are authorized to view, including partnership and lead generation information.
Original PR description
The purpose of the task is to let users of all access right levels access their reporting, and to make sure that it does not give them access to the data that does not match their access rights. After applying this commit all crm user can access reporting menu, the only difference being the records that they can or not access. **TaskId - 2357311** -- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
CRM now asks users to confirm before updating lead and opportunity probabilities from settings. This prevents accidental bulk updates and gives users a chance to review or cancel the action before it runs.
Original PR description
PURPOSE
In CRM setting menu when we click on update, it should ask confirm or cancel, because a user can click button by mistake.
SPECIFICATIONS
Current
When we click button it updates probability directly.
To be
On click on the "update proba" button, display a modal with the following info:
Title: Update Probabilities
Body: Confirm to update the probabilities of all the Leads/Opportunities created since StartDate. This can take up to several minutes depending on the number of Leads/Opportunities you have.
Buttons: Confirm (primary), Cancel (secondary)
LINKS
PR
Task 2355562
--
I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-prWhen someone tries to create an email alias that already exists, Odoo now explains where that alias is already being used. This helps users quickly identify the related document or system use and decide whether to choose a different alias or update the existing one.
Original PR description
Purpose Current: When I try to create a new alias with an already used prefix, I'm greeted by a message telling me: The e-mail alias is already used. Please enter another one." Which does not help much because I do no know who, where, when, why (another Sales team? HR and their job positions? Accounting? Documents? Helpdesk? Maintenance?). Specifications Change the "the e-mail alias is already used. Please enter another one." error message into: "The e-mail alias prefix@mycompany.odoo.com is already used by the ParentDocumentName alias_parent_model_id.name. Choose another alias or change it on the other document." e.g. "The e-mail alias prefix@mycompany.odoo.com is already used by the Benelux Sales Team. Choose another alias or change it on the other document." PR #62367 task-id: 2375552 -- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
This update improves how forms behave when users switch into editing, reducing visual jumps and making fields feel more stable. It also supports the broader Quick Edit and Auto Save experience across many Enterprise apps, with small fixes to keep related workflows such as Sign and Studio working smoothly.
Original PR description
This PR is the Enterprise side of that [Community PR](https://github.com/odoo/odoo/pull/60693) task 2330101
The Web Studio sidebar now lets users collapse or expand the Existing Fields section, and it starts collapsed by default. This reduces visual clutter and makes it easier for users to focus while editing views, while still keeping existing fields available when needed.
Original PR description
Allow to fold/unfold the existing field section. It should be folded by default. task - 2388008
Odoo Studio users can now create custom stat buttons using both many-to-one and many-to-many relationship fields. This gives businesses more flexibility when building dashboards and shortcuts without custom development.
Original PR description
Currently, when creating a custom stat button through studio, the user can only set it up by selecting a many2one field. in this commit, when creating a custom stat button through studio, is able to select many2one as well as many2many . TaskId: 2349284
Fields added to list views in Odoo Studio are now shown by default while remaining optional. This gives users more flexibility because they can hide those fields later without extra configuration.
Original PR description
Currently, initially default selection of optional property drop-down is none, in this commit, set default selection of optional property drop-down to 'show' TaskId: 2393513
A new tip was added to the accounting digest to guide users on registering a firm or finding an accountant. This helps business users discover relevant accounting support directly through existing digest communications.
Original PR description
This commit adds a digest tip to help registering firm or finding an accountant. Task-2341722
The approval rule popover in Studio has been visually improved so its text and button display correctly. This makes approval configuration easier to read and use, reducing confusion for users working with approval rules.
Original PR description
TaskId: 2429710
CRM performance test thresholds were adjusted to match observed peak conditions in the automated testing environment. This helps avoid occasional false test failures without changing CRM features or user workflows.
Original PR description
Some tests sometimes require some more queries to be finished. Task ID-2444908
This update restores missing compatibility between calendar reminder processing and SMS-based calendar reminders. It helps ensure scheduled reminder jobs continue to handle calendar notifications correctly when SMS calendar features are installed.
Original PR description
Fine tunning of c8f031ad77, this commit has the missing code compatibility for sms_calendar.
Installing the Newsletter Popup from the website editor now includes the required anti-spam component, preventing the popup from failing after a newsletter is selected. This restores the expected setup flow for website newsletter signups and avoids confusion for users configuring campaigns.
Original PR description
When we "Install Newsletter Popup" from website editor
(which installs the 'mass_mailing' app), the snippet popup
doesn't open after setting a Newsletter.
This is because the code at 'website_mass_mailing' module
which has the following config:
'depends': ['website', 'mass_mailing'],
'auto_install': True,
Requires 'google_recaptcha.ReCaptchaV3' while 'google_recaptcha'
module is not installed.
The goal of this PR is to fix this issue by setting
'google_recaptcha' as a dependency for the 'mass_mailing' module.
task-2312878
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-prDuplicating a spreadsheet sheet that has no graph now works without causing an error. This improves reliability for users managing documents and spreadsheets, preventing interruptions during routine sheet organization.
Original PR description
Before this fix, duplicating a sheet without graph crashed After this fix it doesn't.
Fixed an issue that prevented quality worksheets from being printed because the report referenced the wrong module name. This restores expected printing behavior for users working with quality control worksheets.
Original PR description
Unable to print for quality worksheet due to the wrong module name in the report modle name. Task 2416671
Social Marketing users who do not have access to marketing campaign features will no longer see the Campaigns menu. This prevents users from opening menus they cannot use and avoids confusing access errors.
Original PR description
User has only the access rights for social manager and, no access rights for email marketing, marketing automation and sms marketing, is still able to see the campaigns menu similarly this issue is for social manager rights. Which leads to record rule error. This commit will solve that issue, i.e. the campaigns menu will not shown if user dont have access rights regarding that menu. **TaskID - 2417993**
Usecase to reproduce - Create a KIT with COMP A (15$) COMP B (25$) - Enable Margin on SO - Set the cost on the KIT with compute cost button (40$) - Create a quotation with the KIT (cost is correct 40$) - Confirm the quotation -> Cost is updated to 15$ (first component) It happens because the function to compute the average price doesn't expect a kit and compute everything from the valuation layer of first component opw-2413246 Forward-Port-Of: odoo/odoo#65292
Original PR description
Usecase to reproduce - Create a KIT with COMP A (15$) COMP B (25$) - Enable Margin on SO - Set the cost on the KIT with compute cost button (40$) - Create a quotation with the KIT (cost is correct 40$) - Confirm the quotation -> Cost is updated to 15$ (first component) It happens because the function to compute the average price doesn't expect a kit and compute everything from the valuation layer of first component opw-2413246 Forward-Port-Of: odoo/odoo#65292
Steps: - Install Inventory and Dashboard - Go to Inventory > Reporting > Inventory Report - Click Favorites - Add to my Dashboard is missing - Open the Favorites dropdown again - Click Add to my Dashboard Bug: Error: Could not add filter to dashboard Explanation: This report action window is created dynamically by the server action `action_view_quants`. The `id` isn't present, but it's not needed to display the view. However, in order to create a dashboard item, the `id` of an a
Original PR description
Steps: - Install Inventory and Dashboard - Go to Inventory > Reporting > Inventory Report - Click Favorites - Add to my Dashboard is missing - Open the Favorites dropdown again - Click Add to my…
Steps: - Install Inventory and Dashboard - Go to Inventory > Reporting > Inventory Report - Click Favorites - Add to my Dashboard is missing - Open the Favorites dropdown again - Click Add to my Dashboard Bug: Error: Could not add filter to dashboard Explanation: This report action window is created dynamically by the server action `action_view_quants`. The `id` isn't present, but it's not needed to display the view. However, in order to create a dashboard item, the `id` of an action is required as seen here: https://github.com/odoo/odoo/blob/cfb5e6e82a773fee0342d5e0417bae4efeb7f0bb/addons/board/controllers/main.py#L16 This commit adds the ID of a new simple `ir.actions.act_window`. Reusing `product_template_open_quants` is not possible because, when refreshing the page, the view hasn't got any `active_ids`. The menu item only appears after reopening the Favorites dropdown because the frontend checks if the `id` of the action is present here: https://github.com/odoo/odoo/blob/cfb5e6e82a773fee0342d5e0417bae4efeb7f0bb/addons/board/static/src/js/add_to_board_menu.js#L35-L40 but re-renders it every time the dropdown is closed, no matter what: https://github.com/odoo/odoo/blob/cfb5e6e82a773fee0342d5e0417bae4efeb7f0bb/addons/board/static/src/js/add_to_board_menu.js#L50-L53 This commit also prevents the item from appearing after clicking multiple times on the button. opw:2426986 Forward-Port-Of: odoo/odoo#65302 Forward-Port-Of: odoo/odoo#64816
-- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#65236 Forward-Port-Of: odoo/odoo#63337
Original PR description
-- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#65236 Forward-Port-Of: odoo/odoo#63337
A former constraint made it impossible to import bank statements with lines = 0. The task #2403369 removed that constraint. But the user could no longer reconcile Bank Statement Lines = 0. Drawbacks : - The user is then blocked when setting a lock date. - The bank statement remains endlessly in Status Processing A previous fix made a bank statement line = 0 immediately reconciled. Closes task #2449127. -- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com
Original PR description
A former constraint made it impossible to import bank statements with lines = 0. The task #2403369 removed that constraint. But the user could no longer reconcile Bank Statement Lines = 0. Drawbacks : - The user is then blocked when setting a lock date. - The bank statement remains endlessly in Status Processing A previous fix made a bank statement line = 0 immediately reconciled. Closes task #2449127. -- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#65269
Commit [1] improves the focusout case of the Many2One field: if the user typed something in the input that matches some records (i.e. if there are records in the suggestion dropdown), the first one is automatically set. The Many2ManyTags field internally uses a FieldMany2One. However, the same scenario inside a Many2ManyTags crashed. The reason is that we sent the wrong value in this case (an id, instead of an object). [1] https://github.com/odoo/odoo/commit/1d4d2a6 Description of
Original PR description
Commit [1] improves the focusout case of the Many2One field: if the user typed something in the input that matches some records (i.e. if there are records in the suggestion dropdown), the first one is automatically set. The Many2ManyTags field internally uses a FieldMany2One. However, the same scenario inside a Many2ManyTags crashed. The reason is that we sent the wrong value in this case (an id, instead of an object). [1] https://github.com/odoo/odoo/commit/1d4d2a6 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 Forward-Port-Of: odoo/odoo#65351
Commit [1] adds an override of the getFocusableElement of AbstractField in FieldRadio, but this function was already defined. Even though it doesn't crash, this is obviously not something to do. This commit removes the first occurence (which was overriden by the second). [1] https://github.com/odoo/odoo/commit/ebe118fc607391737adc37e18c3278a3d2c87b5e Description of the issue/feature this PR addresses: Current behavior before PR: Desired behavior after PR is merged: --
Original PR description
Commit [1] adds an override of the getFocusableElement of AbstractField in FieldRadio, but this function was already defined. Even though it doesn't crash, this is obviously not something to do. This commit removes the first occurence (which was overriden by the second). [1] https://github.com/odoo/odoo/commit/ebe118fc607391737adc37e18c3278a3d2c87b5e 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 Forward-Port-Of: odoo/odoo#65372
Steps: - Edit the current company (1): - Country: Switzerland - Currency: CHF - Install l10n_ch - Go to Invoicing > Configuration > Bank Accounts - Edit Bank: - Bank Account: create a new one: - Account Holder: (1) - Go to Configuration > Journal - Edit Customer Invoices: - Advanced Settings tab: - Communication Standards: Switzerland - Go to Customers > Customers - Create a new customer (2): - Fill in street, city, zip code and country - Edit (2): - Contacts
Original PR description
Steps: - Edit the current company (1): - Country: Switzerland - Currency: CHF - Install l10n_ch - Go to Invoicing > Configuration > Bank Accounts - Edit Bank: - Bank Account: create a new one: -…
Steps:
- Edit the current company (1):
- Country: Switzerland
- Currency: CHF
- Install l10n_ch
- Go to Invoicing > Configuration > Bank Accounts
- Edit Bank:
- Bank Account: create a new one:
- Account Holder: (1)
- Go to Configuration > Journal
- Edit Customer Invoices:
- Advanced Settings tab:
- Communication Standards: Switzerland
- Go to Customers > Customers
- Create a new customer (2):
- Fill in street, city, zip code and country
- Edit (2):
- Contacts & Addresses tab:
- Add:
- Select Invoice Address
- Contact Name: Keep this field blank
- Go to Customers > Invoices
- Create a new one:
- Customer: "(2), Invoice Address"
- Add a product
- Validate it
- Click Print QR-Bill
Bug:
Traceback here:
https://github.com/odoo/odoo/blob/b76e9ef658bde0178fa1660b6ad27b880e91632a/addons/l10n_ch/models/res_bank.py#L129
TypeError: 'bool' object is not subscriptable
Explanation:
The contact name of an address is optional. When nothing is filled in
that field, it returns `False`, hence the error.
Using the commercial company name ensures a name is put in the invoice,
even if the contact doesn't belong to a company.
opw:2447158
Forward-Port-Of: odoo/odoo#65394
Forward-Port-Of: odoo/odoo#65357As user access the ecommerce and add to cart a free product (0$ total) Checkout and Confirm No email will be sent for confirmation This occur because the confirmation email is normally sent in the transaction callback, which is not created when the amount is 0 opw-2440335 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/subm
Original PR description
As user access the ecommerce and add to cart a free product (0$ total) Checkout and Confirm No email will be sent for confirmation This occur because the confirmation email is normally sent in the transaction callback, which is not created when the amount is 0 opw-2440335 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 Forward-Port-Of: odoo/odoo#65155
-- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#65293 Forward-Port-Of: odoo/odoo#65273
Original PR description
-- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#65293 Forward-Port-Of: odoo/odoo#65273
PURPOSE Smiley box popover in rtl langauge takes full space, it should be displayed with max-width: 200px; SPEC Smiley box popover should be displayed with expected width i.e. max width 200px TASK 2418264 -- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#63694
Original PR description
PURPOSE Smiley box popover in rtl langauge takes full space, it should be displayed with max-width: 200px; SPEC Smiley box popover should be displayed with expected width i.e. max width 200px TASK 2418264 -- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#63694
Scenario: - create mass mailing with icons and without title - save and get error "The followign fields are invalid: Subject" - fill subject and save - edit => the icons have disappeared This is because mass mailing widget is using: - a "body_html" field that contains inlined html - a wysiwyg editor to edit field "body_arch" - a textarea containing "body_arch" value to be saved When we save this happens: 1. we save the current value of wysiwyg into textarea 2. wysiwyg con
Original PR description
Scenario: - create mass mailing with icons and without title - save and get error "The followign fields are invalid: Subject" - fill subject and save - edit => the icons have disappeared This is…
Scenario:
- create mass mailing with icons and without title
- save and get error "The followign fields are invalid: Subject"
- fill subject and save
- edit
=> the icons have disappeared
This is because mass mailing widget is using:
- a "body_html" field that contains inlined html
- a wysiwyg editor to edit field "body_arch"
- a textarea containing "body_arch" value to be saved
When we save this happens:
1. we save the current value of wysiwyg into textarea
2. wysiwyg content is inlined (eg. transforming font in image)
3. inlined wysiwyg content is set to "body_html" field
4. if there:
- is no error while saving => body_html and body_arch are saved and
will be used on next edition
- if there is an error the fields are not saved, and we now have an
inlined content on wysiwyg, so next time we save the "body_arch" is
going to be inlined:
=> this for example breaking the icons on edition
Issue discovered when fixing opw-2447756
Forward-Port-Of: odoo/odoo#65208Direct filling new column is dramatically faster than doing it via ORM, which iterates over each row. Test results for updating new related field in 10 records: BEFORE: sql_update_log: 12 sql_from_log: 5 sql_into_log: 0 AFTER: sql_update_log: 1 sql_from_log: 3 sql_into_log: 0 --- task-2449313 opw-2380445 opw-2389376 odoo/enterprise#15910 Forward-Port-Of: odoo/odoo#65421 Forward-Port-Of: odoo/odoo#65232
Original PR description
Direct filling new column is dramatically faster than doing it via ORM, which iterates over each row. Test results for updating new related field in 10 records: BEFORE: sql_update_log: 12 sql_from_log: 5 sql_into_log: 0 AFTER: sql_update_log: 1 sql_from_log: 3 sql_into_log: 0 --- task-2449313 opw-2380445 opw-2389376 odoo/enterprise#15910 Forward-Port-Of: odoo/odoo#65421 Forward-Port-Of: odoo/odoo#65232
Issue - Install "Field Service" app - Create new task - Try to select Planned start/end date and valid Daterange picker is hiding when trying to scroll down to valid selection. Cause The daterange picker is closed when ev.target is not inside the picker, however ev.target always return the document element. Solution Do not hide daterange picker on scrolling if on mobile. Note : It will only apply if scrolling on the daterange picker and will still hide if
Original PR description
Issue - Install "Field Service" app - Create new task - Try to select Planned start/end date and valid Daterange picker is hiding when trying to scroll down to valid selection. Cause The daterange picker is closed when ev.target is not inside the picker, however ev.target always return the document element. Solution Do not hide daterange picker on scrolling if on mobile. Note : It will only apply if scrolling on the daterange picker and will still hide if scrolling outside this last one. opw-2428099 Forward-Port-Of: odoo/odoo#65423 Forward-Port-Of: odoo/odoo#64406
Wasn't very clear, but the state expects 1 line per revenue type, period, BCE number, and not 1 line per payslip. Forward-Port-Of: odoo/enterprise#16075
Original PR description
Wasn't very clear, but the state expects 1 line per revenue type, period, BCE number, and not 1 line per payslip. Forward-Port-Of: odoo/enterprise#16075
Forward-Port-Of: odoo/enterprise#16032
Original PR description
Forward-Port-Of: odoo/enterprise#16032
Forward-Port-Of: odoo/enterprise#16013 Forward-Port-Of: odoo/enterprise#15297
Original PR description
Forward-Port-Of: odoo/enterprise#16013 Forward-Port-Of: odoo/enterprise#15297