Commit Graph
168011 Commits
Author SHA1 Message Date
Chrysanthe (chgo) de0c841f2a [FIX] web: allow CP navigation to fill container
This commit allows the navigation inside the Control Panel to fill all
the container height.

Prior to this commit, the navigation arrows inside the control panel
were not taking the whole height of the container, which would cause a
weird visual render where everything would have exactly the same height
except these elements.

To fix the issue, we adapt some of the flex properties used in the
layout, ensuring everything is well aligned.

task-3580216

closes odoo/odoo#140670

Signed-off-by: Pierre Paridans (app) <app@odoo.com>
2023-12-05 19:53:18 +00:00
Rémi Rahir (rar) 3813458919 [FIX] spreadsheet: Unable to copy text on safari
Same idea as https://github.com/odoo/enterprise/pull/49291, the
clipboard on safari needs to be treated asynchronously.

closes odoo/odoo#144657

Task: 3571908
X-original-commit: 011aa4a03133361b9bb6af47816f828584ee41ee
Signed-off-by: Lucas Lefèvre (lul) <lul@odoo.com>
Signed-off-by: Rémi Rahir (rar) <rar@odoo.com>
2023-12-05 17:30:08 +00:00
Mathieu Walravens 769e1ce829 [FIX] mrp: reservation rounding for under-consumption backorders
Steps to reproduce:
1. Create a BoM with a component of 1 quantity
2. Create a manufacturing order with this BoM
3. Set the quantity to produce to 5 and confirm
4. Set the producing quantity to 3.1
5. Set the quantity done for the raw material to 3.09
6. Mark the MO as done and create a backorder
7. Click 'Unreserve' on the backorder
8. 'It is not possible to unreserve more products of ...'

Before this commit:
`_compute_quantity` is called with the default rounding method,
rounding quantity UP, which introduces reservation inconsistencies.

After this commit:
`_compute_quantity` rounds with the HALF-UP method, preventing
rounding errors.
Also, use the correct UoM in float comparisons.

opw-3601737

closes odoo/odoo#144620

X-original-commit: f6c15e131e253c3780ce6daa53b0cf27f60fa464
Signed-off-by: Quentin Wolfs (quwo) <quwo@odoo.com>
Signed-off-by: Walravens Mathieu (wama) <wama@odoo.com>
2023-12-05 14:57:16 +00:00
Quang Nguyen c4f42b813e [FIX] stock_account: Correctly pass ID rather than record
When trying to prepare account move line, we are unexpectedly browsing a record instead of the record's ID. This causes
psycopg2.ProgrammingError: can't adapt type 'stock.valuation.layer'

Step to reproduce:

1. Set up product

	storable
	Average cost
	Automated Inventory Valuation
	set a standard price e.g $27
2. Create a purchase order for 1 unit in another currency E.g Eur

3. Confirm the purchase order and validate the transfer.

4. Go on the transfer and create a return. Change the return quantity to be more than what received E.g 100

5. Process the return.

6. Go back to the purchase order and create a vendor bill

7. Now try to create a new purchase order and receive the item.

Fix:

pass in vacuum_svl.id instead of just vacuum_svl into _prepare_account_move_line

opw-3555146

closes odoo/odoo#142798

X-original-commit: a5cdbbc3c0a8b617cb6efe151621ad06216e812c
Signed-off-by: William Henrotin (whe) <whe@odoo.com>
2023-12-05 12:18:52 +00:00
Jeremy Kersten 3652f90e61 [FIX] mail_group: don't pollute sitemap
Controller /groups/<model(mail.group):group> is already in the sitemap,
so it is useless to list all messages. It will explode the sitemap, for
pages that don't need to be really indexed. What we want is the thread,
not one page by message.

And since no domain was set on domainConverter, the most of urls are
just 404. e.g. groupA with msg1/msg2 and groupB by with msg3/msg4 will
generate:
    groupA/msg1
    groupA/msg2
    groupA/msg3
    groupA/msg4
    groupB/msg1
    groupB/msg2
    groupB/msg3
    groupB/msg4

instead of
    groupA/msg1
    groupA/msg2
    groupB/msg3
    groupB/msg4

If we really wanted to index this route, then the domainConverter would
have to be:

```py
  '''/groups/<model("mail.group"):group>/<model("mail.group.message", "[('mail_group_id', '=', group.id)]"):message>''',
```

On our production, it removes around 90K entries in the sitemap ~40%

closes odoo/odoo#144938

X-original-commit: 2c90dca02357377301e788d16bbd05d37bd09785
Signed-off-by: Thibault Delavallee (tde) <tde@openerp.com>
2023-12-05 10:55:00 +00:00
Eteil Djoumatchoua(etdj) etdj@odoo.com 870acffba6 [FIX] mail: well sanitize the mails coming from outlook desktop
Steps:
- Create a ticket with a customer ( it will the email)
- Answer to the mail with Outlook Desktop( a multiple lines break)
- Look at the response in the discuss frame.

Issue:
In the frame there is much more lines break than in the original mail

