Commit Graph
163215 Commits
Author SHA1 Message Date
abd-msyukyu-odoo 6958f719e8 [FIX] web_editor: loop non-editable in getNormalizedCursorPosition
There were two issues with the `getNormalizedCursorPosition`:

1. If the selection was in a non-editable element, the function called
`rightPos` only once, without ensuring that the new position was editable.
  -> The current implementation fixes that by making it loop while in a
  non-editable element, and also allows the normalized position to use `leftPos`
  if the offset of a position is 0.

2. When searching for the deepest leaf to the right, the `DOMPathGenerator` was
allowed to traverse non-editable elements, which is not correct since the result
should always be editable for a normalized position.
  -> This is fixed, and the name of the `DOMPathGenerator` utils is updated for
  clarity.

task-3280704

closes odoo/odoo#125204

X-original-commit: 3d44028a7722f61900b8669489ff929244b1a4b8
Related: odoo/enterprise#42615
Signed-off-by: David Beguin (dbe) <dbe@odoo.com>
Signed-off-by: Damien Abeloos (abd) <abd@odoo.com>
2023-06-16 09:34:55 +02:00
abd-msyukyu-odoo 9d2e33b3c6 [FIX] web_editor: allow fixes to protected non-editable selections
The previous iteration (394e4fe) prevented the editor to fix selections in
`contenteditable="false"` elements if they had a `data-oe-protected="true"`
parent. This caused undesirable side-effects such as being able to click in an
embedded view in Knowledge, then type `Backspace` and remove view elements.

The solution implemented in this commit allows the editor to fix such a
selection, only if it is not currently targetting a `<input>` or `<textarea>`
tag, as they are supposedly the only `isContentEditable === false` elements that
are editable by a user in an Odoo view.

task-3280704

X-original-commit: 98767b805fe26883cf851bac4f8d5382a3303eb4
Part-of: odoo/odoo#125204
2023-06-16 09:34:55 +02:00
abd-msyukyu-odoo 1ef69821e6 [FIX] web_editor: refine table selection exclusion for protected elements
Prevent custom editor selection of protected tables. The previous iteration
(394e4fe) did not take into account non-collapsed selections.

This iteration does not handle `data-oe-protected="true"` on `table` elements
below the `<table>` tag (i.e. `<tbody>, <tr>, <td>`...), because there is no
need for that currently and it would add further complexity to the code.

task-3280704

X-original-commit: 885d52c9b814d908438e8e424d17c4e4b6e9e731
Part-of: odoo/odoo#125204
2023-06-16 09:34:54 +02:00
abd-msyukyu-odoo c2683a7263 [FIX] web_editor: prevent edition of non editable content in selections
Some commands of the editor are able to modify non editable nodes in the editor,
notably those that use the `formatSelection` util. This commit intent is to
prevent such commands to have an effect on `contenteditable="false"` nodes.
Here is the list of impacted methods:
- setTag
- switchDirection
- unlink
- indentList
- toggleList
- applyColor
- every function using `formatSelection`:
  - bold
  - italic
  - underline
  - strikeThrough
  - setFontSize

In knowledge, `Behaviors` are OWL components that are used in the editor, and
they all have `contenteditable="false"` parts that are managed by OWL. Those
functions could modify those managed nodes and make OWL crash.

task-3280704

X-original-commit: 6d90274e0a21848d704cfd86d7a1d0c5860a9b18
Part-of: odoo/odoo#125204
2023-06-16 09:34:54 +02:00
vlst de25b48f95 [IMP] point_of_sale: Align dashboard buttons
When a `pos` is configured as `self order`, the dashboard buttons become misaligned.
This PR brings back the buttons into alignment.

Task 3357989

closes odoo/odoo#124255

Signed-off-by: Joseph Caburnay (jcb) <jcb@odoo.com>
2023-06-16 09:34:50 +02:00
vlst 55c8840a44 [IMP] pos_restaurant: Enable Floor Plans Link
The link to the `Floor Plans` configuration is only visible in debug mode.
This makes for a bad user experience.
This PR makes it so the link is always visible to `pos users`, regardless of whether
or not the user is in debug mode.

Task: 3357989
Part-of: odoo/odoo#124255
2023-06-16 09:34:49 +02:00
niyasraphy 08f196cf8c [IMP] website_forum: add karma_user_bio field to view
before this commit, karma_user_bio was not added in the
forum forum view and the default value set for the field
was 750, this field decide whether the pop over has to
show or not when user places the mouse hover the author
box in the frontend forum post.

after this commit, as the field is added to the view
end user will be able to adjust the value as per the
need.

closes odoo/odoo#123638

Signed-off-by: Thibault Delavallee (tde) <tde@openerp.com>
2023-06-16 09:34:46 +02:00
Stanislas Gueniffey be60a04aee [FIX] mass_mailing: no hover effect on buttons
Most e-mail clients do not support CSS rules for hover effects.
Previously, the mass_mailing application allowed to add buttons with
such effects. This was confusing to some and introduced discrepancies
between the editor preview and the actual e-mails.

