Commit Graph
167311 Commits
Author SHA1 Message Date
Valeriya(vchu) b024dd76d4 [FIX] payment_adyen: add 'amount' to adyen checkout configuration
Steps to reproduce:
1. Create a company with currency as Euros.
2. Set up Adyen on that company with the test credentials and enable
paypal.
3. Create an invoice with the currency in Euros.
4. Generate a payment link.
5. Attempt to pay on that payment link with paypal.

After this commit the Adyen checkout configuration is correctly set up
which allows to pay with PayPal

opw-3543970

Part-of: odoo/odoo#140711
2023-11-06 15:36:51 +00:00
Chrysanthe (chgo) 09df480c3e [FIX] hr_attendance: review menu layout
This commit fixes the layout of the hr attendance menu.

Prior to this commit, the layout was a bit cluttered and had a lack of
white space, making it difficult for the user to extract the information
he needed.

To fix these issues, we adapt the design of the menu, mainly by
reorganizing the layout and adding more white space.

With this commit, we were also able to clean the files, reducing the
number of lines needed to achieve a good visual result.

task-3577098

closes odoo/odoo#140454

Signed-off-by: Sofie Gvaladze (sgv) <sgv@odoo.com>
2023-11-06 15:36:50 +00:00
Odoo's Mergebot dbabdf624e [MERGE][IMP] mail: fine-tune new plan feature
We do the following improvement:
- some wording changes
- the activity templates can be edited directly in the list view instead of in
a popup except in hr because sub module add too many field to be edited in
directly in the list view.
- when scheduling a plan, the due date of the created activities are computed
as the plan_date_deadline + activity type delay and if the plan_date_deadline
is not specified, as today + activity type delay.
- there were 2 res_model fields in the mail_activity_plan_view_form that was
causing a selection box to appears on many form where the model shouldn't be
selectable. We remove one of them here.

Add activity plan menus and configuration to sale, project.

Re-add the launch plan button in HR. When generalizing the plan, we have
removed the custom "launch plan" button in the hr module. We re-add it here.

Task-3558929

closes odoo/odoo#138998

Related: odoo/enterprise#49414
Signed-off-by: Thibault Delavallee (tde) <tde@openerp.com>
2023-11-06 15:36:45 +00:00
Pierre-Yves Dufays 846dd759bd [IMP] {test_}mail, crm, hr{_fleet}: improve plan
We do the following improvement:
- some wording changes
- the activity templates can be edited directly in the list view instead of in
a popup except in hr because sub module add too many field to be edited in
directly in the list view.
- when scheduling a plan, the due date of the created activities are computed
as the plan_date_deadline + activity type delay and if the plan_date_deadline
is not specified, as today + activity type delay.
- there were 2 res_model fields in the mail_activity_plan_view_form that was
causing a selection box to appears on many form where the model shouldn't be
selectable. We remove one of them here.

Task-3558929

Part-of: odoo/odoo#138998
2023-11-06 15:36:45 +00:00
Pierre-Yves Dufays 2fe11d4131 [IMP] sale: add activity plan menu
We add the activity plan to allows sale managers to configure it.

Task-3558929

Part-of: odoo/odoo#138998
2023-11-06 15:36:45 +00:00
Pierre-Yves Dufays 472c7ad45f [IMP] hr: re-add the launch plan button
When generalizing the plan, we have removed the custom "launch plan" button in
the hr module. We re-add it here.

Task-3558929

Part-of: odoo/odoo#138998
2023-11-06 15:36:45 +00:00
Pierre-Yves Dufays 9ce9d69788 [IMP] project: allow to create project plan directly from project module
The new plan form view in project module now allows to choose between project
and task as target model.

Task-3558929

Part-of: odoo/odoo#138998
2023-11-06 15:36:45 +00:00
sofiagvaladze 61d24eb270 [FIX] hr_skills: add text in openSkillsReport link for clarity
Prior, there was only icon and it was not clear enough.

closes odoo/odoo#141132

Signed-off-by: Bertrand Dossogne (bedo) <bedo@odoo.com>
2023-11-06 13:58:45 +00:00
Jorge Pinna Puissant 85a1148a71 [IMP] web: remove autoresize function from dom.js
closes odoo/odoo#141125

Part-of-task: 3439226
Signed-off-by: Aaron Bohy (aab) <aab@odoo.com>
2023-11-06 13:58:44 +00:00
Benoit Socias acfca25e48 [FIX] web_editor: ignore device visibility upon snippet drop
Since [1] when device visibility became a visibility option, when
dropping a snippet that contains device-invisible blocks, all those
blocks were made visible.