Cause:
The format of outlook desktop mail before sanitizing looks like this
```
<div class="WordSection1">
<p class="MsoNormal">Test<o:p></o:p></p>
<p class="MsoNormal"><o:p>&nbsp;</o:p></p>
<p class="MsoNormal"><o:p>&nbsp;</o:p></p>
<p class="MsoNormal">Two break lines<o:p></o:p></p>
<p class="MsoNormal"><o:p>&nbsp;</o:p></p>
<div>
```
So when parsing it transforms the ``<o:p></o:p>`` in ``<p></p>``
which adds more lines break when displayed.

Solution:
Remove empty ``<o:...>`` and ``</o:...>`` tags which are specific to outlook desktop before.

opw-3089550

closes odoo/odoo#144931

X-original-commit: a3e9db87277771c9801f24a5f52aa73b98a0d879
Signed-off-by: Thibault Delavallee (tde) <tde@openerp.com>
2023-12-05 10:54:59 +00:00
Jinjiu Liu 1f42c0f468 [FIX] web_editor: cursor one step late in collaboration
Reproduction:
1. Install note
2. Open an existing note and open it again in another tab
3. When you click in one tab, the cursor position in the other one is
always one step behind

Fix: separate the logic between collaboration and appliedCustomSelection
and revert the calling of getCurrentCollaborativeSelection to the place
after _computeHistorySelection

Task-3221119

closes odoo/odoo#144929

X-original-commit: 854ef7df4db577d010bed9a3561c57b3700447d8
Signed-off-by: Nicolas Bayet (nby) <nby@odoo.com>
2023-12-05 10:54:58 +00:00
Maruan Aguerdouh (magm) ad0783edf1 [FIX] web: word-break support for list view in safari
Steps to reproduce:

- Open Sales App
- Go to any quotation
- Go to the products lines and change the name of the product to be long
- Save the product and go back to the quotation
- Now click on Other information, and then click again in Order Lines.

Note this only happens in Safari, the behavior for other browsers like
Chrome or Firefox is correct. The problem is that word-break property it
seems to not be supported properly by safari. In this case we can use
the word-wrap property instead, with the same value break-word.

opw-3513128

closes odoo/odoo#144893

X-original-commit: 6a72984a0461b60c3f1863c4be28d780bec847c7
Signed-off-by: Pierre Paridans (app) <app@odoo.com>
Signed-off-by: Maruan Aguerdouh Mohtar (magm) <magm@odoo.com>
2023-12-05 10:54:57 +00:00
Thomas Lefebvre (thle) 23aa895cf7 [FIX] website_sale_loyalty: manage multi rewards with "Discount code"
Steps to reproduce:
-------------------
- create a promotion program with the type "Discount code";
- add a rule to trigger the promotion with the code "12345";
- add two rewards;
- go to ecommerce and create a cart;
- apply the promo code.

Issue:
------
It is not possible to claim a reward.

Cause:
------
When we apply the code "12345", we call the `pricelist` method,
which will try to apply the code.
If it's not a coupon and it's not nominative, we create a loyalty card (a coupon)
with a default code (for example: "044d-3364-42d0").
This previously created loyalty card is linked to the current sale order,
which is only fair since we don't want to be able to apply it a second time.

The two rewards are linked to the same coupon and therefore have the same code
(which is right because we can apply only one of these rewards).

This problem doesn't occur with a single reward, because when only one reward is detected,
we automatically apply it when we call the `pricelist` method.

In the case of two rewards, it is possible to select the reward.
This will trigger the `claim_reward` method.
In this method, if we use a coupon with a code (which is the case here, "044d-3364-42d0"),
we call the `pricelist` method with this code.
This will trigger an error, as the code is already in use
with the loyalty card linked to the sale order.

Solution:
---------
When claiming a reward generated by a program of the `promo_code` type,
i.e. in the case of more than a rewards,
don't call the `pricelist` method (which triggers an error due to the code) but `_apply_reward`.
This will apply the reward to the sale order.
A redirect will be use which will remove all "claimable and showable rewards" from this program.
If we want to re-trigger it via code "12345", this will no longer be possible.

Note:
-----
Modification of the view to distinguish between coupons and "Discount Code" programs.
The current display suggests that rewards are coupons (with the same code) that we use,
whereas they are rewards that we can claim.
Furthermore, there's no description of the rewards.

opw-3520137

closes odoo/odoo#144349

X-original-commit: d56b46ccb6c736856af3dd62df8c2c8b99a8eaa5
Signed-off-by: Thomas Lefebvre (thle) <thle@odoo.com>
2023-12-05 07:37:42 +00:00
AH-Yussef 75cc7e99be [FIX] point_of_sale: change pos receipt item direction in rtl languages
Steps to reproduce:
1. In the general settings, add the Arabic(العربية) language
2. Install the POS (point of sales) module
3. Go to the administrator's profile and change Preferences > Languages to Arabic(العربية)
4. Open a new shop/pos session
5. Add any product
6. Click on payment(دفعة)  button
7. Choose the cash option under the payment method (طريقة الدفع)
8. Select a client (العميل)
9. Click on validate (تصديق)
10. Notice how the items format is incorrect, the quantity and price flipped and unreadable.

