-
Notifications
You must be signed in to change notification settings - Fork 118
[CLN] sale(_*): linting #4956
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
Open
Feyensv
wants to merge
295
commits into
master-ruff-anv
Choose a base branch
from
master-sale-linting-vfe
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.
Open
[CLN] sale(_*): linting #4956
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
Before this commit, if an electronic payment failed (e.g. due to the payment terminal/IoT box not being reachable) and the user subsequently tried to cancel the payment from the POS, they would reach a blocked state. The payment never cancels but it cannot be deleted. This commit adds a 'Force cancel' button, similar to the 'Force done' button already present, to allow the user to get unblocked in this situation. task-5485237 closes odoo#243475 X-original-commit: af5a744 Signed-off-by: Yaroslav Soroko (yaso) <yaso@odoo.com> Signed-off-by: Max Whale (mawh) <mawh@odoo.com>
Before this commit, the hint in the call settings was not taking into account if it was deafen or mute. On top of that the icon in the menu was showing the deafen icon but with the unmute label. When deafened, this was redundant with the undeafen button as well since unmute and undeafen are practically doing the same thing. Now, when deafen is activated, only the undeafen button is shown in the call menu and the hint in the call actions is undeafen not unmute. closes odoo#243252 X-original-commit: 0c7b1ca Signed-off-by: Kevin Gerard (kege) <kege@odoo.com>
This commit upgrades our PDF/A compliance from 3B to 3A, and fixes a few issues previously undetected due to the different PyPDF libraries we're currently supporting that made the previous PDF fails even the 3B validation. Improvement 1: PDFA validators were previously detecting our file as 3B. Hence we update the metadata content `conformance` to `A`. Issue 2: When using `._pypdf` library, we failed the 6.1.2-2 and 6.8-1 rule even though we have implemented them on the previous version. It seems that this is caused by the `if SUBMOD...` check only ensuring it's not equal to `_pypdf2_2` (which makes it trigger for the new `_pypdf`). Hence, we reclarify the comments and fix the IF check. Issue 3: After implementing issue 2, it seems that a traceback occurs everytime we're using `._pypdf` and calling the pdf write method. This is because the added characters on the header can't be decoded with `UTF-8`. Hence we change it to other greater-than-127-bytes characters that can still be decoded with `UTF-8`. (The actual character used here doesn't matter). Improvement 4: To be compliant with the new 3A rules (additional rules not there in 3B when we first implemented them), we add a minimal mark info dictionary and document structure on the PDF catalog object (`_root_object`). task-None closes odoo#243493 X-original-commit: 34c5fcf Signed-off-by: Laurent Smet (las) <las@odoo.com> Signed-off-by: Yosua Nicolaus (yoni) <yoni@odoo.com>
Before this commit: - When multiple lines were selected within a block, any empty text nodes between them would also receive a font wrapper when applying a color. - As a result, it appeared as though an extra line was being inserted when the color was applied. After this commit: - Empty text nodes that are not visible and are not zero-width space or line-break nodes are now filtered out before the font tag is created. - This prevents font wrappers from being created around those nodes. task-5344051 closes odoo#242946 X-original-commit: 8537dbf Signed-off-by: David Monjoie (dmo) <dmo@odoo.com>
Export HrApplicant model so that it can be used in other modules Task-[5461729](https://www.odoo.com/odoo/5778/tasks/5461729) Enterprise PR odoo/enterprise#103402 closes odoo#243514 X-original-commit: d5bd32d Related: odoo/enterprise#104136 Signed-off-by: Louis Wicket (wil) <wil@odoo.com> Signed-off-by: Yuchen Huang (yhu) <yhu@odoo.com>
Both Flutterwave and Worldline may respond with plain text rather than JSON-formatted responses when a Cloudflare outage occurs. This would lead to a traceback in Odoo when trying to extract the error message from the request response. This commit introduces a fallback to the text content of the response when any provider fails to parse the response as a JSON content. opw-5403982 closes odoo#243370 X-original-commit: 3a9519c Signed-off-by: Antoine Vandevenne (anv) <anv@odoo.com>
Before this commit, starring a message in a thread without write access would result in an access error. This happens because since [1] a message is marked as starred by writing on the `starred_partner_ids` field of mail.message instead of the `starred_message_ids` field of res.partner. This results in an access error when the uses does not have write access. This commit fixes the issue by adding a sudo call to the write of `starred_partner_ids`, which is acceptable because a user should always be able to star a message they can read. [1] odoo#219282 task-5481662 closes odoo#243531 X-original-commit: 404b949 Signed-off-by: Giorgio Tocco (gito) <gito@odoo.com>
…ts are applied on child PO Issue: In a child company, adding a product from a Purchase Agreement to a Purchase Order does not apply the associated parent company's purchase taxes Cause: In the onchange, taxes were filtered by company: `taxes_ids = fpos.map_tax(line.product_id.supplier_taxes_id.filtered(lambda tax: tax.company_id == requisition.company_id)).ids` This filter fails for taxes belonging to the parent company, so they were not applied on the child company purchase order Steps to reproduce: - Create a company branch and switch to it - Enable `Purchase Agreements` in Settings - Create a product with a Purchase Tax (ex. 15%) - Create a Purchase Agreement for any vendor with this product - Create a RFQ for the vendor and add the agreement - Observe that the tax is not applied opw-5121243 closes odoo#243539 X-original-commit: 71e918c Signed-off-by: Lancelot Semal (lase) <lase@odoo.com> Signed-off-by: Corentin Heinix (cohe) <cohe@odoo.com>
Before this commit: ------------------------- - In the product form view, when creating new packaging, a pop-up form opens to Create a new Unit of Measure (UoM), and if the user tries to assign a barcode Within that form, a second pop-up opens instead of assigning the barcode directly. - In the second pop-up, if the user creates the same UoM again, it causes data duplication; the same UoM gets created in 'Units and Packagings' with a default quantity of 1 without reference unit. This incorrect behavior leads to confusion when selecting the UoM later. Steps to reproduce: ------------------------- 1. Install the 'sale_stock' module. 2. Enable Units of Measure & Packagings in stock. 3. Create or open any product. 4. Go to the Sales tab. 5. Create new packaging (e.g., Pack of 5), set the quantity and reference unit, and try to create a barcode. 6. A second pop-up form opens to again create a new UoM and assign the barcode. 7. It causes data duplication; the same UoM gets created in 'Units and Packagings' with a default quantity of 1 without reference unit. Cause of the issue ------------------------- When assigning a new barcode to a UoM, the field could not fetch the corresponding UoM(In uom.uom) record because it did not yet exist in the database. As a result, the system opened another pop-up to create the same UoM(In product.uom) again and assign a barcode to it. After this commit: ----------------------- - The barcode field is hidden until the UoM is created. - Once the packaging is saved, users can edit it to assign a barcode to the specific UoM of the product. - This improves the flow by preventing duplicate UoM creation and ensuring a clear, single-step process for assigning barcodes to product packaging. Task ID:5023229 closes odoo#243538 X-original-commit: d96d2fa Signed-off-by: William Henrotin (whe) <whe@odoo.com> Signed-off-by: Harshil Patel (hapt) <hapt@odoo.com>
Steps to reproduce: =================== 1- Go to a project task & log any note. 2- Edit & Click the additional "+" and click "Open Full Composer" 3- Click on Save. -> traceback. Cause: ====== When entering edit mode, the composer was created without a thread reference, causing "Cannot read properties of undefined (`this.props.composer.thread is undefined`)" errors in `onClickFullComposer`. Solution: ========= We shouldn't have "open-full-composer" action in editing messages opw-5443985 closes odoo#243512 X-original-commit: fc2d623 Signed-off-by: Alexandre Kühn (aku) <aku@odoo.com> Signed-off-by: Saif Allah Ben Khalil (sben) <sben@odoo.com>
**PROBLEM** Generated OIOUBL files don't pass schematrons validations. **STEP TO REPRODUCE** 1. Install the l10n_dk module. 2. Create a dk partner with an adress, and VAT number (DK12345674 for example, don't forget to add a street number for the DK Company address). 3. Create an invoice for the DK partner, and download the xml. 4. Use this validator https://oioubl.nemhandel.dk/validation (Odoo Peppol IAP validator use oioubl version 3.0 which is not the version we want to test). **CAUSE** We used wrong codelist for schemeID (oiubl3.0 https://oioubl-demo.nemhandel.dk/oioubl/kodelister/ElectronicAddressSchemeCode-3.0.html) instead of the one we should used (oioubl2.1 https://oioubl21.oioubl.dk/Codelists/en/urn_oioubl_scheme_endpointid-1.1.html). opw-5379474 closes odoo#243545 X-original-commit: d9c1370 Signed-off-by: Léo Gizard (legi) <legi@odoo.com> Signed-off-by: Wala Gauthier (gawa) <gawa@odoo.com>
In this pr (odoo#206494), we changed the way downpayment accounts are set. Before, it was set on product categories, now, it's set on res.settings. But with this change, and unexpected behavior occurs. In case the downpayment account is not set in the setting, we try to predict the account to put, but the prediction is wrong, it's predicting based on the partner, but it should be based on the db history. This commit fix that, and brings back the old prediction. task-5473406 closes odoo#243515 X-original-commit: ea7c82d Signed-off-by: John Laterre (jol) <jol@odoo.com>
… portal Steps to reproduce ------------------ The database has two different websites. A payment provider is enabled for just one of them (website1). When a sale order is created on the sales app and the customer accesses it in its portal on the website2, he is able to pay with the payment provider which is only enabled on website1. The problem also occurs when previewing the customer’s portal view. Why it's happening ------------------ When accessing an order via “/my/orders/<int:order\_id>”, the portal_order_page method calls _get_compatible_providers without passing the website_id. The overriding logic in website_payment then defaults to considering all activated payment methods as compatible, regardless of website restrictions. As no website_id is provided, the overriding method from the payment_provider extension in website_payment module considers every activated payment methods as compatible. The Fix ------- We now add the current website's id to the method if none has been added before. opw-5172444 closes odoo#243546 X-original-commit: ca40f78 Signed-off-by: Samuel Wertz (sawer) <sawer@odoo.com>
This commit fixes the issue where applications are not matched with thier count among companies in a multi-company environment. The domain on company was removed from `_get_similar_applicants_domain` also same function is now used in `compute_application_count`. task-5375876 closes odoo#243583 X-original-commit: 6c901f7 Signed-off-by: Yannick Tivisse (yti) <yti@odoo.com>
Since odoo#206619, the fixed test has used a wrong value for `group_public_id`, as if it's not set, the default is `Internal User`. This change sets it to `None` to make the channel public. closes odoo#243581 X-original-commit: d03197d Signed-off-by: Maryam Kia (maki) <maki@odoo.com> Signed-off-by: Sébastien Theys (seb) <seb@odoo.com>
Before this commit: - Changing the working schedule the day before a non-refused leave caused the leave to be refused. - For multi-day leaves, changing the working schedule before the end, split the leave into two records, both kept in the same state. - Changing the working schedule while a cancelled leave existed raised an error. After this commit: - Changing the working schedule the day before a leave now resets the leave to draft and recomputes its duration. - For multi-day leaves, changing the working schedule before the end splits the leave into two leaves: - the first keeps its original state, - the second is set to draft. - Cancelled leaves are excluded from the working schedule change flow. task-5420417 closes odoo#243547 X-original-commit: 4105747 Signed-off-by: Yannick Tivisse (yti) <yti@odoo.com> Signed-off-by: Karim Omrane (kaom) <kaom@odoo.com>
This commit corrects a regression intoduced in [1]: the messaging menu now subtracts the channels needaction counter from the inbox counter, rather than adding it [1] odoo#229751 closes odoo#243593 X-original-commit: 9b41289 Signed-off-by: Giorgio Tocco (gito) <gito@odoo.com> Signed-off-by: Sébastien Theys (seb) <seb@odoo.com>
When a non-admin user (base.group_user) operates in a multi-company environment with only some companies active in their context, the `res_company_rule_employee` record rule blocks access to `company_ids` when trying to read all assigned companies, causing an Access Error while trying to change profile picture or preferred lang closes odoo#243650 X-original-commit: fe15ac7 Signed-off-by: Krzysztof Magusiak (krma) <krma@odoo.com>
When creating an order, if due to some reason the company_id is not set on the order data, we set it to the company of the POS session's config. opw-5470175 closes odoo#243652 X-original-commit: 9cb8e4b Signed-off-by: David Monnom (moda) <moda@odoo.com> Signed-off-by: Pedram Bi Ria (pebr) <pebr@odoo.com>
Fix issue when saving a branch company sharing the same VAT and Codice Fiscale as its parent. The proxy user search fails because `account_edi_proxy_client.user` is looked up in the branch company instead of the parent one. The same applies when searching the demo user to remove. Steps to reproduce: - Create a company with VAT and Codice Fiscale - Create a branch company with the same VAT and Codice Fiscale - Enable IT EDI on the main company - Select only the branch company and try to save parameters - Observe error since we will try to create a proxy user on the IAP server for an already existing company (the parent one). opw-5391668 closes odoo#243661 X-original-commit: 2a10133 Signed-off-by: Paolo Gatti (pgi) <pgi@odoo.com> Signed-off-by: Louis Gobert (loug) <loug@odoo.com>
New package odoo.orm was added in PR odoo#182727 The new package's name must be specified in ``TranslationModuleReader._export_translatable_resources`` to allow the framework to export its code translations. closes odoo#243714 X-original-commit: 90cb6d1 Signed-off-by: Krzysztof Magusiak (krma) <krma@odoo.com> Signed-off-by: Chong Wang (cwg) <cwg@odoo.com>
This commit: - Add three reference fields to invoice PDF for Chorus Pro compliance: Buyer Reference, Contract Reference, and Purchase Order Reference. These fields appear in the invoice header when set on the invoice. task-5410836 closes odoo#243717 X-original-commit: c438a79 Signed-off-by: Florian Gilbert (flg) <flg@odoo.com>
Since the [website builder refactor], when the user is previewing an option, they can still type text an use shortcuts in the editor in the page. When the preview is reverted, the state of the editable is restored to what is was before the start of the preview, thus losing any edits made by the user while the preview was active. This commit fixes that issue by reverting the preview as soon as the user inputs text or starts a shortcut in the editor. This may still lose some edits from the user if a preview has an async "apply" and the edits are made in parallel to it. After sureying the existing options, the ones with async previews are rare usually not hoverable (only accessible in a dropdown, that take away focus when opened): 2 actions in `website_sale` using the action `templatePreviewableWebsiteConfig` in buttons. Steps to reproduce: - Open website bulider - Click in the text of the footer - Move the pointer to hover a previewable option (like shadows) - Type text - Move the pointer to end the preview - Bug: The typed text is removed [website builder refactor]: odoo@9fe45e2 task-5374435 X-original-commit: be03273 Part-of: odoo#243656 Signed-off-by: Francois Georis (fge) <fge@odoo.com> Signed-off-by: Sébastien Blondiau (blse) <blse@odoo.com>
Since the [website builder refactor], all user actions from the builder
that can change the state of the editable revert the preview (if any),
except undo/redo.
Using the shortcuts for undo while a preview is ongoing may lead to
inconsistent state and behavior. Thus with this commit, it reverts any
preview before undo/redo from the builder.
Steps to reproduce:
- Open website bulider
- Click on a column (for example in the footer)
- Change the color in the sidebar
- Move the pointer to hover a previewable option (like shadows)
- Press `ctrl+z` 2 times (to undo the color change)
- Move the pointer to end the preview
- Bug: The color is restored and cannot be undone
(despite the undo button being enabled)
[website builder refactor]: odoo@9fe45e2
task-5374435
closes odoo#243656
X-original-commit: ff7aa99
Signed-off-by: Francois Georis (fge) <fge@odoo.com>
Signed-off-by: Sébastien Blondiau (blse) <blse@odoo.com>
Before this commit, computing a back link (e.g., finding all pricelist items for a specific product template) required iterating over the entire collection of related records for every single record that accessed the property. In a POS with 1,000 products and 10,000 pricelist items, this resulted in $O(N \times M)$ complexity, causing noticeable UI lag during initialization or search. This commit introduces an indexed approach using a reactive effect. The first time a back link is accessed, an inverted index (Map) is built for the entire relation. Subsequent accesses by any record instance become a simple $O(1)$ Map lookup. opw-5448113 closes odoo#243651 X-original-commit: b697f16 Signed-off-by: David Monnom (moda) <moda@odoo.com> Signed-off-by: Pedram Bi Ria (pebr) <pebr@odoo.com>
In some rare cases it would seem that some systems construct emails with attachments reporting '*/*' as the Content-Type. While trying to parse such content in Odoo, it causes issues with the standard CPython email library, as no standard handler exists for '*/*' content-types: Example error: ``` File "/usr/lib/python3.13/email/contentmanager.py", line 25, in get_content raise KeyError(content_type) KeyError: '*/*' ``` This is not compliant with valid MIME types defined in RFC2046/section-3, but in real life scenarios, blocking the processing of an incoming email in Odoo because of this might be excessive. While not a perfect solution, we will assume that attachments falsly reported as '*/*' are to be processed as 'application/octet-stream' content types. This should cover most use-cases, and if it still fails, we will consider that it's up to the original email sender to be RFC compliant. OPW-5425093 closes odoo#243721 X-original-commit: 8f92694 Signed-off-by: Thibault Delavallee (tde) <tde@openerp.com> Signed-off-by: Joel Rodrigues Vitória (jorv) <jorv@odoo.com>
When a link to the portal is sent from the chatter via message or log note, the preview of the link triggers that the page was viewed by customer. As a solution a variable was added to the request headers coming from the previewer. opw-5237785 closes odoo#243694 X-original-commit: 8688f5a Signed-off-by: Lina Eweis (liew) <liew@odoo.com>
Steps to reproduce: - Install industry Hair Salon - Settings > Invoicing > Fiscal Localization - Switch to Jordan fiscal localization Issue: Action will fail with error ``` ERROR: update or delete on table "account_journal" violates foreign key constraint "pos_payment_method_journal_id_fkey" on table "pos_payment_method" DETAIL: Key (id)=(6) is still referenced from table "pos_payment_method". ``` Analysis: It occurs because, when switching CoA, the system attempt to delete and re-create journals. However, the hair salon industry initialize a PoS configuration that will create a default payment method based on one of those journal, thus the system will raise a constraint error on delete. A solution is to manually enforce cascade delete when we are switching CoA. opw-5145235 closes odoo#243707 X-original-commit: 1eb2e8a Signed-off-by: Antoine Dupuis (andu) <andu@odoo.com> Signed-off-by: Andrea Grazioso (agr) <agr@odoo.com>
Currently, the behavior of the "Maximum closing difference" feature with employees depends on the user connected in the backend and not the employee using the pos. Steps to reproduce: ------------------- * Set max closing difference as 0 * Have 1 admin user and 1 pos user * Have 2 employees * Set admin user and employee 1 as advanced employees of the pos * Set pos user and employee 2 as basic employees * Make sure you are logged as the admin in the database * Open pos (could be a session opened by other user) * Log in with Admin user * Try to close the pos with a difference of 10 -> You can, ok * Log in with employee 1 (advanced) * Try to close the pos with a difference of 10 -> You ca but shouldn't * Now log in the database as pos user * Open pos (could be a session opened by other user * Log in with employee 1 (advanced) * Try to close the pos with a difference of 10 -> You cannot, ok * Log in with Admin user * Try to close the pos with a difference of 10 -> you cannot but should Why the fix: ------------ Employees that have no linked user should not ba able to override the max difference. Employees who have a connected user should only be able to override the max difference if their user is admin of the pos. opw-5184041 closes odoo#241857 X-original-commit: b288a86 Signed-off-by: Sarah Bellefroid (sbel) <sbel@odoo.com>
This commit adds a function to the IndexedDB wrapper which allows to retrieve all keys of a given table. This will be useful for our future work on the offline mode, to know what's available in the cache and disable/enable the UI in offline accordingly. Part of task~5424765 Part-of: odoo#242494 Related: odoo/enterprise#103491 Signed-off-by: Aaron Bohy (aab) <aab@odoo.com>
Current behaviour before commit: Steps to reproduce: - Create a m x n table - Write some text in a cell, apply color on text - Delete text and keep empty colored element - Select cell - Trying to remove format throws infinite loop error in removeAllColor Desired behaviour after commit: Clicking on remove format button should remove color from empty colored element without causing traceback. task-5454993 closes odoo#244260 X-original-commit: 3b51297 Signed-off-by: David Monjoie (dmo) <dmo@odoo.com> Signed-off-by: Adnan Saiyed (adsa) <adsa@odoo.com>
Before this commit: - The POS product info popup displayed only the first tax from `tax_details`, which meant multiple applied taxes were not visible. - The logic fetched a single tax name instead of all tax applied to the product. After this commit: - The POS store sends a full list of tax names instead of a single name. - The popup template displays all tax names, comma-separated. task-5406826 closes odoo#244453 X-original-commit: 5b738da Signed-off-by: Stéphane Vanmeerhaeghe (stva) <stva@odoo.com> Signed-off-by: Meet Jivani (meji) <meji@odoo.com>
Before this commit, when right-clicking on a link in a message body, this was showing the list of message actions in dropdown. This is a problem because right-click on link has features like "Open link" / "Copy link" and so on. They were over-shadowed by the right-click on message for showing of message actions. This commit prevent the showing of message actions in dropdown from right-click in links in message body, so that the browser context menu is open instead in that scenario, showing features like "Open link" and "Copy link". closes odoo#244350 X-original-commit: 7c616ae Signed-off-by: Alexandre Kühn (aku) <aku@odoo.com>
**Steps to reproduce:** - Go to the sequence interface, and chose the config #1 for a pos.order - In the prefix field, enter something with characters that are not numbers - Go to a PoS with config #1 active and make a purchase - A traceback appears saying that we can't convert the sequence to an Integer **Why the fix:** Having a custom prefix with letters used to work, but in version 19, we now store the sequence_number with the prefix, which can be composed of characters which can not be stored in an Integer field such as sequence_number. To prevent this error, we remove the prefix and the suffix (which has the same issue) from the sequence_number before storing it. We then add the prefix and the suffix back when computing the order's name, so that it's consistant with the prefix and the suffix the user chose. This is the way the order's name was computed before version 19.0, which saw the prefix and suffix disappear from the order's name. opw-5386575 closes odoo#244366 X-original-commit: 67fc637 Signed-off-by: Adrien Guilliams (adgu) <adgu@odoo.com> Signed-off-by: Arthur Nanson (artn) <artn@odoo.com>
…ores Our webservice client (`zeep`) connections lacked a way to use `certificate.certificate` models to verify the connection with server identification. This is rather complicated, since PyOpenSSL only allows filenames with their default methods. We now add the feature to pass these certificate records, load them into memory buffers, and add them to the CA store. task-5068741 closes odoo#244502 X-original-commit: 06ddce0 Signed-off-by: Antoine Boonen (aboo) <aboo@odoo.com> Signed-off-by: Paolo Gatti (pgi) <pgi@odoo.com>
Installing the Netherlands localisation creates two Domestic fiscal positions, both incorrectly configured. This commit removes the empty duplicate fiscal position and properly defines the NL Domestic fiscal position by setting the Country Group, leaving Country empty, and disabling VAT requirement. task-5489829 closes odoo#244503 X-original-commit: e7f6bfb Signed-off-by: John Laterre (jol) <jol@odoo.com>
…n report Steps to reproduce: 1. Install the Sale app. 2. Enable developer mode and go to Decimal Accuracy. 3. Set the "Product Price" precision to 3 digits. 4. Create a quotation and print the report. Issue: The decimal precision of the unit price is not respected in the report. Cause: The unit price field in the report uses the `monetary` widget, which ignores the Decimal Accuracy configuration and enforces currency precision instead. Solution: Remove the `monetary` widget from the unit price field in the report so that Decimal Accuracy is applied correctly. opw-5418665 closes odoo#244505 X-original-commit: 59c5edb Signed-off-by: Khushi Srivastava (khsr) <khsr@odoo.com>
When importing a large file in multiple batches , Odoo incorrectly displays a "Resume" prompt at the end of the process, even though all records have been successfully imported. Steps to reproduce: 1. Create a CSV file with enough records to trigger at least 2 batches 2. Go to any list view and select "Import records". 3. Upload the file and click "Import". 4. Wait for the import to complete. 5. Observe that despite an "X records successfully imported" notification, a warning "Click 'Resume' to proceed..." appears. The issue occurs because the `importRes.nextrow` state variable is updated during intermediate batches but is not cleared when the final batch completes. * In `_executeImportStep`, if `nextrow` is returned (intermediate batch), `importRes.nextrow` is updated. * If `nextrow` is falsy (final batch), the loop is stopped, but `importRes.nextrow` retains the value from the previous batch. * `executeImport` checks `importRes.nextrow` to decide whether to show the `"Resume"` message, leading to a false positive caused by the stale value. This commit fixes the issue by explicitly setting `importRes.nextrow` to `0` in `_executeImportStep` when the server indicates completion (returns a falsy `nextrow`). opw-5343837 closes odoo#244506 X-original-commit: 6a17293 Signed-off-by: Luca Vitali (luvi) <luvi@odoo.com> Signed-off-by: Séna Serge Nshimiyimana (sesn) <sesn@odoo.com>
Issue:
The forecasted inventory view assumed that line.reservation was always a
`stock.picking`. In manufacturing flows, the reservation can be an
`mrp.production`, which caused incorrect navigation to a `stock.picking`
record.
Fix this by comparing both model and id when checking if the reservation
differs from the outgoing document, and by opening the reservation using
its actual model. This ensures the correct document is shown and avoids
duplicate or invalid links in the "Used by" column.
Steps to reproduce:
- Create a v19 db with sale,mrp,sale_stock with `--demo-true`.
- Go to products -> search for 'FURN_0269' product and open form view.
- open forecasted smart button for forecasted reeport.
- check the used by column for mrp reservation
- i.e,: `WH/MO/00001 - WH/MO/00001` appears twice.
- clicking on first, opens correct record of `mrp.production` where
the units is reserved.
- clicking on the second, navigate to false record of `stock.picking`
by taking the id of `mrp.produciton` as the reserve is having
`_name: "mrp.production"`
For UI reference check the PR description for better understanding.
opw-5481220
upg-3804157
closes odoo#244551
X-original-commit: d5a3f98
Signed-off-by: Quentin Wolfs (quwo) <quwo@odoo.com>
Signed-off-by: Akash Pandey (apan) <apan@odoo.com>
The `test_form_view_embed_thread` ensures that the live chat list view redirects to the discuss app and that the bus subscription for the selected channel is properly made. This ensure that a live chat agent looking at a channel will receive the latest updates for the conversation. To ensure the bus subscription is made, the bus service is patched in order to detect calls to add or remove methods. However, we only wait for `whenReady` which is not enough to guarantee the bus is already exposed via `odoo.__WOWL_DEBUG__`. This PR ensure we wait for the list view to be displayed, which ensures the webclient is mounted and the debug info is already set. runbot-234928 closes odoo#244583 X-original-commit: c49f842 Signed-off-by: Alexandre Kühn (aku) <aku@odoo.com>
…pets Before this commit: The product comparison bottom bar had a z-index of only 3 (or 4 when expanded). This low z-index value caused it to be overlapped by any website snippets using grid mode with more than 3 items, as grid items conventionally have incremental z-index values (1, 2, 3, 4, ...) for JavaScript consistency. The issue was not limited to s_banner_categories but affected all grid-based snippets, making the comparison bar inaccessible when positioned behind snippet content. Solution: Increase the comparison bar's z-index to -modal (1055 in Bootstrap), ensuring it always appears above regular page content including grid snippets, while still remaining below actual modals and dialogs. After this commit: The comparison bar consistently appears on top of all snippet content, ensuring users can always access and interact with product comparisons regardless of the page layout or snippet configuration. opw:5426163 Reverting the commit : odoo@0cda08f closes odoo#244584 X-original-commit: 26eba2c Signed-off-by: Lina Eweis (liew) <liew@odoo.com> Signed-off-by: Khushi Ajaykumar (khaj) <khaj@odoo.com>
Description: Products created from the website frontend were automatically published even without a category assigned, contradicting the "Unpublished." placeholder expectation. The issue had three root causes: 1. JavaScript (new_content.js) forced default_is_published: true 2. XML action context contained website_published: True 3. Both caused products to be published regardless of category Fixed by: - Removed default_is_published from JS product creation handler - Removed website_published from action context After this PR: Now products remain unpublished until a category is assigned, matching the intended UX indicated by the placeholder text. opw-5408903 closes odoo#244556 X-original-commit: a3b681a Related: odoo/enterprise#104806 Signed-off-by: Lina Eweis (liew) <liew@odoo.com> Signed-off-by: Khushi Ajaykumar (khaj) <khaj@odoo.com>
Description of the issue:
- When removing a snippet, the link popover stayed open because its
`pointerdown` handler didn’t trigger, leaving the popover visible even after
its selected content element was removed.
- A previous fix used { capture: true } on the document `pointerdown` listener,
but this also triggered when interacting with the link type `dropdown` and
color picker, closing the popover triggers `applyCallback` and causing nested
links to be created.
After this commit:
- Close the link popover from `on_will_remove_handlers` before the target
element is removed from the DOM.
- This ensures the popover closes when removing the snippet.
task-5359000
closes odoo#244391
X-original-commit: 2e4d38e
Signed-off-by: David Monjoie (dmo) <dmo@odoo.com>
Signed-off-by: Samit Bharatbhai Bhadiyadra (sbbh) <sbbh@odoo.com>
with this commit:- - We are adding support for Ukrainian Tax ID numbers of 8 digits, which was 12 previously. - The following formats are now accepted: - National company numbers: 8 digits (e.g., 12345678) - European company numbers: 8 digits prefixed with 'UA' (e.g., UA12345678) - Individual numbers: 12 or 10 digits (e.g., 123456789012) - This change allows users to enter Ukrainian TINs that were previously incorrectly rejected due to length restrictions. task-5414806 opw-5373469 closes odoo#244617 X-original-commit: 05200c9 Signed-off-by: Josse Colpaert (jco) <jco@odoo.com> Signed-off-by: Deep I Joshi (dijo) <dijo@odoo.com>
Attendance: Officer/Admin without Employee rights (either Officer/Admin) will not be able to access the Attendances Onboarding menu. task-5267189 closes odoo#244465 X-original-commit: f808c8e Signed-off-by: Mélanie Peyrat (mepe) <mepe@odoo.com> Signed-off-by: Dhruvi Jigneshkumar Shah (djsh) <djsh@odoo.com>
…assertion This commit fixes a failing assertion in `test_channel_get_livechat_visitor_info`. The test fails since [*] because the demo data sets the OdooBot time zone to 'Europe/Brussels', while the test was asserting it to be False. This commit explicitly sets the time zone of the OdooBot partner record and updates assertions accordingly. [*] odoo#210094 runbot-237778 closes odoo#244582 X-original-commit: f1e6c64 Signed-off-by: Matthieu Stockbauer (tsm) <tsm@odoo.com> Signed-off-by: Aryankumar Riteshkumar Mehta (mear) <mear@odoo.com>
Before this commit, the "Copy Message Link" test was sometimes failing. It happens for two reasons: - It presses "ctrl+v" with the intent of copying the message link in the composer but doesn't check if the composer is focused (it should not be as the test clicks away to copy the link). - It then presses "enter" with the intent of posting the message, without checking if the composer is filled or even ready to send. This test replaces the "press" steps: - "ctrl+v" is replaced by `insertText`: we already check that the copy works and "press" is less reliable. - We click on the send button when enabled. runbot-237538 closes odoo#244621 X-original-commit: f58f273 Signed-off-by: Matthieu Stockbauer (tsm) <tsm@odoo.com>
When we set the foreign currency rate on invoices, it won't be used when exporting the report. Make sure to use the correct currency rate. task-5404816 closes odoo#244628 X-original-commit: 64b7975 Related: odoo/enterprise#104860 Signed-off-by: John Laterre (jol) <jol@odoo.com>
When the server stops, pool errors can occur. It's due to the server stop function calling `sql_db.py@close_all()`. If this occurs before the dispatcher loop wakes up, the `__exit__` function of the cursor context manager will raise an error, because the connection has already been popped from the pool. As for interface errors in [1], pool errors should be ignored during server shutodwn. runbot-229800 [1]: odoo#99849 closes odoo#244637 X-original-commit: 8e2b18a Signed-off-by: Julien Castiaux (juc) <juc@odoo.com> Signed-off-by: Matthieu Stockbauer (tsm) <tsm@odoo.com>
…n test What is fixed ------------- The test_payment_provider_visibility_with_portal didn't pass due to a multi company issue. In demo data, "Demo" payment provider exists for different companies which led the search method to return every one of them. Trying to assign the shop website id to each of them then raises an error as their company_id are inconsistent. The fix ------------- We now ensure only one provider is selected and its company is the same as the website's company. Runbot error : 237822 closes odoo#244627 X-original-commit: f46abe5 Signed-off-by: Samuel Wertz (sawer) <sawer@odoo.com>
1. Activate Peppol in the main company for both sending and receiving; 2. Create a branch company; 3. Activate Peppol in the branch and select "Send from parent company"; => Error message: "Cannot register a user with a receiver application". opw-5725278 closes odoo#244626 X-original-commit: 9a6a51d Signed-off-by: Claire Bretton (clbr) <clbr@odoo.com>
…t 66 64 stands for "Special agreement" 66 stands for "New outlet discount" opw-5478324 X-original-commit: b839513 Part-of: odoo#243977 Signed-off-by: Claire Bretton (clbr) <clbr@odoo.com> Signed-off-by: Laurent Smet (las) <las@odoo.com>
Bebat is a non-profit organization in Belgium that collects, sorts, and recycles used batteries. Currently, whatever the recycling tax applied, we report is as AEO for "Collection and recycling - The service of collection and recycling products." However, since Bebat is about recycling batteries, we have to use CAV instead for "Battery collection and recycling - The service of collecting and recycling batteries." opw-5474752 X-original-commit: 7619e9e Part-of: odoo#243977 Signed-off-by: Claire Bretton (clbr) <clbr@odoo.com> Signed-off-by: Laurent Smet (las) <las@odoo.com>
closes odoo#243977 X-original-commit: 7efe2dc Signed-off-by: Claire Bretton (clbr) <clbr@odoo.com> Signed-off-by: Laurent Smet (las) <las@odoo.com>
The function `parseBoxShadow` uses a regex to decompose the shadow parameters from a string. The regex was made to match values set by the shadow option. But if the shadow is customized by the user through another mean than the website builder (like writing custom html), the value of `box-shadow` in the `style` attribute does not match the regex. And the function throws an error. This commit prevents the error and returns an empty object instead. Steps to reproduce: - Open website builder - Select a column in the footer - Set a shadow on the column - With the debug tools, remove the color from the `box-shadow` property of the `style` attribute of this element - Bug: Crash when you try to change any color from builder task-5500414 closes odoo#244576 X-original-commit: d714854 Signed-off-by: Francois Georis (fge) <fge@odoo.com> Signed-off-by: Sébastien Blondiau (blse) <blse@odoo.com>
In this commit, we fix an embedded action test that failed because when clicking on the sliders to show the top bar, the dropdown was directly opened as there is only one visible action (since this commit: odoo@a5709e8). We then adapt the test to wait for the dropdown to open automatically, and then when it's the case, create the new custom embedded action. closes odoo#244625 X-original-commit: 8e927c5 Signed-off-by: Aaron Bohy (aab) <aab@odoo.com> Signed-off-by: Maxime de Neuville (mane) <mane@odoo.com>
When opening the sidebar in translation mode, translated elements must be preloaded before the sidebar renders. Without preloading, the fetch requires an extra tick to complete, causing tests that immediately check sidebar content to fail because the sidebar isn't fully open yet. runbot-237540 closes odoo#244622 X-original-commit: d6e91b6 Signed-off-by: Francois Georis (fge) <fge@odoo.com> Signed-off-by: Serhii Rubanskyi (seru) <seru@odoo.com>
Since the support for exclusions on optional products was dropped, those two values were given but not used anymore. Taking this opportunity to remove them as they trigger unused method arguments linting checks
|
This PR targets the un-managed branch odoo-dev/odoo:master-ruff-anv, it needs to be retargeted before it can be merged. |
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.