Commit Graph
158350 Commits
Author SHA1 Message Date
Anita (anko) f3fb83a183 [IMP] payment: add distinction between providers and tokens
Currently there is no distinction between saved tokens and providers
and there is no info on tokens under what provider they were created.
When client has more than one token it looks messy and counters the
point of token existance. Now tokens have their creation date,provider
and are no longer in the same card as providers.

task-2510973

closes odoo/odoo#108260

Signed-off-by: Antoine Vandevenne (anv) <anv@odoo.com>
2023-02-09 18:07:07 +01:00
ayushshawnfrost ba0cc488ed [CLA] ayushshawnfrost
closes odoo/odoo#112281

X-original-commit: 6088424b9b48c1fd81724115a4753229f7a762b7
Signed-off-by: Martin Trigaux (mat) <mat@odoo.com>
2023-02-09 16:19:54 +01:00
tsm-odoo 93739211ae [FIX] bus: Bus unavailable error in multi process mode
closes odoo/odoo#112299

X-original-commit: 7a164b14a9cb2e2177b3400d6c148d08647583b6
Signed-off-by: Stockbauer Matthieu (tsm) <tsm@odoo.com>
2023-02-09 15:16:55 +01:00
Solan Delvenne (sode) 5f5ba174bb [FIX] snailmail: Adjust the address margin
Follow-up reports were not going through due to the background clipping
into the address area.

closes odoo/odoo#112297

X-original-commit: aa13f9c60140387079b183869ca0c0ce99afec56
Signed-off-by: Florian Daloze (fda) <fda@odoo.com>
Signed-off-by: Solan Delvenne (sode) <sode@odoo.com>
2023-02-09 15:16:53 +01:00
qsm-odoo 977868f5e0 [FIX] website, *: fix some components in case of contrasted boxed layout
*: website_slides

In some cases, components had dark text over dark background (or light
text over light background) by mistake.

Example:
- Enter edit mode.
- In the theme tab, choose "boxed" as page layout.
- A color picker appears below to control the color behind the box.
- Set it to a dark color (if your box main color is light)
- Go to a course page (install website_slides)
- Check the mobile version
=> The bootstrap tab and its section uses the dark color you set up as
   body color instead of the expected boxed layout color.

Another example:
- Do the same thing (set up a dark color behind a boxed layout).
- Go to a shop / product page.
=> The inputs are dark with dark text.

This is because of bootstrap which uses `$body-bg` as default value for
other variables, such as `$nav-tabs-link-active-bg` in the first case
described above. It also uses the variable in the creation of CSS rules
not controlled by explicit variables.

In 16.0, bootstrap was updated to 5.1.3 with [1] and this actually
increased the problem: input backgrounds now default to `$body-bg`,
amongst other things. Since [2], `$body-bg` is also used as the default
color for range thumbs.

In previous versions, this fix focused on fixing a critical component:
nav-tabs, for which the fix was straightforward.
Starting from 16.0, this commit will fix everything at the small risk of
changing the `$body-bg` variable meaning in the case of boxed layouts.
Before this commit, its meaning was "the color used for the background
behind the boxed layout (the <body> background color)", so equal to the
Odoo value `o-color('body')`. After this commit, its meaning will be
"the color used for the background of the box itself", so equal to
`o-color('o-cc1-bg')`. The `<body>` background color will be forced by
using `o-color('body')` as the value for the related *CSS* variable
defined by bootstrap. This allows to have a correct CSS generation for
all components in case of boxed layouts: indeed, the components mix
their own color with `$body-bg` (or use it as it is) relying on the fact
this is the color which appears behind them... which was not right in
case of boxed layouts.

This commit actually fixes another bug that was found during adaptation.
It is 2-fold, and unfortunately, it does not make sense to fix one part
without the other as it would increase the problem without the other
part. The website_slides pages customize their default background color
to not be the one chosen by the user, but a mix of it with some
lightgray. Odoo default for the body being white, this makes it a
lightgray for website_slides pages. This is totally ok... but only in
"full" layout. In boxed layout, we have the 2-fold problem:

A. The mixed color is not applied to the boxed layout but on the
   background behind the box. So if you have a white box above a black
   background, in website_slides pages you won't have the black
   background you expected to keep but a lighter version of it and the
   website_slides box will not use the lightgray but stay white
   (creating other inconsistencies as the lightgray would also be used
   by other components like tabs, for that app only).

B. The mixed color is actually not mixing the right colors: it mixes
   the hardcoded lightgray with the color of the background behind the
   box, while it was intended to be the one of the content (the one of
   the box), like in "full" layout.

The changes explained above about `$body-bg` naturally fixes (B). Not
fixing (A) at the same time would result in a big change for the color
which is behind the box. This commit fixes it at the same time by now
applying the color to the right element. In previous version, this could
be fixed as well but would require a different fix (not relying on
`$body-bg`). So it makes sense to merge this first and backport+adapt.

