Commit Graph
163633 Commits
Author SHA1 Message Date
Romain Derie 90fa25e44d [FIX] website: avoid crash in search snippet when page has no url
Since commit [1] (introduced in Odoo 15), when a published website page
has no URL set, the search snippet would crash when typing something
inside it.

I am not sure why was the page url not required at the model level, this
will be considered in master.

Note that to create a page without a URL, the only flow is to create a
new page in the backend.
Indeed, the `write` is overridden to add a trailing `/`, and the
frontend flows to create/write a page are also shielded against empty
URL.

Note that it's easy to create a page without a URL through legit flows.
Depending on the Odoo version, there is always a way to reach a website
page form view: either simply Website > Configuration > Pages or
Site > Pages > Debug mode > Click on Bug icon in tree view > Click on
page m2o.

Step to reproduce:
- Create a page with no URL (see above explanation how to do it)
- Make sure it's publish (you can do it in the form view)
- Drag & drop the Search snippet on a page
- Type something in the search snippet
-> TB

[1]: https://github.com/odoo/odoo/commit/9f9c4bb7e40233e633f97c60fb00ae191e9077af#diff-77bd6b19c39e211959885024bcad914655ff84cfc10c16633687d014e50aa69aR69

Fixes https://github.com/odoo/odoo/issues/129728

closes odoo/odoo#129915

X-original-commit: f75ec6131eff9165b06d42d27a49dd756387f4a0
Signed-off-by: Benoit Socias (bso) <bso@odoo.com>
Signed-off-by: Romain Derie (rde) <rde@odoo.com>
2023-07-27 16:14:31 +02:00
Chrysanthe (chgo) 83903d0a90 [FIX] web: add missing gap between PDF buttons
=== ISSUE ===

In some modules, there is a recurring layout issue with buttons being
compressed. This is caused by a missing `gap` or `margin` and
results in two main issues :

1/ It reduces the clickable zone of each button (you are more likely
to click on its neighbor rather than the one you wanted)

2/ It does not look good and causes inconsistency with other buttons.

=== AFTER ===

We simply add a `d-flex` and a `gap-1` class to the container to be sure
that no matter how many buttons are inside that <div> they will
always be spaced correctly.

task-3433602
part of task-3326263

closes odoo/odoo#129906

X-original-commit: 6fc57407478e79232e46c21e21981eeff419d884
Signed-off-by: Pierre Paridans (app) <app@odoo.com>
2023-07-27 16:14:26 +02:00
Pedram (PEBR) 634b4990c8 [FIX] point_of_sale: handle barcode parsing errors with fallback
This commit addresses an issue with barcode parsing where the parser
might fail when dealing with different types of barcodes, such as
an EAN-13 barcode being parsed with a GS1 barcode parser. To improve
the user experience and add flexibility, a fallback mechanism
has been implemented.

This commit allows users to set a fallback using a system parameter.
This can be accomplished by adding a system parameter with a key equal
to 'point_of_sale.fallback_nomenclature_id'. The value should be set
equal to the barcode nomenclature id.

This provides a robust solution to enhance the reliability of the
system in various scenarios where different types of barcodes are
in use.

opw-3382121

closes odoo/odoo#129891

X-original-commit: 57a2eab4e4b8e7aac6932213611dbd4148f58bd8
Signed-off-by: Joseph Caburnay (jcb) <jcb@odoo.com>
Signed-off-by: Pedram Bi Ria (pebr) <pebr@odoo.com>
2023-07-27 16:14:24 +02:00
Aaron Bohy ffcd0bd156 [REF] web: remove expand parameters from web_read_group
The expand, expand_limit and expand_groupby allowed to ask
read_group to populate groups with search_read results directly.
It was only used in the list view, when `expand="1"` was set on
its root node in the arch. Since [1], the list view no longer uses
these arguments, as we uniformized the logic between list and
kanban (where groups are always opened by default).

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

Part of task~3179751

closes odoo/odoo#129881

Signed-off-by: Mathieu Duckerts-Antoine (dam) <dam@odoo.com>
2023-07-27 16:14:21 +02:00
vlst 7eddbfd981 [IMP] pos*: add tax info on receipt
pos*: point_of_sale,l10n_ae_pos, l10n_gcc_pos