This commit removes such hover effects from buttons in the context of
mass mailing.

Task-2936682

closes odoo/odoo#125298

X-original-commit: 55aff2dcdf5537e16bdaf01ee68d776510572171
Signed-off-by: David Monjoie (dmo) <dmo@odoo.com>
2023-06-16 07:54:51 +02:00
Jorge Pinna Puissant e2d28e269d [REF] web: translation button always save
- Be sure to have two languages installed;
- Open a record with translations (product, for instance);
- Modify the field with translation, from "apple" to "peach";
- Open the translation.
- Modify the English term, from "peach" to "apricot";
- Save;

Before this commit, the field on the record still shows "peach", you
need to revert the changes to came back to "apricot" (the last modified
term). This occurs because the record is not yet saved, but the
translation is. This can create confusing behaviors.

Note also, that there is a different behavior when clicking on a
translation button between new record and existing records. The first
one will ask to save the record before doing the translation,
contrariwise, the last one will let you modify the translation without
saving.

In this commit, to avoid all confusion, and to be coherent between new
record and existing record, and to be also coherent with the always save
policy. We will save the record automatically before opening the
translation dialog.

part-of task-id 3179751

closes odoo/odoo#125149

Signed-off-by: Aaron Bohy (aab) <aab@odoo.com>
2023-06-16 07:54:48 +02:00
Mohit Beniwal 57a89dd601 [FIX] website_sale: require a cart before submitting extra info
When user tries to enter extra info from Configure Form from 'settings' so
'website.sale_get_order' method does not get any order.

Steps to reproduce:
1) Install website_sale module.
2) Click on settings > activate 'Extra Step During Checkout' > click on 'Save'
   button.
3) Now in 'settings', click on 'Configure Form' under
  'Extra Step During Checkout'.
4) Now, click on 'Discard' button on top right of screen.
5) Enter something in textbox 'Give us your feedback' > click on 'Next' button
   and traceback will be generated in backend.

Error: ValueError: Expected singleton: sale.order() traceback will be generated
because in method '_message_log' it is expecting a record.

Sentry-4126876202

closes odoo/odoo#125259

X-original-commit: 43506c5934e50bc1b132a135466b405f1d1ebb20
Signed-off-by: Mohit Beniwal (mobe) <mobe@odoo.com>
2023-06-16 06:42:56 +02:00
Maryam Kia 651476db87 [FIX] mail: no insert message when delete attachment from composer
Before this commit, when deleting an attachment from composer,
an undefined message was inserted in the store.

closes odoo/odoo#125313

X-original-commit: ec814f14222509caa27d627a193e6eaebe9bbf60
Signed-off-by: Sébastien Theys (seb) <seb@odoo.com>
Signed-off-by: Alexandre Kühn (aku) <aku@odoo.com>
2023-06-16 01:40:35 +02:00
Alexandre Kühn 9b55c4565b [FIX] mail: linkify message content
closes odoo/odoo#125307

X-original-commit: 406ff4727e361588bded08c6719f932a8b800b35
Signed-off-by: Sébastien Theys (seb) <seb@odoo.com>
Signed-off-by: Alexandre Kühn (aku) <aku@odoo.com>
2023-06-16 01:40:32 +02:00
Aman Patel e0de62b5a3 [FIX] mail: message notification double escape issue
Before this commit:
In discuss when a user receives a message containing strings from any of
these '>,<,&' it gets converted to `>,<,&`  respectively.
For example, if a user sends '<abc>' , when the chat is out of focus,
the toaster  notification will show a notification with an escaped message
i.e.`<abc>`.

After this commit:
The message will be shown as it is, in the toaster notification.

Task-3284244

closes odoo/odoo#125306

X-original-commit: bbc9966198eb644c220d98452e0ef53c8424f5ea
Signed-off-by: Sébastien Theys (seb) <seb@odoo.com>
Signed-off-by: Alexandre Kühn (aku) <aku@odoo.com>
2023-06-16 01:40:30 +02:00
Alexandre Kühn 8a885bb5ba [FIX] mail: play sound effect from new message with push notif
When odoo tab is out-of-focus and user receives a new message,
it should play a sound effect. This works when showing notification
in Odoo, but when push notifications were enabled it did not play
the audio.

This commit fixes the issue by playing audio when receiving push
notification of new message while out-of-focusing the tab.

closes odoo/odoo#125305

X-original-commit: b0b4f300705595df31588e747e1b12ad99f6d8d0
Signed-off-by: Sébastien Theys (seb) <seb@odoo.com>
Signed-off-by: Alexandre Kühn (aku) <aku@odoo.com>
2023-06-16 01:40:27 +02:00
Laurent Smet 6af55b6afb [FIX] account_peppol: commit after updating the move
When using the Send & Print wizard in invoice_single, the error is raised if any
making all changes rollbacked including the update of the 'peppol_move_state'.