Investigation
- when switching to Arabic (an right to left language), the direction of the order line (price and quantity) was still ltr so the price and the quantity were flipped

opw-3580386

closes odoo/odoo#144754

Signed-off-by: Adrien Guilliams (adgu) <adgu@odoo.com>
Signed-off-by: Ali Hassan Youssef (alhy) <alhy@odoo.com>
2023-12-05 06:23:49 +00:00
nda 22115d6d3b [FIX] website_event: use correct subtype when (un)publishing
is_published has been renamed in website_published in e3d2b01 but not in
_track_subtype().

steps to reproduce:
- add a follower to an event, select the two event subtypes on this follower
- check this event on the website and publish/unpublish it
- check chatter, tracking values have been created
- no message have been sent

before this commit:
- subtypes mt_event_published and mt_event_unpublished are not used

after this commit:
- a message is sent when an event is (un)published

opw-3582596

closes odoo/odoo#144912

X-original-commit: 1b94aca1bd00d136e05f2fd2cbbd4691940eea19
Signed-off-by: Thibault Delavallee (tde) <tde@openerp.com>
Signed-off-by: Nicolas Danhier (nda) <nda@odoo.com>
2023-12-04 20:30:40 +00:00
Dang Van Loc 8703b011aa [FIX] hr_expense: fix field not trans
Problem
--------
In ver 16, field payment_state of model hr_expense_sheet uses
_fields[] to get item selection field payment_state of account_move.
This causes the file translation of this module to not accept
the description item of field payment_state

closes odoo/odoo#144861

X-original-commit: 26b16620eeb29dcf73956a5f437c3747bb390854
Signed-off-by: William André (wan) <wan@odoo.com>
2023-12-04 19:00:44 +00:00
Alexandre Kühn 2080f8fb18 [FIX] mail: self-author on 'Creating a new record...' message
Before this commit, when a record is in draft, the chatter message
"Creating a new record..." shown no author.

The intended showing is to display current user as author of this
message. Persona model requires `id` and `type`, the latter to
determine whether the persona is a guest or partner. Only the
id of current user was provided, so it was not enough to determine
the appropriate `Persona`.

closes odoo/odoo#144864

Signed-off-by: Sébastien Theys (seb) <seb@odoo.com>
2023-12-04 17:47:34 +00:00
Maruan Aguerdouh (magm) 84813e7a70 [FIX] website_slides: article content plain text visible in fullscreen
Steps to reproduce:

- Get the eLearning App.
- Go to an existing course or create a new one.
- Add a new content of type article.
- Go to website preview and to edit this slide.
- Write plain text inside the box of content.
- Go to Fullscreen.

The issue is that we are using `.append()` and this expects that we pass
it an html or a jquery object which is not the case when we just type
plain text inside it, so using `.html()` will allow us to render any
content as HTML.

opw-3265113

closes odoo/odoo#144818

X-original-commit: 34b78a6619888ebbc6e67b5c474260453a7ed84b
Signed-off-by: Thibault Delavallee (tde) <tde@openerp.com>
2023-12-04 17:47:32 +00:00
Sébastien Theys 5455bfcfdc [FIX] mail: fix test failing at "Write something in composer"
The issue is not easy to reproduce, so the fix is not a guaranteed one.

Estimation: the click on the "send message" buttons happens too early,
and it is either doing nothing, or being immediately reset by another
action that happens at page load.

Adding a little bit of extra delay (in particular waiting for messages
to be loaded) might resolve the issue.

Also back-port code allowing to use contains in tours.

runbot-27847

closes odoo/odoo#144435

X-original-commit: 3b261b6856e935f8fe9d4e23cfddc09df8ff7fdf
Signed-off-by: Alexandre Kühn (aku) <aku@odoo.com>
Signed-off-by: Sébastien Theys (seb) <seb@odoo.com>
2023-12-04 17:47:31 +00:00
tsm-odoo d08ba20253 [IMP] mail: add require assets to ptt extension
In order to be published on the chrome extension store, an extension
must provide at least one screenshot and a 128x128 icon.

Until now, the extension assets only contained a 100x100 icon that was
used as 128 and did not contain any screenshot.

In order to ease updates on the chrome extension store, this commit
updates the two icons used by this extension to match the expected
dimensions and adds the required screenshot.

At the same time, this commit updates the extension readme to warn
about ChromeOS limitations (ChromeOS does not support global
commands).

follow-up of task-3612720

closes odoo/odoo#144828

Signed-off-by: Matthieu Stockbauer (tsm) <tsm@odoo.com>
2023-12-04 16:36:44 +00:00
Eteil Djoumatchoua(etdj) etdj@odoo.com 3d8bd57bee [FIX] website_slides: display the right number of records found on the search button
Steps:
- Go to website -> courses.
- Make a search.

Issue:
Whatever there are records found or not, on the search button we see "(0) found".

Reason:
In the method responsible of search ``slides_channel_all_values()`` we don't pass ``search_count``
to the dict to be rendered.

opw-3544856

closes odoo/odoo#144781

