Daily updates from Odoo
Friday, February 23, 2024
15 changes
2 changes
Enhancements to existing features
This update restores the ability for users to directly edit expense lines within expense reports. This change improves usability and allows for more accurate reporting. Key fields like quantity and taxes remain readonly to prevent data inconsistencies.
Original PR description
In #138387 we modified the expense lines tree in expense reports so that the user can click on the lines to see an attached receipt in the viewer at the side of the webpage. The tree was made to be readonly to make clicking the lines easier and to make it harder for the user to change a field by mistake. This commit reverts the lines to being editable again while leaving some fields as readonly like quantity and taxes as those can invalidate the expense. Task link: https://www.odoo.com/web#model=project.task&id=3685651 task-3685651 Forward-Port-Of: odoo/odoo#149588
This update introduces an HSN (Harmonized System) code autocomplete widget for Odoo's Indonesian localization. Users can now quickly select HSN codes from a list as they enter data, streamlining the tax input process. This enhancement improves accuracy and efficiency for Indonesian businesses using Odoo.
Original PR description
- In this PR, we make some requests in js to get a list of HSN codes to match with the input entered by the user in the field. - And for the options attribute in hsn_autocomplete widget, when a user selects an option from the list, the hsn_decription will be stored in the field specified by the user. task-3646598 Forward-Port-Of: odoo/odoo#151507
7 changes
Enhancements to existing features
Customer portal pages now show discounts when they exist, without depending on an internal discount setting. This keeps sales, field service, rental, and subscription customer-facing information aligned with recent sales system changes.
Original PR description
Also avoid relying on the discount group in portal templates, if there is a discount, it should be displayed to the customer (and there probably won't be any if discounts are not enabled).
Worksheet templates now link to a single company instead of multiple companies, aligning them with related business records. This makes company-specific worksheet setup clearer and more consistent across field service, maintenance, and quality workflows.
Original PR description
This commit's purpose is to transform the company_ids field on worksheet template to Many2one to be coherent with the other models. task-3450204
Planning emails now include options to add shared shifts or full schedules directly to Google Calendar, iCal, or Outlook. This makes it easier for employees to save work assignments in their personal calendars and reduces missed shifts or manual entry.
Original PR description
This commit add an 'add to calendar' button to the 'planning: new schedule' and 'planning: new shift' email templates If a single shift is shared: - By clicking the 'add to Google Calendar' button…
This commit add an 'add to calendar' button to the 'planning: new schedule' and 'planning: new shift' email templates If a single shift is shared: - By clicking the 'add to Google Calendar' button the user is redirected to a Google Calendar URL that will allow him to create an event for the shift - By clicking the 'Add to iCal/Outlook' button the PlanningController will send a .ics file If a planning is shared: - By clicking the 'add to calendar' button the PlanningController will send a single .ics file with every shift in the planning --- ## Details about the implementation ### In planning module In the *mail_template_data* added the buttons which redirects to the corresponding routes: - for planning.planning: the route _/planning/<string:planning_token>/<string:employee_token>.ics_ will return the ics file - for planning.slot: either the direct google calendar URL generated in the planning.py model file or the route _/slot/<string:access_token>.ics_ which will return the ics file In the *Controller* we add the 2 routes to get the corresponding .ics files this is done by creating vobject.calendar and filing it with the corresponding slot information In the *models/planning.py* we create the method planning.slot.get_calendar_from_slot() to fill the *planning slot* vobject given by the 'planning: new shift' email we also create the method planning.planning.get_calendar_from_slot_data() method to fill the *planning planning* vobject given by the 'planning: new schedule' email Those two method are separated because information about the shifts present inside a *Schedule* are given under a different form than a sum slot_ids (a dictionary generated by the method _planning_get()) so the methods that extract the data from the slots are different for a complete schedule and an alone slot (but are named the same: *get_ics_description* and *get_ics_summary*) get_ics_description simply fetches the slot *allocated percentage* *note* and *role* from the slot to later put it in the vobject.calendar description get_ics_summary gets the *resource* and *role* from the slot to put in the vobject.calendar Title also modified the relativedelta import for style reasons ### In project_forecast module inherits the get_ics_description and adds the project name in the description inherits the get_ics_summary and adds the project name in the title (only for planning.planning) ### In sale_planning module in the *controller* added 'partner_id' fetch in the _planning_get() method Created a new planning_planning.py *model* file just to inherit the two ics_summary and description function to add the Sale Order Item and Partner data. inherits the get_ics_description in the planning_slot.py model file Task-3434542 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
Restaurant POS users can now send all items from a selected category to preparation at once using a new Send button. This makes kitchen coordination faster and helps teams organize order preparation by product category instead of handling items one by one.
Original PR description
**Before the change:** The control buttons in the POS restaurant module did not have an option to send orders in preparation by category. Users were only able to send individual orders to preparation without categorization. **After the change:** After the modification, a new button labeled "Send" with a fire icon was added to the control buttons. This button allows users to select a ategory and send all products within that category to preparation. This enhancement provides a more efficient way to organize and prepare orders in the point of sale system, improving workflow and order management. https://github.com/odoo/odoo/pull/154754
Restaurant staff can now send order items to preparation in separate batches instead of all at once. This helps teams pace kitchen or bar preparation while keeping batch details internal to orders and preparation tickets, not customer receipts.
Original PR description
Allow user to sent items for preparation in batches, one at a time. Batch are only for internal use, only displayed on the order and on prep tickets, not on receipts.
Portal and guest users in Knowledge will no longer see other guests' email addresses. This improves privacy by limiting access to guest contact details to internal users only.
Original PR description
This commit hides the email adresses of other portal users when one of them is connected. This way we keep a certain level of privacy to guest users as only internal users will now be able to see their email adress. task-3753758
GSTR1 validation now better interprets GST Portal responses, making it easier to understand and resolve reported data issues. This helps businesses using Indian GST reports and POS GST reporting reduce time spent investigating unclear validation errors.
Original PR description
… Traceability Before This Commit: Managing Inaccurate Data Responses from GSTR Portal After This Commit: Simplifying Error Resolution by Enhancing Decoding of JSON Responses task: 3428326
6 changes
Enhancements to existing features
This update migrates and completes German language translations across localization modules that were reorganized after version 15.0. German localization features were consolidated into shared DIN5008 modules to serve multiple countries more efficiently. The translation updates ensure all modules have complete and accurate German language support.
Original PR description
*datev_reports,pos_cert,pos_res_cert,reports After 15.0, part of the German localization modules have been moved to the DIN5008 modules to be shared with other countries. We migrate the translations here to the correct modules in the versions after 15.0 and complete missing ones. opw-3669388 Related to https://github.com/odoo/odoo/pull/153845 Forward-Port-Of: odoo/enterprise#57158 Forward-Port-Of: odoo/enterprise#56503
This update improves the workflow for creating Service Order Lines (SOLs) directly from helpdesk tickets. Previously, users could only use the "Create and Edit" option, which required additional steps. Now users can quickly create SOLs with a streamlined quick create option, saving time and reducing friction in the ticket-to-sales process.
Original PR description
When creating SOLs on the fly for tickets, only the "Create and Edit" option is available. This PR enables the quick create for SOLs on tickets. Community: https://github.com/odoo/odoo/pull/142720 Task-3553151 Forward-Port-Of: odoo/enterprise#53833
This update improves the user experience of the individual account feature in Belgian payroll processing. The changes streamline the interface and reporting for employees viewing their payroll information, making it easier to access and understand their account details.
Original PR description
TaskID: 3762935
This update reorganizes and completes German language translations across localization modules. After version 15.0, German localization features were consolidated into shared DIN5008 modules to serve multiple countries more efficiently. This change migrates and fills in missing translations to ensure all modules have complete language support in the correct locations.
Original PR description
*de,de_skr03,de_skr04,din5008,din5008_purchase,din5008_repair,din5008_sale,din5008_stock After 15.0, part of the German localization modules have been moved to the DIN5008 modules to be shared with other countries. We migrate the translations here to the correct modules in the versions after 15.0 and complete missing ones. opw-3669388 Related to https://github.com/odoo/enterprise/pull/56503 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#154915 Forward-Port-Of: odoo/odoo#153845
This update improves the speed of opening the messaging menu in Odoo by optimizing how the system calculates and accesses message information. The changes reduce unnecessary repeated calculations and data access operations, resulting in faster menu load times—especially noticeable when opening the menu multiple times. Users will experience a smoother, more responsive messaging experience.
Original PR description
Slight speed improvement initially, good improvement especially for subsequent openings. See individual commits. On my machine, with populate medium. Duration of the different calls to sort (the most problematic method) during opening: Before: 150ms, 165ms, 141ms After: 118ms, 50ms, 40ms
This update prevents the system from sending emails when payment validation transactions are processed and tokens are assigned to orders. This reduces unnecessary email notifications to customers and improves the overall email communication experience by only sending relevant transactional emails.
Original PR description
Before this commit, validation transactions would send an email when the token is assigned to the order. taskid: 3675875 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#154650 Forward-Port-Of: odoo/odoo#151773