Wednesday, April 24, 2024
10 changes
6 changes
Enhancements to existing features
Report popovers now appear to the side instead of covering report content, making information easier to read while working in accounting reports. Text wrapping was also adjusted so words stay intact and popover content is clearer, including carryover details.
Original PR description
The text words were wrap when end of line, they shouldn't. The popover appear in front of the rapport and hide the content, I moved the popover on the right and change the way the words are wrapped. Same for the carryover popover. task id : 3792849
Field service reporting views were reorganized so sales-related time fields can be shown or hidden more cleanly when timesheet sales features are installed. This helps keep reports focused and avoids showing fields that may not be relevant in certain setups.
Original PR description
This PR refactors the reporting views for fsm tasks to allow hiding the remaining_hours_so field in the fsm reporting views when we install sale_timesheet. Task-3573609
Planning reports now hide technical fields that are not useful for day-to-day users. This keeps graph and pivot views easier to read and helps teams focus on meaningful planning measures.
Original PR description
Those technical fields do not need to be displayed to the user. task-3857314
This update adds test coverage for the scheduling flow when an employee has no email address. It helps ensure the warning wizard appears correctly, reducing the chance of publishing issues going unnoticed.
Original PR description
In this commit: - Add a js test for the the wizard raised when an employee doesn't have an email task-3661099
Fleet service records created from vendor bills now show the related bill, calculate the bill amount correctly, and protect billed costs from manual changes or deletion. This improves consistency between fleet expenses and accounting records, with clearer bill status shown through the smart button color.
Original PR description
With this commit, the bill's amount is correctly computed. If the service log is generated by a bill, the cost is readonly to be consistent. If the service log is generated by a bill, it can't be deleted. The bill smartbutton's color is related to the bill's state. task-3783017
Less commonly used invoicing, tax, and reporting fields are now shown only in debug mode. This keeps day-to-day configuration screens simpler and easier to read while preserving advanced options for users who need them.
Original PR description
*: account_intrastat, sale_subscription This commit aims at improving readability by moving some less used fields to the debug mode Community PR: https://github.com/odoo/odoo/pull/152869 task-3642419
4 changes
Enhancements to existing features
Odoo has added support for customer statements in the Indian accounting module. This enhancement automatically installs a customer statement feature that allows businesses to export partner ledger information, making it easier to generate and share customer account statements with clients in India.
Original PR description
This enhancement introduces support for customer statements in the Indian localization of the accounting package. The update includes an automatic installation of the customer statement module, which essentially exports the partner ledger. Task link: https://www.odoo.com/web#model=project.task&id=3774149 task-3774149
This update enhances the room booking experience by adding an "End Booking" button that allows users to mark a room as free without deleting the booking record, enabling better tracking. Button labels have been clarified ("Start Now" instead of "Book Now", "Add a Booking" instead of "Schedule Booking") to reduce user confusion, and the interface has been refined with updated icons, button colors, and improved alignment of the remaining time display.
Original PR description
Purpose: -------- Add a button in the front end view that allows users to end the current booking (to make the room appear as free), as the only way to do it for now is to delete the booking, which is not suitable if one would like to track the bookings in the backend view. The "book now" button is reworded to "start now" and the "schedule booking" button to "Add a booking" because it was observed that users were sometimes confused with these two buttons. The "booked room" icon has been changed to not use the same as in the new "end booking "button. Colors of the buttons have been updated. The remaining time is now centered vertically in all display formats (it was not always the case). Task-3792497
This update adds comprehensive testing for email server configurations by running a real SMTP server during tests. Previously, a bug in TLS certificate authentication went undetected for weeks until a customer reported it. The new test suite validates all possible email server setup scenarios, including secure connections, preventing similar issues from reaching customers in the future.
Original PR description
A previous commit broke the smtp authentication using a TLS certificate and we only figured it out after that a client created a support ticket several weeks later. It turns out that there are actually no test that do validate the various ways outgoing mail servers can be configured. In this work we add a test suite where a local smtp server is started and controlled during the test execution. This makes it possible to test all the possible outgoing mail server configurations, including TLS. We chose [aiosmtpd](https://aiosmtpd.readthedocs.io) which is a pure-python lightweight SMTP server that aims at providing a programming API that is well suited to be used inside unittests. [task-3703209](https://www.odoo.com/web#id=3703209&menu_id=4722&action=333&active_id=4872&model=project.task&view_type=form) [opw-3640374](https://www.odoo.com/web#id=3640374&menu_id=6444&action=5050&model=project.task&view_type=form&cids=1)
This update significantly speeds up the loading time of the POS kiosk and QR code ordering system by reducing redundant database calls. The system was previously fetching product attributes multiple times for each product, but now fetches them once and reuses the data. Testing shows this makes the POS system load 4-5 times faster, reducing load time from 44 seconds to 8 seconds for typical store configurations.
Original PR description
Description of the issue/feature this PR addresses: This commit is a performance fix to improve the speed of opening the pos kiosk or QR code. `_get_attributes` method of pos_self_order's…
Description of the issue/feature this PR addresses: This commit is a performance fix to improve the speed of opening the pos kiosk or QR code. `_get_attributes` method of pos_self_order's product.product extension will call `self.env["pos.session"]._get_attributes_by_ptal_id()` every time it is called. For *N* products, `_get_attributes` is called *N* times. This can lead to slow performance for high enough *N*, because `_get_attributes_by_ptal_id` method is slow, because it makes many `read` calls to product.attribute.value This commit lifts the call to `_get_attributes_by_ptal_id` higher in the call stack, so that it is only called once as opposed to *N* times. It passes its result into `_get_attributes` via context, which will re-call `_get_attributes_by_ptal_id` if it wasn't in context for backwards compatibility reasons. attributes must be deep copied within `_get_attributes`, because `_add_price_info_to_attributes` mutates the values within, which would invalidate future calls. The deep copy gives a fresh instance for each call, and only copies the applicable attributes so it shouldn't be large. In this particular customer's DB they have 1376 product.product records and their pos config's pricelist (id 36) has 1572 rules in it. Overall, based on the benchmarks below, this commit makes loading the pos about 4-5 times faster. Benchmarks: __Before commit__ _Customer DB_ product.product count == 1376 SQL query count ~= 5034 Time to load pos ~= 44 sec _Customer DB with more products_ product.product count == 3792 SQL query count ~= 9359 Time to load pos ~= 96 sec __After commit__ _Customer DB_ product.product count == 1376 SQL query count ~= 2360 Time to load pos ~= 8 sec _Customer DB with more products_ product.product count == 3792 SQL query count ~= 3906 Time to load pos ~= 22 sec Current behavior before PR: Slow loading of pos kiosk/QR code Desired behavior after PR is merged: Faster loading of pos kiosk/QR code opw-3758923 Forward-Port-Of: odoo/odoo#159551