X-original-commit: c6afb4441c6d416258634ae9c09353e336f50dcc
Signed-off-by: Thibault Delavallee (tde) <tde@openerp.com>
2023-12-04 16:36:43 +00:00
suth-odoo 7550bcd61e [FIX] odoo: fixes the error when deleting the worksheet template
Steps to reproduce :
- install field service module
- install industry_fsm_report bridge module
- click on configuration
- click on worksheet template
- try to delete more than one record

Issue:
-  error while deleting more than one record

Cause:
- because ,this issue is from base while deleting the model id's

Solution:
- if we write condition for filtering manual models and calling prepare_update()
   method and then non manual models ,then the issue will be solved

  task-3607053

closes odoo/odoo#144761

X-original-commit: 0d9d7e5fd944e3ef6e1c53d63a6aec61da51cbf5
Signed-off-by: Rémy Voet (ryv) <ryv@odoo.com>
2023-12-04 16:36:41 +00:00
Romain Derie 0e0a74f8c5 [FIX] web_editor: disable delay translation until a deeper fix is done
The delay translation feature [1], when the website main language is not
English, is not working alongside the HTML Editor.

There seems to be multiple bugs, both in Odoo 16 and Odoo 17 following
jsonb and then delay translation.

A full investigation will need to be done (and tests written for it) for
all possible flows:
1. English DB + Website FR (only)
2. English DB + Website FR (main lang) + Website EN (translated version)
3. French DB + French Website (English is not even enabled on DB)
4. French DB + English website
5. Case 3. + Website EN (translated version)
6. Case 4. + Website FR (translated version)

Also, for each of those flows:
- both the website builder and the HTML Editor need to behaves correctly
  (at least not wipe user content).
- both the Odoo records (xml views eg) and user records (new website
  page eg) need to behaves correctly.

This commit, for now, disables the delay translation to restore what we
have in Odoo 16.
The whole investigation, fixes and tests will be done after this commit
in both Odoo 16 and Odoo 17.

Step to reproduce (one of the flow, which is problematic for one of our
big client to go in production):
- Have DB and admin in English
- Have FR only on the website
- Enter edit mode on a page (website builder)
- Drag & drop a snippet and save
- Open HTML Editor, add a blank line
- The page content is gone, user lost its page

------- Technical Details about above case ------------
In Odoo 16, before delay translation, in such a setup (FR only on
website), when modifying the html editor, it would have the same effect
as modifying the page content in the builder, because the English
version (not used because website only use the fr translation) would
also receive the website builder changes, both EN and FR would actually
be sync'd in DB.
For this particular case, it kind of worked, but probably not for other
cases like adding english as translation lang on the website where this
lang sync would not make sense.

This "urgent" fix/feature disabling is done because people are unable to
create or maintain website when they use the HTML Editor. Worst, they
lose all their work again and again.
Indeed, it's not yet sure how but module update also wipe user changes
in such configuration in Odoo 17.

All this is based on feedback of our "PS tech" which is unable to go in
production because of those bugs.
-------------------------------------------------------

Related to PR [2]  which is the Odoo 17 forward port of commit [3]
introduced in Odoo 16.0.

[1]: https://github.com/odoo/odoo/commit/2d08f97c0778469b409fca23f2be5f5a98ce3df8
[2]: https://github.com/odoo/odoo/pull/144693
[3]: https://github.com/odoo/odoo/commit/f54aa6f58d494bca940a3e575d4092ee386d488c

task-3621753 (where the deep investigation and fixes will happen)

closes odoo/odoo#144760

Signed-off-by: Quentin Smetz (qsm) <qsm@odoo.com>
2023-12-04 15:10:31 +00:00
Jorge Pinna Puissant c7b07f4ec5 [FIX] web: avoid closing dropdown outside the active element
When a dropdown open a dialog and on the dialog there is a new dropdown,
before this commit, when clicking on the second dropdown, the first one
will close.

This is an issue with closing the first dropdown, is if the dialog is
opened using useOwnedDialogs, the dialog will also close.

Also, if the dialog is open to throw a "find more" of a x2many field,
even if the dialog is not close, as the dropdown will close, the
original field will also be destroyed and it will raise an error.

Now, we avoid closing dropdown's, when opening new dropdowns that there
are not on the same active element.

opw-3464528

closes odoo/odoo#144238