closes odoo/odoo#125302

X-original-commit: ec1209c2853ead82bcf27728612d1a7efc6dc97a
Signed-off-by: Laurent Smet <las@odoo.com>
2023-06-16 01:40:25 +02:00
Laurent Smet 3ee1ef2fb5 [FIX] account: Buttons display relying on PDF instead of is_move_sent
- Create an invoice
- Sent it using the Send & Print wizard
- Remove the PDF manually
=> The Send & Print button is still secondary instead of primary

X-original-commit: ef9e266c86cbc4abc24e2a6f597a2014e6e3439a
Part-of: odoo/odoo#125302
2023-06-16 01:40:25 +02:00
Laurent Smet 6dd54ebb79 [FIX] account: Create new attachments for mail message in send & print
When creating the attachments for the mail.message, copy the attachments
instead of linking the existing ones.
That way, even if the user deletes the PDF or another business documents,
the history remains the same and can be retrieved easily.

X-original-commit: 7434cbe47ec58695a2dde40bcf4bd3bdaf6f1964
Part-of: odoo/odoo#125302
2023-06-16 01:40:24 +02:00
Valentin Vallaeys (vava) fdf864021c [FIX] payment: fallback on transaction partner parent name
In a Sale Order, it is possible to select an invoice address without a
name. The partner of the transaction does not have a name, which leads
to a traceback when trying to split the name.

The idea is to force the name to be filled, with a fallback on the
partner' parent name.

OPW-3338406

closes odoo/odoo#125282

X-original-commit: 505109d4111208aaf934a31373e9abec2bb38ad7
Signed-off-by: Antoine Vandevenne (anv) <anv@odoo.com>
Signed-off-by: Vallaeys Valentin (vava) <vava@odoo.com>
2023-06-16 01:40:18 +02:00
Andrea Grazioso (agr-odoo) 669ee5be2f [FIX] account_edi: missing edi xml attachment
With an mx company setup
Create Invoice
Validate CFDI
Click "Send & Print"

Issue: xml not in attachments

In e9e90811aeee46989a83b21f9b59071a9c7bc362 the name of method responsible
for loading attachment was changed from
`_get_default_mail_attachments_data`
to
`_get_default_email_attachment_data`
But the account_edi override wasn't changed so no xml was attached

opw-3370272

closes odoo/odoo#125275

X-original-commit: 0bf8296d74002ab691b809c484d38c3ead2c090b
Signed-off-by: Josse Colpaert <jco@odoo.com>
2023-06-16 01:40:15 +02:00
Alexandre Kühn e82a35b588 [FIX] mail: thread content with few content should be at bottom
closes odoo/odoo#125163

Signed-off-by: Alexandre Kühn (aku) <aku@odoo.com>
2023-06-16 01:40:10 +02:00
yhu-odoo 9955064415 [FIX] purchase_stock: valuation layer wrong when different currency
To reproduce:
1. Create a storable product with ordered quantities policy for purchase and with a category set as FIFO automated
2. Create a purchase order in a different currency and set quantities for partial deliveries
3. Create a partial delivery
4. Fully invoice the purchase order
5. Create the delivery of the complementary units
6. Check the stock valuation layer
The valuation of backorder is wrong.

The value on valuation layer is in company's currency, while the value
on invoice line is in the PO's currency. When create valuation line for
backorder, we didn't convert them to same currency.

opw-3300266

closes odoo/odoo#125206

X-original-commit: c2de679fcba7f153201dde5b3aa989eb3f329910
Signed-off-by: Arnold Moyaux (arm) <arm@odoo.com>
Signed-off-by: Yuchen Huang (yhu) <yhu@odoo.com>
2023-06-15 19:59:18 +02:00
Julien Castiaux 7d1959febc [FIX] core: reset current_thread.dbname/uid between requests
In [HTTPocalypse] the `odoo/service/wsgi_server.py` file has been
removed and its features has been spread to other files. One of the
feature was reseting those few thread-local variables[^1] before
processing any new request:

    if hasattr(threading.current_thread(), 'uid'):
        del threading.current_thread().uid
    if hasattr(threading.current_thread(), 'dbname'):
        del threading.current_thread().dbname
    if hasattr(threading.current_thread(), 'url'):
        del threading.current_thread().url

In [HTTPocalypse] the `url`[^2] is correctly set at its definitive value
at the beginning of the request so there is no need to delete it before
processing.

On the other hand, `dbname`[^3][^4] and `uid`[^5] are only set when the
request is processed by `_serve_db`, i.e. that the user is connected to
a database already. Those values weren't reset at the begining of the
next request so in case that next request was processed by `_serve_nodb`
or `_serve_static`, the dbname and uid of the previous request would
still be present.

This commit restores both `del uid` and `del dbname` at the beginning of
the http stack, before the request is processed.