[1]: https://github.com/odoo/odoo/commit/971e5a91aab96d36129a823e03f1f9f1b1293968
[2]: https://github.com/odoo/odoo/commit/46e53879749be7ba3d30338d0f25c0a68a88eb3c

opw-3151962

closes odoo/odoo#112254

X-original-commit: 14c985af526602a88666714e716283650521e537
Signed-off-by: Romain Derie (rde) <rde@odoo.com>
Signed-off-by: Quentin Smetz (qsm) <qsm@odoo.com>
2023-02-09 13:05:43 +01:00
Alvaro Fuentes cec6e163c1 [FIX] base: don't fail on empty groups attribute
In 15.0 this was supported. It may be also handy when editing views to
momentarily set the groups to `""`.

Steps to reproduce:
1. Install Odoo 15 locally
2. Edit or create a view with `groups=""` for some component
3. Upgrade to 16.
It fails.

Empty groups was allowed in 15.0 we want to ensure this is not broken
unintentionally anymore, such a new test was added.

Muted logged to hide the warning (also present in 15.0):
```
2023-02-08 11:09:18,697 506777 WARNING test_16_gr odoo.addons.base.models.ir_ui_view: The group '' defined in view does not exist!
View error context:
{'file': None,
 'line': 3,
 'name': 'foo',
 'view': ir.ui.view(242,),
 'view.model': 'res.partner',
 'view.parent': ir.ui.view(),
 'xmlid': ''}
 ```

closes odoo/odoo#112246

X-original-commit: 4379dce95edcc34a8e97e73a3bdaa2e20fdc79a8
Signed-off-by: Denis Ledoux (dle) <dle@odoo.com>
2023-02-09 10:49:06 +01:00
Nicolas Bayet 9731e9be6d [FIX] web_editor,project,note: ensure same history
This commit add a mechanism to ensure that someone could never save
changes from an history that diverge (in case there is a partition in
the RTC network or a person A was disconnected while another person B
saved changes that were not transmitted to person A).

task-3002163

closes odoo/odoo#112099

Signed-off-by: David Monjoie (dmo) <dmo@odoo.com>
2023-02-09 10:49:00 +01:00
Nicolas Bayet 3573fcf3f1 [REM] web_editor: remove useless _shouldDelayBlur fix
The fix that introduced `this._shouldDelayBlur = true` in
`openMediaDialog` was wrong as it was fixing a symptom rather than
the source of the problem. Later fix probably fixed the source of the
problem as the problem is not reproducible at the time of this commit.
If the symptom comes back, it ought to be fixed at it's source.

closes odoo/odoo#112245

X-original-commit: 0dd9da029d58652123ea71085dbb3a1a1e93e77d
Signed-off-by: David Monjoie (dmo) <dmo@odoo.com>
2023-02-09 09:47:14 +01:00
Fernanda Hernández 6fac517399 [REF] im_livechat: make translatable some fields in im_livechat.channel model
Fields are:

1. button_text
2. default_message
3. input_placeholde

closes odoo/odoo#112224

Signed-off-by: Sébastien Theys (seb) <seb@odoo.com>
2023-02-09 09:47:04 +01:00
Katherine Zaoral 010a15b579 [ADD] check_printing: Multiple check payments
Be able to add multipe checks payment method on journal

accountamatata task 3130305

closes odoo/odoo#109774

Signed-off-by: Nicolas Viseur (vin) <vin@odoo.com>
2023-02-09 09:47:01 +01:00
Katherine Zaoral 165a4d23ae [REF] account: reusable payment methods
Before this change the manual payment method was the only one
that can be use more than once on a journal configuration.
With this change we add a new method in order to be more heritable
and be able to add other reusable payment methods

accountamatata task 3130305

Part-of: odoo/odoo#109774
2023-02-09 09:47:01 +01:00
pedrambiria eb72686c8f [FIX] point_of_sale: skip synchronize journal entries in PoS
The problem happens when the company is Angelo Saxon, and
`l10n_eg_edi_eta` is installed. Also, the product should have a cost and
automatic inventory valuation.
https://github.com/odoo/odoo/commit/4b430f8e30efb15f06982e4673cd73531a2119b3
The problem is that with this commit, after calling the
`_set_next_sequence` function, it calls `flush_recordset`. It would cause
a write to be triggered and add an Automatic Balancing Line. While in
`_create_account_move` of PoS the stock output line will add later to it,
and make it unbalanced. The first Automatic Balancing Line is incorrect as
it will call `_create_stock_output_lines` later and it adds a line which
makes it balance. But with that Automatic Balancing Line as it's
unbalanced at the end it will call `_close_session_action` in PoS and
shows a pop-up to add another line to make it balance.