This commit makes that behavior limited to blocks that are not
device-invisible. (E.g. when dropping a popup)

Steps to reproduce:
- drop a Columns snippet
- hide a column on mobile
- hide a column on desktop
- save snippet
- drop saved snippet in either desktop or mobile preview

=> All columns were shown with the `o_snippet_override_invisible` effect
on the conditional ones.

[1]: https://github.com/odoo/odoo/commit/3103e0553011b5c1f4078972d7a88fa3fd4068b2

task-3538535

closes odoo/odoo#140505

Signed-off-by: Arthur Detroux (ard) <ard@odoo.com>
2023-11-06 13:58:39 +00:00
Pierre Pulinckx (pipu) ebe64aafac [IMP] web: make model reload silent
When a request to the server takes more than 3 seconds, the blockUI
then prevents the user from taking another action. For example, when
you want to apply several filters quickly, the blockUI appears and,
in the end, you may want to apply yet another filter.
In this commit, we remove the blockUI because we believe that blocking
the user makes little sense. This only makes sense when installing
a new application.

task-3279095

closes odoo/odoo#140042

Signed-off-by: Aaron Bohy (aab) <aab@odoo.com>
2023-11-06 13:58:38 +00:00
yhu-odoo 461d311b73 [IMP] mrp: add pre-production rules' delays in _get_lead_days
If there are pre-production rules, their delays should also be added to
the total delay of a manufacture route.

Task-3081481

closes odoo/odoo#137810

Related: odoo/enterprise#48516
Signed-off-by: William Henrotin (whe) <whe@odoo.com>
2023-11-06 13:58:37 +00:00
yhu-odoo 78e44dc5a3 [IMP] mrp{,_subcontracting_purchase}, {purchase_,}stock: add DTPMO to lead days
For subcontracting, we need to consider both vendor lead time and
manufacturing lead time, and DTPMO (Days To Prepare MO) on the BOM.
Subcontracting delay =
    max(Vendor lead time, Manufacturing lead time + DTPMO) + Days to Purchase + Purchase security lead time

Same thing applied to Bom overview, except:
1. Availability state will be computed based on the delay time of it's
   components. DTPMO on the bom won't be take into account.
2. Lead time will use the DTPMO on the BOM. DTPMO will be added to
   the lead time when it's a manufacturing bom or when it's a
   subcontracting bom with Manufacturing Lead Time + DTPMO > Vendor Lead Time

Task-3081481

Part-of: odoo/odoo#137810
2023-11-06 13:58:36 +00:00
Romain Estievenart 6c749a4b0d [FIX] website: UrlAutocomplete is displayed behind the modal
Since this fix[1] of the overlapping. The `UrlAutocomplete` wasn't
working as expected, The `AutoCompleteWithPage` dropdown is displayed
behind the dialog when it was inside a dialog.

Steps to reproduce:

* Open the `Website` app
* Click on `Site` > `Edit Menu` > `Add Menu Item`
* Start to type in the url field, the dropdown is displayed behind the
  dialog. => bug

Link

[1]: https://github.com/odoo/odoo/commit/9682cfa174fb39ec9d9874951ea9ee2884058d96

closes odoo/odoo#141159

Signed-off-by: Bruno Boi (boi) <boi@odoo.com>
2023-11-06 12:32:07 +00:00
tsm-odoo f10c9114e6 [FIX] mail: fix scroll flicker on thread start
The `onWillStart` hook that was used in the thread component but was
replaced  by the `onMounted` hook. Indeed, fetching the messages in
the `onWillStart` hook was leading to an infinite loop (props updated
as a side-effect of the `onWillStart` hook).

After messages are loaded, the scroll position of the thread is
restored. Since this is done after the component is mounted, another
render is triggered and results in a flicker when opening the thread.

This commit fixes this issue by waiting for the thread to be mounted
and for the scroll position to be restored before showing the message
list.

closes odoo/odoo#141145

Signed-off-by: Alexandre Kühn (aku) <aku@odoo.com>
2023-11-06 12:32:06 +00:00
Mayurrajsinh Rathod 99d19caec1 [FIX] website_slides: correct auto_delete on mail
Steps to reproduce
==================
1. Open course with enroll policy onInvitation or
   Click on three dot of any course in kanban view