[HTTPocalypse]: odoo/odoo#78857
[^1]: https://github.com/odoo/odoo/blob/a1361d6629a829fd622f2a1a1b3e5b025050eaf9/odoo/service/wsgi_server.py#L80-L85
[^2]: https://github.com/odoo/odoo/blob/0e629cd2a1fc3623b579a38ae534fbdfae9b38a3/odoo/http.py#L1987
[^3]: https://github.com/odoo/odoo/blob/0e629cd2a1fc3623b579a38ae534fbdfae9b38a3/odoo/http.py#L1563
[^4]: https://github.com/odoo/odoo/blob/0e629cd2a1fc3623b579a38ae534fbdfae9b38a3/odoo/modules/registry.py#L70
[^5]: https://github.com/odoo/odoo/blob/0e629cd2a1fc3623b579a38ae534fbdfae9b38a3/odoo/http.py#L1582

closes odoo/odoo#125205

X-original-commit: c327c4586243430751100c8980169ae067383b1c
Signed-off-by: Julien Castiaux (juc) <juc@odoo.com>
2023-06-15 19:59:13 +02:00
Xavier ALT a2d74e14a6 [FIX] website_hr_recruitment: fix filters links after choosing "Other" department
Fix wrongly generated link when "Other" department filter is active
(introduced by odoo/odoo@54f246f9c)

To reproduce (on runbot):
- Log-in as 'admin'
- Go to the website /jobs page
- Edit page and enable both 'Country' and 'Department' search filters
  then save changes
- Choose "Others" in the departments filter
- Choose any country in the countries filter

=> traceback with:
`ValueError: invalid literal for int() with base 10: '233is_other_department=1'`

closes odoo/odoo#125203

X-original-commit: 12085c9b653412b976279495804f672f3307764b
Signed-off-by: Romain Derie (rde) <rde@odoo.com>
2023-06-15 19:59:10 +02:00
Julien Castiaux 3160c376bc [IMP] core: --db_maxconn_gevent
The Gevent worker has specifc needs in term of maximum concurrent
connections to the database and those needs are not compatible with the
default limit that is primerly set for http workers.

This PR makes it possible to supply a configuration dedicated to the
gevent worker.

task-id-3193565
task-id-2146565

closes odoo/odoo#125190

Signed-off-by: Julien Castiaux (juc) <juc@odoo.com>
2023-06-15 19:59:08 +02:00
Jurgen (jugj) 62827e29f5 [IMP] web : Display the full text when hovering the search panel
Following an FP-Request, this PR aims to ease the life of the user
by indicating the full name of the elements that are truncated due
to their length as a tooltip.
task-3332648

closes odoo/odoo#125186

X-original-commit: 8512402d803e788347aa5f7012c4380c3dd34fae
Signed-off-by: Kevin Baptiste <kba@odoo.com>
2023-06-15 19:59:05 +02:00
Merel Geens (mege) 0e2bacfd51 [FIX] stock_account: don't create 0 amount COGS lines
After creating a sales order for a product with cost 0, automatic
inventory valuation and AVCO, and validating the delivery, no account
move is created for the stock move. If an invoice is then created from
the sales order, it will create 0 amount COGS lines. Automatic
reconciliation of the invoice with the corresponding stock account move
will fail because no such entry exists, resulting in unreconciled lines
remaining in the invoices.

This issue can be prevented by either creating a 0 amount journal entry
for the stock move, or preventing the creation of the 0 amount COGS
lines on the invoice. Not creating unnecessary COGS lines is preferable
and this was also the solution used for the same problem with purchase
order invoices: https://github.com/odoo/odoo/pull/106785 .

So this fix does the same for sales order invoices.

opw-3000320

closes odoo/odoo#125185

X-original-commit: 999451e6ea0b2b1591a3644725b5313c6e062b39
Signed-off-by: Brice Bartoletti (bib) <bib@odoo.com>
Signed-off-by: Merel Geens <mege@odoo.com>
2023-06-15 19:59:03 +02:00
Robin Lejeune (role) 6e60016037 [FIX] web_editor: adapt options' icons in RTL
The triangle pointing towards an option in the editor is pointing
right and the symbol └ is used to show a sub option in the editor panel.
In a RTL setting, this does not make sense and should be mirrored.

task-3284274

closes odoo/odoo#125153

X-original-commit: a66ff40b28717617e28387b22bdfe9e468242907
Signed-off-by: Quentin Smetz (qsm) <qsm@odoo.com>
2023-06-15 19:58:56 +02:00
arsi 9f5578289a [FIX] account: compute bills to pay sum based on amount_residual_signed
In case the journal currency is set on the company currency, we should
compute the 'Bills to Pay' sum on amount_residual_signed as it is
the residual amount in the company currency.
In the current state, you can have differences between the sum in the
dashboard and the sum showed in the list view from the 'Bills To Pay'
button.