The solution is skip synchronize of journal entries.

opw-3137723

closes odoo/odoo#112238

X-original-commit: 890b685e94383491579258093f934b7143612b80
Signed-off-by: Trinh Jacky (trj) <trj@odoo.com>
Signed-off-by: Pedram Bi Ria (pebr) <pebr@odoo.com>
2023-02-09 08:46:51 +01:00
hupo-odoo 014590a005 [IMP] l10n_{dz,in,ua,ma}: invoice amount in words
As it is now possible to activate the total amount of an invoice in letters, these localizations (dz,in,ua,ma) need by default the feature to be activated. In addition, some of them had aleady such feature which has therefore been removed to accommodate the new generic feature.

The indian localization also has a different message on the right side of QR code on invoices

closes odoo/odoo#107714

Task: 3097097
Pr: 107714
Related: odoo/enterprise#35959
Signed-off-by: Florian Gilbert (flg) <flg@odoo.com>
2023-02-09 08:46:45 +01:00
hupo-odoo 3764914c86 [IMP] account : invoice layout improvement
Modifies the invoice layout according to the mockup provided in the task. This enables to remove the blank space that occured in the middle of the invoices
Add the possibility to add the total amount of an invoice in words. This feature can be enabled by activating a boolean setting in Accounting settings.

Task: 3097097
Pr: 107714
Part-of: odoo/odoo#107714
2023-02-09 08:46:45 +01:00
Florian VranckxandJulien Castiaux 8c30699f2a [FIX] http: no rotate sid for unidentified user
This commit fixes a change in behavior between 15.2 and 15.3.

Previously, if an unidentified user tried to reach a route that had auth='user', it would simply redirect to the login page.

Currently, it redirects and invalidates the session_id.

This is an issue in the latest version of master after this PR https://github.com/odoo/enterprise/pull/36521
This commit changes the route of service-worker.js to auth='user'.

This route is called on the login page, which rotates the sid and therefore invalidates the csrf token. Making it impossible for a user to log in.

This is a race condition, meaning it would only appear if the user stayed on the login page for a few seconds, hence why the automated testing did not block the commit.

closes odoo/odoo#112239

X-original-commit: d5d80d172616afe02bd41934930ea18dc273c739
Signed-off-by: Julien Castiaux (juc) <juc@odoo.com>
Co-authored-by: Julien Castiaux <juc@odoo.com>
2023-02-08 21:45:53 +01:00
Laurent Smet 33e76acab6 [IMP] account: Remove 'move_id.state' dependency of _compute_amount_residual
The reconciliation fields of account.move.line should be independent of the move's state.

closes odoo/odoo#112251

Co-author: Habib (ayh) <ayh@odoo.com>
X-original-commit: 00aadcb65ab1b05b390840acc02d5012a0fed893
Related: odoo/enterprise#36843
Signed-off-by: Brice Bartoletti (bib) <bib@odoo.com>
2023-02-08 20:34:12 +01:00
Laurent Smet 6bd3ab1504 [FIX] account: revert commit f607572da6
This case of amls having a zero balance but an amount in foreign currency left is already managed by the new reconciliation in 16.0.
Furthermore:
-the test in POS is passing even with the revert
-the reverted commit introduces a performance issue on amount_residual by forcing the orm to fetch the whole m2m debit/credit_matched_ids.
-there is no test accounting-side depicting the issue (if there is really an issue fixed by the commit).

X-original-commit: 63c9e9cfff8451af153cbf2f369021a3e6b20599
Part-of: odoo/odoo#112251
2023-02-08 20:34:11 +01:00
niyasraphy e0a4535aed [FIX] account: show inactive warning only when currency is set
before this commit, in active currency warning is shown in the account move form when the currency_field is empty.

after this commit, the inactive currency warning will be shown only if the currency is set and it is inactive.

forwardported manually

closes odoo/odoo#112240

X-original-commit: 1937e4954c6603b36c968fcdb2c08e7d40d21b0a
Signed-off-by: Brice Bartoletti (bib) <bib@odoo.com>
2023-02-08 19:26:40 +01:00
Chong Wang (cwg)andRaphael Collet 7ded1a7acc [FIX] core: avoid losing translations during module upgrade
Consider field F in module X with parameter translate=False, and F is
overridden in module Y with parameter translate=True.  During the
upgrade of module X, module Y hasn't been loaded yet, and the ORM
considers the field to be `translate=False`.  Therefore it converts its
database column from type jsonb to varchar, and accidentally drops
non-en_US values:

    {"en_US": "English value", "fr_FR": "French value"} (jsonb)
        -> 'English value' (varchar)

As a result, translations are lost after upgrade.

This commit fixes the bug by checking whether the field is translated in
database and patches the field accordingly when loading the registry.
This avoids the ORM considering the field as non-translated while
upgrading modules.

