Commit Graph
167539 Commits
Author SHA1 Message Date
Walid b7eaf02706 [FIX] stock: propagate package in multistep delivery
Steps to reproduce:
- Enable 3 step delivery (pick,pack,ship) in inventory settings
- Create and confirm an SO with a consumable product
- Put the first transfer (PICK) in pack
(check show detailed operation will make it easier to see the bug)
- Result package is correctly set and will be correctly set as source
package for the following transfer (PACK)

Bug:
result package is not set on the following transfers

Fix:
propagate the package by default (if it's disposable) since consumable
product do not have a stock.quant _check_move_lines_map_quant_package
will fail and package_level will not be created and result will not be
assigned

opw-3513870

closes odoo/odoo#141914

X-original-commit: 83996db3adaf44f5d4428d602071224095cd4790
Signed-off-by: William Henrotin (whe) <whe@odoo.com>
Signed-off-by: Walid Hanniche (waha) <waha@odoo.com>
2023-11-15 11:26:02 +00:00
svs-odoo 5c199e60eb [FIX] repair: minor bugfixes
This commit fixes the following issues:

1. Before this commit, when adding a new move in a repair order, its
   default quantity was equal to the repair order's product quantity.
   The move's quantity should be 1 by default;

2. The `forecast_availability` is renamed from "Reserved" to
   "Forecasted";

3. Removes the "Clear Quantities" button since it does basically the
   same thing than the "Unreserve" button.

closes odoo/odoo#141849

Signed-off-by: William Henrotin (whe) <whe@odoo.com>
2023-11-15 11:26:01 +00:00
JF Aubert 13cb47d4f2 [FIX] stock_picking_batch: forward package
For multi steps batch pickings, the package is not forwarded
like it is for 'simple' pickings.

closes odoo/odoo#141822

Related: odoo/enterprise#50532
Signed-off-by: William Henrotin (whe) <whe@odoo.com>
2023-11-15 11:26:00 +00:00
anjeel.haria 14b2f0f0f7 [FIX] website_event: Add timezone in events website snippets
Added timezone for event_card snippet

closes odoo/odoo#141810

X-original-commit: fc4c4a272c55e45bcdbfaba4786f6afec963ac52
Signed-off-by: Jérémy Hennecart (jeh) <jeh@odoo.com>
2023-11-15 11:25:58 +00:00
anjeel.haria ffe75e09f7 [FIX] website_sale: make 'Quantity' table header editable on /shop/cart
This commit only purpose is to propagate the CLA that was
stopped manually in the FW.

The cart is a table with 3 columns: Product / Quantity / Price
Product and Price words are editable while Quantity is not.

This PR fixes that.

Fixes https://github.com/odoo/odoo/issues/135163

X-original-commit: 03e4648b94b262508b7eceb969d91d7033e28834
Part-of: odoo/odoo#141810
2023-11-15 11:25:58 +00:00
Nasreddin Boulif (bon) 4c38507c03 [FIX] mail: don't apply system timezone on tracked date value in chatter
Steps to reproduce:

  - Add a date field in a model with `tracking=True`
  - Log with a user with timezone set to UTC+2
  - Create a record and set the date field to any date.
  - Update the date value to another date
    (Should have logged a message in the chatter with changes)
  - Log with a user with timezone set to `America/Los Angeles`
  - Check the chatter of the record created above

Issue:

  New date value displayed in the chatter is wrong (set to one day
  before).

Cause:

  The value displayed in the chatter is the date value converted first
  as datetime (with Luxon library), then the system timezone is set on
  it and therefore might change the day.

Solution:

  Use `deserializeDate` instead, who has the same computation as
  `deserializeDatetime` (with the sole difference of date vs datetime)
  and therefore will not apply a timezone on the date.

opw-3427502

closes odoo/odoo#142034

X-original-commit: ca3254f8c7700fe78053072710f0c57fee60af5b
Signed-off-by: Alexandre Kühn (aku) <aku@odoo.com>
Signed-off-by: Nasreddin Boulif (bon) <bon@odoo.com>
2023-11-15 09:07:59 +00:00
Walid 361a5835aa [FIX] stock_picking_batch, delivery: put delivered batch in pack
Steps to reproduce:
- Install DHL delivery and enable batch transfers
- Create 2 SO with adding shipping
- Select the 2 delivery orders and add them to the same batch
- Put the batch in a pack
- Only movelines of the first delivery are put in the pack

Bug:
when delivery is Installed a Delivery Package Type has to be chosen
this will in turn put the active picking mls in pack
the case of batch picking was disregarded
https://github.com/odoo/odoo/pull/55096/files#r469780148

Fix:
implementing a method to get the movelines to pack will allow to simply
make an override in stock_picking_batch instaed of creating a new module
this has also the added benefit of unifiying the behavior accross the
different methods

opw-3357423

closes odoo/odoo#141473

X-original-commit: 2d2bfe7f01379beb695b1c8756be393e17faf7de
Signed-off-by: William Henrotin (whe) <whe@odoo.com>
2023-11-14 16:35:02 +00:00
Richard deMeester 0c85d03c23 [FIX] purchase: select sellers failing on empty date
Following  #133759 - The code will fail if the purchase_order has NO
date.

This is because

max(
  po.date_order.date_order and po.date_order.date(),
  fields.Date.today()
)

will try to compare False with a date, resulting in:

closes odoo/odoo#140006

Typeerror: '>' not supported between instances of 'datetime.date' and 'bool'
X-original-commit: 0831f6d0f2763e1ca8966c9a0b6c3186a847e733
Signed-off-by: Tiffany Chang (tic) <tic@odoo.com>
2023-11-14 16:35:01 +00:00
Gabriel de Paula Felix (gdpf) 83022f1799 [FIX] microsoft_calendar: fix recurrence being trimmed
Before this commit, recurrences were being cut off after being fetched when their length exceeded the range of the current calendar view. This was because we were fetching the new events within the `get_events_delta` function, but skipping their fetch at the `_get_occurrence_details` function for occurrences outside the current calendar view range, leaving them not created when they should have been. Additionally, the last day within the weekly view was not being fetched because the API request ignored the "23:59" hour/minute information and fetched events up to the "00:00" hour/minute of the respective day.

After this commit, they are now entirely created during their search in the `_get_events_delta` function call. This solves the problem of leaving occurrences uncreated and maintains the improvement of not fetching all recurrences every time as in the previous code after the performance task. In addition, to correct the substitution of the hour/minute "00:00", a day is now being added to the end date to fix the interval obtained.

Benchmark test with 300 recurrences of 500 events each (150.000 events):
- Before the performance task: 01:02:09 (hour/min/sec)
- After this PR: 00:09:51 (hour/min/sec)

Issue from task-id: 3525764

closes odoo/odoo#142014

X-original-commit: 18b978e7a87e36b21449a7981720e4f24630b1c6
Signed-off-by: Arnaud Joset (arj) <arj@odoo.com>
Signed-off-by: Gabriel de Paula Felix (gdpf) <gdpf@odoo.com>
2023-11-14 15:16:10 +00:00
Antoine Vandevenne (anv) 7ec8e3454d [FIX] payment: don't suggest archiving acquirers when it's not possible
Payment acquirers don't have an `active` field, which makes users
confused when they try to delete an acquirer, and the error message
suggests archiving it instead.

opw-3579946

closes odoo/odoo#142000

X-original-commit: 69166117073f1bf255b62b81eaa744f81353f6b4
Signed-off-by: Antoine Vandevenne (anv) <anv@odoo.com>
2023-11-14 15:16:09 +00:00
Sébastien Theys d3b7ff500b [FIX] mail: fix race condition in load_message_order
- adapt test to ensure consistent (scroll) state at each step

The issue is hard to reproduce, so the complete resolution of the issue
is not guaranteed, but the current change should do the job, and if it
doesn't, it will help to pinpoint the issue.

Estimated issue: the thread doesn't load more messages when scrolling to
bottom because the scroll to bottom is overriden by the auto-scroll top
when clicking on pin. Adding extra wait point should solve the issue.

runbot-24512

closes odoo/odoo#141999

X-original-commit: 477b1c3aa1da7261273341338f3d37ee828715f8
Signed-off-by: Alexandre Kühn (aku) <aku@odoo.com>
Signed-off-by: Sébastien Theys (seb) <seb@odoo.com>
2023-11-14 15:16:08 +00:00
flvr-odoo 3e3843114f [FIX] test_lint: add support for %d in string format
This commit add and test the support for string format with %d. this
is because python will fail if a string is passed to a %d, and
therefore we can consider it safe.

closes odoo/odoo#141993

X-original-commit: 37157cfa5df1201ffd51520969a3fb6b8a9dfdb1
Signed-off-by: Vranckx Florian (flvr) <flvr@odoo.com>
2023-11-14 15:16:07 +00:00
Paolo Gatti (pgi) a14c9f6c86 [IMP] account: Send and print, better no-email partner handling
When you open a Send and Print dialog, if the partner had no email,
then the form to edit the partne appears.
We're removing this behaviour and let the user decide if he wants
to check the partners or not

closes odoo/odoo#141549

Signed-off-by: Josse Colpaert <jco@odoo.com>
2023-11-14 15:16:04 +00:00
Djamel Touati 1b1d2d110e [FIX] stock: fix batch transfer validation
Steps to reproduce the bug:
- Go to inventory > operation > batch Transfer > new:
    - Select 2 picking out
- Confirm
- Try to validate

Problem:
A traceback is triggered:
ValueError: Expected singleton: stock.picking(7, 2)

“self.hide_picking_type = self.state != "draft" and self.ids and
'default_picking_type_id' in self.env.context “

opw-3583908

closes odoo/odoo#141975

Signed-off-by: William Henrotin (whe) <whe@odoo.com>
2023-11-14 13:49:30 +00:00
Michael (mcm) 5094cdcc9d [FIX] purchase_stock: fix tour steps builder
Before this commit, the builder called `this._super` which is not
defined anymore by `patch` and thus caused an error.
The call to `this._super` was useless as it does not use the returned
steps so this commit simply removes the line.

Fixes #141112

closes odoo/odoo#141968

Signed-off-by: Mathieu Duckerts-Antoine (dam) <dam@odoo.com>
2023-11-14 13:49:29 +00:00
Arnaud Joset 1e1add8014 [FIX] calendar: test_event_creation_mail was faulty
The following commit updated the test to use freezegun. One of the event start
date was not properly set before the freezegun date. As a result a notification
mail was sent.
https://github.com/odoo/odoo/commit/080688868e6acf31d3bd624798559852272bcc1a

Strangely, the test was passing during our tests even if the date was in the past.

Runbot issue: https://runbot.odoo.com/web#id=36179&view_type=form&model=runbot.build.error&menu_id=405&cids=1

closes odoo/odoo#141959

X-original-commit: f5a131931583a5d6c415742b3a65793b10e60daf
Signed-off-by: Arnaud Joset (arj) <arj@odoo.com>
2023-11-14 13:49:28 +00:00
Louis Baudoux ef8461d78b [FIX] iap: remove IAP neutralization
Since commit 550595d, it's no longer necessary to change the endpoint to
the IAP services test server.

closes odoo/odoo#141930

X-original-commit: 16a649231fcf98f2b3bae9e297ea892b9c93e3f9
Signed-off-by: Florian Daloze (fda) <fda@odoo.com>
Signed-off-by: Louis Baudoux (lba) <lba@odoo.com>
2023-11-14 13:49:24 +00:00
Djamel Touati 8c4e775cea [FIX] stock: fix production_lot settings
For existing users who had previously disabled the "Lots & Serial
Numbers" settings, by applying this fix: https://github.com/odoo/odoo/pull/138907/commits/376ee1289eba840f1d8b2b6149d933bdedd47518

They will get the user error each time they try to access the settings.
Therefore, we prefer to prevent this and trigger the error only when
necessary.

opw-3452946

closes odoo/odoo#141921

X-original-commit: 608439b09cb68409dec10427d5b927ce0a27d526
Signed-off-by: William Henrotin (whe) <whe@odoo.com>
Signed-off-by: Djamel Touati (otd) <otd@odoo.com>
2023-11-14 13:49:21 +00:00
Djamel Touati f2ba305e23 [FIX] mrp: don't set qty_done in finished move lines
Steps to reproduce the bug:
- Create a tracked product with BoM “P1”:
    - component: add any storable product e.g “C1”
    - byproduct: add any storable product e.g “B1”
- Update the stock of C1
- Update the stock of “P1” with two SN
- use the 2 SN of P1 as component in any MO and mark the MO as done
- Create a new MO to produce 2 units of P1
- Confirm the MO
- Click on “Mass produce”
- Generate two new SN

* First error : The byproduct quantity is not set

- Try to Mark as done the new MO

Problem:
A user error is raised: 'This serial number for product P1 has already
been produced'

When splitting the MO into two, a “stock.move.line”  are created with
a qty_done = 1, leading to an error when verifying if the serial_number
of the move_finished has already been produced.

When clicking the "mark as done" button on the MO, the function
"_check_sn_uniqueness" is triggered and since the finished product is
tracked and there is a serial number set in the MO, the function
"_is_finished_sn_already_produced" is called:
https://github.com/odoo/odoo/blob/c84d80cc71ca0e7120dd293bfc56f9027bfdf9fc/addons/mrp/models/mrp_production.py#L2158-L2162

Within this function, we verify if the move lines of the finished move
have a lot and qty_done set. If this condition is met and we do not need
to exclude this move, an error is triggered.

https://github.com/odoo/odoo/blob/77ca3a830d0f61ee8a5ba31b3b79e80e85c08e79/addons/mrp/models/mrp_production.py#L2063

https://github.com/odoo/odoo/blob/77ca3a830d0f61ee8a5ba31b3b79e80e85c08e79/addons/mrp/models/mrp_production.py#L2086

Solution:
Set "qty_done" to 1 only within the move lines of the components.

Opw-3566259

closes odoo/odoo#141521

X-original-commit: e0e6aed35d0f75c3ad01fbc329d7189f9e8d82f4
Signed-off-by: William Henrotin (whe) <whe@odoo.com>
Signed-off-by: Djamel Touati (otd) <otd@odoo.com>
2023-11-14 13:49:19 +00:00
Djamel Touati cf2d37ecd3 [FIX] mrp: allow use kit as component in MO without BoM
Steps to reproduce the bug:
- Create a kit product
- Create a storable product without BoM “P1”
- Create a MO to produce one unit of “P1”
- Add the kit product as component
- confirm the MO

Problem:
The Manufacturing Order is cancelled. This is because the MO contains
a kit product, and we need to generate moves based on its Bill of
Materials. However, at the same time, we cancel and remove the move
associated with the original product, which is no longer relevant.
But We remove it before creating the moves generated from the phantom
product. Consequently, since we cancel the move, the 'compute_state'
of the MO is triggered, and as there is only one 'move_finished' status
in 'cancel,' the status of the MO is set to 'cancel:

https://github.com/odoo/odoo/blob/5c238bbb18c682ff2d25f740aad604feb7bb5bbc/addons/mrp/models/mrp_production.py#L462-L463

Opw-3548464

closes odoo/odoo#140016

X-original-commit: baa0924974fee0115a0bce117141a8096455b88d
Signed-off-by: William Henrotin (whe) <whe@odoo.com>
Signed-off-by: Djamel Touati (otd) <otd@odoo.com>
2023-11-14 13:49:18 +00:00
Nicolas Bayet 6f599655e4 [FIX] web_editor: prevent the avatar to be loaded
In some undeterministic circumstances the tests in
`test_wysiwyg_collaboration.js` tried to load an image with a wrong
url (`/web/image?model=res.users&field=avatar_128&id=undefined`). It
is `undefined` because in the testing context, `this.getSession().uid`
is `undefined`.
It is not necessary to load these images in these tests so this commit
prevents the loading of these images.

runbot-24600
task-3566600

closes odoo/odoo#139958

Signed-off-by: David Monjoie (dmo) <dmo@odoo.com>
Signed-off-by: Nicolas Bayet (nby) <nby@odoo.com>
2023-11-14 13:49:18 +00:00
vava-odoo 8e69a3cc73 [FIX] website_sale_stock: fix warning message if unavailable
Before this commit, the warning to inform the user that a product has
become unavailable was the same, whether the user was on the cart or on
the product page. This commit makes sure that the message is adapted to
the context.

closes odoo/odoo#139332

Signed-off-by: Victor Feyens (vfe) <vfe@odoo.com>
2023-11-14 13:49:17 +00:00
Victor Feyens bd07557b16 [FIX] website_sale: overlapping x in cart alert
Bootstrap already adds a X on btn-close buttons automatically

Part-of: odoo/odoo#139332
2023-11-14 13:49:16 +00:00
vava-odoo bfe857db1d [IMP] website_sale: display warning in notifications
When adding items to the cart, the server returns warnings that are
never displayed to the customer. This commit makes use of the new
notification system of website_sale to display it.

task-3502911

Part-of: odoo/odoo#139332
2023-11-14 13:49:16 +00:00
Anh Thao Pham (pta) ce5fc3a1f2 [FIX] l10n_it_edi_withholding: fix install with multiple IT companies
Steps to reproduce:
- Install Accounting
- Create a Company located in Italy (e.g. Company A)
- Create another company located in Italy (e.g. Company B)
- Switch to Company A and set its fiscal localization to Italy in Accounting settings
- Switch to Company B and set its fiscal localization to Italy in Accounting settings
- Try to install "Italy - E-invoicing (Withholding)" module (10n_it_edi_withholding")

=> An User Error is raised:
"Incompatible companies on records:
- 'account.tax.repartition.line,688' belongs to company 'Company B' and 'Account' (account_id: '160900 Receivables for withholdings incurred') belongs to another company.
- 'account.tax.repartition.line,690' belongs to company 'Company B' and 'Account' (account_id: '160900 Receivables for withholdings incurred') belongs to another company.
- 'account.tax.repartition.line,692' belongs to company 'Company B' and 'Account' (account_id: '260200 Payables for withholding taxes to be paid') belongs to another company.
- 'account.tax.repartition.line,694' belongs to company 'Company B' and 'Account' (account_id: '260200 Payables for withholding taxes to be paid') belongs to another company.
- 'account.tax.repartition.line,696' belongs to company 'Company B' and 'Account' (account_id: '160900 Receivables for withholdings incurred') belongs to another company."

Cause:
When installing "10n_it_edi_withholding" module, some tax data are updated
for each Italian company.
These data are "generic" (not linked to any company) data, but some treatment
is performed on them for the first Italian company, linking them to the account
ids of that company.
The following companies are then updated with data linked to the first company.

opw-3538921

closes odoo/odoo#141898

X-original-commit: 9939789fd7024d864c365fe8f3ce311b96ba652c
Signed-off-by: William André (wan) <wan@odoo.com>
Signed-off-by: Anh Thao Pham (pta) <pta@odoo.com>
2023-11-14 12:38:30 +00:00
David Monnom (moda) bde8ac7505 [FIX] point_of_sale: proxy_ip validation error at demo data loading
The demo data of point_of_sale module was failing to load when pos_iot
module was installed due to proxy_ip validation error. In fact, the iot
module overrides this field by creating a relationship to iot_ip.
When the demo data is created in the pos, the iot does not yet exist,
so proxy_ip is empty, so it trigger the validation error.

Error validation is triggered only when proxy_ip is empty and
printer_type is set to "iot". In the point_of_sale data demos, we set
printer_type to false, which fixes the problem.

closes odoo/odoo#140457

X-original-commit: 2f1af3a39b0d61dbf7c70e4fbc6421af906854d0
Signed-off-by: Joseph Caburnay (jcb) <jcb@odoo.com>
Signed-off-by: David Monnom (moda) <moda@odoo.com>
2023-11-14 11:14:37 +00:00
Arnaud Baes eb5385b04a [FIX] website_event_track_live: Properly catch youtube_video_id
On live youtube videos, url are in reality like this:
`https://www.youtube.com/live/<video_id>` which was not properly
caught by the regex in its compute

Reported during OXP

closes odoo/odoo#141910

X-original-commit: fd348c6778138240d67aa778866cd9e4d49c5021
Signed-off-by: Warnon Aurélien (awa) <awa@odoo.com>
2023-11-14 09:49:05 +00:00
Pierre-Yves Dufays 239ea215da [FIX] test_mail: fix activity test failing randomly
Each failing of the test "activity menu widget: activity menu with 2 models"
was close to midnight. And that was actually the cause of the error.

Actually, when executing that test very close to midnight, the test activities
are set up for a day and the check happens the day after (actually a few second
after). As we check in this test "overdue", "planned" and "today" activities,
the tested value are not inline anymore with the test setup when switching from
a day to the next (passing midnight). For example, "today" activities become
"overdue" activities. To avoid that we patch the date to be far from midnight.

Task-3592798

closes odoo/odoo#141762

Signed-off-by: Warnon Aurélien (awa) <awa@odoo.com>
2023-11-14 06:43:54 +00:00
Pierre-Yves Dufays 644c27a784 [IMP] test_mail: use "await contains" instead of "assert" on dom
We replace the immediate dom checks with the more robust and standard construct
"await contains".

Task-3592798

Part-of: odoo/odoo#141762
2023-11-14 06:43:54 +00:00
Louis Baudoux 99b868f3d4 [FIX] l10n_in_edi: remove IAP sandbox reference
The support for IAP sandbox platform will soon be dropped, so all
references to it need to be removed.
This reference wasn't necessary in the first place since, in test mode,
the service doesn't require credits to run.

closes odoo/odoo#141939

X-original-commit: 66fcf2bc1360d42baa346d7447caa87ac511d127
Signed-off-by: Florian Daloze (fda) <fda@odoo.com>
Signed-off-by: Louis Baudoux (lba) <lba@odoo.com>
2023-11-14 01:56:39 +00:00
Aaron Bohy 7fc1c10a3a [FIX] web: cog menu: add description for command palette
The cog menu in the control panel (displayed next to breadcrumbs)
has a shortcut, so it is available in the command palette. However,
as is has no text content and no title/tooltip, the command palette
displays "No description provided". This commit adds a tooltip on
the icon, which is thus also displayed in the command palette.

closes odoo/odoo#141913

X-original-commit: 991e2e75d20bbb56b080c97e6b5ca96b746de3f3
Signed-off-by: Pierre Rousseau (pro) <pro@odoo.com>
2023-11-13 23:41:55 +00:00
tsm-odoo 518bbbaaa8 [FIX] im_livechat: fix translations for embed live chat
Before this commit, the templates of the embed live chat were
not translated. This is due to the live chat embed app being
mounted without giving any `translateFn`.

This commit fixes this issue.

opw-3509309

closes odoo/odoo#141869

X-original-commit: 27aa2cb0ad1d279f72838000932d94e91cb436f3
Signed-off-by: Alexandre Kühn (aku) <aku@odoo.com>
2023-11-13 21:13:37 +00:00
guva-odoo 43dedb5f3c [FIX] purchase: payment_reference purchase autocomplete
When selecting a purchase order on a vendor bill,
the payment_reference is replaced even it was
manually filled.

Steps:

- Create and confirm a PO
- Create a vendor bill, set the bill ref and
  the payment reference (different than bill ref)
- Select PO as purchase_vendor_bill_id
-> payment_reference is replaced by bill ref value

With this commit, we keep the payment_reference
as it is if not empty.

opw-3549673

closes odoo/odoo#141853

X-original-commit: 77a0449938dafdd234ecd5bf469ef3800336ba27
Signed-off-by: Laurent Smet (las) <las@odoo.com>
Signed-off-by: Guillaume Vanleynseele (guva) <guva@odoo.com>
2023-11-13 19:03:35 +00:00
Antoine (anso) 8e659d3ba7 [FIX] website_sale: remove background on open category accordion
This commit removes an undesired background on collapsible categories
when they are displayed in the left filter sidebar

task-3593419

closes odoo/odoo#141826

Signed-off-by: Antoine Vandevenne (anv) <anv@odoo.com>
2023-11-13 19:03:33 +00:00
Levi Siuzdak (sile) dec902180f [FIX] hr_timesheet: show all tasks assigned to user
Versions:
---------
- 15.0+

Steps to reproduce:
-------------------
1. install project & hr_timesheet;
2. create a follower-only project with timesheets enabled;
3. assign a task to a non-follower with user-level access rights;
4. log in as user;
5. go to timesheets app;
6. add a line.

Issue:
------
The assigned task doesn't show in the search results.

Cause:
------
The task's `allow_timesheets` field is set to be `related` to its
project's `allow_timesheets` field. This field is inaccessible for
private projects the user doesn't follow, so it doesn't show up when
searching tasks assigned to user where `allow_timesheets=True`.

Solution:
---------
Add compute and search methods to have `sudo` access without having to
make to field storable.

opw-3450671

closes odoo/odoo#141760

X-original-commit: 06e67687cf944ea14d38d3bf0272aece15d44faf
Signed-off-by: Xavier Bol (xbo) <xbo@odoo.com>
2023-11-13 19:03:32 +00:00
Gabriel de Paula Felix (gdpf) 1bcc41f7fe [FIX] microsoft_calendar: validation error creating events from microsoft
Before this commit, for some synced users, a weird behavior was happening when an event was created in Microsoft: the event info was being sent to Odoo with a different organizer than 'self.env.user' even though it was the same user creating the event.

After this commit, a condition checking if the event was created in Microsoft is added for skipping the checking since only events created in Odoo can have different organizers during their creation.

Issue from: 3450045

closes odoo/odoo#141481

X-original-commit: 176ca9789b0c2e032773f3ba2c72ab7e2ed24d91
Signed-off-by: Arnaud Joset (arj) <arj@odoo.com>
Signed-off-by: Gabriel de Paula Felix (gdpf) <gdpf@odoo.com>
2023-11-13 19:03:30 +00:00
Benjamin Hanquin (beha) 8c19636fd7 [IMP] Stock Production Lot dissociate last_delivery_partner_id computation
In stock_production_lot model, there is a field last_delivery_partner_id which is displayed in a Tree View. This fields require to compute ALL the delivery_ids of each LOT, only to display the last_delivery_partner.

This implies a big performance issue for big lots with huge tracability needs in it. The idea is simple, dissociate the computation for delivery_ids, which is only used in Form View and the last_delivery_partner_id which is only used in the Tree View.

I do agree that if both are used in the same view, it would double the computation time. But currently there is a lot of useless computation. Currently the only way to mitigate is by removing the field last_delivery_partner_id in the Tree View, but if client needs that field, it doesn't works.

Benchmark

|Lots/Serial |# Lots | # Delivery | Before PR | After PR |
|:------------:|:---------:|:--------:|
|Lots| 3 | 3  | 0.2723 s |0.0091 s |
|Lots| 4 | 6699 | 307.98 s | 0.0059 s |
|Lots | 13 | 9575 | 569.85 | 0.0036 s |
|Serial | 80  | 80  | 0.30 s | 0.42 s |
|Serial | 150 | 150 |0.39 s | 0.51 s |
|Serial | 7000 | 2000 | 0.50 s/Batch of 1000 | 0.60 s/Batch of 1000|

closes odoo/odoo#141301

X-original-commit: 9ed2b69cc06b1da481dfdc376dab50738a0471dd
Signed-off-by: Benjamin Hanquin (beha) <beha@odoo.com>
Signed-off-by: William Henrotin (whe) <whe@odoo.com>
2023-11-13 17:53:39 +00:00
Demesmaeker 19ca6e12d6 [IMP] website_sale: reactivate cart testing tour
task-3547913

closes odoo/odoo#139589

Signed-off-by: Morgane Demesmaeker <edm@odoo.com>
2023-11-13 17:53:38 +00:00
Moens Alexandre f9aea52d7a [FIX] pos_paytm: neutralize
This commit adds the missing neutralisation necessary for the `pos_paytm`
module introduced in [1]

The purpose of the standard neutralisation framework is to allow us to
create database copies that will not interract with external systems in
ways that could impact the production database (or if it is not possible
to prevent the interractions, make sure that they are benign or wont result in actual changes),
or impact the customers of the operator of the production database.

This is mainly useful to allow safe support investigation on database
duplicates.

[1] https://github.com/odoo/odoo/pull/133334

closes odoo/odoo#141839

X-original-commit: 8c511a7f95a7fa0a7c1c0610a353eacd0fcc3b83
Signed-off-by: Quentin Lejeune (qle) <qle@odoo.com>
2023-11-13 16:17:56 +00:00
Josse Colpaert 3b604cfc36 [FIX] l10n_es_edi_facturae: do not put facturae for simplified invoices
Facturae is auto_install and as such if you want to
do e.g. simplified invoices in the PoS, it will give
an error telling that you need a VAT number as it tries
to send it (generate the Facturae) from the PoS.

So, we deactivate Facturae when the invoice is simplified.

closes odoo/odoo#141832

Signed-off-by: Vlad Stroia (vlst) <vlst@odoo.com>
2023-11-13 16:17:55 +00:00
vlst b8e62185c4 [FIX] point_of_sale: check payment amount
In the pos one cannot make a payment that is larger than the
required amount if there is no cash payment option.
In order to check this there is a condition in the `payment_screen`.
The problem is that this condition fails to spot certain cases.

Steps to reproduce:
- open a pos that has only one payment method and this method is `bank`;
- buy an item for 10 $;
- try to pay 11 $;
- notice error popup; ( this is the expected behaviour )
- now try to create another payment line for any amount ( ex 9999 $ )
- as this is a different payment line the error popup will not appear;
--> this is wrong

In this commit we change the condition such that it detects this type of
error too.

closes odoo/odoo#141778

Signed-off-by: Adrien Guilliams (adgu) <adgu@odoo.com>
2023-11-13 16:17:54 +00:00
roen-odoo 631dea3998 [FIX] pos_sale: Correctly split lines when product are not groupable
Current behavior:
When importing a sale order with a product that is not groupable, the
line is not split and the whole quantity is added to one line.

Steps to reproduce:
- Create a new uom category that is not groupable
- Add a new uom to the category
- Create a new product with the uom
- Create a new sale order with the product
- Settle the order in the PoS
- All quantity is on one line

This is also an issue if the product is tracked by serial number. The
popup to fill the serial number will only have one field, even if the
quantity is greater than 1.

opw-3493378

closes odoo/odoo#141302

X-original-commit: 957942fe64391f9df7bee38d179cd1ce75fff787
Signed-off-by: Vlad Stroia (vlst) <vlst@odoo.com>
Signed-off-by: Robin Engels (roen) <roen@odoo.com>
2023-11-13 16:17:53 +00:00
Xavier Morel bc81230311 [FIX] core: skip marking completed tours as failed, restore had_failure
Succeeds #140464

Misunderstood `had_failure` and should not have reused it, its goal is
to avoid eagerly aborting some JS tests -- specifically the unit test
suites -- while still logging errors normally (useful when watching
interactively, or for the runbot's own reporting).

So the *checks* added on `had_failure` should in fact be checks on
`_result.exception()`, and as it turns out on `_result.done()`: if a
tour is already marked as successful we can't fail it either.

So we should not, we should log an error (to notify the caller /
runbot) and then bail. While #140464 did improve some things, we could
still lose legit errors and get pages of unhelpful `InvalidStateError`
if a tour would succeed *then* failures would occur, as the guard only
checked that the tour had already failed.

closes odoo/odoo#141815

X-original-commit: 87fcf66203dcbd281470285d648365d33d0e2fca
Signed-off-by: Xavier Morel (xmo) <xmo@odoo.com>
2023-11-13 14:38:40 +00:00
Deependra Solanki 7b95f5c8a7 [FIX] web_editor: remove redundant code from setTagName
Commit [1] implemented an approach for changing style of a list item to normal.
It no longer wrapped the content in a <p> to remove extra spacing to next list
item. Later commit [2] was introduced which did the same thing but in sanatize.
Hence the code added in commit [1] is no longer needed.
This commit removes the redundant code from `setTagName`.

[1]: 03a134c
[2]: 324e138

closes odoo/odoo#141812

X-original-commit: bd1e432dc29be0dec6e52b142d9fb712335209b6
Signed-off-by: Antoine Guenet (age) <age@odoo.com>
2023-11-13 14:38:38 +00:00
jugj-odoo 3d8fb4d699 [FIX] hr_attendance: Fix attendance creation if no default user
Steps to reproduce:
-------------------
- Create user with default company A
- User may have related employees, but not in company A
- Go to attendance - click -> New
You will get a traceback related to the sql request of _compute_overtime_hours

Explanation:
------------
- The query needs a non-empty list of employees

Fix:
----
- Don't run the sql query if we haven't defined any employees yet on the attendance

closes odoo/odoo#141808

Signed-off-by: Sofie Gvaladze (sgv) <sgv@odoo.com>
2023-11-13 14:38:37 +00:00
Mahamadasif Ansari 679c813ec7 [FIX] hr_attendance: not filter attendance without check out
Currently, an error occurs when the user tries to open an employees
who checks in but does not check out.

Steps to produce:
1. Install 'hr_attendance'
2. Open Attendence > Attendences > create new
3. Set check In date previous month and no add Check out
4. Open employees > try to open current user

Error:  `'<=' not supported between instances of 'bool' and 'datetime.datetime'`

This is because https://github.com/odoo/odoo/pull/140629 added [1] in the
filter, but in certain cases, the `att.check_out` may not be present.

This commit fixes the above issue by filtering attendees who have
a check-out date.

[1]-https://github.com/odoo/odoo/blob/46f2a019bd141389233257f24f0ddae05b0fa008/addons/hr_attendance/models/hr_employee.py#L82

sentry-4616207347

closes odoo/odoo#141771

X-original-commit: b0cb1ad7b43a296b91377df80b30cbd3976553b4
Signed-off-by: Sofie Gvaladze (sgv) <sgv@odoo.com>
2023-11-13 14:38:36 +00:00
lejeune quentin fe20e29c1e [FIX] point_of_sale: Fix package to be able to upgrade iot kernel in debian bookworm
Installations from the current Debian Bookworm (12.0) on amd64 systems are experiencing problem that prevents
the kernel from being upgraded (e.g. when trying to upgrade to kernel linux-image-6.1.0-10-amd64)

closes odoo/odoo#141588

Signed-off-by: Quentin Lejeune (qle) <qle@odoo.com>
2023-11-13 14:38:34 +00:00
FrancoisGe d93446a9bd [FIX] web: x2many shouldn't have virtualId in domain
Before this commit, if we have x2many fields which contain a virtual
record with the many2many_tags widget, a server error will occur during
a search because the "name_search" will be performed with a domain containing
a virtualId.

This commit will therefore filter the virtualId when generating the domain
used by the "name_search".

closes odoo/odoo#141269

Signed-off-by: Aaron Bohy (aab) <aab@odoo.com>
2023-11-13 14:38:34 +00:00
FrancoisGe f833e7e052 [FIX] web: x2m not editable inline with save & new
Before this commit, in a form view with an x2many in non-editable list mode,
creating a record by clicking on "Save&New" allows it to be edited inline
despite the list view not being editable. The purpose of this commit is
to prevent this from happening.

How to reproduce:
- Go to a form view with an x2many field in non-editable list mode
- Add a record
- Edit the new record
- Click on Save&New
- Edit the new record

Before this commit:
    The new record is in edition in the list view

After this commit
    The new record is not in edition in the list view

Part-of: odoo/odoo#141269
2023-11-13 14:38:34 +00:00
FrancoisGe ad7be43149 [FIX] web: boolean field toggle in editable list
Before this commit, in an editable list view (or in x2many), you need
to click twice on a boolean field to change its value. The first to set
the record to edit and the second to toggle the value.
The purpose of this commit is to simplify this flow by only requiring one click.

How to reproduce:
- Go to a form view with an x2many in editable list mode that contains a boolean field.
- Click on the boolean field of the first record

Before this commit:
    The record goes to edition and the value of the field has not changed.

After this commit;
    The record goes to edition and the value of the field has changed.

closes odoo/odoo#141153

Signed-off-by: Aaron Bohy (aab) <aab@odoo.com>
2023-11-13 14:38:33 +00:00