- May 25, 2023
-
-
Benjamin Vray authored
Steps to reproduce the bug : - Add the same google font twice with the font family selector in the option tab of the editor panel. - The font will be displayed only once in the font selector menu but 2 trash icons will be added, one for the added font and one for the font that was already there. This commit fix this and allows now the user to add the same font twice, but only to replace a served font by a local font. The opposite does not make sense, but if the user really wants to replace a local font with a served, it is always possible by deleting the locale beforehand. In addition, this commit adds a cloud icon next to the default fonts of the theme. Since these fonts are served by Google, it is logical to have the cloud icon. This is consistent with the cloud icon that is present when the user adds a font served by Google. task-2998689 closes odoo/odoo#122359 X-original-commit: be503205 Signed-off-by:
Romain Derie (rde) <rde@odoo.com>
-
Dylan Kiss (dyki) authored
After commit 9bf54f09, we assumed that the date field of a move was never empty. On the form view, it can be (temporarily) empty though (before save), causing an error when trying to read it. We now don't try to recompute the name when the date is empty, thus preventing the date field to be read in that method. task-3326834 closes odoo/odoo#122297 X-original-commit: 5a3a8d0b Signed-off-by:
William André (wan) <wan@odoo.com> Signed-off-by:
Dylan Kiss (dyki) <dyki@odoo.com>
-
sergio-teruel authored
The uom should be editable on new lines, independently of their state. With this commit, users will be able to change the uom on new lines of locked/cancelled/confirmed orders. closes odoo/odoo#122246 Signed-off-by:
Victor Feyens (vfe) <vfe@odoo.com>
-
Matheus Leal Viana (malv) authored
When creating an downpayment invoice for a SO with a incoterm different than the default one, this invoices ignores the incoterm you defined and uses the default value. This issue is happening because in the _prepare_invoice_values is not passing the value of correct value of the incoterm and the default value is being used. How to reproduce: 1. Active "incoterms" and choose a default incoterms in settings 2. Create a SO with a incoterm different than the default one 3. Create a downpayment invoice 4. In the new created invoice the incoterm is set as the default incoterm instead of the previously defined closes odoo/odoo#120823 Opw: 3284556 Signed-off-by:
Adrien Widart (awt) <awt@odoo.com>
-
Valeriya(vchu) authored
as Adyen sends the same notification data for POS and online payments that can not be distiguished, the webhook controller logs a stacktrace for every POS payment. If the payment_adyen is installed it generates noise in logs as the POS transaction can not be found in online payments. To clear the log we make missing transaction as warning to not log the stacktrace. task-2960381 closes odoo/odoo#120625 Signed-off-by:
Antoine Vandevenne (anv) <anv@odoo.com>
-
Thomas Lefebvre (thle) authored
Steps to reproduce: Without being logged in, complete the purchase flow on the ecommerce, taking care to have a different billing and shipping address. If you change the delivery address, you will get an access error. Cause: In some cases, we do not have access to the `name` field of the `partner` record. Solution: Add `sudo` to be able to read the fields. opw-3276877 closes odoo/odoo#122258 X-original-commit: 1d6ae6bb Signed-off-by:
Antoine Vandevenne (anv) <anv@odoo.com> Signed-off-by:
Lefebvre Thomas (thle) <thle@odoo.com>
-
Saurabh Mishra authored
When user enters empty space in name field instead of entering an actual name and confirm their billing, shipping address then when they click on paynow to confirm order they will face the issue 'list index out of range'. Note : Do the paypal configuration before following below steps. Steps to produce: 1) Vist the website as a public user. 2) Create a sale order by adding some products to the cart. 3) While entering shipping and billing address, in the name field enter some space. 4) Click on next button. 5) Now a sale order is created. 6) Go to orders through 'website' module. 7) Open the order created and generate a payment link. 8) Paste that payment link in another tab or browser . 9) Click on pay 10) By following above steps you will encounter the error. This commit will prevent the above error. sentry - 4177783431 closes odoo/odoo#122229 Signed-off-by:
Saurabh Mishra (sami) <sami@odoo.com>
-
Ivan Yelizariev authored
1. Infinite loop may happen on using `parent_of`\`child_of` when there is a recursion in the tree (e.g. a record is marked as a parent of itself). Fix it by excluding seen records from the next iteration. 2. Another problem with `child_of` is `parent_id` that references to another model. For example, the `parent_id` may come from inherited model. It's the case with `res.users` and `res.partner` models. It may lead to a random search results. Avoid that by raising exception in case of wrong usage of the `child_of` operator. STEPS: In demo data, there is a partner called "Wood Corner" that is `res.partner(9,)` that has 3 sub-contacts. If we give Portal access to two of them, we end up with a database, where we have a `res.users(9,)` record that has a partner, which has a `parent_id` to "Wood corner". So this way, the user id is the same as the user's partner's parent contact id. After that open a shell and type: ``` env['res.partner'].search([["user_ids", "child_of", 9]]) ``` BEFORE: infinite loop (without change n.1) or random search results (when change n.1 is applied) AFTER: ValueError exception --- opw-2729740 closes odoo/odoo#122080 X-original-commit: 3c9b3457 Signed-off-by:
Raphael Collet <rco@odoo.com> Signed-off-by:
Ivan Elizaryev (iel) <iel@odoo.com>
-
Yolann Sabaux authored
This reverts commit 12355a80042c70d. Following of the next steps https://www.odoo.com/web#id=3338017&cids=1&model=project.task&view_type=form Initial opw-2992106 closes odoo/odoo#122431 Signed-off-by:
William André (wan) <wan@odoo.com>
-
Laurent Smet authored
When duplicating the reco model, we want to counterpart entry lines to be copied as well. closes odoo/odoo#122332 X-original-commit: c5d5f4db Signed-off-by:
William André (wan) <wan@odoo.com>
-
Paul Morelle authored
The selection function get_selection_class for the field classname has obviously been thought to be overridable by subclasses in order to add new selection classes if need be. However, before this commit the method was passed directly to the Selection constructor, which used the callable object directly. If it was overridden by a subclass, the Selection object would still use the same non-overridden callable instance. With this commit, we give the name of the method instead of the callable, which makes that the method is resolved after all overrides, and therefore the resulting selection will be the overridden one. closes odoo/odoo#122341 X-original-commit: 91bea596 Signed-off-by:
Romain Derie (rde) <rde@odoo.com> Signed-off-by:
Paul Morelle (pmo) <pmo@odoo.com>
-
Maximilien (malb) authored
Before this PR, when multi vat was activated and a foreign vat number was set on a fiscal position it was not printed on the invoice for the following layout: Striped, light and boxed. The Bold layout is not impacted since it does not use company details. This PR adds the foreign vat on the invoice when it's necessary. closes odoo/odoo#118782 Task-id: 3248767 Signed-off-by:
John Laterre (jol) <jol@odoo.com>
-
- May 24, 2023
-
-
paso-odoo authored
If applied, this commit will solve the min-max issues for efaktur. - invalid literal for int() with base 10: when we enter all characters string in the min or max it will raise an error like this. - Error is also raised when the min or max is blank and try to save the record. So, I have update the value as 0 if the min value or max value not generated. see - https://tinyurl.com/2lx9j2kr Sentry - 3936020226 closes odoo/odoo#122278 X-original-commit: 78ecfd66 Signed-off-by:
William André (wan) <wan@odoo.com>
-
Hoang Tien Dung authored
closes odoo/odoo#122232 X-original-commit: b061cf71 Signed-off-by:
Martin Trigaux (mat) <mat@odoo.com>
-
Trịnh Ngọc Hưng authored
False closes odoo/odoo#122021 Signed-off-by:
William André (wan) <wan@odoo.com>
-
Anita (anko) authored
User was not able to go through onboarding if they switched company. By default it tried to edit default payment provider that was conected to the main company, so other companies were recieving Access Error. opw-3298326 closes odoo/odoo#121619 Signed-off-by:
Antoine Vandevenne (anv) <anv@odoo.com>
-
David (dafr) authored
qty_received_method is not recomputed if the product type change, and can lead to issues on existing purchases when trying to generate a Vendor Bill. # HOW TO REPRODUCE: - Create product P, type: Service, Control Policy: 'On Received Qty' - Create PO for 1 unit of P (do not confirm) - Update type of P to Storable - Confirm PO, Receive Products => Qty Received is 0, not able to generate Bill closes odoo/odoo#122199 X-original-commit: 193f1d8c Signed-off-by:
William Henrotin (whe) <whe@odoo.com>
-
Mohit Beniwal authored
ZeroDivsionError: float division to Zero is generated because for assigning value to 'factor' of uom in method '_set_ratio', it tries to divide value by Zero for uom_type 'Bigger'. Steps to reproduce: 1) Install 'Inventory' module. 2) Click on 'Configuration' > 'Settings'. 3) Activate 'Units of Measure' > click on 'Units of Measure' button under it. 4) Click on 'Create' button to create new uom category. 5) Give any name > in 'Units of Measure' page, click on 'Add a line'. 6) Enter name and select type as 'Reference unit of measure for this category'. 7) Now, add another line and select type as 'Bigger than the the Reference unit of measure' and set the 'ratio' value to Zero, Error will be generated. By applying this,it will check for the value of 'ratio' to prevent division by 0 sentry - 4174584503 closes odoo/odoo#121409 Signed-off-by:
William Henrotin (whe) <whe@odoo.com>
-
Saran440 authored
closes odoo/odoo#120219 Signed-off-by:
William Henrotin (whe) <whe@odoo.com>
-
Louis (loco) authored
*website Steps to reproduce the bug: - Add a Cover and a Picture snippet on the website. - Change their visibility to "Conditionally". - Change the order of the two snippets on the page either with the drag and drop tool or with the "move up" or "move down" option. => Their order on the "Invisible Elements" panel has not been updated. The problem is fixed by calling `_updateInvisibleDOM()` at the end of `moveSnippet()` and `_onSnippetDragAndDropStop()`. Note that before this commit, all the snippets with a conditional visibility were hidden at the call of `_onSnippetDragAndDropStop()`. This is due to the call of `cleanForSave()` from `_destroyEditors()`. `_onSnippetDragAndDropStop()` has been adapted in order to, as for the "move" option, do not change the visibility of those elements. task-3203914 closes odoo/odoo#113549 Signed-off-by:
Dieleman Guillaume (gdi) <gdi@odoo.com>
-
Louis (loco) authored
*web_editor, website Steps to reproduce the bug: - Add a Text-Image snippet. - Change its visibility to "Conditionally". - Save. - Edit again. => The eye icon indicates that the snippet is not visible but the snippet is displayed. Note that [1] introduced a mechanism to solve this problem (the `cleanForSave()` of the `ConditionalVisibility` option) but the code was not working correctly since [2]. Let's first remember that when calling `toggleTargetVisibility()`, two main actions are performed: - The addition or suppression of the `data-invisible` attribute from the dataset of an invisible element. This attribute is responsible for the crossed or not of the eye icon in the "Invisible Elements" panel. - The call to `onTargetHide()` or `onTargetShow()` that performs among other things the addition or the suppression of the `o_conditional_hidden` class on an invisible element. This class is responsible for the visibility of the element on the page in edit mode. This being said, here is what happened at the "Save" before this commit: - `cleanForSave()` of `snippetEditor` is called. If the related element has the `o_snippet_invisible` class, `toggleTargetVisibility(false)` is called (meaning that the `o_conditional_hidden` class and the `data-invisible` attribute are added to the element). - `cleanForSave()` of the `ConditionalVisibility` option is called and before [2], the `data-invisible` attribute was removed from the corresponding element. - At the `DOMContentLoaded`, the `o_conditional_hidden` class is removed from all the elements that have a conditional visibility. The visibility of those elements on the page now depends on the rule set by the user. The goal of this commit is to restore the mechansim of the remove of the `data-invisible` attribute from the conditionnal elements at the `cleanForSave()`. [1]: https://github.com/odoo/odoo/commit/1c442782f887a8c16bae05a43fae13a310ac05df [2]: https://github.com/odoo/odoo/commit/de3c29fab2bc5349da8a9418f9d0086d76e6f7de task-3203914 Part-of: odoo/odoo#113549
-
Louis (loco) authored
Steps to reproduce the bug: - Add a form snippet on the footer of the website page. - Change the visibility of the form snippet to "conditionally". - On the footer settings, deactivate the "Page Visibility". => The form snippet is still present on the "Invisible Elements" panel but clicking on it has no effects. Indeed, it is inside the footer which is hidden. The goal of this commit is to reorganize the "Invisible Elements" panel in order to better visualize the hierarchy between the different invisible elements. To do so, the list of the invisible snippet elements (`[...$invisibleSnippets]`) is scanned. Each invisible snippet that is the descendant of another is discarded of the list (to only keep the "root" ones) and a map is created with its `keys` set to invisible snippets that have invisible descendants. The `value` corresponding to an invisible snippet element is a list filled with all its descendant invisible snippets except those that have a closer invisible snippet ancestor. The list of the root snippets is then scanned. Each root snippet is inserted in the DOM as well as their descendant snippets found thanks to the newly created map. Note that thanks to this commit, another problem is solved: - Add a cookie bar on the website. - Add a Text-Image snippet and change its visibility to "conditionally". - Save and edit again. Note that the "Cookies Bar" is above the "Text- Image" on the "Invisible Elements" panel. - Click to display the cookie bar. => The order of the "Cookies Bar" and the "Text-Image" is switched on the "Invisible Elements" panel. Indeed, before this commit, the order of the snippets was influenced by the order of their snippet editor creation. Because this order was not always the same from one call to `_updateInvisibleDOM()` to another, a glitch could happen when toggling a snippet visibility. This is now fixed as the order of the invisible snippets in the "Invisible Elements" panel is determined either by their order in the list `rootInvisibleSnippetEls` or their order in the lists contained as value in the map `descendantPerSnippet`. task-3203914 Part-of: odoo/odoo#113549
-
pedrambiria authored
Previously, it was not possible to apply the Global Discount in cases where there was a fiscal position with tax included in the price. This was because of using in the `get_taxes` function, which do not return taxes after fiscal position. opw-3267243 closes odoo/odoo#118837 Signed-off-by:
Joseph Caburnay (jcb) <jcb@odoo.com>
-
Aurelien van Delft (avd) authored
Turn the call to filtered after the search on purchase.order.line into a call to _search. This allows to remove filtered by adding an additional leaf in the search domain. Add read calls to fetch fields from db and store them in cache on recordset batches. Example speedup: partner with 136555 POL 6.33s -> 3.42s opw-3277299 closes odoo/odoo#122204 X-original-commit: b3e81b09 Signed-off-by:
William Henrotin (whe) <whe@odoo.com> Signed-off-by:
Van Delft Aurélien (avd) <avd@odoo.com>
-
aliya authored
If a partner in the imported invoice does not exist, we create one on the fly. However, the partner is created without a country and `_run_vat_test` doesn't check it properly in 15.0, and fails in later versions, where we try to get the country code from the country we pass from `_import_retrieve_and_fill_partner`, which is `False`. This commit retrieves the country from the imported invoice to create the partner and passes the object instead of the `country_code` string to `_run_vat_test` closes odoo/odoo#122077 Signed-off-by:
Laurent Smet <las@odoo.com>
-
Romain Derie authored
The code was assuming there would be only one `<footer/>` element in the dom but it's not always true. Our `Blockquote` snippet also contains a `<footer/>` element. While this has no impact on Odoo 14 and Odoo 15, it will crash in Odoo 16 when trying to select "On all pages" on a popup option when there is a blockquote snippet on a page. The reason it breaks in 16 is because it uses javascript instead of jquery, finding only one element (the footer of the blockquote) and not all. The jQuery usage was then filtering out to only keep the correct footer due to some extra selector looked for in the elements (`.oe_structure:o_editable`). Still, the fix is made in Odoo 14 because it's likely that we will have another fix later in the snippet options, and it's also likely that someone will replace the jQuery usage by javascript while doing so, which would reveal the bug. opw-3283140 closes odoo/odoo#122082 X-original-commit: ca3d6e09 Signed-off-by:
Quentin Smetz (qsm) <qsm@odoo.com>
-
- May 23, 2023
-
-
Guillaume (guva) authored
Before this commit, the reversal of a passed exchange move was not created on the correct date: - If sequence is reset by month, the reversal should be created at the end of the month of the exchange move, and if sequence is reset by year, at the end of the year. Steps: - With a foreign currency X activated and two different rates few months in the past. - Create and confirm an invoice with currency X at the date of the first rate. - Register a payment at the date of the second rate (an exchange move is created). - Unreconcile the payment from the invoice. -> A reversal of the exchange move is created, but the date is wrong (set to today's date). opw-2856385 closes odoo/odoo#122081 X-original-commit: 56a1759e Signed-off-by:
Brice Bartoletti (bib) <bib@odoo.com> Signed-off-by:
Guillaume Vanleynseele (guva) <guva@odoo.com>
-
Laurent Smet authored
- create an invoice with a CABA tax - full refund it using 'add credit note', 'cancel' mode. => No CABA entry generated but an exchange difference journal entry has been created. This is because the CABA entry is not generated in case of full refund thanks to the 'move_reverse_cancel' context key. However, this key is not preventing the generation of the exchange journal entry for CABA. opw-3321897 closes odoo/odoo#121597 Signed-off-by:
Brice Bartoletti (bib) <bib@odoo.com>
-
niyasraphy authored
before this commit, on creating a new payment method will show traceback. * using studio add a menu for payment method * create a payment method and hit on create * traceback is shown after this commit, no traceback wont be shown. closes odoo/odoo#121294 Signed-off-by:
Brice Bartoletti (bib) <bib@odoo.com>
-
Julien Van Roy authored
An UBL Bis 3 xml can only contain one tax per invoice line. However, there might be one or more ecotaxes on invoice lines in Belgium. Do not block the user from generating the attachment in this case. Note that PR https://github.com/odoo/odoo/pull/121494 will properly handle the fixed taxes upon generating UBL attachments. opw-3318969 closes odoo/odoo#121847 X-original-commit: 68814f52 Signed-off-by:
William André (wan) <wan@odoo.com> Signed-off-by:
Julien Van Roy <juvr@odoo.com>
-
Paolo Gatti (pgi) authored
The visibility of the "Print" DDT button wasn't taking into consideration the dropshipping case. closes odoo/odoo#121822 Signed-off-by:
Josse Colpaert <jco@odoo.com> Signed-off-by:
Grazioso Andrea (agr) <agr@odoo.com>
-
Andrea Grazioso (agr-odoo) authored
Have an IT company configured Activate Dropship Create a Product P with dropship enabled and vendor configured Create a quotation to an IT customer, add P to a line, confirm. Purchase will be created automatically, confirm it. Go to dropship picking, confirm, print The DDT report does not show up correctly: - Warehouse address is the company address - Customer address is the vendor address opw-3128812 Part-of: odoo/odoo#121822
-
- May 22, 2023
-
-
Victor Feyens authored
Since e9ad3442, on product change, the uom & qty were only reset to defaults after the price & tax recomputation. This commit brings back the previous (and correct) behavior, by updating the uom & qty alongside the description, before the taxes & price updates. closes odoo/odoo#121883 Signed-off-by:
Victor Feyens (vfe) <vfe@odoo.com> Co-authored-by:
Duong Kim <81897633+kimduong986@users.noreply.github.com>
-
Lucas Perais authored
Initialize a DB. Install website when it is initialized. Launch tests of the class TestBaseDocumentLayout Before this commit, there was a crash because those tests render the report_layout and its assets. The full explanation is that, the module website adds an ir.asset `website.s_badge_000_variables_scss` that the report wants to fetch. But, the class of tests is executed at_install. Given the topological order and the order of the modules installation, website is not in the registry at that point, but the ir.asset is retrieved from the database. The ir.asset algorithm determines at that point that `/website/` is not an admissible path and raise an exception. This commit solves the problem by tagging this class of test "post_install" and not "at_install". runbot-error-21203 runbot-error-21204 runbot-error-21205 runbot-error-21206 runbot-error-21207 runbot-error-21208 runbot-error-21352 runbot-error-21353 runbot-error-21354 runbot-error-21355 runbot-error-21356 runbot-error-21357 closes odoo/odoo#121918 Signed-off-by:
Aaron Bohy (aab) <aab@odoo.com>
-
pedrambiria authored
We are reverting this commit (f9da3590) because it is not compliant to the stable policy and is blocking users that had more than one cash payment methods in configuring their pos. opw-3331677 closes odoo/odoo#121879 Signed-off-by:
Joseph Caburnay (jcb) <jcb@odoo.com>
-
Dylan Kiss (dyki) authored
Currently, when we create a draft move in an empty period, a sequence number (name) gets generated and set on the move. This is fine. When subsequently we change the date of that move to a period that already has entries in it, the sequence number (name) for our draft move is recalculated according to the new period. When we post a new move in this same period afterwards, and then delete our previous draft move, we are left with a gap in the sequence. Example: We already have a move on 2023-01-01 with name `2023/01/0001`. We add two new moves `A` and `B` as follows. | Step | Move | Action | Date | Name | | ---- | ---- | ----------- | ---------- | -------------- | | 1 | `A` | Add | 2023-02-01 | `2023/02/0001` | | 2 | `A` | Change date | 2023-01-10 | `2023/01/0002` | | 3 | `B` | Add | 2023-01-15 | `/` | | 4 | `B` | Post | 2023-01-15 | `2023/01/0003` | | 5 | `A` | Delete | | | A gap is now created, since we have `2023/01/0001` and `2023/01/0003`, but `2023/01/0002` was deleted (possible since it was in draft). To solve this issue, we now make sure that when a draft entry is moved to a period that already has entries in it, we reset the name to `/`, to not consume a sequence number and prevent possible gaps in the sequence later on. task-3326834 closes odoo/odoo#121832 X-original-commit: 9bf54f09 Signed-off-by:
William André (wan) <wan@odoo.com>
-
Stanislas Gueniffey authored
Some tests use methods that have two different implementations (one for desktop and one for mobile). So far, the only example is deleteBackward and its mobile counterpart deleteBackwardMobile. This commit introduces a mechanism in the web_editor tests to avoid duplicating such tests. When a test calls a method that has two implementations, it uses the desktop one by default and a flag is set that indicates the test should be re-run with its mobile implementation next. When errors are raised while the mobile version is in use, we prefix their message with '[MOBILE VERSION]' to ease debugging. Note that this mechanism relies on proper flag management by the aforementioned methods. Task-3054808 closes odoo/odoo#121628 Signed-off-by:
David Monjoie (dmo) <dmo@odoo.com>
-
Odoo authored
Before this commit: When a new list is created and any list item is applied a style like h1, bold ,itallic etc.. and when when toggle that list, the list style breaks After this commit: Toggling through the list does not break the style. closes odoo/odoo#119012 Task-id: 3269908 Signed-off-by:
David Monjoie (dmo) <dmo@odoo.com>
-
Pieter Claeys (clpi) authored
Upon changing/removing/adding the analytic account on a manufacturing order, only the analytic lines due to the raw material moves are updated, but not the ones for workcenter costs. To reproduce: - Create an MO with a workorder on a workcenter which has an operating cost set - Complete time on this workorder to generate the [WC] AALs on this MO - Change the analytic account on the MO (or delete it) Bug: The [WC] AALs never get correctly updated. This fix builds on https://github.com/odoo/odoo/pull/79614 to correct this behaviour and also take into account changes for the workcenter cost AALs when the analytic_account of a manufacturing order is changed. Community PR: https://github.com/odoo/odoo/pull/117308 closes odoo/odoo#117308 Task: 3252742 Signed-off-by:
Arnold Moyaux (arm) <arm@odoo.com>
-
- May 02, 2023
-
-
Arnaud Baes authored
For performance reasons, instead of extracting the whole zip, extract only the files which are actually used during in the `_import_module`, in case people put additional crap in the archive which are ignored during the import. That way, we avoid useless I/O. Also, adding the temporary directory in the addons path wasn't thread-safe. This revision changes this to make the module import feature thread-safe. closes odoo/odoo#80120 Signed-off-by:
Pierre Masereel <pim@odoo.com>
-