In order to "force" translated fields to become non-translated ones, at
the end of the loading process the patch above is discarded, and fields
are checked again.  We then adapt the schema of models that have such
fields.  This extra step handles the uninstallation of modules like
module Y in the example above.

The patching of the fields has one potential issue.  While upgrading
module X, field F is patched with translate=True.  If module Y actually
overrides F with translate=xml_translate or so, this may cause the
behavior of the upgrade to be slightly incorrect.  Because of the
complexity, we have chosen to not support this case.

closes odoo/odoo#112223

X-original-commit: 1e6e482a9763baa5fae70d9b6676d16a46458f4a
Signed-off-by: Raphael Collet <rco@odoo.com>
Signed-off-by: Wang Chong (cwg) <cwg@odoo.com>
Co-authored-by: Raphael Collet <rco@odoo.com>
2023-02-08 16:50:03 +01:00
MerlinGuillaume a021c48417 [FIX] spreadsheet,web: use dot or comma in date format
Date fields are changing format if you type it in instead of using the
date selector calendar popup

Steps to reproduce:
1. Install Time Off
2. Open the current language and change the date format to `%d.%m.%Y`
3. Go to Time Off > Approvals > Allocations
4. Create a new allocation
5. Change the validity period to 10.03.2023 (by typing it in, not using
   the datepicker) and click out of the field
6. The date displayed is changed to 2010/03/20 or 20.03.2010 (if the
   datepicker was opened)

Solution:
Add dot and comma as a possible character for static format
Also deduplicated function isValidStaticFormat so we have a single
definition

Problem:
Formats using dots were not considered as valid static format so the
value entered was parsed with the format `yyyy/MM/dd` instead

opw-3081268

closes odoo/odoo#112218

X-original-commit: 18d6944510b55a4de21be050b8fef327f00e71d5
Signed-off-by: Rémi Rahir (rar) <rar@odoo.com>
Signed-off-by: Guillaume Merlin (megu) <megu@odoo.com>
2023-02-08 16:50:00 +01:00
Gabriel de Paula Felix (gdpf) 94e7d25273 [IMP] google calendar: auto accept meeting when only creator is attendee
Before this commit, when an event containing only the creator was created in Google Calendar, the creator's attendee status in Odoo was marked as 'needsAction'. Now, when an event like this is created (in Google Calendar), the event is automatically accepted in Odoo.

A test was added to make sure that new events with only the creator are automatically accepted.

closes odoo/odoo#112195

Task: 2782961
Related-to: #68700
X-original-commit: 6d0ead3d73477614dc1bd97a95b695f80925fdd3
Signed-off-by: Arnaud Joset <arj@odoo.com>
2023-02-08 16:49:51 +01:00
Claire Bretton (clbr) 6443ee27ad [FIX] l10n_cn: translation to English
The module was partially coded in Chinese while we want
the code to be written in English.
This PR translates the module to English.

closes odoo/odoo#111987

Task: 3119641
Signed-off-by: Olivier Colson (oco) <oco@odoo.com>
2023-02-08 16:49:48 +01:00
qsm-odoo 7621cdad9d [FIX] website_hr_recruitment: add slug to jobs' website_url
This follows the merge of [1].

Model implementing the `_compute_website_url` method sometimes adds the
"base url" part which is probably not necessary and sometimes forgot to
add the "slug" part. This commit only fixes the website_hr_recruitment
job's one to add the slub. The others will be fixed later, this should
probably be part of a deeper refactoring to use routes with Model
validation rather than accepting any int and reviewing when the base
URL is actually necessary.

Notice that the main point of this change is that the `website_url`
field as some models now shown in the "Site" menu of the website app.
In that case, when clicking on a record, the user is redirected to the
iframe preview, with the right website and domain without the need for
it to be part of the object's URL.

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

closes odoo/odoo#112211

X-original-commit: 0c6cf40bacf2d206e9a8b09bb2073252f5919dd0
Signed-off-by: Quentin Smetz (qsm) <qsm@odoo.com>
Signed-off-by: Romain Derie (rde) <rde@odoo.com>
2023-02-08 15:39:08 +01:00
Pierre Paridans 4ce90e196d [FIX] web: oe_title + oe_avatar alignment in Form view
This commit fixes a broken selector when an avatar image (`.oe_avatar`)
is used next to a title element (`.oe_title`) to put them side-by-side.

Also it goes beyond that by ensuring the `.oe_title` element doesn't
take the whole width (cf. max 75%) to make a visual distinction between
it and the other form's fields, both in editable and non-editable form.

In small screen, as space is limited, the whole width is kept to make it
more userfriendly, only allowing a thin gap between the `.oe_title` and
the `.oe_avatar`.