Currently, the pos receipt shows the total amount of taxes paid.
Different localisations require more information regarding the taxes
to be shown on the receipt.

In this PR we improve the receipt by adding specific information
for each of the applied taxes and a mechanism that would allow
each localization to more easily display the proper tax information.

This change makes it so the pos is in accordance with the United Arab Emirates
regulations by default. This means that we are removing the `l10n_ae_pos`
module, as we no longer need it.

closes odoo/odoo#125418

Task: 3305403
Related: odoo/upgrade#4858
Signed-off-by: Joseph Caburnay (jcb) <jcb@odoo.com>
2023-07-27 16:14:09 +02:00
Aaron Bohy 662e866340 [REF] web: remove unused underscore.js customization
Since [1], underscore.js is no longer used in Odoo and the lib has
been removed. However, we had a customization of the lib, that is
no longer used in any assets (it would crash it it was), but that
hasn't been removed. This commit removes it.

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

Part of task~3439226

closes odoo/odoo#129875

Signed-off-by: Francois Georis (fge) <fge@odoo.com>
2023-07-27 14:47:44 +02:00
tsm-odoo 48634b52b0 [FIX] mail, web: fix duplicate rpc when switching record
Since [1], switching from one record to another in a form view
would send two `/mail/messages` rpc. This is due to the
`onWillLoadRoot` hook that triggers a `MAIL:RELOAD-THREAD` event
while the thread is going to change. As a consequence, messages
are fetched for the currently active record and the one that will
be activated.

This PR fixes the issue by ensuring the thread won't change before
triggering this event.

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

closes odoo/odoo#129869

Signed-off-by: Matthieu Stockbauer (tsm) <tsm@odoo.com>
2023-07-27 14:47:42 +02:00
dhba-odoo c5d7d6057a [FIX] mass_mailing: traceback when dropping snippet in empty mass_mailing
Before this commit:

when new snippet is drop in mass_mailing after first delete everything and
exiting from codeview a traceback occurs.

After this commit:

Now, a new snippet can be dropped in empty mass_mailing.

Task-3178818

closes odoo/odoo#129865

X-original-commit: 8e93f3c65ada549c51b841d1f39a3422be6f3e27
Signed-off-by: David Monjoie (dmo) <dmo@odoo.com>
2023-07-27 14:47:39 +02:00
Fabien Pinckaers 49f03d007e [IMP] website_event: minor UI cleanup
Remove ugly (light green) backgound color and use default white
2 questions per row, it was crowded to register multiple participants
Less vertical paddings on multiple tickets
UI buttons of registration dialog: both on same side

closes odoo/odoo#129863

Signed-off-by: Fabien Pinckaers (fp) <fp@odoo.com>
2023-07-27 14:47:37 +02:00
Alexandre Kühn 1cc8f40d74 [FIX] mail: smooth scrolling in mobile messaging menu
Before this commit, scrolling inside the messaging menu in mobile
was stuttering.

This happens because the dropdown is in full screen, and whenever
there's a scroll inside this dropdown menu, the position is
recomputed from internal `usePosition()` hook of `Dropdown`.
The repaint of recomputing this position is costly because of
using `bottom: 0` and having images in notification items that
have transparent background (e.g. chatter notifications).

This commit fixes the issue by defining the height of the messaging
menu dropdown in mobile without `bottom-0`. This drastically eases
the repainting for fixed position. `ActivityMenu` had the exact same
problem, so it is also considered in this fix.

closes odoo/odoo#129859

X-original-commit: 67af0ac45dcea55f52ee7ffbc253827d665d7ac6
Signed-off-by: Matthieu Stockbauer (tsm) <tsm@odoo.com>
Signed-off-by: Alexandre Kühn (aku) <aku@odoo.com>
2023-07-27 14:47:34 +02:00
Adrien Minne (adrm) 4c13f4f08c [IMP] spreadsheet: detect mismatch in user/spreadsheet locale
This commit add a small indicator in the spreadsheet's control panel
to indicate if the user's locale is different from the spreadsheet's.

closes odoo/odoo#129857