X-original-commit: 6fec387d258dfd945dbbd48a9aab91ce6113ccaa
Signed-off-by: Aaron Bohy (aab) <aab@odoo.com>
Signed-off-by: Jorge Pinna Puissant (jpp) <jpp@odoo.com>
2023-12-04 15:10:30 +00:00
Mathieu Duckerts-Antoine 167999c350 [FIX] web: pivot: no duplicates in read_group groupby
Since https://github.com/odoo/odoo/pull/103510, the read_group parameter "groupby" can no longer contain
implicit duplicates. For example groupby=['date', 'date:month] doesn't work
anymore. Here we remove all duplicates from groupby before making a read_group.

closes odoo/odoo#143792

Signed-off-by: Julien Mougenot (jum) <jum@odoo.com>
2023-12-04 15:10:29 +00:00
Adrien Guilliams (adgu) 1e0ac54d6b [IMP] point_of_sale: Increase receipt size on receipt screen
This commit increase the receipt size on the receipt screen and
shrink the new order button to fit the new size.

closes odoo/odoo#143292

Signed-off-by: Joseph Caburnay (jcb) <jcb@odoo.com>
2023-12-04 15:10:28 +00:00
Atul Patel 6151d3381d [FIX] account: fixed syntax error for res.company
1. minor mistake, prefix for account move line
instead of line.company_id, use `aml.company_id`
2. syntax error : typecase for `::int =`
to compare parent_path with integer value.

closes odoo/odoo#144764

X-original-commit: 286a911f640351640d60efdf597461055f42f9c5
Signed-off-by: William André (wan) <wan@odoo.com>
Signed-off-by: Atul Patel (atp) <atp@odoo.com>
2023-12-04 13:23:46 +00:00
Romeo Fragomeli e39efcaa52 [FIX] mail: dark mode: text attachment readability
There is a specific rule that set the `o_AttachmentViewer_view`
background color to a static white color (i.e. `#FFFFFF`).
Then in dark mode, while the font color for the attachement "view"
is set to white due to the `color-scheme` meta, the background
keeps its white color, which makes the content unreadable. In this
commit we use instead the `$white` variable, which is properly
adapted in "dark mode", for the background color.

Steps to reproduce:
* Open Odoo
* Set Odoo in Dark mode using the dropdown menu of the user
* Open the Note app
* Make a note or open one
* Upload a JSON attachment in the chatter
* Open the preview of the attachment
  => BUG text in white and background color in white => text not visible

closes odoo/odoo#144763

X-original-commit: 2af9edb3ca45db0a36552ca751136b7b0c7b6a18
Signed-off-by: Pierre Paridans (app) <app@odoo.com>
Signed-off-by: Romeo Fragomeli (rfr) <rfr@odoo.com>
2023-12-04 13:23:46 +00:00
Anh Thao Pham (pta) 0f3bae290a [FIX] account: fix compute of invoice partner display name
Steps to reproduce:
- Install Accounting and Contacts
- Create a contact (e.g. Contact X)
- Add an Invoice Address to the contact (e.g. Invoice Address X)
- Create an invoice with Invoice Address X as partner
- Confirm it
- In invoices list view, Customer field is "Contact X, Invoice Address X"
- Go to Contacts and rename "Contact X" to "Contact Y"
=> In invoices list view, Customer field is still "Contact X, Invoice Address X"

Cause:
"invoice_partner_display_name" field is not recomputed when the name
of the parent partner is changed.

opw-3597741

closes odoo/odoo#144739

X-original-commit: 3254c4e278d559d4cee41fd2c30c6b26094dd09e
Signed-off-by: Brice Bartoletti (bib) <bib@odoo.com>
Signed-off-by: Anh Thao Pham (pta) <pta@odoo.com>
2023-12-04 13:23:45 +00:00
Arnaud Joset bed623c2cb [IMP] calendar: update calendar_event_menu sequence to prevent shift
The sequence is equal to 10 and it is causing issues during upgrade. The order used by the menus is _order = sequence, id

As the menu has a new xmlid, it will be placed after the existing one because if his sequence. We could

1) lower the sequence value
2) don't provide a sequence (menuitem is noupdate False) and update the value in the upgrade script.

Proposal 1 is chosen as it does not require an upgrade script.

closes odoo/odoo#144716

Taskid: 3618126
Signed-off-by: Arnaud Joset (arj) <arj@odoo.com>
2023-12-04 13:23:44 +00:00
Rahul Prajapati 275063d6a2 [FIX] calendar: meeting activity unlink with calendar event
Before this commit:

When we try to delete a Meeting type Activity from the technical menu
"Settings > Technical > Activities" it do not delete the associated calendar
event.

After this commit:

The calendar event will be deleted when the associated Activity gets deleted.

task-3493426

closes odoo/odoo#144674

X-original-commit: 71dc58acfcc4589bc5996b48e157aea6b0f8a609
Signed-off-by: Alexandre Kühn (aku) <aku@odoo.com>
2023-12-04 13:23:42 +00:00
Leonardo Pavan Rocha 9db5b10298 [IMP] calendar: apply tag colors on popover and tree views
The color was only used on the calendar event form view, but it was ignored in
these other views.

closes odoo/odoo#144621

X-original-commit: cab9ccb2f9f4168f03ad97b34e2fb6a7474a53a3
Signed-off-by: Leonardo Pavan Rocha <lpr@odoo.com>
2023-12-04 13:23:41 +00:00
roen-odoo 194d166dbe [FIX] l10n_sa_pos: Fix QRCode positionning for iOS when printing receipt
Current behavior:
When printing receipt from an iOS device, the QRCode is not printed at
the good position.

Steps to reproduce:
- Install l10n_sa_pos
- Install an ePoS printer
- Go on an iOS device
- Go to POS
- Create a new order
- Pay the order
- Print the receipt

opw-3560424

closes odoo/odoo#144583

