- Oct 01, 2021
-
-
Andrea Grazioso (agr-odoo) authored
- Storable product with MTO and manufacture route; - On your warehouse set 3 steps manufacture - Create a SO for this product > Confirm The smart button linking the Manufacturing order does not appear on the MO. opw-2634309 closes odoo/odoo#76485 Signed-off-by:
Rémy Voet <ryv-odoo@users.noreply.github.com> Co-authored-by:
Arnold Moyaux <arm@odoo.com>
-
- Sep 30, 2021
-
-
Touati Djamel (otd) authored
Steps to reproduce the bug: - Create a product and enable serial number option - Create one “on hand qty” with SN e.g: “001” - Create a SO for SN product - Confirm SO and check the delivery order - In the Operations tab > Enable Serial Number field - “001” SN is already reserved in Detailed Operations and the qty done is 0 but the Serial Number field in “stock.move” is empty - Edit and add “001” in the SN field - save Problem: - The SN is deleted and the quantity done in the `”stock.move.line”` is not updated Solution: Update the quantity done in the `“stock.move.line”` linked to the selected SN opw-2623101 closes odoo/odoo#77521 Signed-off-by:
William Henrotin <Whenrow@users.noreply.github.com>
-
Sébastien Mottet (oms) authored
When adding an odd width images on website, a thin black line is drawn on its right side. The problem comes from the getSourceCanvas of the cropperjs library. A translation is applied followed by an other translation in the opposite direction. However the second translation was not the exact reverse of the first due to a rounding problem. The fix proposed here comes from: https://github.com/fengyuanchen/cropperjs/pull/300/commits/a6481c052cfc93ef14dd95a3bd00142215dda36e task-2652904 closes odoo/odoo#77039 Signed-off-by:
Quentin Smetz (qsm) <qsm@odoo.com>
-
Andrea Grazioso (agr-odoo) authored
When invoicing via POS delivery address is missing on the invoice. This value is needed in some localizations (i.e. l10n_co) to correctly validate the invoice opw-2653661 closes odoo/odoo#77393 Signed-off-by:
agr-odoo <agr-odoo@users.noreply.github.com>
-
Pierrot (prro) authored
How to reproduce the problem: - Install the Employees app - Create a new user and create an employee form for this user - Log in with this user, then log out - On the user's Employees form, the employee still appears as connected Cause of the problem : as soon as a user logs in, the system saves the date of his last connection. That value was wrongly used in the process of computing the user's status. Now, if the user is offline, he is shown as "Not Available" or "Away" (grey or orange). opw-2623386 closes odoo/odoo#77488 Signed-off-by:
Kevin Baptiste <kba@odoo.com>
-
Aurélien (avd) authored
Add _auto_init for stock_picking.sale_id to speedup the module installation. Since its related field, group_id.sale_id is also created in sale_stock, creating the sale_id column is enough. opw-2638554 closes odoo/odoo#77437 X-original-commit: 6fb05387 Signed-off-by:
Raphael Collet (rco) <rco@openerp.com>
-
qsm-odoo authored
Since [1], a footer effect option has been introduced which allows to have the content hovering the footer to then reveal it when reaching the bottom of the page (instead of having the footer to scroll like the rest of the content). To achieve that, the body color was forced on the snippet container (the `<main/>`) so that the transparent snippet still appear with a background color for the time they go over the footer. That background color should however not have been forced in non-full layouts as another is already forced in that case. In those non-full layout, the "full" body background (= background of color combination 1) is applied on the snippet container but the "body" color is another color which is customizable by the user too. [1]: https://github.com/odoo/odoo/commit/5879e40445f0176d545b4a50f7f7ec33b2e171c8 Related to task-2590182 closes odoo/odoo#77490 Signed-off-by:
Quentin Smetz (qsm) <qsm@odoo.com>
-
wan authored
The empty string, the forward slash `/` and NULL are all to be considered as without a sequence set on `account.move`. While this is just true, it was detected because of non deterministic bugs at the end of the month because the tax closing move was explicitly set to an empty string on version 14.3 and higher. See: https://github.com/odoo/enterprise/commit/4641825daa0ed3b8e407fb3817c582cb541e88a4 Most of the tests posting an entry in the MISC journal could then randomly fail on the last day of the month. closes odoo/odoo#77481 Signed-off-by:
Quentin De Paoli (qdp) <qdp@openerp.com>
-
Joseph Caburnay authored
The chrome.start() call also involves iot device loading which is dependent on Gui to show error when there is any. In this fix, we call configureGui when the Chrome instance is available and before calling start. closes odoo/odoo#75007 Signed-off-by:
pimodoo <pimodoo@users.noreply.github.com>
-
Bruno Boi authored
ISSUE ADDRESSED - Open Project > Tasks > Gantt view - Click on the button "Create" of any cell to open a form dialog - Fill the form and click on SAVE&NEW button - Fill again the form and click on SAVE&CLOSE button - Both tasks are created, but only the first has been planned, because the second one has lost a part of the context (plan dates...) BEFORE Opening a form view dialog without passing a _createContext method (see commit c14b17c4 where it was introduced) was still passing an empty object additionalContext argument when save&new was hit. This was leading to not take into account the full context (see BasicModel._getContext). AFTER If no _createContext method is passed to a form view dialog, then no empty object additionalContext is passed to evaluate the context, resulting in the full context being used. cherry-pick of: https://github.com/odoo/odoo/pull/75795/commits/73d1321268224e25ba4ac9927c95a83e5cd3c400 opw-2655195 closes odoo/odoo#77447 X-original-commit: f52469a8 Signed-off-by:
Mathieu Duckerts-Antoine <Polymorphe57@users.noreply.github.com> Signed-off-by:
Djamel Touati <DjamelTouati@users.noreply.github.com>
-
- Sep 29, 2021
-
-
Yenthe Van Ginneken authored
Before this commit the only way to modify the domain is to completely override portal_my_invoices. Since this function is so big this is not clean/easy to do. By creating a separate function we can simply override it and we can reuse the function on two places. closes odoo/odoo#77272 Signed-off-by:
Florian Gilbert <FlorianGilbert@users.noreply.github.com>
-
Adrien Widart authored
In some cases, it is impossible to validate some landed costs ("Cost and adjustments lines do not match.[...]") To reproduce the issue: (Enable debug mode) 1. Set the Decimal Accuracy of Product Price to 4 2. Create a Product Category PC: - Costing Method: FIFO 3. Create 4 storable products (category PC) 4. Create a service product (landed cost) 5. Create a PO with the 4 products: - 6 x $0.92 - 6 x $0.92 - 3 x $75.17 - 6 x $20.54 6. Process the delivery D 7. Create a Landed Cost: - Delivery: D - Product: the service product - Split Method: By Quantity - Cost: $1000 8. Compute the landed costs + Validate Error: a User Error is raised "Cost and adjustments lines do not match. You should maybe recompute the landed costs.". The sum of the additional landed cost equals $999.99 instead of $1000 From version 14, `additional_landed_cost` is a Monetary field and its rounding property is no more based on "Product Price": https://github.com/odoo/odoo/blob/800433bde03a36ead40a78bc6d53cbb95c24f97b/addons/stock_landed_costs/models/stock_landed_cost.py#L371-L372 Therefore, we should use the rounding of the associated currency to round its value OPW-2637701 OPW-2631718 OPW-2649348 closes odoo/odoo#77155 Signed-off-by:
William Henrotin <Whenrow@users.noreply.github.com>
-
xO-Tx authored
ISSUE: The click on "THEME" tab in editor panel triggers the '_onThemeTabClick' method which: 1- Starts the loader ('_execWithLoadingEffect' method). 2- Runs '_activateSnippet' which uses the same mutex as the loader. Execution order: A1- '_execWithLoadingEffect' with promise: adds the loader in the DOM immediately. A2- '_activateSnippet' sets a second loader to be added after a delay = 500. A3- 'releaseLoader' removes the first loader. A4- '_activateSnippet' ends : (before adding the second loader: t(4) - t(2) < 500) and timeout is cleared. In some cases we get t(4) - t(2) > 500 which adds a second loader to the DOM, and the new flow will be: B1- Same as A1. B2- Same as A2. B3- Second loader added to the DOM / replaces the first one in 'loadingElements'. B4- 'releaseLoader' removes the second loader (from the DOM & 'this.loadingElements'). B5- Same as A4 but the first loader still in the DOM. The goal of this commit is to fix this behaviour by preventing more than one loader on the target element. task-2656308 closes odoo/odoo#77226 Signed-off-by:
Quentin Smetz (qsm) <qsm@odoo.com>
-
Nasreddin Boulif (bon) authored
Issue: When trying to print a Suisse QR bill, if multiple images are presents in document and they have a url as src, some pictures will not be displayed. (Same issue may occur with simple QR code) Cause: It's a known issue with wkhtmltopdf: https://github.com/odoo/odoo/commit/2949138a7d84cd6c925ea1745d62f25ef077bb8b Also, adding css class to body by js break wkhtmltopdf. Solution: Replace link by base64 image value (use a function to retrieve base64 image instead of image_url). Remove class 'l10n_ch_qr' added by js (no need since CSS file didacted to this report). Move `_get_qr_code_base64` and `_get_qr_code_url` logic/flow (since generic) to account module. Move specific logic like `_get_qr_vals` and `_get_qr_code_generation_params` to specific module (ex: l10n_ch). extra: Alter some css for better rendering. opw-2620082 closes odoo/odoo#76404 X-original-commit: 684f0c44 Signed-off-by:
oco-odoo <oco-odoo@users.noreply.github.com>
-
dht-odoo authored
Before this commit: UTM campaigns are accessible to all internal users. But with sale module installed, few of the fields are added into the `utm.campaign` model and it's views. Those fields contain information related to quotations and invoices. So if the internal user who does not have the basic sales rights tries to access the campaing, an AccessError is raised. With this commit: We only show those fields in the views to the users having enough rights ("sales_team.group_sale_salesman") and thus allow other internal users to access the UTM campaings without AccessError. Task-2417993 closes odoo/odoo#77374 X-original-commit: 4b899e50 Related: odoo/enterprise#21244 Signed-off-by:
Thibault Delavallee (tde) <tde@openerp.com>
-
Audric Onockx (auon) authored
Steps: - Set a supplier's 'Timezone' at a different timezone from user. - Set 'Send Order By: Email' and set any 'Order Time'. Result: E-mail will be sent at the set time, but in supplier's timezone. It is the desired behavior, but it is not intuitive for user. Solution: Timezone displayed right below order time, so the relationship between both is more obvious. opw-2541132 closes odoo/odoo#75429 Signed-off-by:
Kevin Baptiste <kba@odoo.com>
-
Juan Jose Scarafia authored
If an invoice is posted, sended back to draft and the rate was change on res.currency, we preserve the value already existing on l10n_ar_currency_rate closes odoo/odoo#77175 X-original-commit: 820df9ee Signed-off-by:
Josse Colpaert <jco@openerp.com>
-
Noe Antoine authored
BEFORE THIS COMMIT / How to reproduce : Consider a multiple choice question with single answer. A. 2 points B. 1 point C. -1 point Here, the user can only select one answer. He picks A. He only obtains 2/3 points. This is because the maximum score was computed as the sum of all positive scores for the question. It does not make sense, as the student can only pick one answer. Therefore, the formula does not allow giving partial scores (here, answer B, close to the correct answer) while maintaining correct score percentages. AFTER THIS COMMIT: The sum of positive scores is still used as maximum score for multiple choice with multiple answers, as we want the student to pick all good answers for max score. However, for multiple choice with single answer, we use the maximum positive score (or 0, if none) among answers, as it the maximum score one can get while selecting a single answer. -> example above : I pick A, I obtain 2 points out of max(2, 1, (0)) = 2 -> I obtain max score for the question. 2/2. ps: As the sum only uses striclty positive values, the negative points are still operational and the flow is not changed. TESTS: A test test_partial_scores_simple_choice is added to make sure the simple_choice is repaired and always gives 100% of points if the best answer is picked. Task-2533836 closes odoo/odoo#76326 Signed-off-by:
Thibault Delavallee (tde) <tde@openerp.com>
-
svs-odoo authored
This commit adresses to two issues: Since 0c83542a93dde8dcaead04fadb7db95cf627a8b4, the move line's `expiration_date` set by the user is always overrided at the creation of the move which means the user has to modify it after the move was created. To fix that, the compute doesn't override the `expiration_date` if there is already one set. Therefore, the onchange on the product who was removed is re-added to force to recompute the `expiration_date` if the move line's product is changed and it has already an `expiration_date` set. closes odoo/odoo#76847 Signed-off-by:
William Henrotin <Whenrow@users.noreply.github.com>
-
svs-odoo authored
How to reproduce: - Create a product tracked by lot; - Create two receipts for this product; - Use the same lot name in the two receipts; - Try to validate the two receipts in the same time => `ValidationError` will trigger in the `_check_unique_lot` constrain of the production lot. task-2646107 Part-of: odoo/odoo#76847
-
dht-odoo authored
Before this commit: Let's consider the following two scenarios while answering time limited survey: 1) attendee's system clock is de-synchronized compared to the real time 2) Odoo server clock is de-synchronized compared to the real time In any/both of the above cases, it will lead to a wrong timer display, and will confuse the user and/or make him fail the test because he will think he still has more time to submit when he does not. With this commit: To fix this, we simply get the offset of server UTC time and moment time, and apply the offset while calculating the time remaining. Task-2612972 closes odoo/odoo#75814 Signed-off-by:
Thibault Delavallee (tde) <tde@openerp.com>
-
Benjamin Vray authored
Before this commit, when creating a new ribbon after selecting an existing ribbon, the style of the selected ribbon was added to the new ribbon in addition to the default style. task-2501515 closes odoo/odoo#76025 Signed-off-by:
Romain Derie (rde) <rde@odoo.com>
-
Benjamin Vray authored
Before this commit, the text color preview of the ribbons in the ribbon selector was wrong. But also, if we selected another ribbon just after changing the text color of a ribbon. This color was applied to the selected ribbon. task-2501515 Part-of: odoo/odoo#76025
-
Swapnesh Shah authored
`tz` field is technical field related to `resource_id`, which is required field on that model. However it is possible to try to write a void value, which leads to an issue as it is technically required. With this commit we make the tz field required at write. closes odoo/odoo#77339 X-original-commit: 7cda3632 Signed-off-by:
Yannick Tivisse (yti) <yti@odoo.com>
-
- Sep 28, 2021
-
-
prro-odoo authored
How to reproduce the problem: - Go to General Settings - Check Custom Email Servers and create an Alias Domain - Go to the Project app - Create a new project and put an alias email for it - In another (private) window), create a new portal user - Send an email from that user's address to the created project's mail A task is created, and the portal user is set as a follower. BUT the portal user doesn't receive the task in his "Documents". Cause of the problem : only the recipients of the mail are correctly subscribed to the followers list, not the sender (which skips a step). This commit adds the sender in the process of subscribing followers to a task. opw-2619370 closes odoo/odoo#76836 Signed-off-by:
LTU-Odoo <IT-Ideas@users.noreply.github.com>
-
Hubert Van de Walle (huvw) authored
Steps to follow - Add an HTML field in the sales order line view - Create a sales order - Add a product - Add a table with multiple rows in the HTML widget - Add a new product -> The new product isn't selected Cause of the issue The CSS selector used for finding the record to edit was taking all tr element into account Solution Only select direct descendants of the tbody opw-2632817 closes odoo/odoo#77355 X-original-commit: 05fedd20 Signed-off-by:
Lucas Perais (lpe) <lpe@odoo.com> Signed-off-by:
Hubert Van De Walle <hubvd@users.noreply.github.com>
-
Achraf (abz) authored
Since https://github.com/odoo/odoo/pull/69124,the UBL template is wrong because of the order of the elements in `PaymentMeans` because it is a sequence `PaymentDueDate` must be in second position (before `InstructionId`) https://www.w3schools.com/xml/el_sequence.asp https://docs.oasis-open.org/ubl/prd1-UBL-2.1/xsd/common/UBL-CommonAggregateComponents-2.1.xsd see `<xsd: complexType name = "PaymentMeansType">` OPW-2468492 closes odoo/odoo#77317 Signed-off-by:
William André (wan) <wan@odoo.com>
-
Raphael Collet authored
This fixes a performance issue: ORDER BY clauses in subqueries can make the query unexpectedly slow. We should avoid this situation, since ORM-generated queries have an ORDER BY clause which is not relevant in the context of a subquery. The following example was found: SELECT "pos_payment"."id" AS "id" FROM "pos_payment" WHERE ("pos_payment"."pos_order_id" in (SELECT "pos_order".id FROM "pos_order" WHERE ("pos_order"."company_id" in (1)) ORDER BY "pos_order"."id")) AND "pos_payment".id IN (1285508) Here are the query plans made by PostgreSQL on this query with and without the ORDER BY clause. The query time went from 1240ms to 0.402ms, which is 3000 times faster! EXPLAIN ANALYZE SELECT "pos_payment"."id" as "id" FROM "pos_payment" WHERE ("pos_payment"."pos_order_id" in (SELECT "pos_order".id FROM "pos_order" WHERE ("pos_order"."company_id" in (1)) ORDER BY "pos_order"."id" )) AND "pos_payment".id IN (1285508); QUERY PLAN --------------------------------------------------------------------------------------------------------------------------------------------------- Merge Semi Join (cost=2.88..82726.85 rows=1 width=4) (actual time=1239.361..1239.364 rows=1 loops=1) Merge Cond: (pos_payment.pos_order_id = pos_order.id) -> Sort (cost=2.46..2.46 rows=1 width=8) (actual time=0.021..0.022 rows=1 loops=1) Sort Key: pos_payment.pos_order_id Sort Method: quicksort Memory: 25kB -> Index Scan using pos_payment_pkey on pos_payment (cost=0.43..2.45 rows=1 width=8) (actual time=0.014..0.015 rows=1 loops=1) Index Cond: (id = 1285508) -> Index Scan using pos_order_pkey on pos_order (cost=0.43..66770.53 rows=1282120 width=4) (actual time=0.013..1148.194 rows=1182463 loops=1) Filter: (company_id = 1) Planning time: 0.272 ms Execution time: 1239.396 ms (11 rows) EXPLAIN ANALYZE SELECT "pos_payment"."id" as "id" FROM "pos_payment" WHERE ("pos_payment"."pos_order_id" in (SELECT "pos_order".id FROM "pos_order" WHERE ("pos_order "."company_id" in (1)) )) AND "pos_payment".id IN (1285508); QUERY PLAN ------------------------------------------------------------------------------------------------------------------------------------ Nested Loop (cost=0.85..4.89 rows=1 width=4) (actual time=0.047..0.049 rows=1 loops=1) -> Index Scan using pos_payment_pkey on pos_payment (cost=0.43..2.45 rows=1 width=8) (actual time=0.027..0.028 rows=1 loops=1) Index Cond: (id = 1285508) -> Index Scan using pos_order_pkey on pos_order (cost=0.43..2.45 rows=1 width=4) (actual time=0.018..0.018 rows=1 loops=1) Index Cond: (id = pos_payment.pos_order_id) Filter: (company_id = 1) Planning time: 0.322 ms Execution time: 0.080 ms (8 rows) closes odoo/odoo#77234 Signed-off-by:
Raphael Collet (rco) <rco@openerp.com> Co-authored-by:
Stanislas Sobieski <(sts@odoo.com)>
-
Dharmraj Jhala authored
When a portal user is editing opportunity from front-end, there are two date inputs, 'Expected Cloing' and 'Next Activity Date'. But both of them have two pickers for selecting date, a native one and a bootstrap one, which was probably side effect of commit[1]. With this commit, we only keep the bootstrap picker so that it respects the date format based on language, and for the check, to make sure it doesnt break the backend (see ticket from commit[1] for more details), we simply consider the date with year less than 1900 as invalid. We also provide a bit more space for bootstrap datpicker to open while setting the closing date, so that the scrollbar is not introduced on the modal. And for the next activity date, we make sure that the picker is opened always on top of the input (which is not the case currenlty in some screensizes, sometimes it is opened below the input so it is hidden under the extra scroll introduced with picker). commit[1] - https://github.com/odoo/odoo/commit/b2b639b693dd7215e3ee501ac89c35f3a6b88bb5 TaskID-2624728 closes odoo/odoo#77267 X-original-commit: da7cac9b Signed-off-by:
awa-odoo <awa-odoo@users.noreply.github.com>
-
- Sep 27, 2021
-
-
JF Aubert authored
Due to res currency date in user timezone and sale order date in utc. closes odoo/odoo#77250 Signed-off-by:
Arnold Moyaux <amoyaux@users.noreply.github.com>
-
Krunal Trivedi authored
- Edit the website - Select the header and set the scrolling effect to fixed - Set header template as 'sidebar' - Save - Scroll -> The website does not properly scroll. This is now fixed. closes odoo/odoo#69219 Signed-off-by:
Quentin Smetz (qsm) <qsm@odoo.com> Co-authored-by:
qsm-odoo <qsm@odoo.com>
-
Raphael Collet authored
The registry attributes 'registry_invalidated' and 'cache_invalidated' are used to flag that the current request has modified the registry or invalidated the ormcache, respectively. This provides a simple yet efficient way to signal registry changes or cache invalidations to other workers. However, those flags were not meant to be used with multi-threaded workers. For instance, a thread may signal registry changes that are actually made by another thread. It can also happen that a thread changes the registry, which makes another thread crash (like a thread modifying a dict while another one iterates over it), and the latter will reset the registry to its original state because it misinterprets the registry changes as its own changes. The situation can even get worse, making threads crash in cascade and eventually leaving the registry in an inconsistent state. When this happens, the worker is broken and has to be manually restarted. The fix consists in making those flags thread-specific. This does not prevent thread crashing because of concurrent changes, but at least it avoids leaving the worker in a broken state. closes odoo/odoo#77244 X-original-commit: cdbd315f Signed-off-by:
Raphael Collet (rco) <rco@openerp.com>
-
Rohan Patel authored
Introduced in 18a823e3 and backport of 514f640c closes odoo/odoo#77192 X-original-commit: 917be413 Signed-off-by:
Josse Colpaert <jco@openerp.com> Signed-off-by:
William André (wan) <wan@odoo.com>
-
Swapnesh Shah authored
Steps: - Go to Journal Items - Switch to Kanban View - Click on create Issue: - Traeback due to unknow currency Fix: Journal Items are not created individually so we have disabled `Create` button in Kanban view. closes odoo/odoo#77015 Fixes: odoo#76543 X-original-commit: 0fa7ef3e Signed-off-by:
Florian Gilbert <FlorianGilbert@users.noreply.github.com> Signed-off-by:
William André (wan) <wan@odoo.com>
-
Andrea Grazioso (agr-odoo) authored
- Create 3 websites and set a website domain for each - Install the website_links module - Go to Website > Configuration > Settings - Select the website 3 - Go to website - Menu Promote > Link tracking The URL field uses the domain you are logged into the database rather than the domain of the active website The expected behavior is: With an ICP set to URL1, a website 1 set to URL2 and a website 2 set to URL3, going to the link tracker website page from URL3 but with website 1 selected should: Show the current website domain as placeholder of the input -> URL2 Create link for that current website the user selected -> URL2 opw-2638494 closes odoo/odoo#76551 Signed-off-by:
agr-odoo <agr-odoo@users.noreply.github.com>
-
William Henrotin authored
Testing orderpoint generation assumes the whole test is done the same day. The assert could failed if the test is run right before midnight and end the day after. This commit ensure the time is frozen during all the tests about orderpoints generation closes odoo/odoo#77135 Signed-off-by:
Arnold Moyaux <amoyaux@users.noreply.github.com>
-
Hoang Tran authored
When creating a wizard `stock.return.picking` and call `_onchange_picking_id`, the creation of return picking line will perform a write on move linked with it, due to `uom_id` being set as related with `readonly=False`. Set `readonly` to `True` to avoid it closes odoo/odoo#77187 X-original-commit: a0e6bc87 Signed-off-by:
Tiffany Chang <tic@odoo.com>
-
Hubert Van de Walle (huvw) authored
Steps to follow - Go to the variant tab of a product - Add an attribute and click search more - Select the checkbox at the top to select all records from the current page - Click on Select all - Click on Select -> Only the records from the first page are added Cause of the issue `getSelectedRecords` doesn't return the record from all pages but only from the current one Solution If the domain is selected, use all the records opw-2586877 closes odoo/odoo#76165 Signed-off-by:
Aaron Bohy (aab) <aab@odoo.com>
-
- Sep 26, 2021
-
-
Odoo Translation Bot authored
-
- Sep 24, 2021
-
-
Pierre Paridans authored
When the current app doesn't provide menu-items (or the user doesn't have the rights to access them), the mobile burger menu should fallback to the user menu instead of an empty one (like on the App Switcher). task-2345001 closes odoo/odoo#77161 Signed-off-by:
Romain Derie (rde) <rde@odoo.com>
-