Steps to reproduce (clean db with accounting):
-Set a foreign currency with 2 different rates (significant if you want
 to see the issue clearly).
-Create an invoice in a sale/purchase journal which has no currency set
 (like Vendor Bills), with the foreign currency and with an invoice_date
  corresponding to one of the rate.
-Register a payment for that invoice, with a date corresponding to the
 other rate and having an amount lower (like half) than the invoice, so
 the invoice is partially reconciled.
-> Go to the accounting dashboard, the amount next to 'Bills to Pay' is
different than the amount (the sum of the column 'Amount Due') in the
list view generated after clicking that button.

These two values should be the same.  They are currently different
because the dashboard takes the amount_residual, which is expressed in
the invoice currency, and apply the exchange rate to get the residual in
the journal currency.
But if the target currency is the company currency, the field
amount_residual_signed is already the residual amount in the company
currency. Unfortunately, in case of partial reconciliation, it is not
always equal to amount_residual expressed in the company currency
anymore. Because amount_residual and amount_residual_signed are
substracted by the payment amount, expressed in each currency, using the
payment date exchange rate.

opw-3184567

closes odoo/odoo#125150

X-original-commit: d71d8e90667ccc9c5428cc15b927747b4b3556cd
Signed-off-by: William André (wan) <wan@odoo.com>
Signed-off-by: Arnaud-Sibille (arsi) <arsi@odoo.com>
2023-06-15 19:58:53 +02:00
Pierre Rousseau 2fa42767c7 [IMP] web, point_of_sale: add reactive helpers
This commit adds a new module in web that contains a few helpers to
make it easier to use reactive in Odoo.

closes odoo/odoo#125136

Related: odoo/enterprise#42588
Signed-off-by: Samuel Degueldre (sad) <sad@odoo.com>
2023-06-15 18:52:00 +02:00
Alexandre Kühn 5276ed23e6 [FIX] mail: show typing in chat window
closes odoo/odoo#125135

X-original-commit: c9a94488381abef016a28a4bda0b23423e8217ee
Signed-off-by: Sébastien Theys (seb) <seb@odoo.com>
Signed-off-by: Alexandre Kühn (aku) <aku@odoo.com>
2023-06-15 18:51:55 +02:00
qsm-odoo c8016d8c80 [FIX] web_editor: properly allow to reset bg/fg text colors
Steps to reproduce:
- Go on a backend HTML field (project task description for instance)
- Write and select some text
- Open the text background color colorpicker
- Hit the "reset" button (the trash icon)
=> The text becomes black (or white in dark mode)

This was because of [1] which indirectly removed the CSS variables
`--black` and `--white`, on which the colorpalette relies.

Note: the test update made by the original commit was lost in the
forward-port because [2] removed the test. It will be restored at some
point thanks to task-3177674.

[1]: https://github.com/odoo/odoo/commit/28444a5792b9929f5250e38f3f864694e22e9370
[2]: https://github.com/odoo/odoo/commit/49297bc7bba75541ca139e6c84e0d3b311765145

closes odoo/odoo#125131

X-original-commit: 907c5b6cc24e0b86c219cda1299a87b7901f4e76
Signed-off-by: Quentin Smetz (qsm) <qsm@odoo.com>
2023-06-15 18:51:52 +02:00
qsm-odoo 81b3a37dbf [FIX] web_editor, *: fix wrong color retrieval in website color palettes
*: website

Commit [1] (and [2]) from the "website in backend" refactoring adapted
the colorpalette to read color information on the right document (as
the right document could now be the one of an iframe which is inside the
editor environment). Unfortunately, it did not do that correctly, making
an inconsistent API relying on the fact the colorpalette should receive
an "editable" param... while a jQuery version "$editable" param of the
same thing already existed. Doing so, it forgot to give that important
"editable" param in two cases:
- For editor toolbar colorpickers (text foreground/background edition)
- For colorpickers inside another UserValueWidget (like we-multi).

This commit solves the inconsistency by removing the need of that
"editable" params and relying on the previously existing "$editable". In
the future, this should be refactored anyway.

Steps to see the issue (A):
- Enter edit mode of one of your website page
- Select some text
- Hit the "reset" (trash button) of the text background colorpicker
=> The text becomes black for no apparent reason.

Steps to see the issue (B):
- Enter edit mode of one of your website page
- Choose a new main color for your website via the theme tab
- Select some text
- Open the colorpicker for the foreground color
- Go to the solid tab and input explicitly the main color of the website
=> The color is hardcoded on the selected text instead of using the
   text-o-color-1 class.
=> A test has been added to check this usecase. Making a test for (A)
   is less robust as it also requires the backend color names not being
   the same as the frontend ones to have the bug (otherwise it works by
   chance)... and that will be solved by the next commit of this PR
   (another test will be added by that commit too) **.