Steps to reproduce:
- Open Apps
- Choose an App and, in the dropdown, click on Module Info
=> there is a huge gap at the top of the title

closes odoo/odoo#112205

X-original-commit: 45ebcbf320eaeedf0a4c6c068ea727cf18bedd4b
Signed-off-by: Adrien Dieudonné (adr) <adr@odoo.com>
2023-02-08 15:39:03 +01:00
Richard deMeester 0071b8479c [FIX] stock_account: Changing costing method with negative stock
Usecase to reproduce:
- Set product as FIFO and a cost of 10$
- Sell 5 units
- Modify the cost method to average

We expect the value of the stock to remain -50$.
However it went to -150$

It happens because the change of cost method is not supported
with negative quantity of stock. It's not really a huge bug because
it will be reconcile to the real value in the next in and when the
stock will be positive again but at least it gives a proper valuation
of the inventory.

opw-3100717

closes odoo/odoo#112133

X-original-commit: 3993cbeb00f0a61c76151e116a4c90dae112c067
Signed-off-by: Arnold Moyaux (arm) <arm@odoo.com>
2023-02-08 15:39:00 +01:00
Touati Djamel (otd) c1eed37f12 [FIX] repair: prevent cancelling a completed repair order
Steps to reproduce the bug:
- Create a repair:
    - Add any product to repair
    - Add any other product as part of the repair
    - Confirm the repair
    - Start the repair
    - End repair

Problem:
The cancel button becomes visible and clicking on it won't cancel the
moves, so it doesn't make sense to cancel a finished repair.

opw-3146606

closes odoo/odoo#112191

X-original-commit: f8c489b7484c054a7b870b22cf610b615bab2cc8
Signed-off-by: Djamel Touati (otd) <otd@odoo.com>
Signed-off-by: William Henrotin (whe) <whe@odoo.com>
2023-02-08 14:30:53 +01:00
Stefan-Calin Crainiciuc (stcc) 383efd3d22 [I18N] delivery_grid: improved translation
Steps to reproduce:
- Install eCommerce, delivery
- Shpping methods > Create > Name = TEST, Product = Acoustic Bloc Screen,
Provider = Based on rules, Add a line > Condition = "Weight <= 0",
Delivery Cost = "50 + 0 * Weight" > Publish shipping method
- Go to the website > Add acoustic Bloc Screen to cart > Proceed to checkout

In the delivery section, the TEST shipping method will display the
warning message `No price rule matching this order; delivery cost
cannot be computed.` This message can be confusing to the customer.

opw-3110715

closes odoo/odoo#112002

Signed-off-by: William Henrotin (whe) <whe@odoo.com>
2023-02-08 14:30:50 +01:00
Audric Onockx (auon) d5ddedba35 [FIX] web: display "invite" button label on one line
Settings > General Settings > Section Users:
Button Invite behaves in a weird way.

In dutch, e.g., "Nodig uit" splits into 2 lines,
whereas it could expand, eating out a little bit of the
input's space.

closes odoo/odoo#112192

X-original-commit: fa258ab9e4a608aaeced774bfa32eea1894e324b
Signed-off-by: Jorge Pinna Puissant (jpp) <jpp@odoo.com>
2023-02-08 13:28:16 +01:00
Nicolas Bayet 6e82d8ee08 [FIX] web_editor: set recovery connection to 3s
When trying to recover peer to peer connection, the timeout of 500ms or
1000ms might be too short and 15000ms in unnecessary too long.

