Saturday, September 21, 2024
21 changes · master
Enhancements to existing features
This update lets payments be handled without always creating a journal entry, aligning accounting workflows with recent platform changes. It affects payment processing, bank reconciliation, batch payments, reports, and localization-related payment exports, with a known limitation that batch payment reconciliation without journal entries will be completed later.
Original PR description
Commit mostly adapting for renamings of fields and states. More information on the community commit. Some aspects specific to this commit are: * the reconciliation of batch payments are not fully working if there is no journal entry created for the payments. This will be fixed in a future commit [task-4180163](https://www.odoo.com/odoo/project.task/4180163)
Appointment confirmations and calendar details now use clearer, dynamically generated descriptions based on the booking information. Reschedule links are included in synced calendars and calendar files, while cancellations are simpler for customers and staff.
Original PR description
Purpose ======== Improve descriptions for external communication which can be used everywhere. Specifications ============== - The description is not stored on the event at creation but will be computed based on attendees and data coming from the form submission. - Reschedule links are now propagated to calendar sync and ICS files. - The cancellation process is eased. Technical ========== - New partner is created from the form if any details mismatch with the existing customer. - We changed the procedure of preparing the description for the calendar event, so we do not need the description for calendar.booking model as we no longer receive descriptions from the '_handle_appointment_form_submission' method. Task-3458669
Planning users now see a notification after splitting a shift in the Gantt view, with an option to undo the split. This makes it easier to correct accidental split actions and quickly restore the original shift without manual rework.
Original PR description
After this commit, a notification appears when the user uses the split tool to divide a shift in the gantt view. The notification contains an "Undo" button which allows to merge back the last divided shift. When "Undo" is pressed, a confirmation notification is displayed to tell that the shift was successfully merged back. task-3827618
The extraction status shown in document headers now updates automatically as processing progresses. Users no longer need to manually refresh pages to see the latest status, making document workflows clearer and faster.
Original PR description
Improved the extraction status header to display real-time updates, eliminating the need for manual refreshes. This improves the user experience by providing immediate feedback as the document extraction progresses.
The room booking app now uses the standard loading overlay styling instead of maintaining separate custom styling. This reduces maintenance effort and helps keep the user experience consistent across Odoo apps, with only a minor internal adjustment in the enterprise web interface.
Original PR description
- The room app was using his own CSS for the blocked UI. Indeed, it used the service but its CSS was not available. It now is, instead of more CSS code to support. - The web_enterprise app is using a div using the o_blockUI class... but this seems like a mistake, it never had an effect (since at least version 16.0). To investigate later. Related to task-4184418
Mexican electronic delivery documents now support products that may or may not be hazardous depending on the shipment. Users can mark these cases directly on the delivery, helping ensure transport documents reflect the correct hazardous-material status and meet Carta Porte requirements.
Original PR description
Proper implementation supporting products that may be hazardous, defined with "0,1" in the CatalogosCartaPorte (ClaveProdServe sheet, Material Peligroso column) We need to address 3 possible values…
Proper implementation supporting products that may be hazardous, defined with "0,1" in the CatalogosCartaPorte (ClaveProdServe sheet, Material Peligroso column) We need to address 3 possible values of the column 'Material Peligroso': 1. If it is “0”, we must not emit the MaterialPeligroso element 2. If it is “1” we must have in the MaterialPeligroso element “Si” 3. If it is “0,1”, we must have in the MaterialPeligroso element “Si” or “No” depending on the actual case 1 and 2 were already working as expected, users will just leave blank or fill the product field "Hazardous Material Designation Code" (l10n_mx_edi_hazardous_material_code) Case 3 was not working because we could only emit 'MaterialPeligroso' with 'Si' or not have it at all https://github.com/odoo/enterprise/commit/f4c662f0cfd47f6af28df9e11d80eae1c0b26a8d was a temporary fix This commit aim to be a permanent fix for the issue by: - Adding proper definition for the Hazardous Material Designation Codes - Extending unspsc model with the MaterialPeligroso information - Adding a new fields on the picking to keep track whether the product falls into the maybe hazardous category and if it is actually hazardous - For the maybe hazardous products let users choose via checkbox in the Additional Info tab where other MX related fields are located opw-3955361 taskid: 4187959
Turkish localization now supports using a different default account for sales returns than for regular sales. This helps businesses in Turkey keep accounting entries aligned with local reporting expectations and reduces manual adjustments.
Original PR description
This commit accommodates the fact that in Turkey the default return from sales account is different from the default sales account task: 3754480
This update adjusts automated testing around the WhatsApp message seen indicator. It helps ensure the message status display continues to behave reliably after related improvements.
Original PR description
Task-4198929 https://github.com/odoo/odoo/pull/180897
Success notifications in Planning have been rewritten to be shorter and more explicit. This makes confirmations easier for users to understand after completing planning-related actions.
Original PR description
The toast notifications have been reworded to be more explicit and shorter for the planning module. The changes were applied to notifications with the success status. Task-3916119
Users reviewing bank statements from the reconciliation Kanban can now open the complete statement form instead of a limited quick modal. This makes auditing statements created from documents more convenient and gives users better access to all statement details in one place.
Original PR description
In this commit: https://github.com/odoo/enterprise/commit/120a546295b9e99b2bd50736003506311419562e we have improved the form view of bank statement, if you want to audit a statement you've created via a document, it's far more convenient to open the full form view when you are in your Kanban view instead of the old quick modal. task: 4196574
The Barcode app now handles RFID and bulk barcode scans more smoothly, including support for Zebra Android readers and clearer progress while many items are processed. Inventory adjustments are more reliable by prompting users about missing serial-numbered items and using expected quantities for existing lots, reducing counting mistakes and repeated alerts.
Original PR description
List of changes: - Can split RFID when multiples are received as one; - Avoid to display the same notification when multiple barcodes are scanned at once and some of them triggers the same notification; - Inventory Adjustment: - When not all serial numbers are counted, ask what to do with remaining ones; - When existing lots are scanned, use the theoretical quantity instead of the scanned one (if there is any.) See commits for more details. Community PR: odoo/odoo#177738 [task-4089638](https://www.odoo.com/odoo/project.task/4089638)
Sales managers can now manage subscription lines from recurring plans, update prices across multiple subscriptions, and use import/export tools for larger changes. They can also email customers from the Sales Order list about pricing or terms changes, reducing manual work and the need for custom processes.
Original PR description
We’ve made several updates to make managing subscriptions easier. Sales managers can now use a new button on recurring plans to manage subscription items from Sales Orders. We've added a multi-edit feature so you can update the prices of several subscriptions at once. You can also export and import subscription lines to make bulk updates simpler. We've added a new action to the Sales Order list view that lets sales managers email customers directly about changes in terms and pricing. These updates include new features like mass updates and filters by product, customer, and subscription dates, making it easier for sales managers to handle subscriptions without needing custom solutions. task-4102978
Employees can now use flexible or fully flexible working calendars, including schedules without fixed daily or weekly limits. This improves payroll, planning, and attendance views for teams with non-standard working patterns while preventing auto-planning from assigning flexible staff incorrectly.
Original PR description
### Description of the issue/feature this PR addresses: ------- In this commit, the flexible working hours (flexible contract) has been reworked in the resource calendar and the contract. 1.…
### Description of the issue/feature this PR addresses: ------- In this commit, the flexible working hours (flexible contract) has been reworked in the resource calendar and the contract. 1. Definition of Flexible working calendars: Flexible working calendars are defined by setting the `flexible_hours` field to True in resource calendar. Flexible resource are able to set the number of working hours per day freely, without referring to working intervals (attendance). Added a helper function `is_flexible` in resource for readability and better maintenance of this definition. 2. Introduction of Fully Flexible working calendars Fully Flexible working calendars are defined by not setting any value to the field working calendar in the resource/contract view. This type of flexible calendar has no limit to the working hours per day, as well as on the week. This allows to have fully freedom on the length of shifts for resources. Note that for contracts, fully flexible can be selected only if the contract's working entry source is not 'working schedule'. A helper function `is_fully_flexible` is added in resource for readability and better maintenance of this definition. To allow these changes, we also introduced changes in the following modules: **hr_payroll:** - `resource_calendar_id` field no longer required for hr_contract. - in demo data, added `resource_calendar_flex_40h` for flexible contract with a limit of 40hours/week. - update existing flexible contracts in demo data. (previously, flex contract had their `calendar_id`=False) **planning:** - demo employee added with fully flexible working calendar (Suman Oza) - Adapted numerous methods for calculation of slots duration: whenever the calendar attendance is referred to calculate availability, we set an exception for flexible resources. - Auto plan: adapted to **exclude** flexible resources for this feature. - `_copy_slots` method is re-adapted for missing calendar of fully flexible resources. - progress bar adapted for fully flexible resources: the total working hours of the resource (in the planning view's interval) will be displayed. - progress bar adapted for flexible resources: the progress bar will be displayed as before in the gantt view. However the denominator will be an approximation in the case of month/year interval, since we cannot know how many working days there are per week. - Added tests for flex and fully flex contracts. **planning_contract**: - a slot outside the interval of an ongoing contract period returns 0 allocated hours for flexible and fully flexible contracts. **hr_attendance_gantt:** - when retrieving unavailable_intervals_by_calendar for fully flex we return an empty Interval to set no unavailability. **hr_work_entry_contract_attendance:** - for fully flexible resources, refer to the timezone of the resource instead of the calendar. Additionally, a demo user with a fully flexible schedule has been added to display the features and facilitate future testing. Task-3762895 related PR community: https://github.com/odoo/odoo/pull/157577 update: https://github.com/odoo/upgrade/pull/5851
Tax closing reminder activities are now attached to the journal used for closing instead of a draft closing entry. This prevents empty closing entries from being created while keeping teams informed about the next tax closing task.
Kanban card menus were aligned with the newer kanban design so they behave consistently across affected apps. This is a small cleanup that removes outdated styling hooks and helps keep Manufacturing PLM, Quality, and eLearning views compatible with the updated interface.
Original PR description
*website_slides,mrp_plm,quality_control This commit removes kanban-record-menu from kanban_dashboard and moves it to the generic CSS rule for kanban-menu. Unnecessary classes that no longer have an effect in the updated kanban architecture have been removed. - Removed o_kanban_card_manage_section and o_no_padding_kanban_colorpicker class - Renamed .oe_kanban_colorpicker to o_kanban_colorpicker Task-3992107
Inventory counts for products tracked by serial number now better match real warehouse workflows. The Barcode app no longer asks for serial numbers during inventory adjustment when those serial numbers are only meant to be assigned later, such as at delivery, reducing confusion and incorrect line warnings.
Original PR description
Before this commit: ================== Barcode Icons for Serial Numbers was visible when the product is tracked by serial number but the quant has zero quantity and the edit button on the line was also visible. After this Commit: ================= Barcode Icons for Serial Numbers is removed if that product has zero quant and user is scanning the product directly but on the other side if the user is scanning a particular location and then scanning the product which is tracked by serial number then Barcode icon is visible and checkbox button is removed. task-3790171
Kitchen and preparation display staff can now see notes that apply to an entire order, not just individual order lines. This helps teams catch customer instructions or special handling details more reliably during order preparation.
Original PR description
In this commit ------------------ - Created preparation_display_order_note to store the order note currently displayed on preparation display. - Showed order note on kichen display. task: 4081356 Related PR Community PR: https://github.com/odoo/odoo/pull/175535 Upgrade PR: https://github.com/odoo/upgrade/pull/6341
The POS receipt screen now separates email and phone-based sending into clearer input fields and actions. Staff can more easily send receipts by email, SMS, or WhatsApp, reducing confusion at checkout.
Original PR description
### Before <img width="859" alt="Screenshot 2024-08-21 at 10 24 50 AM" src="https://github.com/user-attachments/assets/3441b646-f032-4075-8583-b5b1c500cd9d"> ### After <img width="859" alt="Screenshot 2024-08-21 at 9 50 29 AM" src="https://github.com/user-attachments/assets/12025f2c-5f06-4e49-829d-02c5fddc9624">
Appointment, Frontdesk, and Web Studio kanban card layouts were simplified to use newer standard components and styling. This makes the views easier to maintain and helps keep the user interface consistent with current Odoo behavior, with minimal direct impact on daily workflows.
Original PR description
\* = [frontdesk, test_web_studio, web_studio] In this commit we have simplified the kanban arch for the above-mentioned modules. The goal is to simplify them, make them easier to read and use bootstrap utility classnames. - Previously, we used kanban-box, but now we are using kanban-card instead. - Deprecated oe_kanban_global_click and oe_kanban_global_click_edit. - More use of <field/> tags - Removed the oe_kanban_colorpicker class and replaced it with the kanban_color_picker widget. - Changed type='edit' to type='open' to open records. since version 16, records always open in edit mode by default. - kanban_image from rendering context, is deprecated so we use <field name=... widget=image/> instead - kanban_color, kanban_getcolor and kanban_getcolorname are deprecated use new attribute highlight_color=color_field_name on root node Enterprise: https://github.com/odoo/odoo/pull/180843 Task-3992107
The Belgian payroll notice period wizard now includes more departure reasons and calculates notice period start and end dates more accurately. The interface has also been improved to make employee departure processing easier and reduce input mistakes.
Original PR description
This adds some departure reasons to the notice period wizard. It also fixes the starting and ending dates of the period. Finally, this improves the UI to make it easier to use and less prone to errors. Task: 3633959
The Helpdesk dashboard card layout has been simplified to use newer interface components and standard styling. This makes the screen easier to maintain and helps keep the Helpdesk experience consistent with current Odoo design practices.
Original PR description
In this commit we have simplified the kanban arch for the helpdesk module dashboard. the goal is to simplify them, make them easier to read and use bootstrap utility classnames. - Previously, we used kanban-box, but now we are using kanban-card instead. - Deprecated oe_kanban_global_click and oe_kanban_global_click_edit. - More use of `<field/>` tags - Removed the oe_kanban_colorpicker class and replaced it with the kanban_color_picker widget. - Changed type='edit' to type='open' to open records. since version 16, records always open in edit mode by default. - kanban_image from rendering context, is deprecated so we use `<field name=... widget=image/>` instead - kanban_color, kanban_getcolor and kanban_getcolorname are deprecated use new attribute highlight_color=color_field_name on root node Task-3992107