Note:
- After this commit, following (A), a bug remains: the text receives a
  strange padding (as a "inherit" background is actually applied).
  Another PR will be made to solve that (see task for more info).
- ** After this commit, (A) done in backend HTML fields instead of a
  website page leads to the same bug still. This is because of another
  problem that the following commit of this PR will solve.

[1]: https://github.com/odoo/odoo/commit/212a8bfdd21269b18054200b9e2585e1c95540d6
[2]: https://github.com/odoo/odoo/commit/03c552690b15cbf2e7d6b7812386ac64042219af

task-3237693

X-original-commit: a30206606423af9e6c8e0313c74fd6200247437e
Part-of: odoo/odoo#125131
2023-06-15 18:51:52 +02:00
Alexandre Kühn af21d99a36 [FIX] mail: pass props to thread actions
Since [1] thread actions are stored in a specific registry.
Some of those actions require props to be passed to their
component.

Those props are not correctly passed as the `componentProps`
key is in fact a function that returns the props but is
treated as the props themselves.

This commit fixes this issue by transforming `componentProps`
into a getter, so that `action` is internally passed to
`componentProps` definition. The templates using thread
actions can still use `t-props="componentProps"` as getter,
as the active action is deduced by transform automatically.

[1]: odoo#123454

closes odoo/odoo#125120

Signed-off-by: Sébastien Theys (seb) <seb@odoo.com>
2023-06-15 18:51:48 +02:00
Kishan Gajjar 91ba1c211a [FIX] website: properly toggle hoverable dropdown
Steps to reproduce the bug (in 16.0):
- Create a hoverable mega menu
- Drop inline Search snippet inside the menu
- Search for something.
- Hover on the search result and move the cursor outside of the search result.
=> Result Error.

Since [1], is having a fix to the overflows of the page. In that fix
we are triggering hide(), and show() events on a 'dropdown-toggle' element
without checking whether the element is exist in the target or not.
this commit will make sure that element should be present in the target
before triggering the event.

[1]: odoo@5846a05

closes odoo/odoo#125083

Closes: odoo#118803
X-original-commit: 4fba98dbe9a82cf0fec9080bea147f5d4d088b53
Signed-off-by: Quentin Smetz (qsm) <qsm@odoo.com>
2023-06-15 18:51:46 +02:00
Alexandre Kühn 57a6a995c9 [FIX] mail: correct seen indicator alignment in squashed message
Before this commit, the seen indicator in squashed messages was
not centered. This is especially noticeable in comparison to
shorten date when hovering on this squashed message in chat window.

This commit centers the sidebar in squashed messages.

closes odoo/odoo#125082

X-original-commit: 1c342c1c5c14add563bba07fe5e5b6e6fbe9fdb3
Signed-off-by: Stockbauer Matthieu (tsm) <tsm@odoo.com>
Signed-off-by: Alexandre Kühn (aku) <aku@odoo.com>
2023-06-15 18:51:43 +02:00
Alexandre Kühn da73468c31 [FIX] mail: linkify url with subdomain containing numbers
Before this commit, when posting a message in discuss with some
urls, the url was not linkified.

Example of such linkify not working:
```
https://www.45017478-master-all.runbot134.odoo.com/web

```

The url regexp was changed with [1]
to make punctuation mark the end of url to linkify. The 1st dot
removed in diff was a mistake. This commit reverts this part, so
that url above is correctly linkified while fixing the problem
of [1].

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

closes odoo/odoo#125081

X-original-commit: bbbc85865b45615937a22ed08b6e560a0aa898a0
Signed-off-by: Stockbauer Matthieu (tsm) <tsm@odoo.com>
Signed-off-by: Alexandre Kühn (aku) <aku@odoo.com>
2023-06-15 18:51:39 +02:00
Louis (loco) f19f6748f5 [FIX] web_editor: enable to translate invisible blocks
Steps to reproduce the problem:
- Drop a popup snippet in a page.
- On another language, click on translate.
- Problem -> It is impossible to translate the popup.

To resolve this problem, the function `_updateInvisibleDOM` is called
even in translation mode. Thanks to this function, the invisible
snippets are now filled in the edit bar and the user has the opportunity
to display them or to hide them.

task-3098517
opw-3268592
opw-3283140

closes odoo/odoo#125078

X-original-commit: c76ff023b84da65d90b7967c91adde4bd777265b
Signed-off-by: Quentin Smetz (qsm) <qsm@odoo.com>
2023-06-15 18:51:36 +02:00
Guillaume (gdi) 23fddc4ec5 [IMP] website: add arabic in iap test
This commit adds arabic in the list of iap languages so that we can test
that the industries are correctly translated in arabic.

related to task-3343616

closes odoo/odoo#125005

Signed-off-by: Romain Derie (rde) <rde@odoo.com>
2023-06-15 18:51:27 +02:00
Guillaume (gdi) a0d0afb205 [FIX] website: put the correct tags for the iap website test
A test of IAP has been introduced by [this commit]. We want it to be
part of the website nightly tests, so that we can easily check if it
passes.

