Commit Graph
168132 Commits
Author SHA1 Message Date
Sébastien Theys 70526f74ee [FIX] mail: tests: batch partner format of follower format mockserver
Evaluation of getRecords domain is slow, it is much faster to call the
formatter only once with a list.

Part-of: odoo/odoo#145442
2023-12-08 15:57:52 +00:00
Sébastien Theys 48d73a1ead [FIX] web: improve perf of matchDomain
`operators` object only contains 3 specific strings as key, and most
domain items are arrays. Checking the type of the item to avoid a costly
and failing `in` check, as well as using direct key access, allows
gaining a lot of time.

The method going from 60ms to 6ms when running the test
"Load 100 recipients at once" on my machine, and the specific line tends
to 0ms.

Part-of: odoo/odoo#145442
2023-12-08 15:57:52 +00:00
Pedram (PEBR) ba37217944 [FIX] point_of_sale: enable date search functionality in ticket screen
After commit https://github.com/odoo/odoo/commit/4c8fddd57029608bb616c2ff4761b7d41b674986 where `date_order` was transformed to
DateTime. This modification eliminates the need for deserializeDateTime
during the search process, ensuring accurate date-based search in the
ticket screen.

opw-3621659

closes odoo/odoo#145399

Signed-off-by: Joseph Caburnay (jcb) <jcb@odoo.com>
2023-12-08 15:57:51 +00:00
stefanorigano (SRI) 6e006c05ce [FIX] website_sale: dropdown overflow issue
Partially revert the 'table-responsive' layout introduced by commit
https://github.com/odoo/odoo/commit/5abccc.

The addition of the 'table-responsive' class in commit https://github.com/odoo/odoo/commit/5abccc
effectively addressed the overflowing of very long product names without
whitespace. However, it inadvertently introduced a new issue by
partially concealing the "Download" dropdowns for digital products.

To mitigate this problem, this commit disables the
'table-responsive' layout when website_sale is installed.
This adjustment preserves the accessibility of the "Download"
dropdowns while still offering a workaround for accommodating lengthy
product names.

task-3335488 (bugfix)
task-4720 (rd-design)

closes odoo/odoo#144680

X-original-commit: ce9c5ff8af739a3f9be3ffa98c6119b0c346a53c
Signed-off-by: Antoine Vandevenne (anv) <anv@odoo.com>
2023-12-08 15:57:49 +00:00
Ruben Gomes (rugo) 292dfc20ba [REF] web: nested_sortable_tests
Exports the sortableDrag function, so it can be used in other modules (like account_reports for example).

closes odoo/odoo#145027

Related: odoo/enterprise#50283
Signed-off-by: Habib Ayob (ayh) <ayh@odoo.com>
2023-12-08 15:57:46 +00:00
Prakash Prajapati 37e1e18284 [IMP] web, project, (_todo): add hide_label options in the state_selection in all view
If someone wants to show the label of the state_selection field then
it can be shown

like-
 <field name="xxx" widget="state_selection" options="{'hide_label': False}"/>

task-3475416

closes odoo/odoo#136901

Related: odoo/enterprise#48060
Signed-off-by: Bertrand Dossogne (bedo) <bedo@odoo.com>
2023-12-08 15:57:43 +00:00
Florian Charlier 6f3fc4b173 [FIX] survey, base: show trigger icon immediately
Since the refactoring of the JS relational model (d4fe919d),
the list is not fully re-rendered after field updates,
such that a fixed narrow column width is added at first rendering
if there are no triggers shown on any row, and cannot be updated.

We need to override it by providing a `width`, which was already
a supported attribute but not declared in rng.

Task-3512604

closes odoo/odoo#135895

Signed-off-by: Warnon Aurélien (awa) <awa@odoo.com>
2023-12-08 15:57:41 +00:00
Adrien Dieudonné 96ad7f806f [FIX] web: wkhtmltopdf overlapping table lines
Before this commit we had an issue when a product's description took
more than one page. In this case, the following `<tr>` was overlapping.

By removing this line we remove an old fix that seems not working
anymore... It looks like it was needed when a customer wanted to repeat
the table header on each page. This use case is supported by Odoo as
we suggest it as a customization in the code, see here:
"<!-- In case we want to repeat the header, remove "display: table-row-group" -->"
This feature is still working without this fix except when a line
overflows onto another page but the removed fix doesn't help anyway...