2. Click on Invite > add a recipient
3. Go to mail template internal link 
4. Go to setting tab
5. Disable the 'Auto delete' > save & close it 
6. Click on Send
7. Go the Technical/Emails (in debug mode)
8. Send the mail by clicking 'Send now'
Issue - Even if we unchecked auto delete still the mail is deleted automatically

Technical
=========
In the '_prepare_mail_values' method of the 'slide.channel.invite' model, the
mail values for 'mail.mail' are prepared and the auto delete is set to True.

After this commit
=================
You can view the sent mails since the auto_delete is configured based on
the template value for invitation.

Task-3546212

closes odoo/odoo#141141

X-original-commit: 3d9640d5c24f345d67e4e74e62584e60cc27815b
Signed-off-by: Warnon Aurélien (awa) <awa@odoo.com>
2023-11-06 12:32:05 +00:00
Antoine Guenet 8e0f1e08ac [IMP] web_editor: reduce the timeout for chatgpt calls
The timeout for calls to the OLG API in the editor was set to 300
seconds, which is far too long for a chatbot. This reduces it to 30s.

closes odoo/odoo#141135

Signed-off-by: Nicolas Bayet (nby) <nby@odoo.com>
2023-11-06 12:32:04 +00:00
Xavier ALT 9976d707f0 [FIX] base_import_module: fix crash for imported module icon
With normal module, the icon is always loaded from the filesystem but
when importing a module that contains a module icon (by default in
static/description/icon.png) it crash with a `FileNotFound` exceptions
because the image is not available on the filesystem but as an
ir.attachment.

This ensure that for imported module we load the icon from the
corresponding imported attachment

closes odoo/odoo#141133

Signed-off-by: Pierre Masereel (pim) <pim@odoo.com>
2023-11-06 12:32:03 +00:00
Pieter Claeys (clpi) 61db286a91 [FIX] mrp: MO reservation state bug for serial final product
To reproduce:
- Set tracking mode on Table Leg to no tracking and add 100 to inventory
- Create MO for table with quantity more than one and confirm
- Click the "+" button to generate a serial

Current behavior: The reservation state of the MO goes to "available" in
orange, indicating its components are not all assigned.

Expected behavior: The reservation state of the MO stays "available" in
green, indicating the MO has all of its components assigned and is ready
to produce.

closes odoo/odoo#141130

Signed-off-by: Arnold Moyaux (arm) <arm@odoo.com>
2023-11-06 12:32:02 +00:00
Benjamin Vray 988a215339 [FIX] web_editor: fix anchor link selector broken
Steps to reproduce the bug:

- In website edit mode, drag and drop an 'Image-Text' snippet onto the
page.
- Click on the button in the second column of the snippet.
- Type "/" in the URL input of the link options in the customize panel.
- Open the 'Page Anchor' selector and select the '#top' anchor.
- Bug: The anchor is not added to the link in the URL input.

The bug was introduced by this commit [1]. Indeed, the events in the
'Start' of LinkTools were no longer attached to the main element but
directly to the event target. This means that in this particular case
where the 'we-button' elements are created after the 'Start', the click
event had no effect because no event was properly attached to it.

This commit also includes test steps to prevent this bug from
reoccurring in the future.

[1]: https://github.com/odoo/odoo/commit/d7245d2abf528d093226c80e40975e63d61e8997

task-3580414

closes odoo/odoo#141034

X-original-commit: 72eb761545c51c9dc7c6490c0ce0e38650dfa985
Signed-off-by: Benoit Socias (bso) <bso@odoo.com>
2023-11-06 12:32:01 +00:00
tsm-odoo bad8d093f5 [FIX] mail: incorrect message order on previous messages load
Discuss models use relationnal fields. Since [1], the implementation
of the `unshift` method changed for `many` fields. The new
implementation is incorrect: unshifting several records results in an
insertion on the inverse order which differs from the native
implementation.

This issue broke the loading of older messages in discuss: older
messages are inserted with the `unshift` method thus in the inverse
order.

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

closes odoo/odoo#140747

Signed-off-by: Alexandre Kühn (aku) <aku@odoo.com>
2023-11-06 12:32:00 +00:00
Chrysanthe (chgo) dfbe78e9e0 [FIX] website_forum: fix avatar renderer
This commit allows avatar that would not be squared to be rendered with
a correct aspect ratio inside Forum.

Before these changes, if the user avatar was not uploaded in a squared
size, it would be stretched while being rendered inside the forum UI.

To solve this issue, we simply add the `o_object_fit_cover` class to
these avatars, ensuring they are well rendered.