Task: 3389491
X-original-commit: 5c776994f7bd230816369be3899989e7ab780906
Related: odoo/enterprise#44665
Signed-off-by: Rémi Rahir (rar) <rar@odoo.com>
2023-07-27 14:47:32 +02:00
Rithwik 41e08479c8 [FIX] website: implements contains for hidden_condition_no_text_opt
Multiple field visibility was not working properly while using
Multiple Checkbox field as visibility condition. Only "is equal to"
and "is not equal to" was implemented for Multiple Checkbox. The
"is equal to" uses formData.get which only retrieves the first
value from Multiple Checkbox. The Multiple Checkbox was not having
"contains" option which was already available for some other
fields.

This commit will implement "contains" for all the input types
which comes under hidden_condition_no_text_opt in the file
s_website_form.xml. These include radio, checkbox and Multiple
Checkbox. The fields which comes under hidden_condition_no_text_opt
which does not require multiple inputs can use "contains" and
"doesn't contain" interchangeably with "is equal to" and
"is not equal to"

Fixes #120631

closes odoo/odoo#129853

X-original-commit: 696d74e5304bd48e965a1c5f5fc0b5a5205f5d49
Signed-off-by: Romain Derie (rde) <rde@odoo.com>
2023-07-27 14:47:27 +02:00
Julien Van Roy c04f747641 [FIX] l10n_fr: VAT report 2023 update
Adapt to the new 2023 VAT report.

task-3262513

closes odoo/odoo#129849

X-original-commit: b9dc3316701403ce65d371b2542fda27c3c5f9e0
Signed-off-by: Olivier Colson (oco) <oco@odoo.com>
2023-07-27 14:47:24 +02:00
Adnan Saiyed 4b12dc86e1 [FIX] web_editor: shiftTab doesn't work on styled text
Current behaviour before commit:

shiftTab doesn't outdent the styled text.

Desired behaviour after commit:

Now styled text gets outdent by shift + tab.

task-3283175

closes odoo/odoo#129844

X-original-commit: 1a438fa3f29794a44cda57917d2133b439c3fd0a
Signed-off-by: David Monjoie (dmo) <dmo@odoo.com>
2023-07-27 14:47:19 +02:00
Thibault Delavallée c6950aca6d [FIX] phone_validation: add missing translation
An action name was not translated.

closes odoo/odoo#129839

X-original-commit: 43b434f58fa585abcd62579577745a3b725c7f64
Related: odoo/enterprise#44661
Signed-off-by: Thibault Delavallee (tde) <tde@openerp.com>
2023-07-27 14:47:17 +02:00
Thibault Delavallée e86ae05208 [IMP] test_mail{..mailing}: improve tooling (recipient / email check)
Improve low-level checks of recipients in mail asserts. Sometimes 'email_to'
cannot be easily deduced from given input (partners, records customers, ...)
when some record -> email transformations are involved e.g. when dealing
with multiple emails input, double encapsulation, ...

Those tools are about to be used in upcoming tests and fixes.

Task-3438381 (TestMail: backport tools)
Prepares Task-2612945 (Mail: Defensive email formatting)

X-original-commit: bdbe846329ed51e4c5e3b75740e8f594edf7b138
Part-of: odoo/odoo#129839
2023-07-27 14:47:16 +02:00
Thibault Delavallée 4257ae03cd [IMP] test_mail{..mailing/full}: backport tooling improvements
PURPOSE

Purpose of this commit is to backport some improvements done in mail testing
tools done in newer versions. Some of them are required for incoming tests
to be added, other just to try to ease writing tests across versions.

SPECIFICATIONS

Partial backport of odoo/odoo@94208cb8b4

Improve finding outgoing mails and emails when batch methods (mass mailing)
create similar emails, that can be distinguished notably by the subject
in addition to from / to.

Partial backport of odoo/odoo@c98f259736

Add a method to check MailMail, based on a given record. When having duplicates
to differentiate in a given mailing, having just recipients is not sufficient
as multiple emails may match a given recipients list. Checking model / res_id
is another method for finding emails.

Partial backport of odoo/odoo@a3e404e17e

Add some information and values propagation in some custom asserts in mail
test tooling.

Partial backport of odoo/odoo@b915617569

Allow to return <mail.mail> records and found outgoing emails when using
asserts. It eases doing checks in some specific tests e.g. checking
notification layout usage in emails. Indeed this is quite low level and
does not really deserves its own assert tooling methods.