There is another line that refers to this fix for accounting reports
but we prefer to keep this commit minimal and clean it in master.

Note that this bug is also present in 15 but as this issue is quite old
and tricky we prefer to not fix it this until we have other complains.
Feel free to backport this commit if needed.

Steps to reproduce:
- Go to Sales
- Create a new quotation
- Add a product with a very long description that takes at least a whole page.
- Add anoter product.
- Print it as a .pdf.
=> Product descriptions overlaps on page 3.

opw-3411031

closes odoo/odoo#145458

X-original-commit: a809e63eae5224696965781e9ab7e2e195555292
Signed-off-by: Pierre Paridans (app) <app@odoo.com>
Signed-off-by: Adrien Dieudonné (adr) <adr@odoo.com>
2023-12-08 14:30:13 +00:00
Aaron Bohy 5b75ee47aa [FIX] board: remove Add to my dashboard in form views
Since the milk redesign, and the move of the "Add to my dashboard"
action from the search view to the CogMenu (next to breadcrumbs),
the action was available in all views, especially in form views,
which isn't what we want. Adding a form view to the dashboard
results in an empty form view (in creation) being displayed in the
dashboard.

Before milk, the form view naturally didn't allow to add to
dashboard as it has no search view.

This commit checks the view type to determine if the action must
be available or not.

Task 3552870

closes odoo/odoo#145534

X-original-commit: d01c75938948bd0e365d7ca1e4f518ce5b563f5c
Signed-off-by: Jorge Pinna Puissant (jpp) <jpp@odoo.com>
2023-12-08 11:16:36 +00:00
Gabriel de Paula Felix (gdpf) 12a56d6888 [FIX] microsoft_calendar: external users event creation ACL error
Before this commit, customers were facing issues when syncing events from Outlook that came from external users when the event organizers were from 'Portal' or 'Public' groups with limited access to calendar events, triggering ACL errors regarding absence of event permissions for creating events. This error should not happen because the events are being synced by a user with permission to create them in Odoo. Additionaly, when inserting events, we were not trying to make the requests with the organizer user's token but with the current user's token instead. This could lead to errors when the current user is not synced and the request could be lost due to the lack of token.

After this commit, the events with external organizers (with limited access rights in Odoo) coming from Outlook synchronization are now created by the attendee in Odoo (synced user) not the external organizer. Additionaly, when inserting, patching and deleting events, first we check if the organizer is synced to make the request with its token, otherwise we use the current user's token to make the request.

closes odoo/odoo#145492

Task-id: 3627270
X-original-commit: 1df1d44
Signed-off-by: Gabriel de Paula Felix (gdpf) <gdpf@odoo.com>
2023-12-08 11:16:35 +00:00
Sébastien Theys 9723bca3a7 [FIX] mail: fix load older/newer not detecting change of isLoaded
See comment in diff for rationale about the `isLoaded` change.

Also highlighting message before jumping to present can conflict: some
programatic scroll changes are prevented or delayed while there is a
highlight, jumping to present should clear that.

All "previous state" variables need to be reset when re-using the thread
component after making a change that led to reloading the message list
(such as a long jump). They are used to compare value before/after some
changes, but when jumping, the state should be considered clean.

`isJumpingRecent` is obsolete heuristics that has been replaced by
better controlling scroll and visibility check.

Extra `await` in `loadAround` makes no sense.

It's the best guess to fix the following runbot issues. The error
doesn't happen frequently enough to be a guaranteed fix.

runbot-40592
runbot-48557

closes odoo/odoo#145419

Signed-off-by: Alexandre Kühn (aku) <aku@odoo.com>
2023-12-08 11:16:35 +00:00
sesn-odoo f84fc3c1e8 [FIX] {test_,}mail: don't copy alias_id for models using optional alias
Summary
-------
Currently, duplicating a journal results in the new journal's mail alias
name overwriting the original's.

Steps to reproduce
------------------
* install `account_accountant`
* duplicate the "Vendor Bills" journal

=> you should see that the alias name of the new journal overwrites the
alias of the original journal.

Cause
-----
When duplicating a journal, the new journal inherits the alias of the
original. Because of this, a specific code segment intended to generate
missing aliases for new sale/purchase journals, inadvertently modifies
the name of the alias.

opw-3597349

closes odoo/odoo#143771

