- May 22, 2023
-
-
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>
-
- May 22, 2023
-
-
adda-odoo authored
The method _assign_and_convert_leads() gets called when the CRM: Assign Leads cron is called. The values in the list `weights` gets caluclated in a way that memebers with a lower `lead_month`count` value gets a higher weight when randomizing assignement of a new lead. Assuming that the max assignment per member is consistent (or default = 30). Assume that each sale member belonging to any team has around 500 leads assigned to them the previous month(`lead_month_count`) and `work_days` is set to `0.2`. The return value of the method `_get_assignement_quota()` in this case would be 0 for every member, which causes the list `weights` to get populated with just zeros. This raises a `ValueError: Total of weights must be greater than zero`. Fix: Make sure the minimum weight for each member is at least 1 and not 0. opw-3171085 closes odoo/odoo#118156 Signed-off-by:
Thibault Delavallee (tde) <tde@openerp.com>
-
- May 21, 2023
-
-
Odoo Translation Bot authored
-
- May 20, 2023
-
-
jorv authored
Current behavior: Connections for outgoing email servers using Outlook/Office365 or Gmail accounts will establish an OAuth2 authentication for the smtp server. Through the `ir_mail_server` form view, one can fetch the necessary tokens by logging in into their Microsoft/Gmail account. Not specifying an username (`smtp_user`) on the `ir_mail_server` record will not produce an error while fetching those tokens. But when trying to test the connection or use that server to send an email, even if the FROM header is correctly set (i.e. the account email address authorized to sent emails), the smtp connection will fail. This is due to the fact that when `smtp_user == False`, the respective method `_generate_outlook_oauth2_string` or respectively `_generate_oauth2_string` will not be called and send the necessary OAuth2 string when sending an email through the smtp connection. This will lead to a `5.7.57 Client not authenticated to send mail.` error. After this change: Add specific UserErrors that get called if `smpt_user == False` before the actions in `open_google_gmail_uri` and `open_microsoft_outlook_uri` get called. This forces the user to input a `smpt_user` (field Username) before the login page for OAuth2 gets called to fetch the tokens. Note: there is no check if the user inputs the right username, only that the field is not empty. So it is still possible to input an invalid username. opw-3268246 closes odoo/odoo#121526 X-original-commit: 0f6602c7 Signed-off-by:
Stéphane Debauche (std) <std@odoo.com> Signed-off-by:
jorv-odoo <jorv@odoo.com>
-
- May 19, 2023
-
-
xO-Tx authored
Steps to reproduce: - Go to a website page > Add a 'Form' block > Set an input "Placeholder" value. - Go to the page (in 'edit_translations' mode) > The translation of the input "Placeholder" attribute doesn't mark the input as translated and even after saving the translation, the input is still marked as "to_translate". The goal of this commit is to fix this issue by extending the same behaviour on the translated `<select/>` options (using `.oe_translated` class) and setting the right translation state on the input from the linked attribute translation `<span/>`. task-3323245 closes odoo/odoo#121440 X-original-commit: 8b522e5c Signed-off-by:
Benoit Socias (bso) <bso@odoo.com>
-
Stanislas Gueniffey authored
The 'insertLineBreak' case in `onInput` is dead code because any event that might cause it (pressing Shift+Enter) first triggers `onKeydown`, which calls `ev.preventDefault()` and thus prevents it from reaching `onInput`. Task-3301232 closes odoo/odoo#120854 Signed-off-by:
David Monjoie (dmo) <dmo@odoo.com>
-
Carlos Dauden authored
[FIX] stock: _log_less_quantities_than_expected call _log_activity_get_documents with empty dict and raises error closes odoo/odoo#121641 X-original-commit: c62bd8b3 Signed-off-by:
Tiffany Chang <tic@odoo.com>
-
Michele authored
[IMP] stock: unreserve only quantity required if available quantity is less than quantity required when action_done on stock move. Example: Now there is this behaviour Inventory quantity 4 Reserved quantity 3 Available quantity 1 If i do a stock move of 2 pieces, it will unreserve ALL the stock move of the product. With this PR it will unreserve only the pieces that are required minus the available quantity not reserved , in this case 2 (new stock move) - 1 (available quantity) = 1 closes odoo/odoo#121650 X-original-commit: 999c2045 Signed-off-by:
William Henrotin (whe) <whe@odoo.com>
-
- May 17, 2023
-
-
joda-odoo authored
When passing a very large expression to `literal_eval`, the odoo server crashes. To avoid this behavior, a limit needs to be set by using the env varaible `ODOO_LIMIT_LITEVAL_BUFFER`. If the variable is not set, it defaults to 100Kib. closes odoo/odoo#121547 X-original-commit: 1b44748c Signed-off-by:
Vranckx Florian (flvr) <flvr@odoo.com>
-
Guillaume (gdi) authored
When a new user is created from the website, the company id was always set to the first company of the database even if the website was the one of another company. This flow has been already fixed if there is the "Specific User Account" setting activated (see [this other commit]). This commit fixes the same issue but for every case. Steps to reproduce the issue: - Create 2 companies A & B - For each company, create a website linked to a different URL - Activate 'Free sign up' for company B - As a public user, go to website of company B - Go to 'Sign in > Don't have an account?' and create an account => If as an admin you check the company of the created user, it is company A instead of company B. [this other commit]: https://github.com/odoo/odoo/commit/77c708c516beb322df37220634e178ba82e894c9 task-3277317 closes odoo/odoo#121539 X-original-commit: eda9ad14 Signed-off-by:
Benoit Socias (bso) <bso@odoo.com>
-
David Monjoie authored
The previous code with `parentsUntil` would not return any result in an empty paragraph because the only valid element would be the anchorNode itself but `parentsUntil` would only return parents and never the base node itself. It makes sense, but is not suitable for the case at hand. Before this commit: CTRL+A does nothing from inside an empty paragraph. After this commit: CTRL+A correctly triggers a select all from inside an empty paragraph. Task-3150956 closes odoo/odoo#116150 Signed-off-by:
David Monjoie (dmo) <dmo@odoo.com> Co-authored-by:
dhba-odoo <dhba@odoo.com> Co-authored-by:
David Monjoie <dmo@odoo.com>
-
roen-odoo authored
Current behavior: When pos_loyalty is not installed,the `test_settle_order_with_promotions` was failing. Also if the user tries to settle an order he would get a traceback. The issue was introduced here: https://github.com/odoo/odoo/pull/119673 opw-3247545 closes odoo/odoo#121603 Signed-off-by:
Joseph Caburnay (jcb) <jcb@odoo.com>
-
Thomas Lefebvre (thle) authored
Steps to reproduce: ------------------- We google calendar, create a recurring event with three occurrences. We obtain 3 events in chronological order: - A - B - C Change the title of the event B and apply the changes to the following events. We get: - A: First title - B: Second title - C: Second title Modify the schedule of event C and apply the changes only to this event. We get: - A: First title + First schedule - B: Second title + First schedule - C: Second title + Second schedule Synchronize Google calendar with Odoo. Issue: ------ Event C is "duplicated". Event C will exist with the first schedule and the second schedule. Cause: ------ A recurrent event with `google_id` is equal to `ID_RANGE_TIMESTAMP` can be rescheduled. If this is the case, its `google_id` will be equal to `ID_TIMESTAMP`. We do not manage the deletion of the event that belongs to the old `google id`. Solution: --------- When we detect a recurring event with a modified schedule, we have to delete the event from the old `google_id` (which is the event with the old schedule). For this, it is necessary to find the old `google_id` based on the elements contained in the `id` and the `recurringEventId` of the event. opw-3143680 closes odoo/odoo#120798 Signed-off-by:
Arnaud Joset <arj@odoo.com>
-
Sanket Brahmbhatt authored
This issue is generated when the user uploads an image of more than 50.0 million pixels, so error would be generated. But, currently it raises a `ValueError` which results in traceback. So, we replace it with `UserError` so the user has an idea about Image size or pixel being excessive. closes odoo/odoo#120900 Sentry: - 4075426049 X-original-commit: 59a3f75b Signed-off-by:
Rémy Voet <ryv@odoo.com>
-
Carlos Carral authored
The function `drop_view_if_exists` only works when the view in question is a regular view, [materialized views](https://www.postgresql.org/docs/current/rules-materializedviews.html ) need a special syntax to be dropped (with an additional `MATERIALIZED` flag). This is an issue when e.g. needing to replace standard views with materialized views for performance reasons, as dropping the views now fails. Check the table kind beforehand and dispatch to the correct query. closes odoo/odoo#117424 Signed-off-by:
Xavier Morel (xmo) <xmo@odoo.com>
-
- May 16, 2023
-
-
ノウラ authored
Current behaviour: When the language is not set on the user date_format value is False so when opening project tasks we get the following traceback Error: Odoo Server Error Traceback (most recent call last): File '/Users/nea/src/odoo/odoo/addons/base/models/ir_http.py', line 237, in _dispatch result = request.dispatch() .... File '/Users/nea/src/odoo/addons/project/models/project.py', line 798, in _compute_recurrence_message task.recurrence_message += '<li>%s</li>' % date.strftime(date_format) Exception The above exception was the direct cause of the following exception: Traceback (most recent call last): File '/Users/nea/src/odoo/odoo/http.py', line 650, in _handle_exception return super(JsonRequest, self)._handle_exception(exception) File '/Users/nea/src/odoo/odoo/http.py', line 317, in _handle_exception raise exception.with_traceback(None) from new_cause TypeError: strftime() argument 1 must be str, not bool Expected behaviour: - Open projects tasks with no problem Fix: - to fix the problem we use get_lang() to retrieve the language object for the current use Affected versions: - 14.0 - 15.0 - 16.0 - master opw-3301081 closes odoo/odoo#121576 X-original-commit: cbbaa9df Signed-off-by:
Xavier Bol (xbo) <xbo@odoo.com>
-
Gauthier Wala (gawa) authored
- Create a Deferred Revenue Model on a Current Liability account - Create a Sale Order yourself (User 1), with Salesperson User 2 - Create the invoice from it - Remove the salesperson from the invoice and add User 3 instead - Change the account to the Revenue Model's one - Post the invoice - Post the deferred revenue created => User 2 is follower of the entries generated The problem is that the context comes from the sales order, and contains a `default_user_id` in the context. The solution provided is to remove it from the context given, as it serves no purpose (the invoices are already created). opw-3141495 closes odoo/odoo#121514 X-original-commit: 31046332 Signed-off-by:
Victor Feyens (vfe) <vfe@odoo.com> Signed-off-by:
Wala Gauthier (gawa) <gawa@odoo.com>
-
Julien Van Roy authored
When unit prices have more than 2 digits, it is currently not reflected in the UBL formats. Consequently, the line amounts are not equal to the unit price * quantity (assume there is no discount, charges or allowance) and it raises validation errors: "Invoice line net amount MUST equal (Invoiced quantity * (Item net price/item price base quantity) + Sum of invoice line charge amount - sum of invoice line allowance amount". To fix this, we no longer round the unit prices. NB: the decimal accuracy should be set in the settings (otherwise, the default is 2 digits for unit prices). See https://docs.peppol.eu/poacc/billing/3.0/bis/#_rounding opw-3290035 task-3302904 closes odoo/odoo#121508 X-original-commit: d7d41991 Signed-off-by:
Laurent Smet <las@odoo.com> Signed-off-by:
Julien Van Roy <juvr@odoo.com>
-
roen-odoo authored
Current behavior: When you apply a promotion on a sale order, then settle it in a PoS session, the promotion will be applied two times. One time from the sale order, and one from the PoS. Steps to reproduce: - Create a promotion program with a discount of 50% with no code needed - Add the promotion program to the PoS - Create a sale order with a product of 200$ and apply the promotion - The total price of the order should be 100$ - Settle the sale order in a PoS session - The promotion is applied twice and the total price is 50$ instead of 100$ opw-3247545 closes odoo/odoo#119673 Signed-off-by:
Joseph Caburnay (jcb) <jcb@odoo.com>
-
David Tran authored
The note "Quotation viewed by customer" posted when a public/portal user access an order came with the order's partner name instead of the actual user's partner name This made confused for internal users to see something in internal note like **Colleen Diaz** with a message **Quotation viewed by customer Nicole Ford** This commit makes sure to use the right partner name except the quotation is viewed anonymously (with access token) closes odoo/odoo#121515 X-original-commit: 3489fd16 Signed-off-by:
Victor Feyens (vfe) <vfe@odoo.com>
-
Mahdi cheikh rouhou (macr) authored
When we have automatic invoicing enabled , the email sent to the user when he confirms his payment online will contain a button 'View Journal Entry' To reproduce the error : 1- Install accounting, website, ecommerce, sales apps 2- Go to website settings and activate automatic invoice 3- Install test payment method and activate it 4- Log out of the current account 5- Make a purchase of any item and confirm the payment 6- You will receive 2 emails , the second one will have the invoice and it will contain a button View journal entry The origin of the problem is not providing model_description when sending the invoice so it will take the display_name of the model 'account.move' by default which is Journal entry. opw-3271345 closes odoo/odoo#120124 Signed-off-by:
Victor Feyens (vfe) <vfe@odoo.com>
-
Preksha Chouhan authored
ValueError 'unknown colour specifier' occurs when we access export_icon_to_png(). This error occurs when we change the colour of an icon in the mailing template, because the value of alpha (opacity) in 'rgba' is in the range of 0 to 1, but PIL Image support colour opacity range 0 to 255. This commit converts the opacity value range (0 to 1) to a range (0 to 255) compatible with the PIL image library when the colour specifier is 'rgba'. sentry - 3933353285 closes odoo/odoo#116476 Signed-off-by:
David Monjoie (dmo) <dmo@odoo.com>
-
niyasraphy authored
before this commit, on validating multiple picking from the transfers tree view is raising singleton exception. * enable "Ship Later" feature in pos. * create two orders with ship later. * from inventory app, select the above two pickings are from action button click validate * exception is raised. after this commit, no traceback wont be shown. closes odoo/odoo#120787 Signed-off-by:
Joseph Caburnay (jcb) <jcb@odoo.com>
-
- May 15, 2023
-
-
Mylyna Hy authored
Problem: The error "There is no chart of accounts installed for this company..." appears for POS shop configurations if they don't have a chart template configured for the company. It doesn't take into account if the company has its own set of accounts so it will always show the error unless the chart template is set. Solution: Include an additional condition to check if the company has accounting entries which is used to check if the company has used its own set of chart of accounts for accounting. Purpose: The error will only appear if the company has no chart template set or no accounting entries. opw-3291399 closes odoo/odoo#121296 X-original-commit: b5106da3 Signed-off-by:
Laurent Smet <las@odoo.com> Signed-off-by:
Mylyna Hy (myhy) <myhy@odoo.com>
-
Nicolas Lempereur authored
Running "Numbering system" JS test on current version of chrome, two assertions fails. This is happening because of an update of localization. Related to commit: 5bfe7321 closes odoo/odoo#121431 Signed-off-by:
Nicolas Lempereur (nle) <nle@odoo.com>
-
Benjamin Vray authored
This commit fixes a bug with the navbar links in the header of a website on mobile. When the text of a link is long enough to be wider than the screen, the text does not wrap to the next line as intended, but instead overflows to the right outside of the screen, causing part of the text to be hidden. Steps to reproduce the bug: - Edit the text of one of the menu links on a website to make it longer than the width of the mobile screen. - Bug: In mobile view, part of the link text is hidden. This bug occurs with both the "default" hamburger type and the "off-canvas" hamburger type. opw-3233684 closes odoo/odoo#121377 X-original-commit: 0a575bea Signed-off-by:
Quentin Smetz (qsm) <qsm@odoo.com> Signed-off-by:
Vray Benjamin (bvr) <bvr@odoo.com>
-
Maruan Aguerdouh (magm) authored
Steps to reproduce: 1. Install CRM and dashboard module 2. Go to CRM > Reporting > Forecast > Group By: Salesperson. 3. Click on the graph icon and then on the Stacked icon. 4. Click on Favorites > Add to My dashboard > Add. 5. Go to dashboard. Issue: The graph is not displayed in the dashboard, instead we got an error "Cannot read properties of undefined", which is caused because of the new GraphView for the Forecast that's not working for this version. Solution: Added legacy ForecastGraphView as in previous similar fixes, to get the proper view. Forward bot up to saas-15.2 similar to https://github.com/odoo/odoo/pull/86571/files opw-3284731 closes odoo/odoo#120931 Signed-off-by:
Mathieu Duckerts-Antoine <dam@odoo.com>
-
Florian Charlier authored
For performance reason, we avoided computing goals for the set of users that didn't log in recently (See ec0c0f29). However, users can stay logged in for a while without having a new "log in event" (password asked), such that active internal users can keep old values in their challenges when reports are sent, which is not good. Until an improvement can be implemented in master, we drop this time constraint for active internal users. A test is added, checking the behavior of the method called by the cron. Task-3226408 closes odoo/odoo#121301 X-original-commit: 6c77dd82 Signed-off-by:
Thibault Delavallee (tde) <tde@openerp.com>
-
Arnold Moyaux authored
product variable used in the rounding precision come from the upper loop and won't work for all the quantites. opw-3229080 closes odoo/odoo#121247 X-original-commit: ea923a08 Signed-off-by:
Tiffany Chang <tic@odoo.com>
-
Benjamin Vray authored
Before this commit, links scrolling to an anchor with a special character did not work and displayed a traceback. The issue was that to check that the anchor is valid, we don't need to check that the anchor is a valid url as we have been doing since these commits [1], [2]. But we only need to check if the jQuery selector is valid to correctly target the element to which the page must scroll. Indeed, the anchor widget returns stuff like 'ok%C3%A9%25' when typing 'oké%' wich is not valid jQuery selector. It has to be encoded to '#ok\\%C3\\%A9\\%25' to be valid and that's what this commit does. We also changed the way to display a new anchor to the user in this commit. Before, we showed the anchor unencoded in a notification and now we show it encoded. That way, if the user copies the anchor from the notification, it's the real anchor. Also, this commit detect if the success URL of the redirect of a from is the current page to perform a scroll to the anchor instead of a redirect. To make this comparison, we needed to add the url code of the language of the current page to the session info. Also, before this commit, the page froze when we clicked on the "submit" button of a form that redirected to an anchor that did not exist. [1]: https://github.com/odoo/odoo/commit/0abfaeda96c2eaa868cc7fc5fa1926dfa90fc420 [2]: https://github.com/odoo/odoo/commit/b492bde6a121be1c15ed90ce0827fcfd72a12f5c task-2172312 closes odoo/odoo#119720 X-original-commit: fb087dbe Signed-off-by:
Romain Derie (rde) <rde@odoo.com>
-
- May 14, 2023
-
-
Odoo Translation Bot authored
-
- May 12, 2023
-
-
Christophe Simonis authored
Allow extending tests for any modules, regardless of existing ones in another entry of the `upgrade-path`. Bonus point: tests no longer need to be imported in the `__init__.py` file. closes odoo/odoo#121218 X-original-commit: e4d1a9e0 Signed-off-by:
Christophe Simonis <chs@odoo.com> Co-authored-by:
Alvaro Fuentes <afu@odoo.com>
-
Abdelouahab (abla) authored
To Reproduce ============ - create two Vendor Bills and attach to each one a PDF from the ones provided by the client on the ticket. - select these two bills and and try to print Original Bills an error will be raised Problem ======= while merging these PDFs, PyPDF2 throws a `TypeError` which is not caught by the server Solution ======== catch `TypeError` to raise a UserError opw-3285540 closes odoo/odoo#121212 X-original-commit: d2b97524 Signed-off-by:
abla001 <abla@odoo.com>
-
Touati Djamel (otd) authored
Steps to reproduce the bug: - Enable “subcontracting” in the mrp settings - Create a storable product “P1”: - Add a vendor: - supplier: “Azure interior” - currency: euro - price: 20 - Add a BoM: - Type: subcontracting - add any product as component - Save - Check that the currency of the company is in dollars - Click on Compute Price from BoM button in the product form Problem: The seller's price is not converted into dollars opw-3321346 closes odoo/odoo#121063 Signed-off-by:
William Henrotin (whe) <whe@odoo.com>
-
Mylyna Hy authored
Steps to Reproduce Issue for single picking: 1. Install Sales, Inventory 2. Create an SO and confirm 3. Go to the transfer, assign the done value to be less than demanded 4. Validate the transfer and cancel the backorder Current Behavior: There is no exception error on the SO chatter Expected Behavior: An exception error should be logged on the SO chatter Other Info: When cancelling a backorder for a single picking, the exception error about less quantity than expected is not logged on the SO. "process_cancel_backorder" does not call _log_less_quantities_than_expected. As defined in "process", the exception is only logged when validating multiple pickings at once but one is to backorder but the other is not. opw-3222508 closes odoo/odoo#120994 X-original-commit: 92cd7d08 Signed-off-by:
Tiffany Chang <tic@odoo.com>
-
- May 11, 2023
-
-
Claire Bretton (clbr) authored
When no new template are created in the update of taxes migration method the execution lead to an an error in the `_process_taxes_translations` method. Fixed a similar issue in l10n_ch migration that enables the taxes afterward and could possibly cash in the same way if no taxes are created. opw-3305302 closes odoo/odoo#121213 X-original-commit: 039206ec Signed-off-by:
John Laterre (jol) <jol@odoo.com> Signed-off-by:
Claire Bretton <clbr@odoo.com>
-