Partial backport of odoo/odoo@bbf4783ac6

Improve checks and asserts done when asserting content of produced
mailing content (mails, traces, ...).

Task-3438381 (TestMail: backport tools)
Prepares Task-2612945 (Mail: Defensive email formatting)

X-original-commit: 2bc28c804a92f206133c352c046dcdd4971fd4a6
Part-of: odoo/odoo#129839
2023-07-27 14:47:16 +02:00
Antoine (aboo) 3527520d83 [IMP] l10n_mx: Addition of 3 default UoM.
Problem
---------

Some Unit of Measures need to be configured when using the Mexican
Localisation to be used in their electronic invoicing system. As of now
they are not installed by default but many businesses will need to add
and configure them manually. Let's make those included in the l10n_mx
localisation.

Objective
---------
Addition of the Service UoM category and the 3 UoMs in the UoM data file:
 - Service Unit
 - Activity
 - Job

Solution
---------
UOM category and units were added in an XML file in the data folder.
Translation added to the uom.pot file to be translated later;
translation already added in es_MX since the task is targeted at Mexican
localisation.

task-3392056

closes odoo/odoo#129672

X-original-commit: 0f88914a4618aa1abd250b6cf701a5f7b381f41e
Related: odoo/enterprise#44590
Signed-off-by: Quentin De Paoli <qdp@odoo.com>
Signed-off-by: Antoine Boonen (aboo) <aboo@odoo.com>
2023-07-27 14:47:07 +02:00
FrancoisGe 2d61351705 [IMP] web: update accepts commands for x2m
Before this commit, the record.update function did not allow x2m fields
to be updated. Thanks to this commit, you can update an x2m by passing
a list of commands that will be applied to the x2m's static list.

This makes it possible to update several fields, including x2m fields,
while triggering only one onchange to the server.

closes odoo/odoo#129507

Related: odoo/enterprise#44532
Signed-off-by: Aaron Bohy (aab) <aab@odoo.com>
2023-07-27 14:47:00 +02:00
Alexandre Kühn 6b2117049c [FIX] mail: no crash when closing chat window from barcode app
Steps to reproduce:
- Open barcodde app
- Go to Operations > Delivery Orders
- Click on avatar button to open chat
- Click on back button

Traceback:
```
Cannot read properties of null (reading 'click')
```

This happens because closing the chat window attempts to
open the messaging menu in mobile. This assumes chat
windows are working in `/web` and the systray is available.
Barcode app is special because it's in `/web` but the systray
is not available.

This commit fixes the issue by opening the messaging menu if it
can, otherwise it silently does nothing.

Task-3439660

closes odoo/odoo#129858

X-original-commit: 399f191dc1bb40d352890607413fa72462f1a99d
Signed-off-by: Alexandre Kühn (aku) <aku@odoo.com>
Signed-off-by: Matthieu Stockbauer (tsm) <tsm@odoo.com>
2023-07-27 13:25:12 +02:00
Benoit Socias 36623d1687 [FIX] website: fix website text edition test
Since [1] the `website_text_edition` tour fails because it manages to
change tab, drop a block, select a paragraph and click on a button
before the bundle reload happens.

This commit makes sure `updateOptionsUI` is awaited and that any
subsequent call is only queued afterwards.

task-3370939

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

closes odoo/odoo#129855

X-original-commit: 81abdb96aeb95e492230d39000e28c0d239840de
Signed-off-by: Quentin Smetz (qsm) <qsm@odoo.com>
Signed-off-by: Benoit Socias (bso) <bso@odoo.com>
2023-07-27 13:25:10 +02:00
Claire Bretton (clbr) 417268bef8 [IMP] account: Send & Print shows warning banner while async sending
When you select multiple invoices in List view and use the Send & Print, the invoices
will be sent asynchronously using a cron trigger. This can take some time.
If the user opens one of the to-be-sent invoices, there is nothing telling the
user that this invoice is part of a running batch and will be sent eventually.
This might cause cases where the user will try to trigger the send & print
manually again, causing some concurrency issue.
To at least mitigate the issue, we will display something on the
invoices that are part of a running batch of a Send & Print

task-3360179

closes odoo/odoo#129854