Signed-off-by: Thibault Delavallee (tde) <tde@openerp.com>
2023-12-08 11:16:33 +00:00
Benjamin Vray 81ba53d309 [FIX] web_editor: fix snippet name overflows
If the snippet names are too long (e.g., after being translated), they
overflow and cause a horizontal scrollbar to appear on the snippet menu.

Steps to reproduce the issue:

- Set 'Finnish' as the language for the connected user in Odoo.
- Go to Website edit mode.
- Bug: Some snippet names are too long and overlfow their parent
elements.

This commit fixes this issue by adding the CSS rule 'ellipsis' to
snippet names.

task-3584011

closes odoo/odoo#145500

X-original-commit: 0ab64009ce81dc02f87c80f7de409a5dcff214c1
Signed-off-by: Romain Derie (rde) <rde@odoo.com>
Signed-off-by: Benjamin Vray (bvr) <bvr@odoo.com>
2023-12-08 09:53:42 +00:00
William Henrotin 9cad1f3293 [FIX] {purchase_}stock{_account}: do not apply tax twice
Since commit [1], at the creation of a bill, if a part of the quantity
to invoice is already out, we compute the value to impact the stock
valuation accounts. The issue was in this case the included price taxes
was applied 2 times. Once as we make the computation with
`price_subtotal` field, the second time because commit [1] forgets to
remove the extra `compute_all`.

[1]: 8444f5aae8b83c113e1cd2864ec11e92d836780a

closes odoo/odoo#145493

X-original-commit: 55be6781e514c34c1d2b7b9911aebe9f17bd3d12
Signed-off-by: Arnold Moyaux (arm) <arm@odoo.com>
Signed-off-by: William Henrotin (whe) <whe@odoo.com>
2023-12-08 09:53:41 +00:00
Maximilien (malb) e7e3e52cc0 [IMP] l10n_br_website_sale, portal, website_sale: translation
Currently, when using the website, you can input your information either during
the first checkout (website_sale) or in the profile (portal). The problem was
that the translation of the VAT was confusing for the user, as they may not
understand what "VAT" is.

We also added a field in the two forms, so it needed translation too.

This commit will change the translation in l10n_br_website_sale, website_sale
and portal to make it more clear for the user, helping them know what to input.

closes odoo/odoo#142165

Task: 3576516
Signed-off-by: Florian Gilbert (flg) <flg@odoo.com>
2023-12-08 09:53:38 +00:00
Maximilien (malb) c003cac091 [IMP] l10n_br_website_sale: vat required + identification type latam
At the moment, there are two possible flows to modify the personal information
of the user. Either during the first checkout (website_sale) or by modifying
the information on the account present on the website (portal).

For both of these flows, when the client and the website are Brazilian, the
input for the VAT must be required.
This commit will override the corresponding function to make the input required
under these conditions.

Also, we have added a new field on the two forms. Just before the vat input, we
can now find the l10n_latam_identification_type_id.

Task: 3576516
Part-of: odoo/odoo#142165
2023-12-08 09:53:38 +00:00
William Henrotin 1e39c7b448 [FIX] stock: remove check company on route_ids
Creating a stock move chain through `action_confirm()` + `run_*()`
sometimes needs to carry data from move to move to specify the future
documents to be created. For instance the supplier to choose to create
purchase order or stock route to filter stock rule to be triggered . The
field `route_ids` on `stock.move` has exactly this meaning. Forcing the
route to have the same company than the stock move may be too strict for
some intercompany flows inside which the route to choose are just saved
for future stock move creation.

Task 3527727

closes odoo/odoo#145384

Signed-off-by: William Henrotin (whe) <whe@odoo.com>
2023-12-08 08:35:21 +00:00
Martin Maes 775a7ec52c [IMP] mrp,stock,purchase_stock: add test for replenishment wizard
This commit adds tests for the computation of the date of
the replenishment wizard.

Taken into account for the date computation:
- vendor lead time
- days to purchase
- security days for purchase
- security days for mrp
- rule lead time

task-3527727

Part-of: odoo/odoo#145384
2023-12-08 08:35:21 +00:00
Martin Maes 48ad881636 [FIX] mrp,stock,purchase_stock: replenish delay
The previous delay showed in the replenishement wizard did not take
the following delays into account:
 - vendor lead time
 - days to purchase
 - security days for purchase
 - security days for mrp
 - rule lead time
 - manufacturing lead time (BoM)
 - days to prepare manufacturing order (BoM)

