- Sep 08, 2023
-
-
Mathieu Walravens authored
Before this commit: Packages were computed using a for loop, skipping any picking without any packages. After this commit: Packages are computed using a read_group, speeding up the computed method for large pickings with hundreds of stock move lines. opw-3461706 closes odoo/odoo#134581 X-original-commit: 8dcad6e4 Signed-off-by:
Arnold Moyaux (arm) <arm@odoo.com> Signed-off-by:
Walravens Mathieu (wama) <wama@odoo.com>
-
hungbui authored
before this commit, POS order can add a reward from loyalty programs which have already reached maximum usage by add the loyalty rule's code and refresh the browser. It will clear 'total_order_count' in browser cache. step to remake: 1. create a promo code loyalty program with maximum usage 2. create orders (pos order or sale order) with this promo code and paid them until the program reaching the limit usage. 3. create new POS order and add the promo code -> no reward line in POS order, then refresh browser, it will add new reward line into order after this commit, 'total_order_count' allways be fetching from database so it is being clear no longer. closes odoo/odoo#134077 Signed-off-by:
Joseph Caburnay (jcb) <jcb@odoo.com>
-
Adrien Widart (awt) authored
To reproduce the issue: 1. In Settings, enable: - Storage Locations - Package 2. Create a product P - Type: Storable - Tracked by SN 3. Process a receipt with 1 x P, serial S 4. Return P in a package 5. Process a new receipt with 1 x P, still S as SN Error: An error is displayed "The serial number has already been assigned [...]". This is incorrect, the user should be able to receive that SN. After step 3, there exists a quant Q1: -1 x P at Supplier Location with S. Then, after step 4, a new quant Q2 is created: 1 x P at Supplier Location with S and the package. Because the field `package_id` is not the same on Q1 and Q2, both quants are not merged. As a result, step 5, we will update Q1 and have -2 x P at Supplier Location with S. This will trigger the constraint, hence the error message. OPW-3390615 closes odoo/odoo#134727 X-original-commit: 3a501855e65b6e82004d67beeecffe7286cc682b Signed-off-by:
William Henrotin (whe) <whe@odoo.com> Signed-off-by:
Adrien Widart (awt) <awt@odoo.com>
-
- Sep 07, 2023
-
-
Arnaud Joset authored
Before this commit, simple user could not use the novatim API since https://github.com/odoo/odoo/commit/160e8bfbf72a3e5d7cc8d8cbe7bc4f310f298baa closes odoo/odoo#134735 Taskid: 3497580 X-original-commit: 43763618 Signed-off-by:
Arnaud Joset (arj) <arj@odoo.com>
-
hmai authored
Steps to reproduce: 1. add a paragraph 2. add a blockquote => the cursor will jump in the paragraph This commit fixes a bug detected when inserting a blockquote. The cursor jumps to nearby paragraph on insert, and other issues. The cause of the bug is tied to the fact that we rely on a complex behavior when inserting paragraph related elements (within the insert command). The way to make blockquote behave like the other paragraph related elements is simply to add it to the list as done in this commit. Task-3383441 closes odoo/odoo#134633 X-original-commit: 8195beac Signed-off-by:
David Monjoie (dmo) <dmo@odoo.com>
-
Pedram (PEBR) authored
This commit introduces improvements to the order synchronization mechanism. The changes ensure better error handling and provide a more reliable and informative synchronization process. Key Changes: 1. Enhance `_flush_orders` Method - The `_flush_orders` method now has additional error handling to detect RPC errors during synchronization of multiple orders. If an RPC error is detected and multiple orders are being synced, the method will attempt to send each order to the server individually. 2. Introduce `_flush_orders_retry` Method - This method sends orders to the server one by one and keeps track of the synchronization status (successful, RPC error, or other errors). - It sets the synchronization status to `'connected'`, `'error'`, or `'disconnected'` based on the outcome of individual order synchronization attempts. 3. Improve Error Handling - Enhanced error handling mechanisms to differentiate between various types of errors. - Synchronization status reflects the type of error encountered. opw-3389388 closes odoo/odoo#134333 X-original-commit: 57074c34e90cdbf1db5b06fc8ccd6ae2318191fc Signed-off-by:
Joseph Caburnay (jcb) <jcb@odoo.com> Signed-off-by:
Pedram Bi Ria (pebr) <pebr@odoo.com>
-
Nshimiyimana Séna authored
Summary ------- This commit addresses an issue where fixed taxes were not calculated correctly when applied to a line with a price of 0. Steps to reproduce ------------------ 1. Create a fixed tax with an amount of 5. 2. Create an invoice with a line having zero price and apply the fixed tax. 3. Save the invoice. You should have a total of 5. 4. Change the quantity of the invoice line, to something like 2. 5. Save the invoice. We expect the total to be 10, but we get 5. opw-3212536 closes odoo/odoo#134153 Signed-off-by:
William André (wan) <wan@odoo.com>
-
Touati Djamel (otd) authored
Steps to reproduce the bug: - Create a storable product “P1” with BoM: - Add a tracked component - Add another component (no tracked) - Create a MO to produce 1 unit of the product "P1": - Confirm - Unlock the MO - Set the "to consume" quantity of the tracked component to 0. - Try to validate the MO Problem: A user error is triggered: “You need to supply Lot/Serial Number for products:” Solution: If the quantity to consume is 0, ignore the serial number verification for this move. opw-3471256 closes odoo/odoo#134567 Signed-off-by:
William Henrotin (whe) <whe@odoo.com>
-
lejeune quentin authored
With the new version of raspios the timesyncd service is not correctly stopped during a shutdown or a reboot. Here 'timedatectl set-ntp true' enables and starts the first existing network synchronization service closes odoo/odoo#134628 Signed-off-by:
Quentin Lejeune (qle) <qle@odoo.com>
-
Hugo Santos authored
closes odoo/odoo#134469 Signed-off-by:
Martin Trigaux (mat) <mat@odoo.com>
-
yhu-odoo authored
As a good pratice, in compute method, we assign a default value before we do the actual calculation to avoid issues like no value is assigned for fields with required=True. For example `reservation_state`: https://github.com/odoo/odoo/blob/7ebc8cc5771d069b32722d493dd0ae5341e54c96/addons/mrp/models/mrp_production.py#L572 However, since workorder state is depends on this field: https://github.com/odoo/odoo/blob/7ebc8cc5771d069b32722d493dd0ae5341e54c96/addons/mrp/models/mrp_workorder.py#L158-L159 For some reason, this unexpected false value can lead to some transit wrong state in tests (it happens when you run the test, but correct state show when you put a breakpoint and step into each state computation). To solve it, we remove this default value assignment. It should be safe since this field is not required. closes odoo/odoo#134264 Related: odoo/enterprise#46875 Signed-off-by:
Steve Van Essche <svs@odoo.com>
-
Gauthier Wala (gawa) authored
For the JPK and the EDI, a lot of additional informations are needed. We provide them in community, so it's available later for EDI. The delivery date is needed in Poland, and we compute it if sale_stock is installed. It will be done later for all localizations, but not in stable, so we will merge it with the other ones later. closes odoo/odoo#115225 Related: odoo/enterprise#38166 Signed-off-by:
Olivier Colson (oco) <oco@odoo.com>
-
Gauthier Wala (gawa) authored
Some taxes and tax report lines are needed for the export of JPK (and EDI that will be done later) Part-of: odoo/odoo#115225
-
Maruan Aguerdouh (magm) authored
Made the modal for add to cart to be the same when in Grid view and list view. We achieve this by modifying the css inside `#products_grid.o_wsale_layout_list`. opw-3235969 closes odoo/odoo#133439 Signed-off-by:
Antoine Vandevenne (anv) <anv@odoo.com>
-
Nicolas Bayet authored
Before this commit, the stale document detection was imprecise and incomplete. The stale document could happen in different scenario: 1) Client B save when client A is disconnected (therefore client A should be notified that the document is stale upon reconnection): - For that scenario, the code had a heuristic to detect if the internet connection disconnected and reconnected but was imprecise as the browser api is not 100% reliable on all browser and platforms. That made the code under-checking or over-checking with the server. 2) The user has not yet focused on the element and before this commit, the stale document was not detected. 3) If there is a partition in the peer to peer network and a member of another partition that save, all other partition will not be aware that they are working on a stale document. 4) The stale document happen before 2 peers could be fully connected. For any of those scenarios, if a stale document was not detected and the user tried to save changes, only then, a popup would inform that the version was stale. And if the user closed the tab thinking the document would automatically save, the change would not be saved (without warning). This commit: 1) improve detection of stale document To detect the document this commit add a message in the odoo bus.bus for the channel of the record for each write. That will ensure the message to be received as soon as a user is connected to odoo. 2) improve recovery from stale document Before this commit, the recovery was only made from the server. As a detection is now direct (rather than delayed by the previous heuristic), a document could be detected stale before receiving a step that would not make it stale. Therefore, we cannot just reset from the server as a recovery mechanism. To recover, this commit first tries to reset from missing steps from all peers. If unsuccessful, it will tries to reset from a snapshot. If unsuccessful, it will reset from the server. 3) add a mechanism for aborting requests To prevent unexpected concurrency behavior, this commit add a mechanism to abort requests. 4) a framework for testing the collaboration of the wysiwyg As it could be quite tedious and error prone to manually tests concurrency issues related to the wysiwyg, this commit add a framework for testing the collaboration of the wysiwyg and test the detection and recovery of stale document. task-3217965 closes odoo/odoo#128847 Signed-off-by:
David Monjoie (dmo) <dmo@odoo.com>
-
Nicolas Bayet authored
In a subsequent commit, we need to change the content of the method `_getNewPtp` and to patch it in tests. To make that commit more readable by understanding which lines changed, this commit moves the creation _getNewPtp to the Wysiwyg prototype rather in a closure. task-3217965 Part-of: odoo/odoo#128847
-
- Sep 06, 2023
-
-
Jinjiu Liu authored
Reproduction: 1. Install Event, Sales, Website, Contacts 2. Login as Admin, create a new portal user 123, set the password as 123 3. Go to Contacts, find the created user, add a shipping address, leave the name blank 4. Open another tab login as the portal user, place an order 5. At the Address step, Edit the billing address, change the name from empty to “Test Name”, click next 5. An error is thrown cause the new name is not equal to empty value Fix: this fix aimed the conditions we have in the previous PR: https://github.com/odoo/odoo/pull/111708 This change will allow the user to add a name for shipping address at checkout.Without the fix, if you change the name of a shipping address, it won’t be able to get through. This is because of how we manage the shipping address, e.g. shipping address is managed as child partners. For shipping address, the check can_edit_vat is always false. See here: https://github.com/odoo/odoo/blob/14.0/addons/portal/models/res_partner.py Another check, e.g. if shipping is being edited, is added to make sure name/email can be changed for delivery address. For internal user, the editing of shipping address is not blocked because of the `share` check. But the same condition is used to ensure the consistency in case we change how the shipping address is managed in the future. Note: if the data is '' for name for example, the pre-process will convert it to `False`. Thus the edge case that `'' != False` doen't exist anymore Related PR: https://github.com/odoo/odoo/pull/111708 opw-3126325 closes odoo/odoo#134488 X-original-commit: 5eee4b32c2992253456e18855b6c777bb707c7e9 Signed-off-by:
Antoine Vandevenne (anv) <anv@odoo.com> Signed-off-by:
Jinjiu Liu (jili) <jili@odoo.com>
-
Preksha Chouhan authored
When user access template at the time of export with deleted field. The traceback will be generated. To reproduce the issue(any model, here- 'account.move.line'): - Install 'account_accountant' module - Go to Settings > Technical > Database Structure > Fields - Create a new field with model as 'Journal Item' and save - Go to Accounting > Miscellaneous > Journal Items - Select any record in list view and click on export and generate a new export template with newly created field - Go to 'ir.model.fields' and delete that field - Go to 'Journal Items' and select that template while export Error: A traceback appears: KeyError: 'tax_audit' When a field gets deleted from 'ir.model.fields' but it does not get deleted from export template. And selecting that template to export the records will lead to traceback. See - https://github.com/odoo/odoo/blob/59669e9943158e51dcbb9ae69ad758df8f7c7976/addons/web/controllers/main.py#L1815-L1818 sentry-4331986723 closes odoo/odoo#134487 X-original-commit: 7b635c00 Signed-off-by:
Julien Castiaux (juc) <juc@odoo.com>
-
Mathieu Walravens authored
When stock is uninstalled, the sequences used in the warehouses for the picking types are kept. However, since [1], picking types cannot be duplicated anymore. When the module is re-installed, the picking types are created with the same name, which is not allowed by [1]. [1]: https://github.com/odoo/odoo/commit/9034602a028fb22fbd139cf41a2f5c71d9d8d032 opw-3484352 closes odoo/odoo#134032 Signed-off-by:
Arnold Moyaux (arm) <arm@odoo.com>
-
Pedram (PEBR) authored
The problem was that if you have multiple stripe payment providers in different companies, it may cause issues in getting the stripe payment provider. That was because of using sudo in calling `_get_stripe_payment_provider`. The solution is to filter the result based on the company. opw-3473577 closes odoo/odoo#133578 Signed-off-by:
Joseph Caburnay (jcb) <jcb@odoo.com>
-
Xavier-Do authored
When calling track_prepare, an important part of the logic is getting description in fields_get. We actually don't need the description, fields_get is mainly use here to check for groups, but the dictionnary is immediately transformed to a set making values irrelevant. The same optimisation is done in _message_track, usefull to avoid an additionnal query in test_recurring_order_creation_perf, because of a value not in cache. closes odoo/odoo#132950 Related: odoo/enterprise#46997 Signed-off-by:
Xavier Dollé (xdo) <xdo@odoo.com>
-
Jurgen (jugj) authored
This PR fixes the display of remaining days that wasn't correctly displayed when an allocation had no time limit. task-3414291 closes odoo/odoo#127553 Signed-off-by:
Sofie Gvaladze (sgv) <sgv@odoo.com>
-
Yann Papouin authored
`read_group` signature is not respected: the offset integer param is filled with a list closes odoo/odoo#134403 X-original-commit: fb47754e Signed-off-by:
Xavier Bol (xbo) <xbo@odoo.com>
-
Abdelouahab (abla) authored
To reproduce ============ - login as Mitchell Admin - change the email of a portal user, ex: Joel Willis, to the same email as Mitchell Admin. Do this through the Contacts App - always connected as Mitchell Admin, create a sale order and send it by email to client, in chatter the sender will be Joel Willis Problem ======= when setting the author, `_mail_find_partner_from_emails` is called, when searching for users with the given eamil, two results are found and the first one is taken as author Solution ======== give the priority to the current user when it matches the given conditions opw-3455520 closes odoo/odoo#134389 Signed-off-by:
Thibault Delavallee (tde) <tde@openerp.com>
-
Andrea Grazioso (agr-odoo) authored
Set Default UoM on Timesheet Settings page: Hours Set [Employee] Timesheet Cost (HR Settings tab): 65.00/hour Create a product [TEST] as follows: - Product type: service - Invoicing Policy: Based on Timesheets - Create on Order: Project & Task - Unit of Measure: Days - Purchase UoM: Days - Sales Price: 1.00 - Cost: 0.00 Create a sales order Add an order line with product [TEST], quantity 1 Confirm. Project and task will be created On the task add a 1 hour timesheet entry for [Employee] Save and go back to the SO Issue: SO line cost is incorrectly computed. opw-3378688 closes odoo/odoo#134380 X-original-commit: cb551051 Signed-off-by:
Xavier Bol (xbo) <xbo@odoo.com>
-
hmai authored
This commit makes the clear button of the toolbar always visible even if no style is applied. Since the display is controlled by the css, we removed the concerned style. Task-3459819 closes odoo/odoo#134098 X-original-commit: 0f916d4b Signed-off-by:
David Monjoie (dmo) <dmo@odoo.com>
-
Florent de Labarre authored
Before this commit when you copy a chatbot script, the triggering answer are mixing. - Create a chatbot - Create a line A - question ligne with one response 1 - Create a line B - type text - Create a line C - type text - Save - Invert line B and C - on ligne C add response 1 in triggering answer - Save - Copy the script --> Issue the response 1 in triggering answer is now in line B closes odoo/odoo#133924 Signed-off-by:
Alexandre Kühn (aku) <aku@odoo.com>
-
Abderraouf Ghrissi (abgh) authored
Before this commit: - There is a bug in odoo enterprise. project.project form view > invoicing notebook > services created using create and edit should be configured by default with an 'invoicing policy' set to 'based on timesheets'. Technically, while we're using 'default_service_policy' with the right value, we're getting a different value in the form. After this commit: - The bug is fixed. closes odoo/odoo#134423 X-original-commit: f6869bf2 Signed-off-by:
Xavier Bol (xbo) <xbo@odoo.com>
-
tsm-odoo authored
Before this commit, the push to talk key was not correctly captured. Indeed, Alt/Control/Shift/Meta was condifered twice when present, resulting in an incorrect HotKey registration. Steps to reproduce: - Go a discuss channel - Access the call setting menu - Try to set your push to talk key to "Ctrl + Alt" - The HotKey is incorrect ("Ctrl + Alt + Alt"). task-3058665 closes odoo/odoo#134422 X-original-commit: 04683033190acc55ee338217367e31494b070bcc Signed-off-by:
Alexandre Kühn (aku) <aku@odoo.com>
-
Jurgen (jugj) authored
task-3429069 closes odoo/odoo#128731 Signed-off-by:
Sofie Gvaladze (sgv) <sgv@odoo.com>
-
Bastien PIERRE authored
Remove old code that was useful when the form view had 2 modes (edit/readonly) TASK ID: 3272520 closes odoo/odoo#133426 Signed-off-by:
Florent Dardenne (dafl) <dafl@odoo.com>
-
Maitri Patel authored
This error occurs when recurrence_id has no records when the user tries to delete the sync calendar which has recurrent events. Error: 'Expected singleton: calendar.recurrence()' See- https://github.com/odoo/odoo/blob/15.0/addons/calendar/models/calendar_event.py#L715 sentry-4367276387 closes odoo/odoo#134407 X-original-commit: 6ba4a671 Signed-off-by:
Arnaud Joset (arj) <arj@odoo.com>
-
Arnaud Joset authored
Before this commit, the useragent was harcoded as an Odoo one and if it was blacklisted by the osmfoundation policy https://operations.osmfoundation.org/policies/nominatim/ all Odoo instances were forbidden to access the service. This parameter allows to override the user agent with a system parameter. closes odoo/odoo#134297 X-original-commit: 160e8bfb Signed-off-by:
Yannick Tivisse (yti) <yti@odoo.com> Signed-off-by:
Arnaud Joset (arj) <arj@odoo.com>
-
Adnan Saiyed authored
Current behaviour before commit: -When pasting copied content from editor inside link inserts text with HTML content, in result the pasted content seems isolated from the link. e.g. <a href="#">te[]st</a> + pasting <h1>123</h1> <=> <a href="#">te<h1>123</h1>st</a> Desired behaviour after commit: -Now only text content is pasted which makes pasted content as a part of the link. e.g. <a href="#">te[]st</a> + pasting <h1>123</h1> <=> <a href="#">te123st</a> closes odoo/odoo#134294 X-original-commit: db6d65a4 Signed-off-by:
David Monjoie (dmo) <dmo@odoo.com>
-
roen-odoo authored
Current behavior: If you set a specific sale_order_item for an employee on a project, and create a timesheet line from the "My Timesheets" menu, the sale_order_item will not be the one you selected for this employee. This happens because when you create a timesheet line from the "My Timesheets" menu, the employee is not set on the timesheet line. To fix this we fallback on the user's employee when creating a timesheet line from the "My Timesheets" menu. Steps to reproduce: - Make sure you'r logged in as Mitchel Admin - Create a service product that create project and tasks - Create a sale order with this product - Go to the project and set a sale order item for Mitchel Admin in the invoicing tab - Go to the "My Timesheets" menu and click "Add Line" - Select the project you created - The sale order item will not be autofilled with the one set on the invoicing tab of the project. opw-3463849 closes odoo/odoo#133532 X-original-commit: ba0d428a Signed-off-by:
Xavier Bol (xbo) <xbo@odoo.com> Signed-off-by:
Robin Engels (roen) <roen@odoo.com>
-
- Sep 05, 2023
-
-
Arthur Detroux (ard) authored
Since [1], it was no longer possible to refresh the page and stay in the backend at the same time. This was known at the time and was an accepted downside. However, with this commit, a compromise has been found, if the keyboard shortcut for a refresh (CTRL-R or F5) is used while the Website Preview is shown (mounted), then the website preview will do its best to keep the user inside the backend. This will make developing features for the website modules easier, as before, every refresh would require an extra click to return to the backend. To note: the debug=[mode] param would also be lost on refreshing a website page. Starting 16.4, since [2], this would make tracebacks harder to read as for every refresh, they would no longer point to the source, rather just the minified file. Therefore, with this commit, we also keep the debug mode in the URL when doing a keyboard refresh. [1]: https://github.com/odoo/odoo/commit/1c18b79972c3b0a97197b98390e0ba9fda703585 [2]: https://github.com/odoo/odoo/commit/59f49d6a8c856a5d8ca28dcfd7840baaa1c7672f task-3458691 closes odoo/odoo#131236 Signed-off-by:
Romain Derie (rde) <rde@odoo.com>
-
prye-odoo authored
When a user tries to create a leave request without linking an employee with the user and without a configured login user timezone, a traceback will be generated. Steps to reproduce: - Install the "hr_holidays" module. - Create a new user, e.g., "Test user", and login with another browser. - Login as an admin user and go to Settings > Users & Companies. - Search for "Test user" and set Timzone as empty. - Go to the Time Off menu and create a leave request; after that, a traceback will be generated. Error: AttributeError: 'bool' object has no attribute 'upper' When a user tries to create a leave request without linking an employee with the user and without a configured login user timezone, the _get_start_or_end_from_attendance() function of the "hr.leave" object will call at that time timzone not getting. Code reference: https://github.com/odoo/odoo/blob/15.0/addons/hr_holidays/models/hr_leave.py#L111 Sentry-4441512696 closes odoo/odoo#134208 X-original-commit: 2b0f9e39 Signed-off-by:
Sofie Gvaladze (sgv) <sgv@odoo.com>
-
Maximilien (malb) authored
There was inconsistency in the translation for the words "price unit", with this commit all the "price unit" are translated the same. closes odoo/odoo#134107 Task-id: 3262408 Signed-off-by:
Brice Bartoletti (bib) <bib@odoo.com> Signed-off-by:
Maximilien La Barre (malb) <malb@odoo.com>
-
Maximilien (malb) authored
This PR solve two things: - Preview: due to the hardcoded width the preview didn't take all the page and was push on the left. - PDF: Weird stuff happened with the header, he was hiding information below the header. Task-id: 3262408 Part-of: odoo/odoo#134107
-
Maximilien (malb) authored
Before this PR, when there is no shipping address, the pdf show an empty "Shipping Address" header. By changing the colspan dynamically we can manage to keep the layout like it was and remove the useless section. Task-id: 3262408 Part-of: odoo/odoo#134107
-