X-original-commit: 9349ae9d44e09f5282f4719c73c3f6b12b04e99c
Signed-off-by: Laurent Smet (las) <las@odoo.com>
Signed-off-by: Claire Bretton (clbr) <clbr@odoo.com>
2023-07-27 13:25:07 +02:00
Romeo Fragomeli e8f7b13414 [FIX] web: domain selector background color
This commit, remove the not mandatory CSS rule on the input for the
`Domain Selector` modal, and so the input uses the transparent color.

Steps to reproduce:
* Open Odoo (Enterprise)
* Activate the dark mode
* Open a App (e.g.: Contact)
* Add a filter in the search bar
* Click on the filter icon in the facet
  => The background inputs are white with white text color => BUG

closes odoo/odoo#129842

X-original-commit: d36505edec607161c6884892e8de34d42a10f207
Signed-off-by: Adrien Dieudonné (adr) <adr@odoo.com>
Signed-off-by: Romeo Fragomeli (rfr) <rfr@odoo.com>
2023-07-27 13:25:04 +02:00
Bastien PIERRE 65242e31e9 [IMP] *: Remove alias in JS files
Rename all imports with alias old system to the new js module system
Task ID: 3266759

closes odoo/odoo#127414

Related: odoo/design-themes#671
Related: odoo/enterprise#43716
Signed-off-by: Bastien Pierre (ipb) <ipb@odoo.com>
2023-07-27 11:58:34 +02:00
Ivàn Todorovich 714e254e7d [FIX] event: badge report dates in event's tz
Steps to reproduce:

1. Create an event with a remote TZ.
2. Create and confirm an attendee for this event.
3. Check the registration confirmation email and report.

Current behaviour:

* The dates in the email are in the event's tz.
* The dates in the report are in the user's tz.

Expected behaviour:

* Both dates should be consistent and be in the event's tz.

closes odoo/odoo#129815

X-original-commit: 246626264c00ec8502bc0cfc9d8eb20c8c4b0049
Signed-off-by: Thibault Delavallee (tde) <tde@openerp.com>
Signed-off-by: Jérémy Hennecart (jeh) <jeh@odoo.com>
2023-07-27 10:33:03 +02:00
Samuel Degueldre 9d6f23c20b [FIX] web: avoid monokai ace editors leaking memory in qunit suite
When attempting to instantiate an ace editor with a given theme, ace
will first create the editor with the default theme (textmate) which is
always loaded, and register a callback to be called after the
non-default theme has been loaded. This callback holds a reference to
the editor's renderer which can itself retain large objects such as an
entire owl application. These callbacks are not cleared even if the
corresponding editor is destroyed.

Because in tests, the theme "monokai" was not included and ace cannot
load it on its own, all tests that attempt to create an ace editor with
that theme will leak memory. This commit fixes the issue by adding
theme-monokai to the qunit suite assets.

closes odoo/odoo#129813

X-original-commit: e8c77c5737c2170bb6b53d3e667aec7318dde5b8
Related: odoo/enterprise#44653
Signed-off-by: Aaron Bohy (aab) <aab@odoo.com>
Signed-off-by: Samuel Degueldre (sad) <sad@odoo.com>
2023-07-27 10:32:56 +02:00
Ahmad Khanalizadeh 6dfb294b43 [FIX] point_of_sale: load partners when scanning barcode
Before this commit, because limited partner loading is enabled by
default, only a limited number of partners were loaded. If the user
tries to add a partner that is not loaded in the PoS, it is not
fetched from the server.

To fix this, we should load the partner when their barcode is scanned.

opw-3398628

closes odoo/odoo#129798

X-original-commit: 6b7e18382ec35565ed978bb0ba7f3d5fd6c5e76c
Signed-off-by: Joseph Caburnay (jcb) <jcb@odoo.com>
Signed-off-by: Ahmad Khanalizadeh (khah) <khah@odoo.com>
2023-07-27 10:32:53 +02:00
Thibault Delavallée 2fc8a324d1 [FIX] phone_validation: use international formatting in onchange
International formatting ease reading the value, which is handy in onchange.
This partially reverts odoo/odoo@51d571fab4 .

closes odoo/odoo#129851