[this commit]: https://github.com/odoo/odoo/commit/9177076caee4f83590704e3af8e51ec6f7eaa0bc

related to task-3343616

Part-of: odoo/odoo#125005
2023-06-15 18:51:26 +02:00
Zeel Patel 5b6ea19887 [FIX] mrp_account: prevent AttributeError on clicking valuation button
Steps to reproduce

- Create Manufacturing Orders and confirm it.
- Validate the done quantities.
- Click on valuation button. It will raise trackback

Error caused by commit: a080337

closes odoo/odoo#124956

Signed-off-by: Tiffany Chang <tic@odoo.com>
2023-06-15 18:51:21 +02:00
Romain Derie 37cdff405e [IMP] website, test_website: strengthen the perf testing suite
This commit ensure the expected tables are accessed when a page (not
only) is requested.

This is needed because without that, we can only check the query count
number which might be broken without being noticed:
- Commit 1 reduce queries by 2 (no need to access table X anymore)
- Commit 2 later reduce queries by 2 (less access on a table) but
  without noticing it, it also now introduce back the access of table X.

At the end the query count is still fine, but the code is not: it broke
a previous improvement while it was not necessary.

Worst, it could even lower the query count despite still breaking a
previous improvement (-3 queries +2 queries back).

Also, since the query count of a page is not exactly the same inside a
test and in real use cases, an `EXTRA_REQUEST` param is used in those
tests to abstract that change and still use the "real use case" query
count in the test to fit the reality, be human readable and easier to
write/debug.
Indeed, in test mode there is more queries due to the test cursor
rollback and savepoint, but there is one less query (the cache one).

Some commit wrongly reduced that `EXTRA_REQUEST` param making it looks
like there was an improvement while there wasn't.

This commit will help preventing all of that, ensuring the correct
tables are accessed and only those, on top of checking the query count
number (we still need to check the query count in case there is a query
not catched in the SQL table logs).

Some of the PRs/commits where it happened:
- https://github.com/odoo/odoo/commit/aa1c1b0bcb5327894c7b00d0454eebae06eaa005
- https://github.com/odoo/odoo/pull/112000/files#r1160851862

closes odoo/odoo#124939

X-original-commit: 26e1fc3abd54a1baa16cf1c99d75d501a8dc6906
Signed-off-by: Romain Derie (rde) <rde@odoo.com>
2023-06-15 18:51:18 +02:00
Romain Derie 202f79dec0 [IMP] sql_db: allow to track queried table on cursor outside --log-sql
This commit introduced a way to log queried table on cursor without
having to be in `--log-sql` mode.
It will be used in next commit to add complete performances tests which
will ensure the correct tables are accessed when a page is requested.

This is useful as right now those performances tests are only doing a
check against the SQL query number without ensuring the queries are the
correct ones.
As a result, one could introduce an improvement which would reduce the
queries (-2) but break another previous improvement (-2) which would
add back those queries (+2). Since the query count would be the same
(-2+2), it would be undetected, instead of being fixed directly and
keep both improvements (-2-2).

See next commit for concrete example(s) and use of this improvement.

X-original-commit: 8ef6137a34aa35182399a2bd4b20dd57479ab2e7
Part-of: odoo/odoo#124939
2023-06-15 18:51:18 +02:00
Romain Derie 984bad4974 [IMP] sql_db: find and log queried table when the query is multiline
Before this commit, a multiline SQL Query (crafted, as the ORM is one
lining the queries) would not be catched in the `sql_from_log` and
`sql_into_log` variables, despite being shown and counted in the request
queries (unless the `into` or `from` part of the query is on the first
line).
At the end, not only the query was not listed in this table report but
if you sum the table report queries, it would not match the shown query
count.

This is the case for the `website_visitor` UPSERT query:
```sql
WITH visitor AS (
    INSERT INTO website_visitor (...)
    VALUES (
        ..., (
            SELECT id FROM res_country WHERE code = NULL
        )
    )
    ON CONFLICT (access_token)
    DO UPDATE SET
        ...
    RETURNING ...
)
SELECT id, upsert from visitor;
```

This commit is allowing the `into` and `from` part of the select to be
detected even if it's not part of the very first line of the query.
As a result, since a SELECT and an INSERT could be part of a same query,
we exclude the SELECT to be considered as a SELECT query if an INSERT
was already found in this query.

This will allow to have table query count log be in par with the query
count number (except for the `base_registry_signaling`, see note below).
It will also be helpful in next commits which will introduce a way to
access those logged queried table in the testing suite without being in
`--log-sql` mode.

Note: the SQL query on `base_registry_signaling` (which occurs every
      time to check if the cache should be invalidated) is not tracked
      either due to how it is build, it doesn't seems really needed to
      have this one shown in the table logs. See [1].