We also changed the resolution to 128x128, to provide a better render.

task-3580131

closes odoo/odoo#140660

Signed-off-by: Stéphane Debauche (std) <std@odoo.com>
2023-11-06 12:31:58 +00:00
mano-odoo b38d3b837b [FIX] web, mail: searchbar facet cog overlapping
When discuss is not installed, hovering a facet in the searchbar makes
the cog overlap the icon/text.

This is due to the `o-bg-inherit` class which is set in the mail module.
Therefore if discuss is not installed, the SCSS for the background
doesn't exist.

This commit moves the `o-bg-inherit` as a new utility class `bg-inherit`
, allowing it to be used even if no apps are installed.

Therefore also renaming the occurences of `o-bg-inherit` into
`bg-inherit`.

task-3575837

closes odoo/odoo#140334

Signed-off-by: Alexandre Kühn (aku) <aku@odoo.com>
2023-11-06 12:31:58 +00:00
Romain Derie d64b4adf1e [IMP] website: allow fallback images when industry image not set
When creating a new website through the configurator, the images that
will be used on the website will be the one specified by the selected
industry.

We recently introduced 2 new images with commit [1] for which the
industries have no images set as we did not have time to do it.
It would require going through the ~4000 industries and finding a
relevant image on Unsplash for it.

This commit is simply using another existing set image instead.

Indeed, if an industry hasn't set an image, the theme one will be used
instead, which is less ideal.

Step to reproduce:
- Create a new website
- Select "Garden furniture store"
- Select the Orchid theme (the one in the middle to this day)
- Drag & drop the Banner snippet, 2 out of the 3 images used in this
  snippet will use the theme images (images about flowers) instead of
  images of furniture (related to the selected industry)

[1]: https://github.com/odoo/odoo/commit/3cbdf754ff8fac8a77887c4307b658cb86b0be1d

closes odoo/odoo#141117

Signed-off-by: Quentin Smetz (qsm) <qsm@odoo.com>
2023-11-06 11:16:48 +00:00
Benjamin Vray f504bb7bc3 [FIX] web_editor: fix custom snippets thumbnail
This commit fixes 3 issues with the custom snippets thumbnail:

- The tooltip ("Drag and drop the building block") appears during
edition of the name of the custom snippet, it should not.

- There was no space between the "Confirm" and "Cancel" buttons when
editing the name of the custom snippet.

- Starting from version 16.2 (although already fixed in the 16.0
commit), the "Cancel" button was positioned below the "Confirm" button
instead of being on the same line. This was due to JQuery 3.6.3, which
no longer correctly supported self-closing elements like "<we-button>"
for this particular issue.

task-3572270

closes odoo/odoo#140998