X-original-commit: dab802a939c97603f70c504e98ecc92b0ac552f9
Signed-off-by: Thibault Delavallee (tde) <tde@openerp.com>
2023-07-27 07:00:08 +02:00
tsm-odoo f2bd7ec027 [FIX] mail: fix link previews overflowing chat window
This PR fixes an issue were link previews could overflow
the chat window.

closes odoo/odoo#129829

X-original-commit: 24de4e1adc9ad427daa7319480fc8004cde626dc
Signed-off-by: Alexandre Kühn (aku) <aku@odoo.com>
2023-07-27 05:18:51 +02:00
Alexandre Kühn 29ca8f806a [FIX] mail: chat window state should sync crosstab
Before this commit, chat windows state (open/close/folded) was not
syncing between browser tabs. This lack of feature makes using chat
in crosstab quite inconvenient.

This feature exist in 16.2 and was mistakenly removed from rewritting
of Discuss code in 16.3. This commit reimplements as it was in 16.2.

Task-3435120

closes odoo/odoo#129812

X-original-commit: 8f27d1f254e79becf6886cdb90a1af14b28e9946
Signed-off-by: Matthieu Stockbauer (tsm) <tsm@odoo.com>
Signed-off-by: Alexandre Kühn (aku) <aku@odoo.com>
2023-07-27 05:18:49 +02:00
Louis Wicket (wil) 8d4650e673 [I18N] l10n_it_edi: restore missing translation
closes odoo/odoo#129754

X-original-commit: 1d316430b77e6efc7dc4501f2e8cfc78d6da9a39
Signed-off-by: Louis Wicket (wil) <wil@odoo.com>
2023-07-27 05:18:46 +02:00
momegahed 2c072ccf91 [FIX] account: Automatic Entries wizard on invoice with date in the past
Steps to reproduce:
1. Create an invoice with an Invoice Date in the past
2. Confirm the invoice
3. In Journal Items tab, click cut-off and then create journal entries
4. Traceback

opw-3369709

closes odoo/odoo#129689

X-original-commit: 219f9f929bb18f60a85e7fa3eb6868f954931f55
Signed-off-by: Habib Ayob (ayh) <ayh@odoo.com>
Signed-off-by: Mohamed Megahed Abbas Megahed SALLAM (mome) <mome@odoo.com>
2023-07-27 05:18:44 +02:00
Xavier-Do fd8ec5001d [FIX] tests: reset sequence at the end of test
Some test may perform a request without being in test_mode

In this case, a check signaling could be called and since the sequence
was incremented the registry may be reloaded.

This is a simple fix to avoid this issue waiting for a stronger check.

closes odoo/odoo#129814

X-original-commit: 41bb17b3046e8f1605d6f893ca1807d77ed21173
Signed-off-by: Xavier Dollé (xdo) <xdo@odoo.com>
2023-07-27 03:50:53 +02:00
Laurent Smet 8bdb52c26d [FIX] account: Send & Print only for sales documents
We are currently able to open the send & print for a vendor bill.
It doesn't make any sense to ask to a vendor to pay its own invoice.

closes odoo/odoo#129793

X-original-commit: b3e8229d16be074a719fa07e3b2d5488ace66492
Signed-off-by: John Laterre (jol) <jol@odoo.com>
Signed-off-by: Laurent Smet (las) <las@odoo.com>
2023-07-27 02:21:34 +02:00
Arthur Jochems (ajoc) 74f6e4e886 [IMP] stock: products created from replenishment default to storable
The current default is "consumable". This is at odds with the nature of
replenishable products, as "consumable" does not keep track of stock
numbers.

task-3439196

closes odoo/odoo#129775

Signed-off-by: Arnold Moyaux (arm) <arm@odoo.com>
2023-07-27 02:21:29 +02:00
Louis Wicket (wil) 8b5f022a51 [IMP] mail: don't convert iterables to arrays in t-foreach
As of Owl 2.2, it is now possible to use iterable directly in t-foreach
without having to convert it to array first.

This commit takes advantage of this new feature to remove the
unnecessary array conversions from the Discuss code.

closes odoo/odoo#129765

Signed-off-by: Louis Wicket (wil) <wil@odoo.com>
2023-07-27 00:55:07 +02:00
Xavier Bol (xbo) 51fa29dabd [FIX] sale_{project,timesheet}: display allow_billable in sale_project
Before this commit, when `sale_project` module is installed and not
`sale_timesheet` module, `allow_billable` field is displayed in
Settings tab in form view of project but not in the form view
simplified. In the simplified one, `allow_billable` field is  only
displayed when `sale_timesheet` is installed.