This commit also remove the `lower()` usage and use the `IGNORECASE`
flag from `RE` instead.

[1]: https://github.com/odoo/odoo/commit/4aeba0c12e0512e537178e6cba0993a11f001ec3

X-original-commit: 255aa168bef5d63480e88b4d34511e3aac910f49
Part-of: odoo/odoo#124939
2023-06-15 18:51:17 +02:00
Alexandre Kühn 8a9bc4c55e [FIX] mail: Send message/log note in chatter style with MILK
- Send button has text "Send" or "Log" depending on composer mode
- When button is active, it has `btn-primary` and composer mode
  buttons use `btn-outline-primary`
- Add hint to use Send keyboard shortcut for fast send in chatter

Other changes:

- Re-introduce missing feature to jump to present when posting
  a new message in a thread.
- In chatter, the topbar and composer are sticky. Whole chatter
  is scrollable rather than just a part of it. As a result,
  `Chatter-scrollable` becomes `Chatter-content`.
- Editing a message in chatter now uses the extended composer

Task-3356271

closes odoo/odoo#124905

X-original-commit: 894ec7e7757d2bb78574e8cd210012b83fad1cf6
Related: odoo/enterprise#42508
Signed-off-by: Sébastien Theys (seb) <seb@odoo.com>
Signed-off-by: Alexandre Kühn (aku) <aku@odoo.com>
2023-06-15 18:51:14 +02:00
Rohitkumar (roku) 05079fe8e3 [IMP] sale_(project): remove fields and improve project app
The following changes are made in this PR:

- sort projects by favorite > sequence > name for project
- add the 'tasks' stat button for project form view
- when creating a project on the fly from a task's form view, allow_billable
  should be set to true by default
- Display only the colored dot, hide the status label for project list view
- remove following fields from project
  allow_recurring_tasks

task-3251656

closes odoo/odoo#119154

Related: odoo/upgrade#4569
Related: odoo/enterprise#40050
Signed-off-by: Xavier Bol (xbo) <xbo@odoo.com>
2023-06-15 18:51:08 +02:00
Eteil Djoumatchoua(etdj) 8d0625a95f [FIX] website_sale: add product with extra price to cart
Version: 16.0

Prerequisites:
- "Pricelist" enabled
- "Prevent Sale of Zero Priced Product" enabled

Steps:
- Create a product:
	- Sales Price: 0
	- In the  "Sales" tab set "website" to a website
	- Add Extra Prices (smart button)
		- Public Pricelist (USD)
		- Min. Quantity: 0
		- Price: 100
- Go to the shop, choose the correct pricelist and try to add the product to the cart

Issue:
UserError:  The given product does not have a price therefore it cannot be added to cart.

Cause:
It doesn't compare the good price list considering the context

opw-3339524

closes odoo/odoo#124898

X-original-commit: facd44d0bd4352be3d0eb11a2675e7a518c97e59
Signed-off-by: Victor Feyens (vfe) <vfe@odoo.com>
2023-06-15 17:36:41 +02:00
Salvatore Davide Rapisarda 722d00ff91 [CLA] Corporate signature for Pixora Srl
closes odoo/odoo#124890

X-original-commit: 22ea7f24bcb9e55a4f3dcd3275d5a9c4b984d720
Signed-off-by: Martin Trigaux (mat) <mat@odoo.com>
2023-06-15 17:36:38 +02:00
aliya f4d7d75835 [FIX] account_peppol: fix account_peppol checkbox
Currently:
Create an invoice and send it using Peppol and make sure the PDF and the XML are well generated but Peppol failed for some reason.
When opening the wizard later, the checkbox is no longer there since the XML is already generated.

Fix:
This commit adds enable_peppol to show the checkbox depending on this field, so that if there is already a ubl XML generated, we can still send an invoice via Peppol.
Also, if the ubl generation is enabled but ubl checkbox is not checked, and the user chooses to send via peppol,
we assume that the ubl xml needs to be generated as well.

task-3358419

closes odoo/odoo#124496

Signed-off-by: Laurent Smet <las@odoo.com>
2023-06-15 17:36:30 +02:00
Khushi Vakil f6ee7d467f [IMP] mrp,purchase_mrp: update demo data
Activated the route in demo data of Table Top, Table Leg and Wood Panel so that
bom overview and MO overview can yield better demo results.

task id: 3357025

closes odoo/odoo#124278

Related: odoo/enterprise#42169
Signed-off-by: Arnold Moyaux (arm) <arm@odoo.com>
2023-06-15 17:36:28 +02:00
Renaud Thiry 845111af36 [IMP] crm: remove set_reason toggle field
In odoo/odoo#124103 we stop using this field in the wizard.
It is thus removed from master.

task-3356095

closes odoo/odoo#124049

Related: odoo/upgrade#4743
Signed-off-by: Thibault Delavallee (tde) <tde@openerp.com>
2023-06-15 17:36:20 +02:00