Made the vendor delay visible by default in the vendor search view

Also changed function orders in stock/product_replenish as it
 did not follow the guidelines

task-3527727

Part-of: odoo/odoo#145384
2023-12-08 08:35:21 +00:00
Martin Maes fe9c1249d0 [FIX] purchase_stock: remove show vendor button
The show vendor button creates an orderpoint.
This commit removes it as it should not create one.
The wizard will be adapted in a future master pr.

task-3527727

Part-of: odoo/odoo#145384
2023-12-08 08:35:21 +00:00
Martin Maes ae7e503947 [FIX] stock,mrp,purchase_stock: replenish fix
In 16.4, this commit https://github.com/odoo/odoo/commit/c3b7a87462cd41654d0e2bd3beb2f0e065ddfb75
created a notification when replenishing a product.
However, it achieved it by modifying a stock.order_point which was
not the ideal solution as we don't want the order_point to change.

In this commit, we will revert to the previous behaviour,
but we'll keep the notification by delegating it to the wizard itself.

The way the record created were retreived (to display the notification)
was thanks to the orderpoint.
As we do not have access to orderpoints now, we are just retreive
the first record (of a certain type) created just after the start
of the function.

This method has a big problem : concurrencies.
If anyone creates a record on ``manufacturing.order``,
``purchase.order.line`` or ``stock.move`` between the start of
our timer and the creation of our record, a wrong record will be
selected.

task-3527727

Part-of: odoo/odoo#145384
2023-12-08 08:35:21 +00:00
Gauthier Wala (gawa) a00200a947 [FIX] account: test switch of days
If we begin to run the test at 23h59m59s, the move date could be put
at a day and the freeze for the cron on the following day, and so,
make the test fail.
Let's just define the day explicitely.

Linked to runbot error 36224

closes odoo/odoo#145444

X-original-commit: 9206e16c84038f08606c045dcf138f72ef78aa4a
Signed-off-by: John Laterre (jol) <jol@odoo.com>
Signed-off-by: Wala Gauthier (gawa) <gawa@odoo.com>
2023-12-08 07:27:14 +00:00
micheledic 0969c13237 [FIX] stock: fix for TypeError: value.toFixed is not a function on BomOverviewTable caused by False value on quantity
closes odoo/odoo#145449

Signed-off-by: Quentin Wolfs (quwo) <quwo@odoo.com>
2023-12-08 01:45:39 +00:00
Mahdi Cheikh Rouhou (macr) 3341285652 [FIX] website_sale: not reset access point on payment method change
Similar to this: https://github.com/odoo/odoo/pull/124425

Issue:
======
The shiping and billing address are the same when choosing pick up
locations which is not true.

Steps to reproduce the error:
=============================
- install website_sale and delivery_sendcloud module;
- create a shipping method (use Sendcloud provider);
- configure the integration with
"Mondial Relay Point Relais International 1-2kg";
- configure option with shipping rule and use location;
- on website create a new quotation with the pubic user;
- process the checkout;

(Check in backend the shipping weight)

- fill City and Zip Code fields with correct value
(example: Paris | 75011)

