-
Notifications
You must be signed in to change notification settings - Fork 118
[LINT] website_sale(_*): apply rd-sales linting #4955
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Draft
livaios
wants to merge
127
commits into
master-ruff-anv
Choose a base branch
from
master-ruff-website_sale-liew
base: master-ruff-anv
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Draft
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Issue: - An error was shown when opening the Employee list view. - A custom list view behavior was removed earlier, but its reference was still present in the Employee list view, causing the Employee list to fail to load. Fix: - Removed the outdated reference from the Employee list view and restored the default list behavior so the view loads correctly. task-5484692 closes odoo#243269 Signed-off-by: Bertrand Dossogne (bedo) <bedo@odoo.com>
Before this commit, some elements were not aligned and the image was too big, now it looks more balanced. task-5223875 closes odoo#234693 Signed-off-by: Claire Nguyen (clan) <clan@odoo.com>
Steps to reproduce: ==================== - Go to the website in chrome - Create a Image Wall (gallery) - Add a lot of images. See attachments for a .zip file in task to test it. - Try to change the display mode or number of column -> An error will appear when the cursor get on the dropdown options. Cause: ====== In Google Chrome, calling img.decode() on a large set of images simultaneously (e.g., in an image wall) can result in `EncodingError: The source image cannot be decoded for some images`. This is a known Chromium issue (See [1]) where the browser's image decoder gets overwhelmed or hits a concurrency limit, causing it to reject valid images. The current implementation uses Promise.all(imgLoaded), which utilizes a "fail-fast" mechanism. Consequently, if a single image fails to decode due to this browser limitation, the entire promise rejects immediately. This unhandled rejection interrupts the execution flow, preventing the display mode or column options from functioning correctly when the user interacts with them. Solution: ======== Replace Promise.all(imgLoaded) with Promise.allSettled(imgLoaded). Unlike Promise.all, Promise.allSettled waits for all promises to finish regardless of whether they succeeded or failed. [1]: https://issues.chromium.org/issues/40261318 opw-5249130 closes odoo#243133 X-original-commit: 4758cf8 Signed-off-by: Francois Georis (fge) <fge@odoo.com> Signed-off-by: Saif Allah Ben Khalil (sben) <sben@odoo.com>
Before this commit, changing the animation speed would reset the colors applied to the image shape. This was due to the code always considering the shape as new because the current shape id wasn't retrieved. Therefore, the colors would be reset to the default ones. Steps to reproduce the issue: - Drop a snippet with an image - Click on the image - Add an image shape. It should be animated. - Change the image shape color - Change the image shape animation speed => The image shape color was reset. task-5375497 X-original-commit: 8fc84e4 Part-of: odoo#243091 Signed-off-by: Romaric Moyeuvre (romo) <romo@odoo.com> Signed-off-by: Francois Georis (fge) <fge@odoo.com>
X-original-commit: f440027 Part-of: odoo#243091 Signed-off-by: Romaric Moyeuvre (romo) <romo@odoo.com> Signed-off-by: Francois Georis (fge) <fge@odoo.com>
closes odoo#243091 X-original-commit: 3f81e56 Signed-off-by: Romaric Moyeuvre (romo) <romo@odoo.com> Signed-off-by: Francois Georis (fge) <fge@odoo.com>
Steps to reproduce: Open Discuss > Configuration > Settings. Before this commit: Non-admin users encounter an access error when clicking 'Settings'. After this commit: The 'Settings' menu item is now hidden for users who are not part of the 'Role / Administrator' group. closes odoo#243352 X-original-commit: 2fa6759 Signed-off-by: Sébastien Theys (seb) <seb@odoo.com>
The `simulateArrowKeyPress` method used in hoot tests performs both an actual `press` and modifies the selection. However, in some cases, the `press` already updates the selection because of our own listeners, which leads to a selection similar to performing the action twice. This commit avoids this by making sure the default `press` did not get prevented by our own custom listeners before modifying the selection. task-5438683 closes odoo#243327 X-original-commit: df01277 Signed-off-by: David Monjoie (dmo) <dmo@odoo.com> Signed-off-by: Benoit Socias (bso) <bso@odoo.com>
Steps to reproduce ------------------ 1. In PoS settings, set the "Tax Display" to "Tax-Excluded Price" 2. Enable customer display 3. Open a PoS session, and open the customer display simultaneously 4. Add products, notice that the total in PoS is price included as expected. However, the total in cusromer display is tax excluded, so customer thinks he will be pay less. Why it happens -------------- In the refactors done in 9538698, we mistakenly set the order.amount (i.e. total amount) to follow the config "Tax Display". However, that price should always be tax incl. In this PR, we now use the `currencyDisplayPriceIncl` getter, instead of the config dependent `currencyDisplayPrice`. Additional enhancements ----------------------- In case of "Tax-Excluded" price config, we now display the order subtotal (total price excluded) and the taxes amount as well, for more detailed breakdown of the prices. It follows the cart view in the main PoS products display. opw-5401560 closes odoo#243369 X-original-commit: 41e7026 Signed-off-by: David Monnom (moda) <moda@odoo.com> Signed-off-by: Hadi El Yakhni (hael) <hael@odoo.com>
This reverts commit 9eb8ac4.
Purpose: - Drag and drop handlers don’t function on mobile devices. Therefore, they have been removed for mobile devices. task-5155786 Part-of: odoo#235426 Signed-off-by: David Monjoie (dmo) <dmo@odoo.com>
Purpose: - On mobile devices, tab buttons used for color tabs and gradient types can exceed the available viewport width, causing layout overflow. - Replace these tab buttons with a dropdown on mobile to prevent overflow and improve usability. task-5155786 closes odoo#235426 Signed-off-by: David Monjoie (dmo) <dmo@odoo.com>
closes odoo#242003 Signed-off-by: Didier Debondt (did) <did@odoo.com>
In some search views the list of filters can be huge which impairs the
readability.
This commit adds support for inner filters in `<search/>` allowing them
to be collapsed into a parent filter, reducing the number of visible
entries in the search view.
The logic for date filters was partially merged with the one for inner
filters since the syntax is the same.
It can be used inside a search arch as such:
```xml
<search>
<filter string="Priority">
<filter string="Urgent" domain="[('priority', '=', 3)]"
name="urgent_priority"/>
<filter string="High" domain="[('priority', '=', 2)]"
name="high_priority"/>
<filter string="Medium " domain="[('priority', '=', 1)]"
name="medium_priority"/>
<filter string="Low" domain="[('priority', '=', 0)]"
name="low_priority"/>
</filter>
</search>
```
task-5232012
closes odoo#241459
Related: odoo/enterprise#102947
Signed-off-by: Aaron Bohy (aab) <aab@odoo.com>
- renamed 'discussions' to 'messages' to align with the 'send message' button. - updated 'note' to 'notes' for consistency with other plural labels. - reordered 'notes' and 'activities' to match the button order in the chatter. upgrade: odoo/upgrade#7759 task-3081163 closes odoo#204940 Signed-off-by: Sébastien Theys (seb) <seb@odoo.com>
When dropping or moving any snippet, we scroll to this snippet. There was an offset of 50px above it to show the previous snippet, to avoid having the dropzone above it over the header or outside the screen. To show that a snippet takes 100% of the screen height, it was decided to remove this offset on drop only. task-5387623 closes odoo#238684 Signed-off-by: Benjamin Vray (bvr) <bvr@odoo.com>
Move import in the file where it's actually used. closes odoo#243510 Signed-off-by: Sébastien Theys (seb) <seb@odoo.com>
This commit expands the useBackButton hook to manage mobile "back" gesture and "back" navigation button. This allows modal-like components to be closed via "back" gesture, replacing the unwanted behavior of navigating back. fixes task-5041807 fixes task-4563827 closes odoo#229643 Related: odoo/enterprise#102809 Signed-off-by: Adrien Dieudonné (adr) <adr@odoo.com>
…gory * = im_livechat Before this commit, the discuss sidebar only showed the visitor’s name, making it difficult to know the context of a conversation without opening it. This commit displays the livechat conversation description in the sidebar so agents can quickly understand the context of a conversation. Task-5404924 X-original-commit: 7cdaa94 Part-of: odoo#243351 Signed-off-by: Alexandre Kühn (aku) <aku@odoo.com>
Rename discuss_sidebar_channel_actions_patch to discuss_sidebar_channel_patch, as the previous name was misleading. task-5404924 closes odoo#243351 X-original-commit: 732ec0a Signed-off-by: Alexandre Kühn (aku) <aku@odoo.com>
1. Improve the creation form of discuss categories. 2. Add channel in search view for discuss categories. 3. Update discuss category settings view and the text description. task-5486664 closes odoo#243423 X-original-commit: 741c367 Signed-off-by: Sébastien Theys (seb) <seb@odoo.com> Signed-off-by: Zelong Lin (zel) <zel@odoo.com>
…bo popup Before this commit: ================= Product cards with long names caused a slight vertical misalignment in the combo configurator popup, resulting in inconsistent card sizes within the grid. After this commit: ================== Ensure all product cards remain uniformly aligned and maintain consistent dimensions in the combo configurator popup, even when product names are long. Task:5447320 closes odoo#243322 X-original-commit: 2d38730 Signed-off-by: David Monnom (moda) <moda@odoo.com> Signed-off-by: Jitendra Kumar Prajapat (jipr) <jipr@odoo.com>
When verifying whether nodes are similar, their padding and margin are tested. Only the nodes with no padding nor margin are considered as similar. Because of this, nodes such a `code.o_inline_code` are considered as not similar to each other, and do not get merged together when they are adjacent. This commit solves this by also verifying whether the padding and the margin of both nodes are identical when nodes are `code.o_inline_code`. Steps to reproduce: - Insert a `<code>` inline block with some text inside - Put the cursor in the middle - Press Enter to split it onto two paragraphs - Press Backspace to put them back together => The line contained two adjacent code blocks task-5375140 X-original-commit: 98f0e8f Part-of: odoo#243424 Signed-off-by: David Monjoie (dmo) <dmo@odoo.com> Signed-off-by: Benoit Socias (bso) <bso@odoo.com>
When removing the last character inside a `code.o_inline_code` block, an empty code block remains in the DOM. This commit removes empty inline code blocks on normalize. Steps to reproduce: - Create a list - Type some inline code - Put the cursor in the middle - Press Enter - Type some text after the inline code on the second line - Try to remove the inline code from the second line using backspace => The line is removed before the code style disappears task-5375140 closes odoo#243424 X-original-commit: 352a29f Part-of: odoo#240805 Signed-off-by: David Monjoie (dmo) <dmo@odoo.com> Signed-off-by: Benoit Socias (bso) <bso@odoo.com>
…ployee Currently, an error occurs when a user creates an attendance for an employee. Steps to Reproduce: - Install the hr_attendance module. - Go to Overtime Rulesets and create a new overtime ruleset by adding an overtime rule. Set Based on to Timing. Set the Start time greater than the Stop time (ex, Start = 10 and Stop = 5). - Go to Employees, open any employee record, and assign this Overtime Ruleset to the employee. - Now go to Attendances and create an attendance for that employee. TypeError: '>' not supported between instances of 'datetime.datetime' and 'int' This error occurs when a user sets the overtime rule on an employee and then creates an attendance. At that point, the system tries to calculate the overtime intervals based on the timing rule. Because the rule’s start time is greater than the stop time, it attempts to calculate the interval for the remaining working period of the day. However, the start date and end date are calculated in datetime format [1], while integer and float values are passed as arguments [2] for day in interval calulation. Since the interval expects values of the same data type, than it raise the error [3]. This commit ensures that the day start and day end values are passed in datetime format. [1]: https://github.com/odoo/odoo/blob/67191cf0915081df352331a698be47b7e3ecd505/addons/hr_attendance/models/hr_attendance_overtime_rule.py#L524 [2]: https://github.com/odoo/odoo/blob/67191cf0915081df352331a698be47b7e3ecd505/addons/hr_attendance/models/hr_attendance_overtime_rule.py#L530 [3]: https://github.com/odoo/odoo/blob/67191cf0915081df352331a698be47b7e3ecd505/odoo/tools/intervals.py#L138-L154 sentry-7166788786 closes odoo#243266 X-original-commit: a7c39a6 Signed-off-by: Mélanie Peyrat (mepe) <mepe@odoo.com> Signed-off-by: Ashutosh Sharma (assh) <assh@odoo.com>
Previously, the invoice label was always displayed as “Tax Invoice” or “Invoice” However, as per Section 31 of the CGST Act, the document label must depend on the nature of supplies and the customer type: - If the document contains only taxable supplies => “Tax Invoice” - If the document contains only exempt supplies => “Bill of Supply” - If the customer is unregistered and the document contains both taxable and exempt supplies => “Invoice-cum-Bill of Supply” - If the customer is registered and the document contains both taxable and exempt supplies, separate documents must be issued as per the law. With this commit, the invoice label is generated strictly in accordance with Section 31 of the CGST Act. In the case of a registered customer where both taxable and exempt supplies exist in a single document, the label will be printed as “Invoice”. task-5468323 closes odoo#243436 X-original-commit: 52b2434 Signed-off-by: Josse Colpaert (jco) <jco@odoo.com> Signed-off-by: Jay Savaliya (jasa) <jasa@odoo.com>
**Steps to reproduce:** * Install the **stock** and **sale_management** modules. * Go to *Inventory > Configuration > Attributes* and create a new attribute. * Set *Variant Creation Mode* to *Never*. * Add a single attribute value and enable *Free text* on it. * Create a product using this attribute and select the value for which *free text* is enabled. * Create a Sale Order for this product. * Open the sale order line pop-up and enter custom text in the *Text* field. * Confirm the sale order. * Open the generated Delivery Order. *Observed behavior:* The product name appears twice in the stock move description. The same duplication appears in the Delivery Slip PDF report. *Cause:* In `_compute_description_picking`, the description is built as description + variant description. Since Odoo already uses the product name as the base description and avoids rendering it twice only when the name equals the description, concatenating the variant description breaks this logic and results in the product name being repeated. opw-5382353 closes odoo#243414 X-original-commit: 105fec2 Signed-off-by: Lancelot Semal (lase) <lase@odoo.com> Signed-off-by: Pawan Kumar Gupta (pkgu) <pkgu@odoo.com>
When the call control overlay is floating, it overlaps the fullscreen button, making it difficult to enter fullscreen mode. This commit ensures the fullscreen action remains accessible by adjusting the layout layering so controls no longer overlap each other. Task-5240896 closes odoo#243446 X-original-commit: 241e747 Signed-off-by: Alexandre Kühn (aku) <aku@odoo.com> Signed-off-by: Nitant Makwana (nmak) <nmak@odoo.com>
Before this commit: - All website product categories were always displayed under the main /shop page. - There was no way to exclude a category from the shop hierarchy. - This prevented creating standalone product category pages or curated product selections that should not appear in the main shop view. After this commit: - Added a boolean field to hide specific categories from the /shop structure. - Hidden categories remain fully functional and can be accessed directly through their URLs and 'Go to website' stat button in their form view. - Redesigned the eCommerce Category form view. task-5129498 closes odoo#231049 Signed-off-by: Shrey Mehta (shrm) <shrm@odoo.com>
* = sa, eg, pk, ae This commit adds the remaining descriptions and their translations to the expense accounts in the Chart of Accounts for Saudi Arabia, Pakistan, Egypt, and the United Arab Emirates. task - 5039719 closes odoo#238616 Signed-off-by: Florian Gilbert (flg) <flg@odoo.com>
Added a boolean field `Purchase Alternative` in Purchase settings, allowing users to easily discover and install the feature without relying on purchase agreements. taskId :- 4737059 Part-of: odoo#218612 Related: odoo/upgrade#8052 Signed-off-by: Arnold Moyaux (arm) <arm@odoo.com>
…ty files *: purchase_requisition With This Commit: ================================= We have separated the code that depends on the alternative logic (data, __init__.py, manifest, and security files) from the purchase_requisition module and moved it into the purchase_alternative module. This improves the file structure and provides a cleaner, modular organisation. ensuring better independence and separation of concerns between the purchase_alternative and purchase_requisition features. task - 4737059 Part-of: odoo#218612 Related: odoo/upgrade#8052 Signed-off-by: Arnold Moyaux (arm) <arm@odoo.com>
*: purchase_requisition With This Commit: ================================= We have separated the code that depends on the alternative logic of a wizard from the purchase_requisition module and moved it into the purchase_alternative module. task - 4737059 Part-of: odoo#218612 Related: odoo/upgrade#8052 Signed-off-by: Arnold Moyaux (arm) <arm@odoo.com>
*: purchase_requisition With This Commit: ================================= We have separated the code that depends on the alternative logic of a views files from the purchase_requisition module and moved it into the purchase_alternative module. task - 4737059 Part-of: odoo#218612 Related: odoo/upgrade#8052 Signed-off-by: Arnold Moyaux (arm) <arm@odoo.com>
*: purchase_requisition With This Commit: ================================= We have separated the code that depends on the alternative logic of a tests files from the purchase_requisition module and moved it into the purchase_alternative module. taskId :- 4737059 Part-of: odoo#218612 Related: odoo/upgrade#8052 Signed-off-by: Arnold Moyaux (arm) <arm@odoo.com>
*: purchase_requisition With This Commit: ================================= We have separated the code that depends on the alternative logic of static files from the purchase_requisition module and moved them into the purchase_alternative module. taskId :- 4737059 Part-of: odoo#218612 Related: odoo/upgrade#8052 Signed-off-by: Arnold Moyaux (arm) <arm@odoo.com>
*: purchase_requisition With This Commit: ================================= We have separated the code that depends on the alternative logic of models files from the purchase_requisition module and moved them into the purchase alternative module. taskId :- 4737059 Part-of: odoo#218612 Related: odoo/upgrade#8052 Signed-off-by: Arnold Moyaux (arm) <arm@odoo.com>
With This Commit: ================================= We have added a new module, `purchase_alternative_sale` and removed the `purchase_requisition_sale` module, as all related functionality now depends on the `purchase_alternative` module instead of `purchase_requisition`. taskId :- 4737059 Part-of: odoo#218612 Related: odoo/upgrade#8052 Signed-off-by: Arnold Moyaux (arm) <arm@odoo.com>
*purchase_requisition_stock With This Commit: ================================= We have separated the purchase alternative–related functionality from the purchase_requisition_stock module and reorganised it under a newly created module, purchase_alternative_stock. This new module depends on both purchase_alternative and purchase_stock, ensuring proper modular structure and clearer separation of responsibilities. taskId :- 4737059 Part-of: odoo#218612 Related: odoo/upgrade#8052 Signed-off-by: Arnold Moyaux (arm) <arm@odoo.com>
…sition *: purchase_requisition closes odoo#218612 Related: odoo/upgrade#8052 Signed-off-by: Arnold Moyaux (arm) <arm@odoo.com>
no-task closes odoo#243821 X-original-commit: a861eb0 Signed-off-by: Laurent Smet (las) <las@odoo.com>
*: website_event, website_sale Steps to reproduce (19.0+): 1. Add a "Blog" mono-record snippet to a website page. 2. Select the snippet → the "Model" and "Template" options are visible. The code from [1], which introduced mono-record dynamic snippets, restricted the visibility of these options as follows: - The "Model" option should only be visible for generic mono-record snippets (in `Debug` mode). - The "Template" option should be available for generic snippets, except for "Products" snippet (which is using another "Cards Design" option to customize the layout). Starting from [2], these conditions are no longer applied, as the change simply removed the `props.modelNameFilter` used in the XML to enforce them. [1]: odoo@e3b062e [2]: odoo@36f7417 related-task-4280375 closes odoo#241940 X-original-commit: 74f6b93 Related: odoo/enterprise#104010 Signed-off-by: Colin Louis (loco) <loco@odoo.com> Signed-off-by: Outagant Mehdi (mou) <mou@odoo.com>
*: survey, point_of_sale, pos_restaurant Before this commit, some onboarding suggestions were not fully aligned with Odoo’s UI standards. This commit readjusts the layout, colors, icons to ensure better visual consistency with others onboarding suggestions samples. task-5089102 closes odoo#233666 Related: odoo/enterprise#98400 Signed-off-by: Thibault Delavallee (tde) <tde@openerp.com>
The uninstallation process tries to delete all the records created by the modules being uninstalled. It uses a best-effort strategy, i.e., it skips the records that cannot be deleted, whatever the reason. But some records are very likely to cause problems, namely 'ir.model' and 'ir.model.fields' records, because skipping them implies not cleaning up their corresponding table's schema. For instance, if a column is not dropped, reinstalling the corresponding module will possibly cause inconsistencies, because - the column contains old values for existing records, which won't be recomputed (if the field is computed); - the column contains NULLs for records created between the uninstallation and the reinstallation of the module. We therefore add a warning in those cases, in order to detect and fix those potential issues as soon as possible. Part-of: odoo#243275 Related: odoo/enterprise#103967 Signed-off-by: Krzysztof Magusiak (krma) <krma@odoo.com>
A method decorated with @api.ondelete(at_uninstall=False) should be called except when the method's module is being uninstalled. Currently the method is skipped when *any* module is uninstalled. The fix consists in adding the set of modules being uninstalled in the attribute registry.uninstalling_modules, which may be used to detect uninstallation and determine which modules are being uninstalled. Part-of: odoo#243275 Related: odoo/enterprise#103967 Signed-off-by: Krzysztof Magusiak (krma) <krma@odoo.com>
The constant MODULE_UNINSTALL_FLAG is currently abused in many places as
a "bypass" flag, and is not necessarily tied to module uninstallation.
Moreover, it is a simple string and isn't safe, anyway. And we now have
a reliable flag on registry to deal with module uninstallation.
We therefore turn that flag into an explicit conventional flag, and
rename it for the sake of simplicity. The caller simply uses
records.with_context(force_delete=True).unlink()
to bypass some deletion hooks, which typically prevent deletion by
raising some exception, in order to avoid data inconsistencies. On the
callee's side, there's nothing automatic: one has to explicitly detect
the flag and skip the checks, like in:
@api.ondelete(at_uninstall=False)
def _prevent_deleting_confirmed(self):
if self.env.context.get('force_delete'):
return
if any(record.state == 'confirm' for record in self):
raise UserError(_("You cannot delete confirmed records!"))
Note that the uninstallation uses the convention by automatically adding
force_delete=True in the context for deleting records.
Part-of: odoo#243275
Related: odoo/enterprise#103967
Signed-off-by: Krzysztof Magusiak (krma) <krma@odoo.com>
Two overrides of unlink() on models 'ir.model' and 'ir.model.fields'
fail when uninstalling module 'mail', because their code relies on some
columns and those columns have been dropped already. This causes some
table and column to remain after uninstallation. When reinstalling
module mail, errors like follows are logged:
column "mail_message_id" of relation "mail_tracking_value" contains null values
The fix consists in turning the overrides in proper ondelete methods,
which are skipped when module 'mail' is uninstalled.
closes odoo#243275
Related: odoo/enterprise#103967
Signed-off-by: Krzysztof Magusiak (krma) <krma@odoo.com>
Problem: When an alternate ir.action.report handler is used (such as for IoT), the logic to close the wizard after the report is downloaded (printed) is skipped, so the wizard stays open. Steps to Reproduce: - Go to "Acoustic Bloc Screens" product and click "Print Labels" - Select "ZPL labels" and confirm - The report downloads and the wizard closes as expected - Go to Settings > Technical > Reports and select "Product Label (ZPL)" - Set an IoT device on the report - "Print Labels" again, selecting a printer and the IoT toasts in the top right appear after the wizard closes - Refresh the page, and try printing again - The wizard stays open (wrong) and the IoT toasts appear Solution: When returning from the custom handler, check if close_on_report_download and close the wizard. opw-5153139 closes odoo#243848 X-original-commit: 1a3405e Signed-off-by: Aaron Bohy (aab) <aab@odoo.com> Signed-off-by: Dirk Douglas (dido) <dido@odoo.com>
This commit fixes an oversight introduces in Commit[1]. With Commit 1, we improved the navigation by showing the back button everywhere on the forum but this created an issue due to a rule in `website_slides_forum` rendering the whole breadcrumb if the forum is a course one. To prevent this double navigation issue, we scope [1]: odoo@bb5b7cf task-5490243 closes odoo#243882 X-original-commit: 76a2b6e Signed-off-by: Florian Charlier (flch) <flch@odoo.com> Signed-off-by: Chrysanthe Gomrée (chgo) <chgo@odoo.com>
**Steps to reproduce:**
* Install the **l10n_sa_edi** and **accounting** modules.
* Create a **15% tax** (tax-included).
* Create a customer invoice with two lines with amounts 18 and 14 and apply
the tax on an invoice line.
* Post the invoice and **send it to ZATCA**.
* Review the generated XML or submit it for ZATCA validation.
**Observed behavior:**
* The XML nodes **LineExtensionAmount**, **TaxAmount**, and
**RoundingAmount** contain inconsistent values.
* ZATCA validation raises warnings due to rounding mismatches.
* Example:
* in xml data look like this
* `15.66(LineExtensionAmount) + 2.34(TaxAmount) != 17.99(RoundingAmount)`(v19)
* The required relation
**LineExtensionAmount + TaxAmount ≠ RoundingAmount**
is violated.
**Cause:**
* In v19.0, `_round_base_lines_tax_details()` distributes rounding deltas so
that the **sum of rounded line taxes** matches the **rounded global tax**.
* When taxes are **included in price** and there are **multiple invoice lines**,
this distribution adjusts the per-line tax and base amounts.
Example pattern:
* Raw line taxes sum to something like **4.1739…**
* Rounded global tax = **4.17**
* Sum of individually-rounded line taxes = **4.18**
* A **-0.01 delta** is distributed across the lines
* Result:
* Line 1 base becomes **15.66**, tax **2.34**
* Line 2 base becomes **12.17**, tax **1.83**
So the XML correctly reports:
* **LineExtensionAmount = 15.66**
* **TaxAmount = 2.34**
* However, **RoundingAmount** is computed differently:
```
total_tax_amount = sum(values['tax_amount_currency'] ...)
total_amount = base_line['tax_details']['total_excluded_currency'] + total_tax_amount
```
Here, `base_line['tax_details']['total_excluded_currency']`
**does not include the distributed delta**.
It still reflects the *pre-distribution* base (e.g. **17.99 total excluded**),
while **LineExtensionAmount** uses `vals['total_excluded_currency']`,
which *does* include the delta.
* Result: the required identity
```
LineExtensionAmount + TaxAmount = RoundingAmount
```
is broken — producing inconsistencies such as:
```
15.66 + 2.34 ≠ 17.99
```
**Fix:**
* Use the same **vals[total_excluded_currency]** as it has a tax
excluded price with the delta included.
opw-5402750
closes odoo#243925
X-original-commit: a0e5147
Signed-off-by: de Wouters de Bouchout Jean-Benoît (jbw) <jbw@odoo.com>
Signed-off-by: Raj Bhuva (bhra) <bhra@odoo.com>
before this commit: - By default, clicking on a customer only searched local records. - Since the local cache is limited to 100 customers, with demo data it was possible that the required customer was not found. after this commit: - Added 'pressEnter' boolean parameter to search more to also fetch customers from the server. - The boolean parameter was introduced because some test cases require offline mode where fetching from the server would cause issues. runbot-232714, 232715 closes odoo#241861 X-original-commit: 1a7ac76 Signed-off-by: Stéphane Vanmeerhaeghe (stva) <stva@odoo.com> Signed-off-by: Dhruv Jitendrakumar Patel (djip) <djip@odoo.com>
Before this commit: - Pressing `Backspace` inside an empty banner or code block did nothing. After this commit: - Pressing `Backspace` in an empty banner or code block will transform them into a base container. task- 5384545 closes odoo#243536 X-original-commit: 5621ec4 Signed-off-by: David Monjoie (dmo) <dmo@odoo.com> Signed-off-by: Adnan Chaudhary (adch) <adch@odoo.com>
This commit fixes an undeterministic issue with the theme selector iframe's loading. It could take a bit longer for it to be properly displayed. When [1] was merged it introduced some non-determinism as we now needed to load an iframe that could contain shadow roots. This iframe needs to load some more assets, which leads to loading wait times. This change wasn't taken into account for the fixed test in this commit. Now we properly await for the iframe to be loaded before querying elements inside it. [1]: odoo@0f7ee17 runbot-234965 closes odoo#243917 X-original-commit: 7b2a664 Signed-off-by: Damien Abeloos (abd) <abd@odoo.com>
Nilvera synchronization stores the last fetched date in a system parameter to allow incremental fetching on subsequent scheduler runs. Previously, this parameter was keyed only by the invoice channel, causing sale and purchase synchronizations to overwrite each other. As a result, syncing sales could prevent purchase documents from being fetched (and vice versa), since both flows shared the same last fetched date. This commit includes the journal type (sale or purchase) in the config parameter key, ensuring independent sync state tracking per flow. taskid-5494295 closes odoo#243927 X-original-commit: e1faba5 Signed-off-by: Ali Alfie (alal) <alal@odoo.com> Signed-off-by: Adnan Sabbir (adns) <adns@odoo.com>
This commit updates the Guatemala localization to include missing accounts and configures the Asset Models for fixed assets management. Changes: -Updated `account.account` to include new accounts for fixed assets and expenses. -Added `account.asset` data to handle automated depreciation for various asset types. task-5149265 closes odoo#243580 X-original-commit: 36b5059 Signed-off-by: Antoine Dupuis (andu) <andu@odoo.com> Signed-off-by: Deep Matholiya (matd) <matd@odoo.com>
|
This PR targets the un-managed branch odoo-dev/odoo:master-ruff-anv, it needs to be retargeted before it can be merged. |
5032f03 to
9aa626e
Compare
9aa626e to
e719b19
Compare
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
No description provided.