This commit displays `allow_billable` field in form view simplified
of `project.project` when `sale_project` is installed to be coherent
with the main form view.

closes odoo/odoo#129584

X-original-commit: ae203aa3cccc1187197ff0be98a884ca8ce6d6d1
Related: odoo/enterprise#44566
Related: odoo/upgrade#4975
Signed-off-by: Xavier Bol (xbo) <xbo@odoo.com>
2023-07-27 00:54:56 +02:00
Xavier Bol (xbo) 83706f4d00 [FIX] {sale_}project: move project_enterprise_tour in project
Before this commit, the `project_enterprise_tour` has a step to
check `allow_billable` field in project to make the new project
billable to get partner field visible. The problem is this step
cannot be achieved if `sale_project` module is not installed.

This commit moves `project_enterprise_tour` is project module
to easily override it in `sale_project` and `project_enterprise`
modules to be sure the tour works when `sale_project` is not installed
and also when that module is installed.

X-original-commit: f09245f4dae4c3503630c9cd92b9d9ab5bfb6e78
Part-of: odoo/odoo#129584
2023-07-27 00:54:56 +02:00
vlst 669b9fcc2f [IMP] point_of_sale: add product combos
In this PR we introduce the ability to create product combos.

Now any product can be turned into a combo meal by defining
the different combo choices it contains.

In this PR, we add the backend logic and the backoffice views
needed for this feature. Afterwards, different modules will be
able to use the platform provided by this PR in order to integrate
`product combos` in their flows. Such modules are the `point_of_sale`
and `pos_self_order`.

closes odoo/odoo#128857

Task: 3430635
Signed-off-by: Joseph Caburnay (jcb) <jcb@odoo.com>
2023-07-26 23:15:05 +02:00
Ali Alfie (alal) 5b607e5a0b [IMP] sale: amount_to_invoice set to 0 if fully invoiced
For sale orders, if the invoice status is set to "Fully Invoiced", the mount to invoice is forced to zero.

task-3347812

closes odoo/odoo#124777

Signed-off-by: Quentin De Paoli <qdp@odoo.com>
2023-07-26 23:15:03 +02:00
Ali Alfie (alal) 8da5cdf5c0 [IMP] base: Sierra Leone currency update
- adds a new currency SLE for new leones.
- sets the default currency for Sierra Leone to the new SLE currency.

task-3355038

closes odoo/odoo#124239

Signed-off-by: Quentin De Paoli <qdp@odoo.com>
2023-07-26 23:15:00 +02:00
Julien Carion (juca) 3af4bffeee [IMP] web, mail, hr: Avatar card preview
This commit adds the possibility to see additional information about a
user with a card that appears when hovering avatar user fields for a
set amount of time. This card contains the following information:
- Avatar
- Chat status
- Name
- Email
- Button to send message
and with HR installed:
- View profile Button
- Job position
- Department
- Phone number
- Advanced chat status (when hr_holidays is installed)

Task-3167110

closes odoo/odoo#121943

Related: odoo/enterprise#44563
Signed-off-by: Mathieu Duckerts-Antoine (dam) <dam@odoo.com>
2023-07-26 19:18:49 +02:00
Xavier Luyckx (xlu) 284a0ef4dc [FIX] Mail chatter: fix followers dropdown
Before this commit, the dropdown menu lacked spacing at the top and
bottom when a user clicked on "Followers" in the chatter.

This commit addresses the issue by adding the necessary spacing and also
adjusting the hover state background color (when hovering followers
details and actions) to improve the contrast with the text color.

task-3338438
part of task task-3326263

closes odoo/odoo#129760

X-original-commit: 8f65cd97cd0127e66d51537a5fce835012dca7f0
Signed-off-by: Alexandre Kühn (aku) <aku@odoo.com>
2023-07-26 16:11:46 +02:00
Jay Savaliya a4041a91a1 [FIX] survey: use template's email_from when sharing
Before this commit:
When the user shares a survey from the wizard and customize the field
'email_from' in the mail template configuration, the value of that field will be
ignored, and the default value will be always used.