(- configure the company's country)

Origin of the issue:
====================
Updating the payment method will trigger a cart update which will reset
the access_point_address.

Solution:
=========
Using the context variable `no_reset_access_point_address` introduced
in the commit mentioned above.

opw-3615829
opw-3596705

closes odoo/odoo#145425

X-original-commit: 7d43176d35faad025dd98c52cebb07a8f16e2270
Signed-off-by: William Henrotin (whe) <whe@odoo.com>
Signed-off-by: Mahdi Cheikh Rouhou (macr) <macr@odoo.com>
2023-12-08 00:09:00 +00:00
Guillaume-gdi d2fdecd7b3 [FIX] website: lower case industry name in configurator
This commit converts the industry name in the configurator to lowercase
it in order to optimize the IAP placeholder cache.

task-3626875

closes odoo/odoo#145231

Signed-off-by: Romain Derie (rde) <rde@odoo.com>
2023-12-08 00:08:50 +00:00
Benjamin Vray c0ce960582 [FIX] web_editor, website: fix highlight animated text icon
Steps to reproduce the bug:

- In Website edit mode, drag and drop a 'Text-Image' snippet onto the
page.
- Select the word "Subtitle" in the title of the snippet.
- Click on the 'Animate' button in the editor toolbar.
- Bug: The 'Highlight Animated Text' icon that appeared on the right of
the title ("Inline Text") of the editor toolbar is too big.

task-3597377

closes odoo/odoo#144892

Signed-off-by: Romain Derie (rde) <rde@odoo.com>
2023-12-08 00:08:48 +00:00
rkka-odoo 26de73f7c5 [FIX] product: prevent traceback when print preview report
qwhen user tries 'PRINT PREVIEW' product.report_producttemplatelabel_dymo report
in web_studio, A traceback will appear.

Step to produce:
- Install 'Sales' and 'web_studio'.
- Go to 'web_studio' and open 'Sales'.
- reports > product.report_producttemplatelabel_dymo
- Click PRINT PREVIEW

Error: QWebException: Error while render the template KeyError: 'pricelist'

https://github.com/odoo/odoo/blob/e4390c224c2f59afd6456bcf50910fbe3836b4ca/addons/product/report/product_label_report.py#L23-L26
Here 'pricelist' is not present in return.

sentry-4673780990

closes odoo/odoo#144475

Signed-off-by: Victor Feyens (vfe) <vfe@odoo.com>
2023-12-08 00:08:47 +00:00
rhe-odoo 94d0addb8b [FIX] pos_sale: override order_line_field
In the _order_line_field function from the pos order line model,
the override doesn't set a default value for session_id in pos_sale.

Now we make sure the override is correct.

closes odoo/odoo#139973

X-original-commit: bb3742fcc82c032d85f6a547ba1ecb8a84819a25
Signed-off-by: Adrien Guilliams (adgu) <adgu@odoo.com>
Signed-off-by: Joseph Caburnay (jcb) <jcb@odoo.com>
2023-12-08 00:08:45 +00:00
Kacper Gasior d36f23bbf3 [IMP] hr: add missing helpers
Change adds missing helpers and alters some of their messages
in differents parts of HR apps.

task-3522163

closes odoo/odoo#145268

X-original-commit: a2238763d4fad99da69a96104adf26b6d8eca938
Related: odoo/enterprise#52261
Signed-off-by: Bertrand Dossogne (bedo) <bedo@odoo.com>
2023-12-07 22:48:39 +00:00
Pedram (PEBR) 2659e98a36 [FIX] pos_restaurant, *: correct receipt printing for paid orders
Prior to this commit, attempting to print a receipt for a paid order in
the PoS restaurant resulted in an error. This issue was due to the
'getReceiptHeaderData' method in the PoS restaurant using
'this.get_order()' to retrieve the order, which is not applicable for
paid orders. Additionally, this problem exists in other modules that
override 'getReceiptHeaderData'.

To resolve this, the order is now passed as an argument to the
'getReceiptHeaderData' function.

opw-3616997

closes odoo/odoo#145252

Related: odoo/enterprise#52249
Signed-off-by: Vlad Stroia (vlst) <vlst@odoo.com>
2023-12-07 21:30:05 +00:00
Julien Carion (juca) a33028095f [FIX] sale_product_configurator, web: fix warning
This commit fixes an issue with the product configurator where if a
subproduct contains an on sale warning, the subproduct won't be added to
the quotation when the main product is added. In order to fix this issue,
it was needed to provide a way for the allowWarning option to be passed
from the addNew method of the basic_relational_model to the
_applyX2ManyChange method of the basic_model. This is done by propagating
the option through the command until it reaches the basic_model.

Since the issue is no longer present in 16.3, this forward port only
adds the test.

opw-3462462

closes odoo/odoo#145404

X-original-commit: 2204ced3e24773c34e9356fd5b1d658f8b330dd1
Signed-off-by: Aaron Bohy (aab) <aab@odoo.com>
Signed-off-by: Julien Carion (juca) <juca@odoo.com>
2023-12-07 20:00:42 +00:00
Antoine Dupuis (andu) 68a6db4f96 [MOV] l10n_de: Move code for setting default tags on accounts to l10n_de
Previously, the code that sets default tags on bank accounts was in
l10n_de_reports, so was not yet loaded when the demo company is created
at module init of l10n_de.

As a result, the demo company was created without the necessary tags
on the 1001 Cash and 1201 Bank accounts, which meant that the Balance
Sheet would not be impacted by these accounts on the demo company.

This commit fixes this.

taskid:none

closes odoo/odoo#145357

X-original-commit: 70c3cf2fa31fca3fea93d8623dc38cad0d048450
Related: odoo/enterprise#52302
Signed-off-by: Olivier Colson (oco) <oco@odoo.com>
Signed-off-by: Antoine Dupuis (andu) <andu@odoo.com>
2023-12-07 18:35:51 +00:00
Adrien Guilliams (adgu) 8f2810d125 [FIX] pos*: adapt overall mobile display to new size
A recent commit (odoo/odoo#139686) changed the size of the mobile view
in pos to <= 992px. This commit adapts the overall display
to this change.

closes odoo/odoo#144703

Signed-off-by: Joseph Caburnay (jcb) <jcb@odoo.com>
2023-12-07 15:53:08 +00:00
abd-msyukyu-odoo b2c5f07391 [IMP] web_hierarchy: add padding on the last row
Prior to this commit, the last hierarchy row bottom was exactly at the viewport
bottom, which was a little cramped. This spacing will clean this up.

task-3562116

closes odoo/odoo#143941

Signed-off-by: Xavier Bol (xbo) <xbo@odoo.com>
2023-12-07 15:53:07 +00:00
abd-msyukyu-odoo c477d21384 [FIX] web_hierarchy: update nodePerNodeId of the forest on drop
When dropping a node in a different tree, the `nodePerNodeId` of the forest was
not updated. The result was that `HierarchyNode.canShowChildNodes()` could be
wrong because `Forest.resIds` could contain the same id multiple time if the
original tree is unfolded again after the drop operation. Properly calling
`collapseChildNodes` on the root of the expanded tree will update
`nodePerNodeId` for the tree and the forest.

task-3562116

Part-of: odoo/odoo#143941
2023-12-07 15:53:07 +00:00
abd-msyukyu-odoo 99f40907f6 [FIX] web_hierarchy: drop a child as a sibling
When dropping a child with an opened sub-hierarchy as a sibling of the original
parent, the original parent should be closed.

task-3562116

Part-of: odoo/odoo#143941
2023-12-07 15:53:07 +00:00
abd-msyukyu-odoo 8087b7cb0e [FIX] web_hierarchy: remove children nodes when dropping a parent
When removing a child node, its descendants were removed from the tree, but its
nodes were not reset, meaning that ghost nodes remained displayed in the
hierarchy view while not referenced in the model anymore.

Calling `removeChildNodes` on the removed child node will remove its descendant
from the tree and reset its nodes.

This commit forces the update of every descendant of a dropped node since some
values could have been updated because of their new ancestor (i.e. access rights
in Knowledge).

This allows to keep an opened hierarchy open after the drop, while avoiding the
"ghost" situation.

task-3562116

Part-of: odoo/odoo#143941
2023-12-07 15:53:07 +00:00
abd-msyukyu-odoo ab944b2450 [IMP] web_hierarchy: scroll to a dropped card
When dragging a card at an intermediary position, the view is scrolling to
the bottom, so the user looses track of the card that was just dropped. The view
should instead be scrolled to the dropped card, and only if necessary.

"Smooth" scrolling is handled by the browser rendering engine and is separate
from the JavaScript execution context. Therefore no test is introduced for the
"auto-scroll" feature.

task-3562116

Part-of: odoo/odoo#143941
2023-12-07 15:53:07 +00:00
abd-msyukyu-odoo 6772252c99 [FIX] web, web_hierarchy: ensure proper scroll speed/behavior
In [1], an automatic scroll feature was introduced in order to always scroll to
the bottom of the hierarchy view after each patch.

The `isAnchor` option is removed, because in `Knowledge` it has the side effect
of completely scrolling the article down to the last card of the Hierarchy
view, hiding the rest of the view. Also, that option was not useful in the
standard configuration since there is only one scrollable parent.

Another issue is that the `scroll-behavior: smooth` css property also affects
the scroll speed of the `draggable_hook_builder`, which means that drag scroll
speed is extremely slow and does not follow the speed computed in that file.
This style is therefore removed, and `scrollTo` is refactored:
  - Make use of the native `Element.scrollTo` method, which has a `behavior:
    "smooth"` option.
  - Move and rename methods to compute the closest scrollable from the
    `draggable_hook_builder.js` to `scrolling.js`.
    - They check if a scrollable has a client[Dimension] greater than 0 for
      eligibility.
    - They check the proper `overflow-[axis]` from the computed style (`auto`
      and `scroll` are eligible).
    - A test of `scroller_service_tests` was updated because even if an element
      has `max-height: 0`, its children still can have a height and make their
      scrollable ancestor have a `scrollHeight` greater than its own height.
  - If the `scrollable` option is given to the function and the provided
    element is not actually scrollable, compute a `scrollable` ancestor instead
    of doing nothing.
    - This is more flexible in a situation where a supposedly "scrollable" is
      computed with a selector and ends up not "scrollable" in some custom
      configuration (i.e. embedded view in Knowledge).

The `scrollable` option is removed, since `scrollTo` is already able to compute
the correct closest scrollable element, no need to hardcode a selector for that.

Finally, the draggable speed and threshold for the Hierarchy view are set to
the same values as a Kanban view for user experience consistency.

[1]: https://github.com/odoo/odoo/commit/3489a0d28fdbaf607d18b00d144bb00bae2727c3

task-3562116

Part-of: odoo/odoo#143941
2023-12-07 15:53:07 +00:00
abd-msyukyu-odoo fbac26be7c [FIX] web: get next config for model loaded with values
In `web_hierarchy`, the model is always loaded with values.
However, when a record (component) props are updated, its resId can change (i.e.
if the ordering in the hierarchy view changes), therefore not only the `root` of
the model should be updated with the provided values, but the config should be
reevaluated as well since some record (datapoint) getters use it.

task-3562116

Part-of: odoo/odoo#143941
2023-12-07 15:53:07 +00:00
abd-msyukyu-odoo 8e72a2f4b4 [FIX] web_hierarchy: fix misnamed rendering context expression
`dataPointIdExpr` was misnamed as `dataPointId` in the hierarchy compiler
`compileField`.

task-3562116

Part-of: odoo/odoo#143941
2023-12-07 15:53:07 +00:00
tsm-odoo f818e50527 [FIX] mail: show message unread counter on tab
Since 16.0, the number of unread messages is not shown anymore on the
tab title. This is due to the `set_title_part` event being sent on the
wrong bus. The title service is the new preferred way to change the
document title. This PR makes use of this service to restore the
previous behavior.

closes odoo/odoo#145329

X-original-commit: 5c4c5d2076d9dd4b767b01a88a0ab95127bb4f6b
Signed-off-by: Matthieu Stockbauer (tsm) <tsm@odoo.com>
2023-12-07 11:57:11 +00:00
Pedram (PEBR) 19df0d9ba0 [FIX] pos_restaurant: exclude archived floors in get_tables_order_count
Before this commit, archiving a restaurant floor caused an error when
opening a PoS restaurant session. This issue originated from the
`get_tables_order_count` function, which executed a search based on
`restaurant.table`. Since archiving a floor does not automatically
archive its tables, the function returned information for archived
floors, leading to errors.

With this commit, we introduce an additional search to first identify
active floors in a PoS config. This refined search is then used to
filter tables, ensuring that only tables from active floors are
considered.

opw-3619830

closes odoo/odoo#145052

X-original-commit: b3ec68c4091276566db32f13346d4440128e42a9
Signed-off-by: Joseph Caburnay (jcb) <jcb@odoo.com>
Signed-off-by: Pedram Bi Ria (pebr) <pebr@odoo.com>
2023-12-07 11:57:08 +00:00
Mathieu Walravens d1ba6acfcf [FIX] stock: allow writing recordsets on move lines
Before this commit:
Calling `env["stock.move.line"].write({"lot_id": lot_id})` with `lot_id`
as a recordset instead of an id does not work.
However, this is supported by the base model `write` method.

Steps to reproduce:
1. Create a product A without tracking
2. Set product A's quantity to 10
3. Create an internal transfer to move 10 quantities of product A from Stock to Production
4. Change product A's tracking method to track by lot
5. Create a BoM for A with component B
6. Set product B quantity to 10
7. Produce 10 quantities of product A by creating a manufacturing
8. A traceback prevent marking the MO as done

opw-3620539

closes odoo/odoo#145346

X-original-commit: 2fa53e84fadc79a03d5d6b7134496a16b1edaf2a
Signed-off-by: Quentin Wolfs (quwo) <quwo@odoo.com>
Signed-off-by: Walravens Mathieu (wama) <wama@odoo.com>
2023-12-07 10:08:02 +00:00
Djamel Touati f0c9377662 [FIX] stock: only resupply from a warehouse in the same company
Steps to reproduce the bug:
- Enable “multi steps routes” in inventory settings
- Have two company “A” and “B”
- Create another warehouse in company A
- refresh the page

Problem:
You should not select a warehouse in another company, as it will lead
to several errors later on. If the user wishes to use this option,
they can activate 'Inter-Company Transactions' in the settings and
then utilize this feature.

opw-3604302

closes odoo/odoo#145332

X-original-commit: 7514234959774c0b5e64c4a76d9c4cb776e26746
Signed-off-by: William Henrotin (whe) <whe@odoo.com>
Signed-off-by: Djamel Touati (otd) <otd@odoo.com>
2023-12-07 10:08:01 +00:00
mano-odoo 998e40cf07 [FIX] web, project: list renderer alignment top
Prior to this commit some td in the list renderer were vertically align
on the middle while other are aligned on top. This comes from commit[1]

This commit removes the vertical-align: middle to rely on the inherited
alignment from the `<td>` which is inherited until the `<table>` el
which set the alignment on `top`.

To visually center the icons previously centered by vertical-align,
a new variable: `$o-line-size` is created.

This variable accounts for the total size of a line which is the font
size multiplied by the line height.

In our case this ensure that the icons line height in the list view is
the same as the <td> that are containing text.

[1]: odoo/odoo@53f6053997

task-3557566

closes odoo/odoo#145290

X-original-commit: cce036d03ccd7c12f34ed930b8964e26464732ba
Related: odoo/enterprise#52275
Signed-off-by: Pierre Paridans (app) <app@odoo.com>
2023-12-07 10:07:59 +00:00
Julien (jula) ad702c20b1 [FIX] base: call dedicated method for regenerating assets bundles
__Current behavior before commit:__
The logic to regenerate assets bundles is located in the frontend (i.e.
the JS is making the calls to retrieve and unlink them) which is not
very clean.

Furthermore, when doing so, the old assets might still be included on
cached views that called them with `t-call-assets`.

Therefore, regenerating assets bundles can break the CSS or the JS as
long as the view cache is not cleared.

__Description of the fix:__
A new backend method is implemented for regenerating asset bundles.
This provides a dedicated and maintainable approach. Additionally, the
cache is explicitly cleared during the regeneration process.

__Example of steps to reproduce the issue on runbot:__
1. Check `Disable cache` in chrome dev tools.
1. Little bug icon > Regenerate Assets Bundles

closes odoo/odoo#145279

X-original-commit: b8e1f9f880e4723ddbe595043d22b565ad735832
Signed-off-by: Xavier Dollé (xdo) <xdo@odoo.com>
Signed-off-by: Julien Launois (jula) <jula@odoo.com>
2023-12-07 10:07:58 +00:00
Pedram (PEBR) c569a0d41b [FIX] product_expiry: handle missing lot in FEFO removal strategy
Before this commit, using the First Expiry First Out (FEFO) removal
strategy led to a traceback error during stock move confirmation if a
stock quant of a product was missing its lot. This issue arose because
the removal strategy's sort key was based on `removal_date`, which is a
field related to `lot_id`.

To address this problem, the sorting logic has been modified. Now, it
uses `removal_date` or `fields.datetime.max` as the sort key.

opw-3625784

closes odoo/odoo#145274

Signed-off-by: Quentin Wolfs (quwo) <quwo@odoo.com>
2023-12-07 10:07:57 +00:00
Deependra Solanki 4ef05755bb [FIX] web_editor: fix selection on table creation
Before this commit:

When a table is created the selection is set to the first `TD` of the table.

After this commit:

When a table is created the selection is set to the `P` tag inside of first `TD`
of the table.

task-3610536

closes odoo/odoo#144932

X-original-commit: 07d00347822f2d4b9fd0d315a52892030fd41693
Signed-off-by: Nicolas Bayet (nby) <nby@odoo.com>
2023-12-07 10:07:56 +00:00
Loukas Wets (lowe) ef59f6d448 [IMP] pos_restaurant: archive shop when restaurant
When restaurant is installed the demo shop is archived if no session has been
made.

closes odoo/odoo#144135

Signed-off-by: Joseph Caburnay (jcb) <jcb@odoo.com>
2023-12-07 10:07:55 +00:00