X-original-commit: fe46d3a76d49e7753755d4f6d0bee2c628953d6b
Signed-off-by: Joseph Caburnay (jcb) <jcb@odoo.com>
Signed-off-by: Robin Engels (roen) <roen@odoo.com>
2023-12-04 13:23:39 +00:00
Sébastien Theys 0a62497445 [FIX] mail: make deterministic "open the chatWindow of a channel..."
Very rarely the "project" channel would be created in a different second
than the general "channel", which lead to last interest taking priority
over id when sorting them and unexpectedly putting project first.

runbot-28637

closes odoo/odoo#144580

Signed-off-by: Alexandre Kühn (aku) <aku@odoo.com>
2023-12-04 13:23:38 +00:00
Sébastien Theys a445f36550 [FIX] mail: make getRecentChannels order deterministic
Fallback to ID compare when the dates are the same.

Added some extra steps in the test to help further debugging if this PR
does not completely resolve the issue.

runbot-28637

Part-of: odoo/odoo#144580
2023-12-04 13:23:38 +00:00
Sébastien Theys 9342f8ab2d [FIX] mail: prevent crash when using channel palette before init
`joinChannel` expects messaging to be initialized (in particular to
access store user) but doesn't actually wait for it.

Part-of: odoo/odoo#144580
2023-12-04 13:23:38 +00:00
snd a4b21bf5c8 [FIX] stock: unreserve the correct quantity
case:
- create a UoM 'Hundreds' related to UoM 'Units', bigger by factor x100
- create a delivery picking
- create a move with the UoM Hundreds, indicate 10 Hundreds
- validate, 1000 should be reserved
- unreserve, only 10 units are unreserved, 990 are still reserved

This is because the stock move line takes the UoM of the stock move by default on the `quantity` field
and `unreserve` uses that field instead of `quantity_product_uom`

This bug led to the discovery of other cases where `quantity_product_uom` should be used instead of `quantity`

closes odoo/odoo#144574

Related: odoo/enterprise#51964
Signed-off-by: Arnold Moyaux (arm) <arm@odoo.com>
2023-12-04 13:23:37 +00:00
Kartik Chavda dcec4ad28d [FIX] project: fix no content helper in project sharing
Steps:
- Install project app.
- Share project editable to user which has no
task.
- Open that project in project sharing.

Issue:
- No content hepler is not properly showing.

Cause:
- Helper in project sharing action is not markup
even and that action is type object so we have to
markup no content manually.

Fix:
- Markup project sharing helper.

task-3293310

closes odoo/odoo#144516

X-original-commit: 34aa8c46a50ebb0923565594c6c74d15c83756b8
Signed-off-by: Xavier Bol (xbo) <xbo@odoo.com>
2023-12-04 13:23:35 +00:00
Manushi Shah (mash) b3e3c92b52 [FIX] project: prevent name overflow in kanban view
Steps:
- Open Settings > Users
- Change the name of the user by typing it multiple times
- Open Project > Choose a Project
- Create a task with the assignee as our user
- Now open the Kanban view of the Project, where we have the task stages.

Issue:
- In the Kanban view, we can see the name of the assignee overflowing.
(This same issue is also present in Project Sharing)

Cause:
- The text is not truncated due to which the name overflows.

Fix:
- adding the class text-truncate and d-block to correct it

closes odoo/odoo#144492

Task: 3383519
X-original-commit: 93d0b7bb81cf9c682a46626323f4baee9b808cfb
Related: odoo/enterprise#52012
Signed-off-by: Xavier Bol (xbo) <xbo@odoo.com>
2023-12-04 13:23:32 +00:00
mano-odoo bb24a4cf65 [FIX] web: fix day selection arrow & responsiveness
In commit[1] the class `order-3` is applied on the ViewScaleSelector 
component but it breaks the view in timesheet. This commit creates a 
props to contextually use this class on the component.

[1]: f9222c4976 

task-3580643

closes odoo/odoo#140750

Related: odoo/enterprise#50055
Signed-off-by: Xavier Bol (xbo) <xbo@odoo.com>
2023-12-04 13:23:31 +00:00
Arnaud Sibille bf2b1b1347 [FIX] l10n_es_edi_sii: remove call to _post_invoice_edi
a66ac063e01afbcc5bec2e6f56da81340b28aaa7 introduced the use of
`_post_invoice_edi` method on `account.edi.format`, as it is a forward
port of a fix in v15, where this method still existed.
But it doesn't exist anymore in v16, due to
0e5626ca5126e6fea7fb95b694229948540764d7.

The fix is to use the method specific to the spain edi:
`_l10n_es_edi_sii_post_invoices`

opw-3604907

closes odoo/odoo#144385

X-original-commit: 7df4deacd37e4c34d0b276a087467b41dc4cf14e
Signed-off-by: de Wouters de Bouchout Jean-Benoît (jbw) <jbw@odoo.com>
Signed-off-by: Arnaud Sibille (arsi) <arsi@odoo.com>
2023-12-04 11:58:24 +00:00
Pedram (PEBR) 8037bec6d8 [FIX] l10n_gcc_pos: include is_gcc_country in ReceiptHeader
There was an inconsistency due to the separation of ReceiptHeader from
OrderReceipt. The 'is_gcc_country', which is utilized in both
l10n_gcc_pos and l10n_sa_pos modules within the ReceiptHeader, was not
being appropriately passed due to this separation.