X-original-commit: 9f682306a9d4c1fc9bcd55a41d411ccc190573ad
Signed-off-by: Benoit Socias (bso) <bso@odoo.com>
2023-11-06 11:16:45 +00:00
Pierre Masereel 407f1b1d7e [FIX] base_import_module: split get_dependencies function
Since we need to get the list of dependencies for the saas (and not noly
a Text of the module names, we split the function to be able to easily
get the list of dependencies.

closes odoo/odoo#140994

Signed-off-by: Pierre Masereel (pim) <pim@odoo.com>
2023-11-06 11:16:44 +00:00
ravb-odoo 29caafdf93 [FIX] project: fix allocate hour of sub-tasks issue
Description of the issue/feature this PR addresses:
in project task form, allocated time of parent task. The 'incl. x on sub-tasks'
field is taking allocated time of all the child task as well as sub-tasks of its
child task. Field should only take into account time allocated to the first
level of sub-tasks.

Current behavior before PR:
field shows allocated hours of child task as well as sub-task of child-tasks.

Desired behavior after PR is merged:
field shows allocated hours of only child-tasks.

Fix:
removed child_task.subtask_planned_hour from the compute method of
subtask_planned_hour fields so that its only add the hours of its child-tasks
and not its sub-task of child-tasks.

task-3277977

closes odoo/odoo#140989

X-original-commit: f42cfb351a86f8ec551066d71271b97a56ce92b4
Signed-off-by: Xavier Bol (xbo) <xbo@odoo.com>
2023-11-06 11:16:44 +00:00
Brieuc-brd 4ec329d26f [FIX] point_of_sales: combo configurator UI review
This commit reviews the UI of articles in `ComboConfiguratorPopup` to
maintain consistency with the rest of the layout.

task-3582072

closes odoo/odoo#140942

Signed-off-by: David Monnom (moda) <moda@odoo.com>
2023-11-06 11:16:43 +00:00
Louis (loco) f13a8afdbc [FIX] website: re-render the visibility selector on field label change
Steps to reproduce the bug:
- Add a form on the website.
- Add two fields on the form ("A" and "B").
- Change the conditional visibility of "B" and put it to "Visible only
if".
- Change the label of "B" and set it to "A".
- Try to change the dependent field.

-> "A" is still on the list of the eligible dependent fields. It should
not be the case as setting this field as a dependent field would create
a circular dependency.

To solve the problem, the file visibility selector is rerendered after
modifying a field label. Because of the `_findCircular()` check at the
rerendering, the problematic field will not be displayed in the list of
of the eligible dependent fields.

task-3291044

closes odoo/odoo#140928

X-original-commit: 788218dff61e65f2213c31ebc660183ef3e73087
Signed-off-by: Arthur Detroux (ard) <ard@odoo.com>
Signed-off-by: Colin Louis (loco) <loco@odoo.com>
2023-11-06 11:16:42 +00:00
Louis (loco) 92e3cf48b2 [FIX] website: prevent circular dependency of renamed fields
Steps to reproduce the bug:
- Drop a "Form" snippet on the website.
- Change the "Label" of the first field (and put it to "test" for
example).
- Select the last field and change its visibility so that it depends on
the first field.
- Change the "Label" of the selected field and put it to the same than
the first one ("test").
- Save.

-> Traceback "Maximum call stack exceeded" appears.

At the end of the procedure, the last field visibility depends on itself
and a circular visibility dependency is created. To solve the problem,
this commit checks that the renamed field does not bring a circular
dependency while updating the dependencies. If it is the case, the
problematic dependency is deleted.
To resolve this bug, the `visitedFields` set has been introduced. Its
goal is to register the already visited fields to not enter an infinite
check loop. Let's take an example to illustrate this: Imagine there is a
form of type A->B->C->D. In this form, the field "A" depends on "B" that
depends on "C" that depends on "D". Imagine you rename "D" by "B". You
now have A->B->C->B. The system will check that the renamed field does
not create a circular dependency. To do so, it will apply
`_recursiveFindCircular` with "A" as the `targetFieldEl` and "B" as the
`dependentFieldEl`. Because there is a circular dependency between "C"
and "B", the system would enter in an infinite loop. Note that we do not
notify the system if such indirect circular dependency has been found as
it will be detected as a direct circular dependency  while the system
will apply `_recursiveFindCircular` with `C` as the `targetFieldEl`.

task-3291044

X-original-commit: 5f0b62fc30867e03e69a824d5e426bf3f74c8ff5
Part-of: odoo/odoo#140928
2023-11-06 11:16:42 +00:00
Louis (loco) 34e4049b80 [FIX] website: prevent circular dependency of duplicated fields
Steps to reproduce the bug:
- Drop a "Form" snippet on the website.
- Add three fields and rename them by "a", "b" and "b".
- Change the conditional visibility of the first "b" and make it depend
on "a".
- Change the conditional visibility of "a" and make it depend on "b".
- Save.

-> Traceback "Maximum call stack exceeded" appears.

A field with a conditional visibility is visible if at at least one
field with the dependency name is visible. The problem is that in our
case, it exists a circular dependency between "a" and one of the "b"
leading to an infinite loop during this check. Before this commit all
the fields of the form were checked and all the labels of the fields
that do not create a circular dependency were proposed in the file
visibility selector. The problem is that in our case, one of the "b"
field does not create a circular dependency while the other does. To
solve the problem, the `_recursiveFindCircular()` function has been
adapted in order to not propose a label that would create a circular
dependency in the file visibility selector.

task-3291044

X-original-commit: f010b128be29e884c89dd58f1c575a163e229d5b
Part-of: odoo/odoo#140928
2023-11-06 11:16:42 +00:00
Christophe Monniez eae9980e0c [FIX] web: fix clickbot blacklisted menus for event
In f0b7838f the event_barcode was moved from enterprise to community, so
the menu for the registration desk changed. As this menu was blacklisted
in the clickbot, it started to fail in the nightly tests.

While at it:
  * remove useless and noisy log
  * log when a menu is skipped instead of telling that it was tested

closes odoo/odoo#140805

Signed-off-by: Jorge Pinna Puissant (jpp) <jpp@odoo.com>
2023-11-06 11:16:41 +00:00
Ritika Rathore c82ffda05d [FIX] project: select the any project in the sub task
Steps:
- Install Project
- Open project module
- Actived Task Dependencies
- Select any project
- Now select any task
- Go to Sub-Task notebook
- Add sub task
- Select any other project in the sub task

Issue:
 Currently, we cannot create sub task of another project in the form view.

Fix:
 - we can create sub task of any project.

Task-3508241

closes odoo/odoo#140794

X-original-commit: 5c2471f4ed1f61b0ba75e05280eccf39a6a44f62
Signed-off-by: Xavier Bol (xbo) <xbo@odoo.com>
2023-11-06 11:16:40 +00:00
Chrysanthe (chgo) 8d3baa20fe [FIX] web: fix contrast issue in settings mobile view
This commit fixes a contrast and readability issue on the active tab
within Settings on small devices.

Prior to this commit, an active tab on mobile view would use a primary
background, while nothing would be declared for its text color.

This would cause readability issue, with a dark text on a primary
background.

To avoid this kind of issue, we set a `text-bg-primary` class to our
button to ensure it gets readable, and also set a `shadow-none` to
prevent the `tip` of the tab to appear in mobile, since it would use
another color.

task-3580676

closes odoo/odoo#140751

Signed-off-by: Luca Vitali (luvi) <luvi@odoo.com>
2023-11-06 11:16:37 +00:00
Jorge Pinna Puissant f51a6a8f54 [FIX] web: clickbot hard-coded date in tests
This commit, fix the issue that some tests fails on other month than
October, this occurs because the current date wasn't patched on the
tests.

Moreover, this commit removes the log "Clicking on: Control Panel menu",
this log is not very important, and can increase significantly the size
of the log.# with '#' will be ignored, and an empty message aborts the
commit.

closes odoo/odoo#140728

X-original-commit: 3538513c87098aab21bd2224fbf6a338ffd5b577
Related: odoo/enterprise#50046
Signed-off-by: Christophe Monniez (moc) <moc@odoo.com>
2023-11-06 11:16:34 +00:00
Rémy Voet (ryv) c1e8a32e7d [FIX] core,*: Fix display_name computations for new records.
As of https://github.com/odoo/odoo/pull/114024, `display_name` is
implicit in every form view (see the use of addFieldDependencies in the
Form controller). Therefore, when you create a new record for this
model, it calls the first `onchange`, which will compute display_name
for a new record (id without origin). Some `_compute_display_name` don't
handle new records correctly and raise a traceback. These models are
sometimes directly accessible:

- Accounting > Account Group > New => Traceback
- Contact > Contact Tags > New => Traceback

Other models are inaccessible by default (no view to access or create a
new record), but if someone creates a view for them with studio (or
modifies an existing one to allow creation):

- `crm.iap.lead.role`
- `crm.iap.lead.seniority`
- `chatbot.script.answer`
- `payment.token`

Change the code of `_compute_display_name` on these models to be more
defensive and avoid (potential) tracebacks. Similarly, change the
`convert_to_display_name` of `fields.Datetime` to take into account
`None` value.

closes odoo/odoo#139592

Related: odoo/enterprise#49721
Signed-off-by: Rémy Voet (ryv) <ryv@odoo.com>
2023-11-06 11:16:31 +00:00
Aaron Bohy b2202cf711 [FIX] web: MacroEngine: stop observing mutations in iframe
The MacroEngine has a stop function that allows to completely
disable it. Before this commit, it correctly disconnected the
"main" mutation observer, but it didn't disconnect the mutation
observer for iframes.

In web_tour tests, we mock the MacroEngine to stop it at the end
of tests, but this didn't stop the iframe mutation observer.

This had an highly undesirable side-effect in tests: the qunit
suite stopped during mass_mailing tests, because the iframe
mutation observer detected a change which produced the log of
"test successful", which ended the whole suite. Some tests were
thus never run anymore (fortunately, we're only talking about a
few qunit modules).

closes odoo/odoo#141143

Signed-off-by: Christophe Monniez (moc) <moc@odoo.com>
2023-11-06 09:46:11 +00:00
vava-odoo 493c391533 [FIX] website_sale_comparison_wishlist: no compare button for product template
It is not possible to add to comparison a product without variant. But
before this commit, if you add the product to the wishlist, it is
possible to add it to comparison. This commit prevents this button from
appearing in case the product has no variant.

Solves #139175

closes odoo/odoo#141016

X-original-commit: c7f43cd9313129eef18dc80d62b3211790c7dbfd
Signed-off-by: Antoine Vandevenne (anv) <anv@odoo.com>
Signed-off-by: Vallaeys Valentin (vava) <vava@odoo.com>
2023-11-05 09:40:29 +00:00
Stefan RijnhartandWilliam Andre 57b713cb7e [FIX] account: ensure fiscal position belongs to the company of the invoice
When bank statements are imported using Enterprise's account_online_synchronization,
or when invoices are created from incoming email using mail aliases on
`account.journal`, journal entries can end up with a fiscal position from the default
company of the user that the `account.move` creation runs as, or the import fails
with an error "'Draft Entry' belongs to company X and 'Fiscal Position' belongs to
another company".

While account.move's `_compute_fiscal_company_id` calls `account.fiscal.position`'s
`_get_fiscal_position` with actual company of the move, it passes one or two
`res.partner` records to this method that were still browsed with the default company
of the executing user which could result in a fiscal position from that company,
instead of the company of the journal entry.

closes odoo/odoo#141059

X-original-commit: 71bd4f1378f56b333830cbc5aa11c1c55dcefcc3
Signed-off-by: William André (wan) <wan@odoo.com>
Co-authored-by: William Andre <wan@odoo.com>
2023-11-05 00:55:49 +00:00
Stefan Rijnhart df46124079 [CLA] Update domain for Opener B.V.
X-original-commit: 42d71f55a8b7511ab9dbe25071cfd3cd4fe83801
Part-of: odoo/odoo#141059
2023-11-05 00:55:49 +00:00
oco-odoo 1e0fa79719 [IMP] base: company branches: improve helper function
closes odoo/odoo#141033

X-original-commit: 5c05d8179ba757fc0b3067c8297e8636adc882e5
Related: odoo/enterprise#50190
Signed-off-by: William André (wan) <wan@odoo.com>
Signed-off-by: Olivier Colson (oco) <oco@odoo.com>
2023-11-05 00:55:47 +00:00
oco-odoo 5c38e8d9d6 [FIX] base: keep active company first in recordset when getting accessible company branches
__accessible_branches() used to call search() to get the children companies, but doing so, it returned them sorted according to res.company's _order, so (sequence, name). Because of that, a branch company with a name coming before it's parent's in alphabetical order, if they had the same sequence (which is the default), would always be returned before it by this function.

This behavior caused some issues, as it was assumed the order of the element it returned would be the same as in the company selector ; respecting the hierarchy of branches, with parent companies coming first.

This was spotted in Accounting, with the following setup:
- A company named "main", with one branch called "branch".
- "branch" has one sub-branch called "branch branch".
- Enable "main" and all its sub branches in the selector ; "main" is the active company.

Here are the issues that were found in Accounting:

1)  Click on the "new" button in the Customer Invoices' tree view. Don't change anything in the form that opens, and check the value in the company_id field of the invoice being created. It should be "main", but it's "branch" instead.