After this commit:

The customized value of the field will be used to be rendered, or fallback on
current user's email.

Task-3336596

closes odoo/odoo#129736

X-original-commit: 0951316a8f4345e4ea1dc56fcf512a579833e812
Signed-off-by: Thibault Delavallee (tde) <tde@openerp.com>
2023-07-26 13:22:18 +02:00
Aaron Bohy cf4e844aca [REF] web,*: remove legacy DataManager
The DataManager is no longer used as all views and models have
been converted to wowl.

Part of task~3439226

closes odoo/odoo#129725

Related: odoo/enterprise#44611
Signed-off-by: Pierre Rousseau (pro) <pro@odoo.com>
2023-07-26 13:22:13 +02:00
Aaron Bohy e9d3e27792 [REF] web,*: remove legacy web_client/pseudo_web_client
*mrp_subcontracting,project

This commit removes two legacy js modules that are no longer
necessary.

Part of task~3439226

Part-of: odoo/odoo#129725
2023-07-26 13:22:13 +02:00
Aaron Bohy f40d4dc98b [REF] web,*: remove some legacy test helpers
Part of task~3439226

Part-of: odoo/odoo#129725
2023-07-26 13:22:12 +02:00
Hubert Van de Walle (huvw) f478310d17 [FIX] web: prevent rollback in ace_field
Steps to reproduce
==================

- Enable debug mode
- Go to Settings / Technical / Automation / Automated Actions
- Set "Action To Do" to "Execute Python Code"
- In the code editor, type really quickly

The code is briefly focused and when the next input is processed,
everything is erased.

Cause of the issue
==================

The AceField makes a debounced commit with the current editor value.
This triggers an onChange event, and upon receiving the results,
we update the editor value with the resolved value.
Although the editor value may have changed in the meantime,
we still revert it to the previous value.

Solution
========

There is no need to update the record every 10ms. We can simply to that
on blur. This is also what was done in 16.2.

opw-3379740

closes odoo/odoo#129694

X-original-commit: 4047ed03117fbcd5634843e29dc82e7ffb71b910
Signed-off-by: Luca Vitali (luvi) <luvi@odoo.com>
2023-07-26 13:22:09 +02:00
Adrien Guilliams (adgu) 9268837252 [FIX] pos_restaurant: put back disappeared lines in tour
A recent PR removed some lines in the pos_restaurant tour
( odoo/odoo#124157 ). This commit put them back to avoid runbot error.

closes odoo/odoo#129155

Signed-off-by: Robin Heinz (rhe) <rhe@odoo.com>
2023-07-26 13:22:02 +02:00
Romain Derie 33ed16490e [FIX] sale_quotation_builder: add sanitize overridable
Step to reproduce:
- Be sure to have `sale_quotation_builder` installed
- Drag & drop the "Steps" snippet on a product in edit mode
- Add this product on a SO in the backend
- Click on Customer Preview
-> The step snippet will not have the connector lines anymore

This is because in Odoo 16, the step snippet connectors are now `svg`
element (see [1]) which are removed by the sanitizer.

```py
from lxml.html import clean
svg='<svg><path/></svg>'
clean.Cleaner().clean_html(svg)
```

It's not the case in the `website_description` field of the product
template as this field is defined with `sanitize_overridable=True` [2]
which make it so the users with the right to do so can bypass the
sanitation and use the Step snippet in this field.

Since the quotation description can be a copy of that field, but without
the same sanitize behavior, the connectors are lost.

Note that most of the `sale_quotation_builder` description HTML fields
were already set as `sanitize_overridable=True` with [2] and [3] but
those ones were not.

[1]: https://github.com/odoo/odoo/commit/aba31e9f2d8a44ce1586403f2a621a6caeed57b4
[2]: https://github.com/odoo/odoo/commit/44ae3f38da07c2215b1547d992f053a11829a8ac
[3]: https://github.com/odoo/odoo/commit/811cf78ee1e63a7c41efe578fb64ee2deeca1dde

opw-3380346

closes odoo/odoo#129690

X-original-commit: 7a928c92136400454e7ed53326f2cdc9173fa1b3
Signed-off-by: Romain Derie (rde) <rde@odoo.com>
2023-07-26 12:00:30 +02:00