Daily updates from Odoo
Tuesday, November 7, 2023
28 changes · 17.0
New functionality added to Odoo
Odoo now provides a fillable PDF template for Danish accounting procedures to help users comply with the updated standard chart of accounts from the Danish Tax Agency and Business Authority. This new template allows users to document accounting guides for individual accounts, supporting the requirements of the Danish accounting act.
Original PR description
The Danish Tax Agency and the Danish Business Authority are launching an updated common standard chart of accounts. For the accounting act, we need to provide a way to support the function that users can enter an accounting guide for the individual account This commit adds a fillable PDF file of danish accounting procedure in `l10n_dk_reports` (now depends on `documents_account`), following the strucure from Danish government's documentation task-id: 3531476
This update introduces a new website scraping module that allows businesses to automatically import their existing websites into Odoo. Instead of manually rebuilding websites, users can now scrape external websites and have Odoo automatically recreate them with all pages, menus, images, and styling. In the initial beta release, the feature supports importing up to 10 pages and includes automated notifications and progress tracking.
Original PR description
In order for this module to work, two system parameters must be set up: - "website_generator.token", a token which is used to identify the user(s) and give the appropriate access to the WSS -…
In order for this module to work, two system parameters must be set up:
- "website_generator.token", a token which is used to identify the user(s) and give the appropriate access to the WSS
- "website_scraper_endpoint", the public url of the WSS
This PR is the merge of https://github.com/odoo/enterprise/pull/43608 (already reviewed a lot) and https://github.com/odoo/enterprise/pull/43306
-----------------
The goal of this module is to 'import' external websites directly in
Odoo.
Specifically, it will load data into the appropriate models:
- Menu
- Pages
- Footers
- Images
- Attachments
- Social media links
- Theme custos
- ..
Indeed, some users have already built their own websites outside of Odoo
and have the desire to move it into Odoo.
Unfortunately it takes a lot of effort to migrate.
This module is here to help in thar regard.
Their mission is, given a reference website, to reproduce it in Odoo.
In the first implementation, it will be only possible to scrape a
website through a special /trial page on Odoo.com.
The module will work out of the box only in this configuration.
It will be reployed in a V1 as a beta:
- Can only scrape 10 pages
- Only able to scrape from /trial
- There will be a disclaimer about the fact that it's a beta
- If need more than 10 pages, we will advertise to contact us to be able
to do it
- Write on website 1, keep only one website in the DB (multi website is
complexe)
- User will land on a request waiting page, calling IAP every 10 sec to
know if the results are ready (and get it)
- A CRON will be started and run every 15 min in case the user leave the
page. The CRON will be disabled once the request is fully processed.
- A mail will be sent once the website is ready
- A systray icon will be shown to go back to the pending screen. That
icon is gone once you have visited the pending screen and that the
request is ready.
In such a case, the screen will either reload to the website in case
of scraping success, or will shown an error message.
Known issues that will be fixed in a later commit:
- data-snippet attribute management
- Missing snippet versioning (vcss vjs)
In a V2:
- We will scrape products with `website_generator_sale`
- Will probably use data module instead of recreating everything
- Will be able to scrape a website from an existing database through
the website configurator screen
Terminology:
- Website Scraper (WS):
This is where the magic happens. It parses the target website,
extracts all the information it needs and generates an output file.
This output file contains all the information required for building
the website in odoo (HTML, images, theme, etc).
- Website Scraper Server (WSS):
It's the server which runs the website scraper. It records the
requests and is responsible for load balancing.
- Website Generator (WG):
This PR: it takes the output file from the WS and build the website
This module is allow to send and receive requests to/from the WSS.
Flow of Operations:
1. WG sends a request to WSS
2. WSS accepts (or denies) the request
3. WSS executes WS on the targeted website
4. Once it's done, the request is marked as ready on WSS
5. WG requests WSS for the output file
6. WSS streams the file back to WG if ready, or denies if not allowed or
return "not ready yet" status
7. WG builds the website once it receives the file
8. WG let WSS know that everything went fine
Errors:
- (Step 2) WSS checks for:
- A valid token
- A number of pages
- A valid URL
- That the URL is not blacklisted website
- A valid DBUUID
- (Step 6) WSS checks for:
- A valid output_uuid and DBUUID
(that the DB receiving the request is the one that made it)
- That the request is done (not 'error' or 'processing')
- That the result is still accessible (not deleted due to cleanup)
Notes:
- WG never saves the output as an attachment, it is only stored in RAM
- WG should be robust, if info is missing it will try to do without it.
If essential info is missing, it will simply not create the website.
Related PR:
- (WSS) https://github.com/odoo/iap-apps/pull/609
- (WS) https://github.com/odoo/website-scraper
- Internal custo: https://github.com/odoo/internal/pull/2463
Co-authored-by: Christopher du Toit <chto@odoo.com>
Co-authored-by: Damien Decleire <deda@odoo.com>
Co-authored-by: Guillaume-gdi <gdi@odoo.com>
Co-authored-by: Romain Derie <rde@odoo.com>Enhancements to existing features
The scrap view used in manufacturing orders and picking operations is now consistent, using the same mobile-friendly interface across both processes. This improvement enhances the user experience on mobile devices and streamlines the scrap operation workflow by providing a unified, intuitive interface for warehouse staff regardless of which operation they're performing.
Original PR description
Currently, the scrap views for pickings and MOs are significantly different. The MO one uses a tablet friendly, "digipad" widget, while the picking one displays a simplified popup. After this change…
Currently, the scrap views for pickings and MOs are significantly different. The MO one uses a tablet friendly, "digipad" widget, while the picking one displays a simplified popup. After this change is merged, the scrap view for pickings will use the same "digipad" widget as the scrap view for MOs. This will improve user experience on mobile devices and will make the scrap operation consistent between different models. As part of this task, a few additional changes were made in the scrap calculator view (digipad): * source location is no longer displayed * scrap location placeholder was changed from "Destination Location" to "Scrap Location" * scrap location is now editable * icon for "Serial/Lot Number" is shown together with the input field * unit of measure is displayed in the same line as quantity * quantity input field is much more narrow * "Scrap Location" and "Serial/Lot Number" fields are a bit wider * scrap products cannot be created in the digipad view * domain now shows all products from moves, not only from move lines
This update makes the YouTube integration compliant with Google's official guidelines. The changes include increasing YouTube icon sizes to at least 20 pixels, displaying actual like counts instead of percentages, and updating icons in the Kanban view to meet platform requirements.
Original PR description
Purpose ======= Make Social YouTube compliant with the remarks we received. Make all YouTube icons at least 20 pixels high, show the number of likes instead of the percentage, changes some icons displayed in the Kanban view. Task-3549103
This update adds print mode capabilities to spreadsheets, allowing users to print spreadsheets through their web browser with proper formatting. The improvement includes new print styling assets that ensure spreadsheets display correctly when printed, making it easier for users to generate physical or PDF copies of their spreadsheet data.
Original PR description
Task: 3575484
The permission panel in the Knowledge module has been redesigned to improve visual clarity and user experience. Spacing issues have been corrected, the active user indicator now has better contrast, and action buttons for managing members are now more prominent and easier to click instead of being small icons.
Original PR description
Prior to this commit, there was a spacing issue and also a small contrast issue with the active state for logged-in users in the permission panel. Additionally, the action buttons (such as remove member, leave article) for hovered-over invited members were not optimally positioned and were only clickable icons. These have now been upgraded to more user-friendly buttons. <table> <tr> <td>Before</td> <td> After</td> <tr> <td> <img width="1726" alt="Before" src="https://github.com/odoo/enterprise/assets/80678921/c7fb3879-562c-4c61-aa3d-8eb192af7f02"> </td> <td><img width="1726" alt="After" src="https://github.com/odoo/enterprise/assets/80679690/c282f6fe-f28e-4aee-b5db-62e37fa729ab"> </td> </table> task-3575300
This update fixes the visual spacing in the document inspector interface by adding proper padding between icons and field labels. This improves the overall appearance and readability of the inspector panel, making it easier for users to view document details.
Original PR description
Fix the missing padding between the icon and the field label in the inspector. Task-3562216 Forward-Port-Of: odoo/enterprise#49401
Resolved issues and error corrections
Fixed an issue where the Notes field in the Bank Reconciliation list view was not editable in version 17. Users can now click on and edit notes in bank line items as intended. The fix also ensures notes don't display empty boxes when there's no content, and prevents unwanted editing in the Kanban view.
Original PR description
Problem --------- The "Notes" field in Bank Reconciliation list view (optional_hide) should be editable. It's not working anymore in 17, it's working in 16.4. Steps --------- 1. Install…
Problem --------- The "Notes" field in Bank Reconciliation list view (optional_hide) should be editable. It's not working anymore in 17, it's working in 16.4. Steps --------- 1. Install `account_accountant` 2. Accounting Dashboard > Bank journal > List view 3. Unhide Note column > Click on any empty notes Solution --------- The field was set as invisible when it was empty. However, this appeared to also hide the editable box from the HTML field. The box was then not clickable and thus not editable. Removing the invisible attribute solves the issue while maintaining the idea that nothing should be shown (no empty box) if there is no note content. From this fix, another issue appeared back in the Kanban view: the notes field was editable with a sequencing arrow appearing on the left. We don't want the note field to be editable in the Kanban view. To solve the issue, we replace the HtmlField tag in the XML template by a t-out so that the attribute set on the python fields are used in the view. task-3537776
This fix removes an incorrect warning message that was appearing when users tried to share appointment meetings, even when they were already part of the meeting. The issue was caused by typos in the code that prevented proper validation of user participation. After this fix, users will no longer see the warning if they are already part of the appointment.
Original PR description
Steps to Reproduce =================== - Open appointment in which your are part of that. - Try to share the interview meeting. - Warning will be there even if a user is part of that meeting. Technical ========== Due to some typos here https://github.com/odoo/enterprise/commit/d1e75bf651ba06ce065afa8e6ca18e6b25e2dfce After this pr ================== There will be no warning if the user is a part of it. Task-3487715
This update corrects broken or incorrect links in marketing automation email templates used for customer communications. The fix ensures that confirmation emails, trial offers, partnership invitations, and promotional messages direct customers to the correct destinations. The change also removes unnecessary code to improve system performance.
Original PR description
The commit modifies links on anchors. The commit also cleans up logging and unused props.
This fix corrects an issue where the shop floor display was always showing 'Unit' as the unit of measure for inventory moves, regardless of the actual unit configured. The system now properly reads and displays the correct unit of measure for each move, ensuring accurate information for production floor staff.
Original PR description
The default 'Unit' uom was always displayed on the shop floor for moves as the `displayUOM` was not checked within the `props`.
This update adapts automated tests in the accounting and web studio modules to work with recent changes to the web framework's command system. The changes replace outdated test commands and fix a timing issue in bank reconciliation tests to ensure tax calculations complete before validation, improving test reliability.
This fix resolves a problem where resource-based appointments were not displaying correctly on the website. The system was trying to access staff information that doesn't exist for resource appointments, causing display errors. The fix ensures the system properly checks whether staff information is available before attempting to use it.
Original PR description
Step to reproduce: 1. Install appointment, website_appointment and appointment_account_payment 2. Go to the appointment module 3. Create a new resource type appointment 4. <img width="1583" alt="Screenshot 2023-11-03 at 14 42 41" src="https://github.com/odoo/enterprise/assets/15966645/4eea81ce-0201-4826-ba00-b434ef5f8347"> 5. Click on `Go to website` 6. <img width="1338" alt="Screenshot 2023-11-03 at 14 17 16" src="https://github.com/odoo/enterprise/assets/15966645/8e582cdd-fbd6-4f20-8000-8aa2a39d73be"> For a resource type appointment, the staff_user does not exist.
This update fixes the visual layout of the favorite widget in the Frontdesk kanban view. The widget now appears in the correct position at the top of cards alongside the title, rather than below it, and the card spacing has been improved for better visual balance.
Original PR description
This commit fixes the position of the favorite widget within the kanban view of Frontdesk. Prior to this commit, the filter was added after the title, which would displays it under the title. To fix the issue, we place it before the title, as we do in Project, and add some flex classes to handle that layout. We also removed some `padding` classes to provide a better visual alignment between the left and right side of our cards. task-3582084 | 17.0 | 17.0-fix-frontdesk-favorite-position-kanban-chgo | | ------------- | ------------- | | <img alt="image" src="https://github.com/odoo/enterprise/assets/128030743/0d1ba064-0fbf-432f-8d94-4e6e8ea9dcf7"> | <img alt="image" src="https://github.com/odoo/enterprise/assets/128030743/1166c628-71da-404c-bbd8-44e63ae55e2a"> |
This update fixes several display issues in the Frontdesk module to improve the user experience. The changes adjust text sizing on large screens, ensure the footer stays visible while scrolling through products, and make the product grid adapt better to different numbers of items. These improvements make the interface more polished and easier to use.
Original PR description
This commit address several UI issues: - Adjust base font-size on xxl screens - DrinkPage component: ensure that the footer is fixed and that the scrollbar is applied on the products grid. - DrinkPage component: introducing grid's column adaptations according to the number of products rendered on screen. task-3581651
A typo in the custom CSS class name for the Aged Payable and Receivable reports has been corrected. This fix ensures the styling displays correctly for these financial reports, improving the visual presentation and user experience when viewing aged partner balance information.
When creating a new field service task from the Gantt or calendar view, the planned date is now automatically set to the selected date range. Previously, users had to manually enter the planned date after selecting their desired timeframe, which was an extra step in the task creation process.
Original PR description
… default Steps to reproduce: - Open the field service task Gantt view. - select date between two dates. - Choose 'New' to create a new task. - selected planned date isn't set by default. Issue: - The planned date field is not automatically set by default when creating a new task via the Gantt view or calender view. Solution: - Implement default functionality to auto-fill the planned date field upon creating a new task in the fsm task Gantt view. - earlier we are giving planned date for 1 day cause fsm task only last long for day rather than a week,month or year. task-3576701
Fixed how asset revaluations with increases are depreciated. Previously, increases were depreciated over the entire original asset lifetime regardless of when the revaluation occurred. Now, increases are correctly depreciated only from the revaluation date forward, based on the remaining useful life of the parent asset. This ensures more accurate financial reporting when assets are revalued mid-life.
Original PR description
When we make a reevaluation with an increase, the date where you make the increase has no impact. It's depreciated for the whole duration of the parent asset. It does not make sense, and should be from the moment where the asset is reevaluated. The child asset will have a lifetime depending on the time left for the parent. For degressive then linear, we try to follow the curve of the parent opw-3526524 Forward-Port-Of: odoo/enterprise#50204 Forward-Port-Of: odoo/enterprise#48629
This fix restores the ability for users to delete or clear field selections in spreadsheet filter panels. The change updates the filter editor component to properly support empty field selections, allowing users to remove previously set filter fields when needed.
Original PR description
Adapt spreadsheet side panel following https://github.com/odoo/odoo/pull/140622 A user will again be able to delete the field of a filter field matching. Forward-Port-Of: odoo/enterprise#50179 Forward-Port-Of: odoo/enterprise#50113
This fix resolves a display problem in the bank reconciliation widget where labels would appear vertically stacked when the browser window was resized to a narrow width. The issue occurred when users had long notes on bank statement lines and attempted to manually reconcile transactions. The fix ensures labels display properly regardless of window size.
Original PR description
Steps to reproduce: - From Accounting dashboard, view Operations of Bank journal (3-dots button) - Display Notes (narration) field - Create a new Bank statement line with a very long note and an amount - Click on "MATCH" button - On reconciliation widget, go to "Manual Operations" tab - Resize the browser window by reducing the width => Many labels will be displayed in an element with a very small width, appearing vertically. Like this: L a b e l opw-3524146 opw-3538692 Forward-Port-Of: odoo/enterprise#50261 Forward-Port-Of: odoo/enterprise#49924
Fixed an issue where the wrong person was being pre-selected as the signer when signing rental documents. Previously, the system would default to the logged-in user instead of the actual customer. Now the correct customer is automatically selected when initiating the document signing process.
Original PR description
Issue: ====== When we sign documents related to sale order , the signer id default value is the user and not the customer. Steps to reproduce the issue: ============================= - Install sign and rental - Activate Digital Documents in settings. - Create a sale order and confirm it and Click sign docuemnts - Click sign documents again - The customer value is mitchel admin and not the real customer. Solution: ========= I added default signer in the context of the action. opw-3540712 Forward-Port-Of: odoo/enterprise#50272 Forward-Port-Of: odoo/enterprise#48994
This update fixes several testing issues in the appointment and knowledge modules. The changes remove unnecessary test artifacts and update test methods to work with the latest code, ensuring tests run more reliably and accurately reflect real-world scenarios.
Original PR description
Community PR: https://github.com/odoo/odoo/pull/138062 Tests were run with the link zws in the way, which in real-life circumstances would have been cleaned away. This commit removes the zws for testing purposes. Forward-Port-Of: odoo/enterprise#50120 Forward-Port-Of: odoo/enterprise#49602
This update corrects a typo in the account reports PDF export feature that was preventing analytic plans from displaying correctly in the export filters. The fix removes outdated code references and ensures the proper configuration key is used, improving the reliability of PDF report generation with analytic data.
Original PR description
Fixes a typo in the key used to show analytic plans in the PDF export filters. Forward-Port-Of: odoo/enterprise#50011 Forward-Port-Of: odoo/enterprise#48232
This update removes an outdated workaround from the accounting reports PDF templates that is no longer needed. The system now automatically handles which filter options appear on printed reports, eliminating the need for special configuration. This cleanup makes the code simpler and easier to maintain.
Original PR description
'closing_entry' option key was introduced in l10n_be in order to bypass the display of some options on the pdf stored in attachment of the tax closing entry. It is not needed anymore in account_reports in 17.0, because of the split between pdf and UI templates: the pdf templates' extra_options template only displays information when its options are explicitly set to a value. For example if only posted entries are displayed in the report; it's not written on the pdf ; only the fact of showing draft entries is mentioned when printing. Therefore, the pdf attached to the tax closing moves never shows any of these filters anyway.
This fix ensures that when creating tasks from the gantt view in Field Service, the default planned dates are now properly set. Previously, these dates were missing, making Field Service task creation inconsistent with regular project tasks. The fix aligns Field Service behavior with standard project task defaults.
Original PR description
Before this commit, the default planned dates were not set when creating a task from the gantt view in field service. As the default planned dates when creating a task from fsm should not be different than from project, we delete the default_get code concerning the planned dates in FSM and we apply the same default as for normal tasks. task-3576701 task-3586078
This fix restores the visibility of the Customer column in subtasks when the parent task's customer is removed. Previously, the column would disappear entirely when a parent task's customer was unset. Now the column remains visible and displays each subtask's individual customer information, improving data visibility for Field Service users.
Original PR description
Steps: Create a non-fsm task T. Make sure it has a Customer. Go to sub-tasks tab, and display the column "Customer". Create a subtask and make sure it has a customer too. Unset T's customer. Issue: "Customer" column disappeared on the sub-tasks tab. Cause and Fix: In that commit https://github.com/odoo/enterprise/pull/41700/files, the best way to fix the bug was to hide the column. However, we can limit this inconvenience to Field Service. task-3462486 Forward-Port-Of: odoo/enterprise#45663
This fix resolves a bug in the barcode scanning system where items that weren't picked were incorrectly being included during order validation. The update includes a test to prevent this issue from recurring in the future, ensuring more accurate inventory tracking during the picking process.
Original PR description
See COM PR for details of the bug. This commit adds a test to ensure this issue hopefully never returns COM PR: odoo/odoo#141210
Code cleanup and technical improvements
This update removes unnecessary CSS styling rules from the product catalog component in the Field Service Sales module. The cleanup improves code maintainability and reduces technical debt without affecting user-facing functionality.
Original PR description
Removes useless CSS rules. Enterprise part of odoo/odoo#140255