2) (when applying the fix commit on the enterprise branch related to this one)

When printing an accounting report, the route called to generate the file restores the active companies from the options' multi_company key https://github.com/odoo/enterprise/blob/16.0/account_reports/controllers/main.py#L21 . Because of that, if the report does not support multicompany, but only branches of the active company (see corresponding enterprise commit for details), if the first company in this list is one of the branches instead of the main company, the companies computed for the report will be different.

In our example, "branch" will be first in the list, so the options for the file export will be computed with "branch" as main company, enabling only its branches that are selected in self.env.companies ; so only "branch" and "branch branch" will be in the report ; which is wrong, as we also want "main".

X-original-commit: b0d716a0e618ddc78d6ca80b5bc7b796ed27905a
Part-of: odoo/odoo#141033
2023-11-05 00:55:47 +00:00
Odoo Translation Bot 5d2bc9e9b3 [I18N] Update translation terms from Transifex 2023-11-05 00:21:55 +01:00
Levi Siuzdak (sile) 5bb1a3b450 [FIX] portal: add ellipses to search box placeholder overflow
Versions:
---------
- 15.0+

Issue:
------
Depending on the font, string & window size, the `oe_search_box`
placeholder may get cropped awkwardly.

Cause:
------
The search field can't guarantee adequate width to show the full
placeholder string.