This commit resolves the issue by overriding the 'getReceiptHeaderData'
method to include the 'is_gcc_country' in the ReceiptHeader data. This
ensures that the ReceiptHeader correctly reflects the necessary
information.

opw-3610862

closes odoo/odoo#144223

Signed-off-by: Joseph Caburnay (jcb) <jcb@odoo.com>
2023-12-04 11:58:20 +00:00
Chrysanthe (chgo) c34518283f [FIX] mail: improve arrow buttons label readability
This commit improves the readability of the label inside an arrow button.

Prior to this commit, the label of an arrow button was styled with a
`opacity-50` class. This would render well visually, but does not provide
sufficient contrast.

To improve the readability of this label, we simply set a `text-muted`
class to it, which will still apply an opacity, but more subtle, making
our label readable.

task-3575154

closes odoo/odoo#144110

X-original-commit: a008b0f8e794a7c00719838c6f2a05b97b021262
Signed-off-by: Alexandre Kühn (aku) <aku@odoo.com>
2023-12-04 11:58:18 +00:00
Elisabeth Dickinson 28b0168463 [IMP] web: truncate date in list view
When the width of the column is too small to fit the date, the date was
cut by the following column instead of having its content
truncated. This could be seen on the "Creation date" in the list view of
Sales Quotations.

task-3463329
part of task-3326263

closes odoo/odoo#144039

X-original-commit: b9675c38b49d99e00e401dbdb90445354aab43c3
Related: odoo/enterprise#51684
Signed-off-by: Pierre Paridans (app) <app@odoo.com>
2023-12-04 11:58:16 +00:00
Joseph Caburnay 38dfa6ca27 [FIX] pos_sale: fw-port mistake in tour test
The forward port commit 96645bd31b introduce a
wrong tour step which uses the old way of declaring a tour step in pos. We fix
that in this commit.

closes odoo/odoo#143929

Signed-off-by: Robin Heinz (rhe) <rhe@odoo.com>
2023-12-04 11:58:15 +00:00
Vivek Pathak 6603358361 [FIX] website_slides: fix template for 'Join This Course' button
Before this commit:
Clicking on the 'Join This Course' button without login triggers an error.

Reason:
The 'slide.course.join.popupContent' template contains multiple root nodes.
For correct template rendering text and anchor tags are placed inside div tags.

After this commit:
Correct popup content renders when clicking on the 'Join This Course' button,
without login.

Task-3559181

closes odoo/odoo#143280

Signed-off-by: Thibault Delavallee (tde) <tde@openerp.com>
2023-12-04 11:58:13 +00:00
Soam (sold)andJulien Van Roy 027e45596e [FIX] account_edi : search checks for identically named product first
1.
If the name of a product on an imported EDI document is a substring
of the name of a product on the DB, said product could be used instead
of the correct one, depending on their order (i.e. ID) in the DB.

Example: There are 2 products named "Placement" and "Displacement" in
a DB. A PDF is imported. It contains a product named "Placement". If
the "Displacement" product on the DB appears before the "Placement"
one, the product on the AML will be set to the "Displacement" one.

To fix this, we first check if there is a product identically named to
the one in the EDI document.

2.
In case a product from the DB is used, if possible, the UoM used should
be the one present on the EDI document. Thus there should be a check to
ensure that the UoM category on said document matches the one of the
product's UoM before assigning it, to avoid a compatibility error.

opw-3470969

closes odoo/odoo#143252

X-original-commit: 84911fe007b229b97081a6f5aa298e7b213d43be
Signed-off-by: Laurent Smet (las) <las@odoo.com>
Co-authored-by: Julien Van Roy <juvr@odoo.com>
2023-12-04 11:58:12 +00:00
Elisabeth Dickinson 15295e317f [IMP] website_slides: add o_avatar to User Avatar template
Prior to this commit, if the avatar image didn't have a 1:1 ratio,
the `rounded-circle` image would be oval instead of the intended circle.
To fix this we add the `o_avatar` class to the `img`, and since this
class already contains `object-fit: cover` from the element's inline
styles.

closes odoo/odoo#143109

Signed-off-by: Thibault Delavallee (tde) <tde@openerp.com>
2023-12-04 11:58:11 +00:00
Arthur Detroux (ard) e8477eb90a [FIX] web_editor: fix drag and drop tooltip
Since [commit 1], the tooltip that appears when a user clicks on a
snippet (instead of dragging it) is no longer displayed.

The reason is because [commit 1] replaced jQueryUI with Odoo's own code
and that triggers `preventDefault` on the `pointerdown` event which then
cancels `mousedown` and thus prevents the mousedown call back that
displays the tooltip.

To fix this, this commit replaces mousedown and mouseup events on the
`SnippetsMenu` by pointerdown and pointerup.

[commit 1]: https://github.com/odoo/odoo/commit/7594d71ca8610d5947e80f325ccb57abc23c2c76

task-3582562

closes odoo/odoo#141026