If the timeout is too short, it could remove the connection before the
peer to peer had the time to reconnect to it. When we call
`_recoverConnection` on `disconnect` in `oniceconnectionstatechange`
or `onconnectionstatechange`, the signal `disconnect` does not
necessarily mean that it will remain disconnected. Doing nothing could
be enough to reconnect.
(see: https://w3c.github.io/webrtc-pc/#dom-rtcicetransportstate-disconnected)

closes odoo/odoo#112182

X-original-commit: 3647374c63fcd4bccf501e49a2af6a707fedd737
Signed-off-by: David Monjoie (dmo) <dmo@odoo.com>
2023-02-08 13:28:13 +01:00
Nicolas Bayet fb7f8732a4 [FIX] web_editor: properly add iceCandidateBuffer
Before this commit, the iceCandidateBuffer was emptied before finishing
the loop. This is wrong as we must add all candidates from the buffer.

X-original-commit: 520a880574d908a8e28fa258a1e006d1b8504221
Part-of: odoo/odoo#112182
2023-02-08 13:28:13 +01:00
Ahmed Khalaf 3f1589b0cc [FIX] sale_stock: fix product forecast report from SO
Since the merge of #101247 in master, opening the forecast report
from the SO line was broken. This was due to old action being called.

closes odoo/odoo#112180

Signed-off-by: Arnold Moyaux (arm) <arm@odoo.com>
2023-02-08 13:28:10 +01:00
Ahmed Khalaf (ahkh) 2dad4a5eea [IMP] stock: forecast report reserve/unreserve
Before this commit, the reserve/unreserve buttons did not work / were
hidden with multi-step delivery settings. The report now works with the
entire linked chain of moves, it displays which step is reserved,
if more than one is reserved in the chain the later move is shown.

Because reservation works differently on chained moves (they reserve
quantities brought by previous move in the chain) any extra unreservable
quantities are shown as on stock in transit.

closes odoo/odoo#112162

Taskid: 2858139
Signed-off-by: Arnold Moyaux (arm) <arm@odoo.com>
2023-02-08 13:28:07 +01:00
Antoine Guenet dd064ab9aa [FIX] web_editor: force custom style in ui on non-custom link with style
This reverts commit [1] so as to avoid updating the DOM in two separate
places of the code for link edition. Said commit intended to prevent the
removal of custom styles on a button on which styles were applied
(erroneously) without applying a custom button class. This fixes that
issue by adapting the UI to show the button is custom if there are
custom styles applied. This way, if any change is applied, when
modifying the DOM, the custom class will be applied as well. This is the
order in which such corrections are usually applied with the snippets
bar.

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

closes odoo/odoo#112152

X-original-commit: 1b65244a1ae7ed37d7bc1faef2225ed982c94320
Signed-off-by: Quentin Smetz (qsm) <qsm@odoo.com>
2023-02-08 13:28:05 +01:00
Odoo's Mergebot 0088cb2c6b [MERGE] *: remove a lot of legacy code (mainly basic views)
This PR removes the legacy implementation of the form, kanban and
list views and view dialogs. It also removes the legacy view widget
registry, and all legacy widgets it contained. The legacy field registry
couldn't be removed yet as some fields are still used (e.g. in client
actions: FieldMany2One, FieldMany2ManyTags...), and sometimes
accessed from that registry (e.g. uom service). More clean up will
come later. Note that all tests using legacy views have thus been
removed, even though the tested feature might still remain (e.g.
FieldMany2One tests have been removed, but that field is still there).
However, those features are deprecated and unlikely to evolve. They
should be removed in the next saas, or the one after.

This PR also removes the legacy data export dialog (and the data.js
file which was deprecated since v11).

Finally, this PR removes the basic views benchmark page, alongside
the benchmark library which was no longer used.

Task 3168640

closes odoo/odoo#111809

Related: odoo/upgrade#4304
Related: odoo/enterprise#36696
Signed-off-by: Aaron Bohy (aab) <aab@odoo.com>
2023-02-08 13:27:59 +01:00
Aaron Bohy ee3e28987e [REM] web,project: remove legacy data export
This commit remove the legacy implementation of the data export
dialog, which wasn't used since the removal of the legacy list
view. This also allowed us to finally remove the data.js file,
which contained the "legacy legacy" implementation of the model
(DataSetStatic, DataSetSearch...). This was deprecated since v11.

Part of task 3168640

Part-of: odoo/odoo#111809
2023-02-08 13:27:58 +01:00
Aaron Bohy 49297bc7bb [REM] *: remove legacy basic views + some fields/widgets
This commit removes the legacy implementation of the form, kanban
and list views. It also removes the legacy view widget registry,
and all legacy widgets it contained. The legacy field registry
couldn't be removed yet as some fields are still used (e.g. in
client actions: FieldMany2One, FieldMany2ManyTags...), and
sometimes accessed from that registry (e.g. uom service). More
clean up will come later. Note that all tests using legacy views
have thus been removed, even though the tested feature might still
remain (e.g. FieldMany2One tests have been removed, but that field
is still there). However, those features are deprecated and
unlikely to evolve. They should be removed in the next saas, or the
one after.

Finally, this commit also removes the legacy view dialogs.

Task 3168640

Part-of: odoo/odoo#111809
2023-02-08 13:27:58 +01:00
Aaron Bohy c4c7534c0b [REF] web: legacy relationalfields: stop using view dialogs
This commit aims at removing the last usecases of the legacy view
dialogs, which will then allow us to remove legacy basic views.
The last usecases were in legacy code, in FieldMany2Many and
FieldMany2ManyTags. As those fields are still used in client
actions, we adapted them to use the wowl view dialogs instead.

Part of task 3168640

Part-of: odoo/odoo#111809
2023-02-08 13:27:58 +01:00
Aaron Bohy b2e267872f [REM] web: remove legacy views benchmark page
Those views are no longer used and about to be removed. This
commit also removes the benchmark lib as it is no longer used.

Part of task 3168640