Solution:
---------
Add `text-overflow: ellipsis` CSS rule for `oe_search_box` elements to
make it clear the placeholder was cropped.

Related:
--------
- odoo/enterprise@b69c7da11a
- odoo/enterprise@5e47eaf30f

opw-3504281

closes odoo/odoo#141070

X-original-commit: 18cbb2913537bab0748f0a4e7ed466f259c8fa77
Signed-off-by: Romain Derie (rde) <rde@odoo.com>
2023-11-04 19:06:41 +00:00
Brieuc-brd f190b6ebb0 [FIX] website_forum: fix color issues
=== ISSUE 1 ===
Prior to this commit, card colors in the index list were static,
creating a contrast issue if the page background color changed.

This commit fixes this issue.

=== ISSUE 2 ===
Prior to this commit, the popover text color and the shadow created
color issues when the background color of the page was dark.

To fix that and maintain consistency, we use the common Bootstrap
shadow and force the text color to be dark.

task-3559012
Part of task-3097005

closes odoo/odoo#141069

X-original-commit: ac61d3ba59b9fa10e300cbf065d73c165e1d7af0
Signed-off-by: Thibault Delavallee (tde) <tde@openerp.com>
2023-11-04 16:38:56 +00:00
Bruno Boi f9753a3e71 [FIX] web: fix popover in dialog with useAutofocus
**Before this commit**
Open within a dialog a popover that has a child
using the useAutofocus hook.
As the dialog has become the UI active element,
and as the popover's element tree is a sibling
of the dialog element (since both use the overlay
service): the autofocus mechanism wanted by the
popover's child does not work at all.