Signed-off-by: Soukéina Bojabza (sobo) <sobo@odoo.com>
2023-12-04 11:58:10 +00:00
Adrien Widart (awt) f512f8a650 [FIX] purchase_stock: compute pdiff based on bill date
Multi-currency setup. On a bill, if the bill date and the accounting
date are not the same, there will be some errors in the stock
valuation.

To reproduce the issue:
(Company in USD)
1. Enable EUR, with specific rates:
   - Today: 100 EUR = 150 USD
   - One day ago: 100 EUR = 130 USD
   - Two days ago: 100 EUR = 125 USD
2. Create an auto-avco storable product P
3. Confirm a PO with 1 x P at 100 EUR
4. Receive the product
5. Bill it:
   - Bill date: two days ago
   - Accounting date: one day ago
6. Open the inventory valuation

Error: a price diff layer has been created, which makes sense, but
its value is incorrect: -20 USD. It should be -25 USD.

When computing the price difference, we use the bill value at
accounting date (130 USD). This is incorrect, it should be based on
the bill date (125 USD).

OPW-3544318

closes odoo/odoo#144649

X-original-commit: 2d3d01594e09297f74d657c0ab3a0181e3754dc5
Signed-off-by: William Henrotin (whe) <whe@odoo.com>
Signed-off-by: Adrien Widart (awt) <awt@odoo.com>
2023-12-04 10:21:34 +00:00
Xavier-Do f744e90fc4 [IMP] base: improve assetbundle logging
The clean attachement was invalidation the cache before 16.4,
mainly because if an attachement is in cache of another worker and
deleted, this will cause a 404 when this worker serves a page needing
this attachment.

This was changed because an attachment should be unlink through
clean_attachments in two cases:
- the code source change on the server and a cold worker generates a
bundle
- an ir_asset was modified

In the first case, we consider that the server restarted (normally) and
all caches should be emptied.

In the second case, a specific invalidation is made.

But when something goes wrong, it is hard to debug, especially because
there is no information on when the new attachment was created, and the
previous one deleted.

This should solve the issue by helping to identify the cause of the
deletion.

closes odoo/odoo#143962

Signed-off-by: Xavier Dollé (xdo) <xdo@odoo.com>
2023-12-04 08:51:55 +00:00
Maximilien (malb) a42f975df2 [IMP] l10_dk_bookkeeping: rate at transaction
Following the Bookkeeping Act Request we needed to have the conversion rate at
the time of the move (only when having a move with a currency different as the
one of the company) on the header of the form view.

This pr will add a new compute stored field, that will be displayed on the
header of the move only when the current company is Danemark, when the company
currency is different as the move currency and if there is at least a line.

The information we will display is the currency_rate of the first line since on
invoice and bill the currency_rate is the same for all the lines.

We also added a related on account_move_line to be able to see the rate on the
journal items list view.

closes odoo/odoo#141954

Task: 3592881
Signed-off-by: Florian Gilbert (flg) <flg@odoo.com>
2023-12-04 08:51:53 +00:00
Youssef Bashandy 8b22980e25 [FIX] mail : HTML characters displayed in email
Current behavior before PR:
When you send an email at the receivers end you will see '&nbsp;' shown before you open the mail and it disappears once you open the email

Desired behavior after PR is merged:
Corrected and now the '&nbsp;' character doesn't appear where I replace it in the HTML template with its equivalent character

Test changes:
The test case that was there was comparing static strings with the HTML entities where my solution is removing those entities so I change the strings to be after escaping those HTML

opw-3481781

closes odoo/odoo#144648

X-original-commit: 1fcd45f19c2d6900ad5d1848a988ab0ae5f287a8
Signed-off-by: Rémy Voet (ryv) <ryv@odoo.com>
2023-12-04 07:16:06 +00:00
Gabriel de Paula Felix (gdpf) 55b452ac00 [FIX] microsoft_calendar: missing attendees confirmation
Before this commit, when a user was invited to an event from an account outside Outlook (e.g. Google account), accepting the invitation in Outlook Calendar didn't send the 'accept' status to Odoo Calendar, and vice-versa. This problem was also happening with recurrent events accepted in Outlook, the events weren't being accepted in Odoo Calendar correctly. Additionaly, when 2+ attendees from Odoo were synced (having the organizer as an external user), only the last user to sync the event was able to answer it in Odoo due to its outdated 'microsoft_id'.

After this commit, both ways are fixed: accepting an event in Outlook Calendar or Odoo Calendar notifies the other calendar correctly. For recurrent events, accepting them in Outlook Calendar also updates the events status to 'accept' in Odoo Calendar (reminder: due to a limitation in Outlook Calendar synchronization, when the synchronization is active recurrent events acceptance can only be done through Outlook). In addition, all attendees from Odoo can now answer an event that came from external organizers.

closes odoo/odoo#144690

Task-id: 3290922
X-original-commit: a0e628985a19f732830a1f4a732ee35e5f779fe1
Signed-off-by: Arnaud Joset (arj) <arj@odoo.com>
Signed-off-by: Gabriel de Paula Felix (gdpf) <gdpf@odoo.com>
2023-12-03 15:23:20 +00:00