Thursday, April 11, 2024
21 changes · master
Enhancements to existing features
The Field Service Sales demo data now includes products with a sales price of zero. This helps users discover and understand how no-charge products can be used in field service workflows, such as complimentary items or included services.
Original PR description
This commit adds some products with a sales price of zero to the demo data. This is a feature that isn't well-known and is difficult to discover, yet it's quite powerful. task:3460001
This update makes several internal checks more efficient by counting matching records instead of loading full search results. Users should not see functional changes, but affected areas may respond slightly faster and follow better development practices.
Room is now listed under Productivity and WhatsApp under Marketing, making both apps easier for users to find in the app menu. This improves navigation and aligns these apps with the business areas where they are most commonly used.
Original PR description
Purpose =========== Change the category of the the whatsapp and room. Specification ================= Move Room to Productivity (first). Move WhatsApp to Marketing (last). Technical ========== In the module category record, we utilize the "base" prefix to ensure that the sequence specified within this record is honored. Omitting the "base" prefix would result in the sequence not being respected. This convention is consistently applied throughout the entire Odoo code base. Upgrade Pr- https://github.com/odoo/upgrade/pull/5838 Task-3612501
Onboarding messages in the employee referral app can now be translated for different languages. This improves the experience for multilingual companies by showing referral onboarding guidance in users' preferred languages.
Original PR description
The text shown on the onboarding screens were not translatable. They are now. Task: 3794638
Resolved issues and error corrections
Preparation displays now show order items in the intended sequence when a database starts. This helps kitchen or preparation teams read tickets consistently and avoid confusion caused by items appearing out of order.
Original PR description
Make the sequence ordered works in preparation display when starting a db task id : 3851247
Code cleanup and technical improvements
The internal code behind Odoo's discussion and messaging features has been simplified by moving responsibilities into the relevant conversation models. This should make future maintenance easier and reduce complexity without changing the day-to-day user experience.
Original PR description
Discuss code is more complicated than it should. Part of it comes from split in arbitrary services, which are both confusing and very verbose. This commit removes the `mail.thread` service: related features have been moved to the appropriate model. For example: ```js this.env.services["mail.thread"].open(thread); // => thread.open(); ``` https://github.com/odoo/odoo/pull/161157
Miscellaneous changes
4755b82fa40df50362e72ccc3e08f6ce5383dde3 changed the portal template used for subscriptions by overriding `_get_name_portal_content_view()`. Because of this, the override in `l10n_br_sales` no longer applies and we end up with the standard subscription portal view instead of the customized one for Brazil. Although not very nice, the only way around it I could think of was to create this new module so we can override again with a new portal template that inherits from sale_subscription.subscr
Original PR description
4755b82fa40df50362e72ccc3e08f6ce5383dde3 changed the portal template used for subscriptions by overriding `_get_name_portal_content_view()`. Because of this, the override in `l10n_br_sales` no longer applies and we end up with the standard subscription portal view instead of the customized one for Brazil. Although not very nice, the only way around it I could think of was to create this new module so we can override again with a new portal template that inherits from sale_subscription.subscription_portal_content. Forward-Port-Of: odoo/enterprise#59703
Original PR description
The aim of this commit is to improve a bit the performance of those conditional and to promote good practices in the code. (And also because Accounting isn't Zaccounting :D ) Context: `search` will create an `ORDER BY` sql statement while the `search_count` is a simple `count(*)` without any ordering. task-id: None
This update removes outdated comments and unnecessary formatting markers from VoIP-related files. It does not change how the phone features work, but makes the codebase cleaner and easier to maintain.
Original PR description
Remove: 1. Licence comments 2. utf-8 encoding attributes/comments 3. xml:space="preserve" attributes
Before this commit, the test tour `test_generate_serials_in_shopfloor` failed when runned without the demo data. The issue was the admin user was not part of the `mrp.group_mrp_routings` group so workcenters were displayed. Before this commit, tour `test_shop_floor` was failing for the same reason but would also fail because it uses an employee created in demo data. Some employees are now created in the test to avoid that. Runbot build errors [59833](https://runbot.odoo.com/web/#id=59833
Original PR description
Before this commit, the test tour `test_generate_serials_in_shopfloor` failed when runned without the demo data. The issue was the admin user was not part of the `mrp.group_mrp_routings` group so workcenters were displayed. Before this commit, tour `test_shop_floor` was failing for the same reason but would also fail because it uses an employee created in demo data. Some employees are now created in the test to avoid that. Runbot build errors [59833](https://runbot.odoo.com/web/#id=59833&view_type=form&model=runbot.build.error&menu_id=405&cids=1) and [60709](https://runbot.odoo.com/web/#id=60709&view_type=form&model=runbot.build.error&menu_id=405&cids=1) Forward-Port-Of: odoo/enterprise#60345
In My Timesheets grid view if you have more than 26 lines, the last ones will display a border only Tweaked some conditions in the grid_timer_button_cell.xml Task-3670682 Forward-Port-Of: odoo/enterprise#60277 Forward-Port-Of: odoo/enterprise#53749
Original PR description
In My Timesheets grid view if you have more than 26 lines, the last ones will display a border only Tweaked some conditions in the grid_timer_button_cell.xml Task-3670682 Forward-Port-Of: odoo/enterprise#60277 Forward-Port-Of: odoo/enterprise#53749
The module uses the field `stock_picking.carrier_tracking_url`, defined in module `stock_delivery`, which is not listed as dependency. Although it is auto-installed, if it gets uninstalled before `whatsapp_delivery` is installed, it will trigger an error as the field is missing. Steps to reproduce: - On a fresh 17.0 db, install `stock` and `delivery`, `stock_delivery` will be auto-installed. - Uninstall `stock_delivery`. - Install `whatsapp_delivery` or just `whatsapp`. Forward-Port-
Original PR description
The module uses the field `stock_picking.carrier_tracking_url`, defined in module `stock_delivery`, which is not listed as dependency. Although it is auto-installed, if it gets uninstalled before `whatsapp_delivery` is installed, it will trigger an error as the field is missing. Steps to reproduce: - On a fresh 17.0 db, install `stock` and `delivery`, `stock_delivery` will be auto-installed. - Uninstall `stock_delivery`. - Install `whatsapp_delivery` or just `whatsapp`. Forward-Port-Of: odoo/enterprise#60322
In the "Profit and Loss" report, the `14P - Profit (Loss) of the Preceding Period Brought Forward (+)/(-)` line is grouped by account_id, showing then all the accounts from the preceding period that impact the final amount. Which provides a lot of information that may be too much. Only the total amount should be displayed. opw-3810161 Forward-Port-Of: odoo/enterprise#59640
Original PR description
In the "Profit and Loss" report, the `14P - Profit (Loss) of the Preceding Period Brought Forward (+)/(-)` line is grouped by account_id, showing then all the accounts from the preceding period that impact the final amount. Which provides a lot of information that may be too much. Only the total amount should be displayed. opw-3810161 Forward-Port-Of: odoo/enterprise#59640
before this commit: TaxId and email address of shipper and recipient was not showing on commercial invoice. After this commit: Added relevant fields in fedex request. TaxId needs TinType to be passed in request, default value set to 'BUSINESS_NATIONAL'. https://support.shiptheory.com/support/solutions/articles/24000077333-which-tin-type-should-i-use-for-my-fedex-shipments- opw-3748463 Forward-Port-Of: odoo/enterprise#59421
Original PR description
before this commit: TaxId and email address of shipper and recipient was not showing on commercial invoice. After this commit: Added relevant fields in fedex request. TaxId needs TinType to be passed in request, default value set to 'BUSINESS_NATIONAL'. https://support.shiptheory.com/support/solutions/articles/24000077333-which-tin-type-should-i-use-for-my-fedex-shipments- opw-3748463 Forward-Port-Of: odoo/enterprise#59421
To reproduce the issue: 1. Switch to the `Activity` view for the Documents module. 2. Click `+ Schedule Activity`. 3. The dialog box opens up with the list of documents. 4. Try to DRAG & DROP any document list item. 5. We get a TRACEBACK. Issue: - The `onRecordClick` and the `onDragStart` events bound on the record rows are executed when we DRAG & DROP or click the records from the list of documents. - When the method(`onDragStart`) is called from inside the `Dialog` scope, the `
Original PR description
To reproduce the issue: 1. Switch to the `Activity` view for the Documents module. 2. Click `+ Schedule Activity`. 3. The dialog box opens up with the list of documents. 4. Try to DRAG & DROP any…
To reproduce the issue:
1. Switch to the `Activity` view for the Documents module.
2. Click `+ Schedule Activity`.
3. The dialog box opens up with the list of documents.
4. Try to DRAG & DROP any document list item.
5. We get a TRACEBACK.
Issue:
- The `onRecordClick` and the `onDragStart` events bound on the record rows are
executed when we DRAG & DROP or click the records from the list of documents.
- When the method(`onDragStart`) is called from inside the `Dialog` scope, the
`foldersById` in the line of code below returns a singleton object(`{false: {…}}`)
with `false` being the folder_id of the `All` workspace.
- However, when the same method is called from the list/kanban view
(i.e. outside of the `Dialog` scope) then the `foldersById` would return an
object with all of the folderIds present as keys.
- In our case `foldersById[record.data.folder_id[0]].has_write_access` throws a
traceback because the value of every `record.data.folder_id[0]` is a `Number`
(as no document can be present inside the `All` workspace), but the
`foldersById` object only contains the `false` key.
Fix:
- The schedule activity dialog box renders the JS of the list view of the related module. In our case, it renders the base list view from the documents and renders the JS of it.
- We cannot change this in stable so we fix the issue in JS.
After this commit:
- The records are no longer selected.
- We no longer get the traceback.
Task-3727009
Forward-Port-Of: odoo/enterprise#56356Contains four improvements for HMRC flow: 1- Successfully connecting to HMRC now shows a notification to let the user know they can send their reports. 2- The "send" button in the send HMRC wizard triggers the sending but nothing happens UI wise. Now, the wizard is closed and a confirmation notification is shown. 3- For a user wanting to submit the VAT report for two companies, after switching clicking on the "send to HMRC" button raises an error as the token does not correspond to the corre
Original PR description
Contains four improvements for HMRC flow: 1- Successfully connecting to HMRC now shows a notification to let the user know they can send their reports. 2- The "send" button in the send HMRC wizard…
Contains four improvements for HMRC flow: 1- Successfully connecting to HMRC now shows a notification to let the user know they can send their reports. 2- The "send" button in the send HMRC wizard triggers the sending but nothing happens UI wise. Now, the wizard is closed and a confirmation notification is shown. 3- For a user wanting to submit the VAT report for two companies, after switching clicking on the "send to HMRC" button raises an error as the token does not correspond to the correct company. Before, the user had to manually remove their authentication credentials to allow for a new connection to get a new token. Now, if we get an error from HMRC that the agent isn't authorised to submit the report, we clear the credentials ourselves and redirect the user to the login page, so they could get the correct token. 4- Trying to send the report without selecting an obligation returns a traceback error. Now, the send button will not appear unless an obligation is selected. task-3696341 Forward-Port-Of: odoo/enterprise#55988
Before this commit the Whatsapp Sent Count (located in the Communication tab of the event view) wasn't including messages sent to the attendees who weren't confirmed. ### [This commit changes] Event mail scheduler will include seats_uncofirmed into calculation of the mail_count_done which is the count of emails sent. This is reflecting the actual number of messages sent. ### [Reproduce] - Install whatsapp_event - Create event E starting in time T (Events/Events) - Add an "Unconfirmed"
Original PR description
Before this commit the Whatsapp Sent Count (located in the Communication tab of the event view) wasn't including messages sent to the attendees who weren't confirmed. ### [This commit changes] Event…
Before this commit the Whatsapp Sent Count (located in the Communication tab of the event view) wasn't including messages sent to the attendees who weren't confirmed. ### [This commit changes] Event mail scheduler will include seats_uncofirmed into calculation of the mail_count_done which is the count of emails sent. This is reflecting the actual number of messages sent. ### [Reproduce] - Install whatsapp_event - Create event E starting in time T (Events/Events) - Add an "Unconfirmed" attendee - Add an E-Mail in the Communication tab of the event E - Set Interval time > T, - Template: "Email Reminder" - Trigger "Before the event" - Run scheduled Action sending whatsapp (Scheduled Actions / Event: Mail Scheduler) - BUG: message sent, but not included in the sent count in the communication tab of the event E Related to the commit in the odoo community called: [FIX] event: Include unregistered attendee emails in total sent count # Related PRs in odoo Community This Pr is a part of fix/test bundle. For more details check out the here Community PR: https://github.com/odoo/odoo/pull/153795 opw-3693626 Forward-Port-Of: odoo/enterprise#60065 Forward-Port-Of: odoo/enterprise#58428
The templates are used to create a report that will be sent to the fiscal authorities of the Netherlands. They have updated to a newer version of the template. Forward-Port-Of: odoo/enterprise#60139 Forward-Port-Of: odoo/enterprise#59907
Original PR description
The templates are used to create a report that will be sent to the fiscal authorities of the Netherlands. They have updated to a newer version of the template. Forward-Port-Of: odoo/enterprise#60139 Forward-Port-Of: odoo/enterprise#59907
Some of the non canononical timezones are not present in Ubuntu Noble, it would be a better practice to only use canonical timezones in data and tests. Note that this is not a real fix for all cases since the database that ran on Ubuntu Jammy and are moved to an ubuntu Noble server will have the issue with timezones already in database. One of the possible fix would be to manage that during upgrades, but this isn't a verry flexible solution since upgrade are meant to manage chyange of vers
Original PR description
Some of the non canononical timezones are not present in Ubuntu Noble, it would be a better practice to only use canonical timezones in data and tests. Note that this is not a real fix for all cases…
Some of the non canononical timezones are not present in Ubuntu Noble, it would be a better practice to only use canonical timezones in data and tests. Note that this is not a real fix for all cases since the database that ran on Ubuntu Jammy and are moved to an ubuntu Noble server will have the issue with timezones already in database. One of the possible fix would be to manage that during upgrades, but this isn't a verry flexible solution since upgrade are meant to manage chyange of version, not change of server. If an old 17.0 versions needs to be moved to a Noble server, this won't work. Another solution would be to install package like tzdata-legacy that may keep the old timezones but it is not the only think since TAI-10 are also in this package. This solution is not ideal because non canonical timezone will still be shown in the dropdown. We would need to filter them. A last solution would be to add the support for those old timezones by monkeypatching the lib. This way, only new timezones would be shown but non canonical one won't crash when used. This is not ideal either because we may need to keep this for a while. But in combination with the upgrade solution, it may work proprely. Forward-Port-Of: odoo/enterprise#60219 Forward-Port-Of: odoo/enterprise#59440
Forward-Port-Of: odoo/enterprise#56251
Original PR description
Forward-Port-Of: odoo/enterprise#56251
Steps to reproduce =================== 1. Open Documents. 2. Go to finance and select a document. 3. Create a vendor bill using the action button. 4. Validate the vendor bill and go back to Documents. 5. Click on the link in the inspector. Error Occurred Technical ========== With commit https://github.com/odoo/odoo/commit/bc4ebf44e224a9e4dec0c924f835af52086ba4b6, in utils.js an object is returned for res_id in many2one_reference instead of value. After this PR ==================
Original PR description
Steps to reproduce =================== 1. Open Documents. 2. Go to finance and select a document. 3. Create a vendor bill using the action button. 4. Validate the vendor bill and go back to Documents. 5. Click on the link in the inspector. Error Occurred Technical ========== With commit https://github.com/odoo/odoo/commit/bc4ebf44e224a9e4dec0c924f835af52086ba4b6, in utils.js an object is returned for res_id in many2one_reference instead of value. After this PR ================== The linked record can be opened without error. Task-3777502 Forward-Port-Of: odoo/enterprise#58063
Since https://github.com/odoo/odoo/pull/145602, an exact match t-inherit = t-name is needed for an extension to be applied. Here we make sure that the extensions of the templates - "res_config_edition" (web_enterprise) - "Appointment.appointment_info_no_slot" (website_appointment) are applied. Forward-Port-Of: odoo/enterprise#60181
Original PR description
Since https://github.com/odoo/odoo/pull/145602, an exact match t-inherit = t-name is needed for an extension to be applied. Here we make sure that the extensions of the templates - "res_config_edition" (web_enterprise) - "Appointment.appointment_info_no_slot" (website_appointment) are applied. Forward-Port-Of: odoo/enterprise#60181