Part-of: odoo/odoo#111809
2023-02-08 13:27:57 +01:00
lejeune quentin 7ea2e6ce15 [FIX] hw_*: Modify the default user for iot in windows
currently there is an error in the configuration
of the default user for the iot windows
it is configured for "local service"
which is the French version of the local user.
Except if the pc window is not in French,
the user is not configured correctly.
We have to use the default local user name
of windows which is "LOCALSERVICE"

closes odoo/odoo#112181

X-original-commit: 36c03128e97379f361072f481450704ebc582e3b
Signed-off-by: Quentin Lejeune (qle) <qle@odoo.com>
2023-02-08 12:26:11 +01:00
Romain Derie 9d1269dbc0 [FIX] website: add website field in ir_asset list view
For some reason the `website_id` field was added in the form view of the
`ir.asset` model in a website module overide but it was not done for the
list view where it matters equally (if not most regarding the flow).

Indeed, those views / this model is mainly accessed for debugging
purpose in which case you are most likely looking for a specific asset.
In the website case, it's most of the time to find the custom asset
that was created following a scss customization in the right panel of
the website builder.
In such a case, it will have a website_id and will be easy to find in
the list view.

It's also the case for all the records having a `website_id`, we show
that field in both form and list view, it's always important when
managing / debugging DBs in multi-website environment.

See [1] for introduction of `ir.asset`.

[1]: https://github.com/odoo/odoo/commit/8cc066173dfb61bd95b8e1f0716f71f4e251810a

closes odoo/odoo#112156

X-original-commit: 1e6ea1a1e38f9769b91b80c3fd1e2ecabae35bb6
Signed-off-by: Quentin Smetz (qsm) <qsm@odoo.com>
2023-02-08 12:26:05 +01:00
Jordan D. (Joda) d021f52ec1 [FIX] point_of_sale: long floor name doesn't display properly
How to reproduce
=================

When entering a very long table name and / or a very long table name on
the point of sale application, the text displayed on the "go back" button of the interface will overflow,
making the name unreadable and not very pleasing to see.

How the fix works
=================

The fix just cut and hide the part of the text that is overflowing

opw-3102914

closes odoo/odoo#112036

X-original-commit: 298b3578127b477e4e0e0dfec3db1222863d037a
Signed-off-by: Trinh Jacky (trj) <trj@odoo.com>
2023-02-08 12:25:55 +01:00
Florian CharlierandJulien Castiaux beaae001f8 [FIX] web,onboarding: fix multiple progress records
and better handle progress requests.

In previous versions, it sometimes occurred that multiple
onboarding_progress records were created despite our measures
against that.

Two problems were identified and fixed here, together with a simple
mean to handle this error on the client-side.

1. `_sql_constraints` entry was not adequate to prevent multiple
  records from being created for onboardings which are not to be
  completed per-company but per database because in our version(s)
  of PostgreSQL `NULL` values cannot be considered `NOT DISTINCT`,
  i.e., all NULL values are different from one another so `UNIQUE`
  is respected when we wouldn't want it.
  Therefore, we implement here a `UNIQUE` index via the model's init,
  allowing to catch unique violations when company_id is not set.

2. While we search if a record exists before creating a new one, it
  could happen that another worker created a record between these
  steps. As the database is configured (`REPEATABLE_READ`, which
  applies until the end of the transaction, when we leave the
  controller), it is very difficult to retrieve the record created by
  the other process. See additional details in the testing part below.
  Therefore, we chose to ask the client to perform a new request if
  desirable.

Existing extra records are removed with the related UPG PR script.

### Tests

Tests are included to make sure it is not possible to create multiple
onboarding_progress records for the same onboarding and company or
without any. This includes a non-standard (runbot will not run it)
and "database breaking" (we try to clean up our mess but we cannot
give any guarantee) concurrent test that reproduce the following
scenario:

The `/onboarding/<string:route_name>` is called twice in two different
workers for a same `route_name`. The corresponding onboarding exists
and has no corresponding `onboarding.progress` record yet. Python side,
the two workers are oblivious of what's happening in the transaction of
the other worker thus any python-side-only unicity constraint would
fail to detect any progress created by other workers. This would end up
with two progress records created for a single onboarding which is
illegal.

Task-3101666

closes odoo/odoo#109221

Related: odoo/upgrade#4142
Signed-off-by: Thibault Delavallee (tde) <tde@openerp.com>
Co-authored-by: Julien Castiaux <juc@odoo.com>
2023-02-08 12:25:52 +01:00
Stefan-Calin Crainiciuc (stcc) d6bab31a94 [FIX] web: add DomainSelector debugValue default value
Steps to reproduce:

- Install Events
- Activate debug mode
- Events > Config > Lead generation > Create

Traceback is raised.

The `debugValue` prop added in a29691bfd8 should be a string but doesn't
have a default value, and it is evaluated as `false` at runtime.

Solution:

Add default value for `debugValue`.

opw-3056391

closes odoo/odoo#112149