**After this commit**
The popovers now can also become the UI active
element, leading to the above use case to work properly.

closes odoo/odoo#140885

Signed-off-by: Florent Dardenne (dafl) <dafl@odoo.com>
2023-11-04 16:38:53 +00:00
Bruno Boi 003609b8d2 [IMP] web: soften the UI active element takeover
**Good to know first**
The UI active element takership system is
directly bound to the focus trap mechanism.

**Before this commit**
If an element become the UI active element but has no
tabable elements in its tree, we force its tabindex
to the -1 value to make it programmatically focusable.
That way we ensure the focus is effectively trapped.

**After this commit**
The tabindex is no more forced at all.
Instead, if we detect that there are no tabable elements
inside the UI active element candidate, it simply does not
become the UI active element.
In other words, this commit kind of weakens the focus trap.
But this is perfectly fine for our use cases, i.e.:
- dialogs always have at least one focusable button (close, ok...)
- the website wysiwyg-adapter has a ton of focusable elements

**Why ?**
We need this change to permit other UI pieces to make use of
the active element takeover mechanism, i.e. popovers.

Part-of: odoo/odoo#140885
2023-11-04 16:38:53 +00:00
Bruno Boi bf2866a27c [FIX] web: trapfocus if first/last tabable changes
**Before this commit**
If a UI active element taker has its first or last
tabable element rendered conditionnaly, the focus trap mechanism will
not work properly.

**After this commit**
It works as intended.

Part-of: odoo/odoo#140885
2023-11-04 16:38:53 +00:00
Romain Estievenart eb399b5251 [FIX] website: Missing border-0 on AutoCompleteWithPages container
There is a visual "glitch" in the website builder, there is a 2px white
bar (2x1px border) at the bottom of the screen in edit mode.

Steps to reproduce:

* Enter edit mode on a page
* Drag & drop a few snippets to have a scrollbar
  => The bottom white bar appears

closes odoo/odoo#140979

Signed-off-by: Adrien Dieudonné (adr) <adr@odoo.com>
2023-11-04 12:21:46 +00:00
Romain Estievenart 969e83c2b3 [FIX] website: AutoCompleteWithPages doesn't work correctly on Safari.
Since we remove jQuery UI[1], the owl component `AutoCompleteWithPages`
doesn't work correctly on Safari.

When we clicked on the `AutoCompleteWithPages` input the code in the
`AutoComplete` component `onFocus` make a selection on the input of the
`AutoComplete` component and not on the `AutoCompleteWithPages` input
this make a unwanted effect such as blur the clicked input and focus
the other input. This commit fixes that.

Steps to reproduce:

* With Safari, open the `Website` app
* Click on `Site` > `Edit Menu` > `Add Menu Item`
* You can't type in the url field and if you spam click on its.
  Sometimes, it produces a browser crashes

Links

[1]: https://github.com/odoo/odoo/commit/99f5ae32d3ee4a3dcc75e31ad0a88f42d6ce3589

Part-of: odoo/odoo#140979
2023-11-04 12:21:46 +00:00