X-original-commit: bec8da1dc250a40b77d02bd5f487f12f5a857dde
Signed-off-by: Michaël Mattiello <mcm@odoo.com>
2023-02-08 10:18:54 +01:00
Florian Vranckx 89709cb3a7 [FIX] website_event : check ticket id
There was previously no check that the ticket id belong to the selected event.

For better data integrity, this should be the case

closes odoo/odoo#112147

X-original-commit: ea645c9c9f301c340d95bd30260b3aa0cd255920
Signed-off-by: Vranckx Florian (flvr) <flvr@odoo.com>
Signed-off-by: Thibault Delavallee (tde) <tde@openerp.com>
2023-02-08 08:30:52 +01:00
asno-odoo 3293496bbf [FIX] l10n_fr_pos_cert: default timezone
When mocking views, if there is no timezone set in context and for user,
providing Boolean value to pytz.timezone() functions results in error.
It doesn't happen in UI as UI takes value from session timezone.

closes odoo/odoo#112151

X-original-commit: 694de9d94de105336398a259c77d7e5bb0e42438
Signed-off-by: William André (wan) <wan@odoo.com>
2023-02-07 23:16:52 +01:00
Adrien Minne (adrm) 329fc12c89 [FIX] mail: fix y overflow in chatter
For some font families, there was an y overflow and a scrollbar in the
chatter when inserting an @mention. This was because the font height +
the padding of `a.o_mail_redirect` was greater than the line height.

Added an `overflow-y: hidden;` in the css to fix the issue.

closes odoo/odoo#112153

X-original-commit: 3a40fa55919b5a4befc93beaf212521b61f15085
Signed-off-by: Sébastien Theys (seb) <seb@odoo.com>
2023-02-07 19:53:01 +01:00
Nicolas Bayet 82d9e8bf9f [FIX] web_editor: write with string in update_checklist
Before this commit, when the user tried to update a checklist, there
was a traceback in `handle_history_divergence` because the `value` is a
byte sequence instead of a string.

opw-3158660
task-3165844

closes odoo/odoo#112112

X-original-commit: e3900dfe51cb294ad139395cb402c9f13dd067c5
Signed-off-by: David Monjoie (dmo) <dmo@odoo.com>
2023-02-07 16:38:42 +01:00
Sergey Shebanin fadcc369ad [IMP] mail: define title for full composer
Before this commit title for full composer dialog window is "Odoo".
It increases probability of mistake for user because it doesn't clear
that user do: sending email or logging note.

After this commit title matches dialog purpose.

closes odoo/odoo#112111

X-original-commit: c29dc28534f03ccec2e390c44b16525ee45a6b3b
Signed-off-by: Sébastien Theys (seb) <seb@odoo.com>
2023-02-07 16:38:39 +01:00
Samuel Degueldre 0d537e58a9 [REF] pos*: move show(Temp)Screen, make number_buffer and popup services
*: l10n_fr_pos_cert, point_of_sale, pos_discount, pos_hr,
pos_hr_restaurant, pos_loyalty, pos_mercury, pos_restaurant, pos_sale,
pos_sale_product_configurator, pos_six, pos_stripe

Continuing to move things out of the Chrome god component, this commit
does the following things:

 - moves the showScreen and showTempScreen methods and the corresponding
closing methods into the pos store so that components that need them can
access them through the pos service in a more explicit way. To that end,
these methods have been removed from PosComponent and Gui.

 - introduces a popup service instead of using a bus in the env, this is
mechanically very similar but closer to what's done in web and hopefully
a first step to using the dialog service instead. It also removes the
showPopup method from the PosComponent and Gui, to make components
depending on the popup service explicit.

 - makes the number buffer into a service instead of being a directly
imported singleton, which will enable it to be used with hooks instead
at a later point, and allows easier dependency injection in tests.

 - removes showNotification from the PosComponent and Gui, the
notification system was already converted to a service in a previous
commit for the same reasons as showPopup and the end goal is to use the
notification service from web to reduce duplication.

closes odoo/odoo#111844

Related: odoo/enterprise#36668
Signed-off-by: Samuel Degueldre <sad@odoo.com>
2023-02-07 16:38:34 +01:00
Pablo Montenegro 1c7c29eeab [FIX] l10n_ar: total invoice amount on printed invoice
Total amount on printed electronic invoice include taxes if the electronic invoice has argentinian vat and document type 'B', 'C', 'X', 'R'. Also if the invoice mentioned before have more than one tax and one of them is different than "IVA" (argentinian vat), then is necessary not to show in the printed invoice report the amount untaxed of the invoice.

closes odoo/odoo#111776

Task: 922
X-original-commit: f5c0552a2b2e975db8745219af044638449c3312
Signed-off-by: Josse Colpaert <jco@odoo.com>
2023-02-07 16:38:28 +01:00