Commit Graph
162164 Commits
Author SHA1 Message Date
Tommy (tong) 799e0ff84c [IMP] account_qr_code_emv,l10n_hk: code refractoring for reusing
Impacted versions:

- saas-16.4 or above

This commit improve below features:

- Move country_code to account_qr_code_emv
- Add _serialize method to compute the qr_code_vals
- Fix additional data field should return if country_code mismatched
- Merge fields l10n_hk_fps_type to proxy_type
- Merge fields l10n_hk_fps_identifier to proxy_value
- Add include_reference boolean to res.partner.bank

Part-of: odoo/odoo#122802
2023-06-15 17:36:14 +02:00
David Monnom (moda) a3d530c846 [IMP] point_of_sale,pos_hr: add employee manager role
Currently, POS-allowed employees can manage cash:
- at the opening (cash control)
- on cash payment

Now, after adding the mananger role, it is possible for an employee to
open the cash register. In the settings of a `pos_config`, you can add
employees with a "basic" role and with a "manager" role, the latter
grants the same rights as a classic odoo manager user.

closes odoo/odoo#122287

Related: odoo/upgrade#4700
Signed-off-by: Guilliams Adrien (adgu) <adgu@odoo.com>
2023-06-15 17:36:08 +02:00
luve-odoo d387acffb7 [IMP] project : Customer Ratings improvements
- Removal of 'my team's ratings' and the 'my department's ratings'
filters in order to be more consistent with the project.task search view

- UI improvements in the project form ratting settings

TaskId-3251609

closes odoo/odoo#120633

Related: odoo/upgrade#4632
Signed-off-by: Xavier Bol (xbo) <xbo@odoo.com>
2023-06-15 17:36:00 +02:00
John Laterre (jol) 6ba77562c0 [REV] account,l10n_*: remove company currency symbol in reports
This reverts commit d39396c728.

The feature was implemented in a rather rigid way,
and we think something more dynamic would be better.

closes odoo/odoo#115332

Related: odoo/enterprise#38208
Related: odoo/upgrade#4740
Signed-off-by: Olivier Colson (oco) <oco@odoo.com>
2023-06-15 17:35:42 +02:00
Kartik Chavda 6175c09724 [IMP] sale_project: hide SOL field
Before this commit SOL field on task visible when user no
sale access and field is set but SOL field is readonly when
user has no sale access there is not point showing readonly
empty field.

This commit hide SOL field when user has no sale access and
field is not set.

task-3186438

closes odoo/odoo#115474

Related: odoo/enterprise#38186
Signed-off-by: Xavier Bol (xbo) <xbo@odoo.com>
2023-06-15 17:35:34 +02:00
Mahdi Cheikh Rouhou (macr) 41ba2c136a [FIX] sale_timesheet : allocate hours to different projects with different templates
When we create a sale order with multiples services which have different projet templates, the projects created will have the sum of all hours which is not true.

Steps to reproduce the error :
1- create at least 2 product with type service and choose create on order : project & task , and create a template for each one on the fly
2- create a sale order with the created services and choose some quantity for each one of them
3- confirm it
4- Click  on the smart button projects
5- you will see that the allocated hours for each project have the sum of all the quantities

The origin of the problem is that we don't check on the template_id when calculating the allocated hours so we sum the allocated hours of  all the services having project & task for each one of them .

opw-3341546

closes odoo/odoo#125071

X-original-commit: 537a0093b0467f80aac6b1de2e93bf04c0298e5b
Signed-off-by: Nicolas Lempereur (nle) <nle@odoo.com>
Signed-off-by: Mahdi Cheikh Rouhou (macr) <macr@odoo.com>
2023-06-15 16:02:29 +02:00
Yolann Sabaux a9d56620d2 [FIX] l10n_fr: enable invoice name on each page
Steps to reproduce:
- create an invoice with a certain number of items so that when printed there are multiple pages

Issue:
- the invoice name does not appear on each page
According to the French legislation it is mandatory

See https://entreprendre.service-public.fr/vosdroits/F31808

Solution:
- set a config parameter specifically for l10n_fr in stable
- set it in account directly for Master
To allow the footer of the invoice to contain the name (and therefore the number) of the invoice

opw-3199906

closes odoo/odoo#124989

X-original-commit: 7b071c995f1c9587cf4de56d6d1a632ea39db8ac
Signed-off-by: Olivier Colson (oco) <oco@odoo.com>
Signed-off-by: Yolann Sabaux (yosa) <yosa@odoo.com>
2023-06-15 16:02:26 +02:00
Touati Djamel (otd) 960de00ea2 [FIX] stock: avoid traceback when changing operation type
Steps to reproduce the bug:
- create a new transfer
- Click on new line but leave it empty
- Change operation type

Problem:
A traceback is triggered, because the onchange of picking_type is
triggered, so we try to get the description of each product in each
move. However, since the move does not have a product set,
an error is thrown:
https://github.com/odoo/odoo/blob/16.0/addons/stock/models/product.py#L235-L239

opw-3349646

closes odoo/odoo#125125

X-original-commit: 3db056a8a7a471a6eab800217bbe0690605d8db0
Signed-off-by: William Henrotin (whe) <whe@odoo.com>
Signed-off-by: Djamel Touati (otd) <otd@odoo.com>
2023-06-15 13:33:42 +02:00
Touati Djamel (otd) 44509d46f3 [FIX] mrp_account: copy analytic account when duplicating a BoM
Steps to reproduce the bug:
- Install mrp_plm
- Create a BoM with an analytic account
- Create an ECO
- Start the revision

Problem:
The new BoM version doesn't have the analytic account from the original
one.

opw-3329901

closes odoo/odoo#125111

X-original-commit: 0210980037ccf843d73033d2a240369112899ff1
Signed-off-by: William Henrotin (whe) <whe@odoo.com>
Signed-off-by: Djamel Touati (otd) <otd@odoo.com>
2023-06-15 13:33:40 +02:00
Jurgen (jugj) 4f3e1af489 [IMP] hr: Increase usability of the plans
This PR makes the following changes :
- In the demo data, add a fleet manager to the vehicle linked to Marc Demo & add a domain to that field to only list users from the selected company(ies)
- On the Launch Plan window change the dropdownlist for a radiobutton widget
- Remove the quick create and quick edit option on the launch plan screen
- Add a due date on the launch plan screen, the activities will be created on launch plan and the due date will be the one selected in the field
- On the activity type, hide the Schedule field if no value are defined on the previous field (suggest/trigger)
task-3337922

closes odoo/odoo#122298

Signed-off-by: Kevin Baptiste <kba@odoo.com>
2023-06-15 10:45:06 +02:00
Pratik Awasthi a92d68649d [IMP] spreadsheet_dashboard: improve the dasboard panel
Improve the following generic UX

- Earlier service modules were under the project name so improved it by renaming
  it with Services
- Project overview was named Tasks so renamed it Project
- graph/pie view > project > breadcrumb of the dashboard was not visible because
  the action of the project has a target main which stops the breadcrumb of project
  so target it to main to make breadcrumb visible

task-3324591

closes odoo/odoo#121348

Related: odoo/enterprise#41032
Signed-off-by: Xavier Bol (xbo) <xbo@odoo.com>
2023-06-15 10:44:58 +02:00
Pratik Awasthi 2a1aed788d [IMP] sale_timesheet: improve search view of timesheet
improve the UX for search view:
- remove the group by on 'Sale Order'
- remove the quick search on 'sales order item'
- add quick search for SO and SOL instead of 'Sale Order'

task-3265251

closes odoo/odoo#118801

Signed-off-by: Xavier Bol (xbo) <xbo@odoo.com>
2023-06-15 10:44:55 +02:00
Jay Savaliya e1f1767491 [FIX] website_slides: prevent auto-marking videos complete
When user will open the video in any course, it will be marked as completed
directly which behaves like any other content(pdf, image). This behavior was
introduced when 'slide_view' was modified in https://github.com/odoo/odoo/commit/4c291fe30468dab7cef9d2e5a0377c78484f5045, but in the case of video,
it must not be marked as completed before the video is watched up until(near)
the end, as per the previous behavior.

Task-3346507

closes odoo/odoo#125128

X-original-commit: 488ce25425f71733abc3aa7b32f299d6abf48055
Signed-off-by: Thibault Delavallee (tde) <tde@openerp.com>
2023-06-15 09:05:24 +02:00
Jurgen (jugj) 431a5bfe5a [IMP] hr: Add a search panel for company and department on hr_job views
task-3332640

closes odoo/odoo#125115

X-original-commit: 2ad504243ed4215ec87f6c2493c681f3f92a64e8
Signed-off-by: Kevin Baptiste <kba@odoo.com>
2023-06-15 09:05:19 +02:00
Benoit Socias 0665bce6d8 [FIX] web_editor: fix border width options on zoomed browser
When the browser is zoomed, the value of the `border-width` CSS
properties obtained through `getComputedStyle` are impacted by the
zoom. Because of this, entering a "10px" border in a Chrome zoomed at
125% turns it into "9.6px" when leaving the input field.

This commit neutralizes the zoom effect by rounding the value up.
The rounding operation was empirically determined by observing values,
see table below.

When zoomed out this does not always work: e.g. at 50% zoom, a value
of 11px becomes 10px. But zooming out is an unxpected use case, that
situation is therefore not handled by this fix.

Observed values of the border-width property:
Set value => `getComputedStyle`
```
Value  Chrome 125%  Firefox 120%
  1px        0.8px     0.83333px
  2px        1.6px     1.66667px
  3px        2.4px     2.50000px
  4px        4.0px     3.33333px
  5px        4.8px     5.00000px
  6px        5.6px     5.83333px
  7px        6.4px     6.66667px
  8px        8.0px     7.50000px
  9px        8.8px     8.33333px
 10px        9.6px    10.00000px
 11px       10.4px    10.83333px
 12px       12.0px    11.66667px
```

Steps to reproduce:
- Drop a "Text - Image" block.
- Select the text column.
- Zoom with ctrl+mouse wheel or ctrl-plus.
- Set a 10px border.
- Leave input field.

=> Border option field displayed a different size.

task-3172235

closes odoo/odoo#125107

X-original-commit: 6398b0c75b9e14b7cecb1526fe5a950101d534ad
Signed-off-by: Quentin Smetz (qsm) <qsm@odoo.com>
Signed-off-by: Benoit Socias (bso) <bso@odoo.com>
2023-06-15 09:05:13 +02:00
Kevin Baptiste c435c2ee6f [FIX] hr_holidays: fix test failing on weekends
The test would fail when running on a weekend, as the employee would be
considered not working.

Runbot error-21971.

closes odoo/odoo#125097

X-original-commit: c6d95961fa8d6bce2f7c290d2d45eb2195950d74
Signed-off-by: Kevin Baptiste <kba@odoo.com>
2023-06-15 09:05:10 +02:00
Pierre Masereel e89c54b1fe [FIX] hr: Only change bank account partner when needed
When you use the salary configurator on existing employee, you get an
error because you cannot modify a trusted bank account.

Since we cannot modify the partner_id on a bank account when it is
trusted, we should only modify the partner on the accout when it is
needed, and untrust the account when it is changed.

This has been introduced in https://github.com/odoo/odoo/pull/120423

closes odoo/odoo#125096

X-original-commit: 2ef3ebe5985368e5e859ae43bc4725dd8b8ebf06
Related: odoo/enterprise#42567
Signed-off-by: Pierre Masereel (pim) <pim@odoo.com>
Signed-off-by: Kevin Baptiste <kba@odoo.com>
2023-06-15 09:05:08 +02:00
Prakash Prajapati f5b8e0431b [IMP] hr_recruitment: add sequence field in Refuse reasons
In this commit, We have added the sequence field so that the user can
easily reorder the Refusal Reason.

task-3336247

closes odoo/odoo#122429

Signed-off-by: Kevin Baptiste <kba@odoo.com>
2023-06-15 09:05:03 +02:00
nni-odoo 52bb41e92d [FIX] l10n_id_efaktur: incosistency in price
There are some inconsistencies in price between the original record and tax document due to rounding. This issue is now mitigated by having a more accurate decimal place rounding

3019692

closes odoo/odoo#125130

X-original-commit: 4a711c0433ea79976b9d8ccfeb3a94412c5041ff
Signed-off-by: Nicolas Viseur (vin) <vin@odoo.com>
2023-06-15 07:57:03 +02:00
Romain Estievenart 90c4acfa44 [FIX] web: tooltip in kanban header doesn't dispose on items click
Before this commit, the kanban title's tooltip was set on the parent
element of the column's title. So the lifecycle (display/hide) of the
tooltip was not handled correctly when we clicked on the "quick create"
button or the "gear dropdown".
This commit moves the tooltip on the title's element to avoid that.

Steps to reproduce:

1. Open the "Event" app
2. Mouseenter the first kanban header
3. A wild tooltip appears (Gotta Catch 'Em All)
4. Click on the quick create button or the gear dropdown.
   => the tooltip isn't disposed => bug

Task ID: 3336233

closes odoo/odoo#125080

X-original-commit: 03a7bed1b0df29fb75d868fcc9c46e90e18aa58e
Signed-off-by: Pierre Paridans (app) <app@odoo.com>
Signed-off-by: Romain Estievenart (res) <res@odoo.com>
2023-06-15 02:38:09 +02:00
Rodolpho Lima 7d66755ff9 [FIX] mass_mailing: traceback on read-only iframe
Since [1] the `value` prop is no longer part of the standard field
props, and its value must be accessed as
`this.props.record.data[this.props.name]`.

This commit fixes a traceback when opening a mailing in read-only mode,
which resulted from reading `length` of `this.props.value`, which is
undefined.

[1]: 688986f888

closes odoo/odoo#125070

X-original-commit: 2ccee9ab4316f991252a398c9856c47ef3030789
Signed-off-by: David Monjoie (dmo) <dmo@odoo.com>
Signed-off-by: Rodolpho Cammarosano de Lima (rcdl) <rcdl@odoo.com>
2023-06-15 02:38:07 +02:00
Gauthier Wala (gawa) e779f51f09 [FIX] analytic: view all plans on view subplans
To reproduce:
- Activate analytic accounting
- Create an analytic plan
- Click on Subplans
- Create a Subplan
- Come back to the list view of subplans (with the breadcrumb)
=> The new plan does not appear

The children_ids are not recomputed, so we inverse the logic.

task-3359643

closes odoo/odoo#125062

X-original-commit: c0bc5aedce0aa601e402c368fdf139c722a0fca7
Signed-off-by: William André (wan) <wan@odoo.com>
Signed-off-by: Wala Gauthier (gawa) <gawa@odoo.com>
2023-06-15 02:38:04 +02:00
Hugo Carlier (Huca) 977f822a0e [FIX] sale_timesheet: switch steps in the sale_timesheet_tour
To test the onchange on uom, the service type is first change. Checking
the value of the uom input right after introduces underteministic
behavior which makes the test fail in some cases. To try to solve this,
another step is processed inbetween, before checking the value of the
uom input.

related-https://github.com/odoo/odoo/pull/105951

closes odoo/odoo#125023

Signed-off-by: Xavier Bol (xbo) <xbo@odoo.com>
2023-06-15 02:38:01 +02:00
Thomas Lefebvre (thle) 2aa0a4adb2 [FIX] hr_holidays_attendance: not blocking the refusal of leave
Steps to reproduce:
-------------------
- activate "Count Extra Hours" in Attendances settings;
- create attendances for an employee to create an overtime
(select one day of the weekend for example);
- create an Extra Hours type leave for this employee;
- remove the attendance that creates extra hours;

The extra hours of the employee is negative

- refuse the leave created before;

Issue:
------
A Validation Error occurs with the message:
"The employee does not have enough extra hours to extend this leave.".

Solution:
---------
Refuse leave based on extra hours
should not require any control
because we are not trying to extend leave.

opw-3342778

closes odoo/odoo#124994

X-original-commit: b86afb9f0b13e84dc391699d285e39197907d207
Signed-off-by: Kevin Baptiste <kba@odoo.com>
2023-06-15 02:37:56 +02:00
Alvaro Fuentes e50f762aa9 [FIX] point_of_sale: fix memory error
When there are too many (millions) of POS order lines associated to
opened POS sessions we get too many taxes, most are duplicated. This
causes a MemorryError.

Example queries from a real DB:
```
> select count(distinct r.account_tax_id) from pos_order_line l join pos_order o on o.id = l.order_id join pos_session s on s.id = o.session_id join account_tax_pos_order_line_rel r on r.pos_order_
 line_id = l.id where s.state != 'closed'
+-------+
| count |
|-------|
| 24    |
+-------+
> select count(r.account_tax_id) from pos_order_line l join pos_order o on o.id = l.order_id join pos_session s on s.id = o.session_id join account_tax_pos_order_line_rel r on r.pos_order_line_id =
  l.id where s.state != 'closed'
+---------+
| count   |
|---------|
| 2504539 |
+---------+
```

opw-3295467

closes odoo/odoo#124990

X-original-commit: b5870af0fd74118d96cbd130f3b319e2319d82f8
Signed-off-by: Christophe Simonis (chs) <chs@odoo.com>
2023-06-15 01:20:15 +02:00
Guillaume (gdi) 081ce53120 [IMP] web_editor, website: make many2X related to current website
This commit changes the way the we-many2one and we-many2many fields work
so that they check if the model they are attached to has a website_id
field, if so, the data loaded from the model will be that related to the
current website.

After this commit, developers can get rid of the website_id field when
they add a many2X field. The domain will be automatically computed.

task-3316278

closes odoo/odoo#124985

X-original-commit: 78cfcf3b2b3a44ee8e19084639e37277991b969a
Signed-off-by: Romain Derie (rde) <rde@odoo.com>
Signed-off-by: Dieleman Guillaume (gdi) <gdi@odoo.com>
2023-06-15 01:20:12 +02:00
anhe-odoo f47f1278f3 [IMP] spreadsheet: autofill from pivot/list propagate the format
Task Description

When autofilling a pivot/list cell from another pivot/list cell,
the format of the target wasn't overwritten. This can lead to some
strange behaviour where the user set the desired format to a cell
then autofill the remaning cell of the column/row to apply the same
format once and nothing happen.
We now propagate the set format with the pivot/list autofill, but
we still don't propagate the style and border definition, as it
could break the currently defined pivot/list style.

Related Task
task-3252442

closes odoo/odoo#124984

X-original-commit: 8678b716a9fe2b38e9ed5d399d89df2343ee239c
Related: odoo/enterprise#42542
Signed-off-by: Lucas Lefèvre (lul) <lul@odoo.com>
Signed-off-by: Hendrickx Anthony (anhe) <anhe@odoo.com>
2023-06-15 00:12:47 +02:00
luvi 410c3dce05 [FIX] mail: display strip animation on filtering activities
This commit fixes the display of the ColumnProgress component, which was
no longer displaying an animation when a filter is applied. This was due
to changes made in commit (1), introducing an "activeBar" key on the
value given to the ColumnProgress component.

A test has been modified to assert that the classes corresponding to the
animation are added as expected when a filter is selected.

1) 58ca40b032

closes odoo/odoo#124969

X-original-commit: b4857a5c4570d3824b581003cdf456bcdc29f75f
Signed-off-by: Dardenne Florent (dafl) <dafl@odoo.com>
Signed-off-by: Luca Vitali <luvi@odoo.com>
2023-06-15 00:12:45 +02:00
Sébastien Theys 77fa212a43 [REF] mail: move ChannelSelector to discuss folder
Part of task-3265211

closes odoo/odoo#124891

Signed-off-by: Sébastien Theys (seb) <seb@odoo.com>
2023-06-14 22:40:02 +02:00
Michael (mcm) 44aa89d0ec [IMP] web: test binary field as m2m tags domain
The commit only adds a test which checks that binary
field can be used as the domain of many2many tags field.
We already have a case in the "account" addon  so the
test is there to check that the feature is supported.

task id: 3336189

closes odoo/odoo#124623

Signed-off-by: Mathieu Duckerts-Antoine <dam@odoo.com>
2023-06-14 21:28:35 +02:00
Michael (mcm) e0cd68c725 [IMP] web: remove title from attachment image
This commit remove the title on the attachment image widget
when not in debug mode.
The title gave the name of the file and wasn't really necessary
as it is rather a technical info.

task 3343366

closes odoo/odoo#123895

Signed-off-by: Mathieu Duckerts-Antoine <dam@odoo.com>
2023-06-14 21:28:33 +02:00
Yash Vaishnav ce7bca79ba [IMP] website_hr_recruitment: simplify the long name and hide the number
Before this commit, when the recruiter's name and job position were excessively
long, it extended beyond the boundaries of the box. And, if the recruiter did
not have a phone number, the phone symbol would still be displayed within
the box.

In this commit, The name and job position of the recruiter were shortened and
the space at the bottom of the recruiter's email was minimized.

task-3342768

closes odoo/odoo#123054

Signed-off-by: Kevin Baptiste <kba@odoo.com>
2023-06-14 21:28:30 +02:00
Sanket Brahmbhatt 220f9b30cc [FIX] account_edi_ubl_cii: ignore exception error in sentry
'Error while converting to PDF/A' log error is generated when the user uploads
the files and that file could' t convert PDF to PDF-A.

we stop catching exception in sentry.

sentry-4172828056

closes odoo/odoo#122555

X-original-commit: 1c0418f00a8111058465e95dfedec1b8d6200e60
Signed-off-by: Quentin De Paoli <qdp@odoo.com>
Signed-off-by: Sanket Brahmbhatt (sabr) <sabr@odoo.com>
2023-06-14 21:28:28 +02:00
Florian Damhaut 92a0907484 [IMP] web: graph line, cumulated graph start
This PR allows a line chart in cumulative mode to start at some
non zero value if some conditions are met.
For this, the attribute "cumulated_start" should be set to true on
the arch root node of the graph view. If set to true, if the first
groupby (if any) is a date/datetime field "d", and if the domain
contains a condition based on "d" - thus possibly excluding some
groups with "d" values inferior to the least "d" value found in
the fetched groups - the initial value for the cumulative chart
will be set to be the aggregated value for those excluded groups.

closes odoo/odoo#122321

Signed-off-by: Mathieu Duckerts-Antoine <dam@odoo.com>
2023-06-14 20:20:51 +02:00
bit-odoo fff449a419 [IMP] calendar: calendar app should open on due date with pop-up opened
PURPOSE

Calendar app should open with pop-up opened

SPECIFICATIONS

When activity of type meeting is edited(Reschedule), he gets a calendar
app open on due date's week.The calendar app should be opened with the
corresponding meeting highlighted (or the pop-up opened same as if the user
has click on it)

Task-2528115

closes odoo/odoo#72544

Signed-off-by: Arnaud Joset (arj) <arj@odoo.com>
2023-06-14 20:20:43 +02:00
Valentin Vallaeys (vava) 54c3513026 [FIX] loyalty: fix next order coupon mail template
Default mail template for coupon on next order was linked to the gift
card mail template, but it should be linked to loyalty coupon card.

OPW-3281621

closes odoo/odoo#124927

X-original-commit: ece055c105a3a1cbd3621f25765668594af9837e
Signed-off-by: Vallaeys Valentin (vava) <vava@odoo.com>
2023-06-14 17:14:43 +02:00
Adrien Guilliams (adgu) 39d1035952 [FIX] point_of_sale: _compute_cash_balance falsy
The computation of the cash_balance of the sessions was falsy due
to a change retrieving a part of the domain related to the payment
lines of the session. The change of the domain led to retrieving
all payments done during the entire lifetime of the config instead
of only the ones done during the session and leading to miscomputation
of the cash balance.

closes odoo/odoo#124817

X-original-commit: d6d9e5ade690fb807b6c3644622e38b34b14de2c
Signed-off-by: Heinz Robin (rhe) <rhe@odoo.com>
Signed-off-by: Guilliams Adrien (adgu) <adgu@odoo.com>
2023-06-14 14:28:43 +02:00
Tom De Caluwé 34f1bc96a2 [FIX] hr_holidays: ignore unconfirmed leaves in current leave status
As of this commit, only confirmed leaves will be considered when computing the
current leave or absence of an employee. Additionally, a bug in the is_absent
search implementation was fixed: before this commit, the same results were
returned for absent and non-absent searches.

opw-2877328

closes odoo/odoo#124968

X-original-commit: 28ccbbab07a0c25570ca9b940428b8e541d262d7
Signed-off-by: Kevin Baptiste <kba@odoo.com>
2023-06-14 13:10:49 +02:00
Demesmaeker 233b964b99 [FIX] sale_loyalty: ensure the test works around midnight
Fix nightly fails

closes odoo/odoo#124962

Signed-off-by: Antoine Vandevenne (anv) <anv@odoo.com>
2023-06-14 13:10:40 +02:00
Victor Piryns (pivi) c77373892b [FIX] hr, hr_timesheet: correct empl. access w/ no rights
Current behaviour:
In mobile view, if an user that doesn't have any rights over
"Employees", clicking on any of the Many2One `employee_id` (for ex:
when adding a timesheet on a task and clicking on the employee field),
for either the dropdown, or to the form view with the `external` button,
we get a stacktrace.

Expected behaviour:
We shouldn't be met with a stacktrace, if we don't have rights, we
should be redirected to the corresponding view for the `hr.employee.
public` model.

Steps to reproduce:
- Install Timesheets
- Set Marc Demo's Employee's right to `none/empty`, login as Marc
- In mobile view, go to Project > a task > open the timesheet sheet
- Click on Add or any of the present timesheets
- Click on employee field, either on it (redirect to the mobile
  kanban view of all employees) or to the right edge of it (redirect
  to the form view for the currently selected employee).
- Instead of being redirected, you are met with a stacktrace.

Reason for the problem:
Since the migration to Owl, there is an implicit consistency
expected between what is the requested model for said view, and the
model we get back from the server for said view. In general (for
example when in desktop view), usually we pass by an override of
`get_formview_action` which changes the model we are loading
front-end side depending on the access to the employee model. If
access, we load `hr.employee`, if no access, `hr.employee.public`.
But for mobile, we don't pass by an action, we just load a dialog,
and the `resModel` used for the dialog is based on the `relation` of
the `Many2OneField`, which is `hr.employee`. In that case when
`get_views` is being called, we receive a view with the model key
being `hr.employee.public`, which is inconsistent with what the
front-end requested (which is `hr.employee`) and we have a
stacktrace in owl.

Fix:
Override the `relation` property to the correct model in the
corresponding widget set on the template of the field, based on
available group. This relation is used to set the `resModel` when
opening the dialog.

Affected versions:
- 16.0
- saas-16.1
- saas-16.2
- saas-16.3
- master

opw-3269817

closes odoo/odoo#124961

X-original-commit: 05f1d58ee6143432ce85bc7629dbe76c74c2da33
Signed-off-by: Kevin Baptiste <kba@odoo.com>
Signed-off-by: Piryns Victor (pivi) <pivi@odoo.com>
2023-06-14 10:55:00 +02:00
pedrambiria 88124fcf60 [FIX] point_of_sale: prevent removing order after bill screen timeout
steps to reproduce the issue:
-Navigate to POS, Open Bar (needs to be restaurant POS)
-Click on a table and add some items to the order.
-Click the Bill button under the order
-Wait about 90 seconds
-Bill page times out and goes back to the floor screen
-Click on Orders at the top and view Ongoing Orders. The one you just
made is not here (it should be)

The solution is to prevent removing the not finalized order when
coming back to the FloorScreen.

opw-3276345

closes odoo/odoo#124960

X-original-commit: be384e27ced7c256867938c53aa5d2a7d81c0ade
Signed-off-by: Joseph Caburnay (jcb) <jcb@odoo.com>
Signed-off-by: Pedram Bi Ria (pebr) <pebr@odoo.com>
2023-06-14 10:54:53 +02:00
Antoine Dupuis (andu) c31beb459d [FIX] tools: Improve docstring of load_xsd_files_from_url()
This is to clarify that the file_name param is not used if a ZIP is
downloaded: in that case, the filenames in the ZIP are used to save
the attachment.

See discussion in https://github.com/odoo/odoo/pull/115720#pullrequestreview-1392562860

closes odoo/odoo#124946

X-original-commit: ae94f14a844352f66490ec326fe2d1a716023891
Signed-off-by: Josse Colpaert <jco@odoo.com>
Signed-off-by: Antoine Dupuis (andu) <andu@odoo.com>
2023-06-14 10:54:47 +02:00
Benjamin Vray 059841d870 [FIX] website: fix the scrolling of table of content in website slides
Steps to reproduce the bug:

- Install the Website Slides module.
- Got to the /slides page.
- Click on a course.
- Click on the "Add Content" button.
- Choose "Web Page" in the modal.
- Once in edit mode, drag and drop a "Table of Content" snippet onto the
page.
- Save the page.
- Scroll the page and observe that the navbar items are updated as you
scroll.
- Click on the "Fullscreen" button.
- Bug: When scrolling the page, the navbar items are no longer updated
as you scroll.

This commit fixes the issue by detecting the scrolling element by
traversing up the ancestors from the 'table of content' snippet, instead
of using the 'getScrollingElement' function, which always returned the
'#wrapwrap' when a Website Slides page is in fullscreen.

opw-3302118

closes odoo/odoo#124935

X-original-commit: 1ac274c3cdddca3e6caf76d9b30b9efaa38bc09f
Signed-off-by: Romain Derie (rde) <rde@odoo.com>
Signed-off-by: Vray Benjamin (bvr) <bvr@odoo.com>
2023-06-14 10:54:40 +02:00
Jay Savaliya 156625b86e [FIX] mail: arrow icon should be centered in join button
On the welcome page, in the join channel button, the arrow icon is not centered.

Technical reason:
Currently, fa-stack class is used with the oi class, that results in the
misalignment of the arrow icon, which prevents it from being centered.

After this commit icon will be centered.

Task-3355356

closes odoo/odoo#124910

X-original-commit: 60b0155ee17e74f7eadfa02c635b8b617c451be4
Signed-off-by: Alexandre Kühn (aku) <aku@odoo.com>
2023-06-14 10:54:33 +02:00
hupo-odoo a4583a1aa6 [IMP] l10n_{mx,ua,in,dz,ma}: activate default setting
For Mexican localization, activate by default the setting display_invoice_amount_total_words for the Mexican localization. As this localization uses its own amount to words function, the related commit enables an override of the generic function to use it correctly with Mexican localization.

For the other mentioned localizations (ua,in,dz,ma), the setting was already activated but overriding the create method was not a proper way of doing.

task - 3367243

closes odoo/odoo#124909

X-original-commit: 6ee9842764e0b1244927cb8ece1f6407ccec20d5
Related: odoo/enterprise#42510
Signed-off-by: Laurent Smet <las@odoo.com>
Signed-off-by: hupo-odoo <hupo@odoo.com>
2023-06-14 10:54:24 +02:00
Guillaume (gdi) 609e25521e [FIX] web_editor: clear m2X cache
This commit clears the cache of we-many2X widgets. Since [the merge of
the backend into the frontend], the page is not refreshed when the user
goes to modify data in his backend. This means that if the data has been
changed between two editions of a page and the many2X widget has already
made the RPC call, it will not do it again and will still have the old
data. For example with website installed:
- Edit a page of your website
- Add the add to cart button
- Search for "ERP" product
- The product does not exist so save the page
- Create and publish a new product called "ERP"
- Edit the page again
- Search for the product "ERP"

=> It is not present because the query is in the cache which has not
been cleared. If you refresh the page, the product will be found.
This commit fixes this problem by clearing the cache after an edit.

Note that a similar implementation of caching clearing has been done
here: https://github.com/odoo/odoo/commit/3efb726575679f62f9ee2894193323bfe45d7938

[the merge of the backend into the frontend]: https://github.com/odoo/odoo/commit/31cc10b91dc7762e23b4bde9b945be0c4ce3fe3b

task-3078137

closes odoo/odoo#124908

X-original-commit: ff0cfca420a434e6024654749ea316bbfc5e0772
Signed-off-by: Romain Derie (rde) <rde@odoo.com>
Signed-off-by: Dieleman Guillaume (gdi) <gdi@odoo.com>
2023-06-14 10:54:17 +02:00
Benoit Socias 4952ea3dcf [FIX] web,*: keep distinct cached translation bundles per front-end lang
*: website_sale_stock

When translations are loaded in a front-end page, the language is
initially deduced by the server. The `GET` that obtains them does not
have a language parameter set. Because of this, this initial result is
reused from the browser cache on subsequent page accesses.
This is a problem when the user toggles between languages because the
cached content is reused while it is related to a previously selected
language.

This commit avoids this problem by making the cache specific to the
current front-end language.

Steps to reproduce:
- Make sure "Disable cache" is not enabled in your browser.
- Install website_sale_stock.
- Add the French language and activate it on the first website.
- In the backend, go to a product (e.g. Office Lamp)'s Sales tab.
- Disable "Out-of-Stock: Continue selling".
- Enter an "Out-of-Stock Message" in both English and French.
- Open the product's website page in French.
- Copy the URL.
- Open a new browser private navigation window.
- Go to the copied URL.
- Switch to English.
- Switch to French.

=> The price is first displayed correctly in French with a "," decimal
separator then is replaced by using the English "." decimal separator
and the out-of-stock message is displayed in English.

opw-3293403
opw-3343614

closes odoo/odoo#124907

X-original-commit: a827de6fffedc9d952d0a4e888c7089896bdb44f
Signed-off-by: Romain Derie (rde) <rde@odoo.com>
Signed-off-by: Benoit Socias (bso) <bso@odoo.com>
2023-06-14 10:54:10 +02:00
xO-Tx 410b4cddd6 [FIX] website: adapt browser URL on "edit translations" mode
Steps to reproduce:

- Go to a website page > Add a 'Form' block.
- Go to the page (in 'edit_translations' mode) > Reload the page > The
form won't be pre-filled with default values. [1]

The page reloading with `?edit_translations=1` leads to a misleading
situation where the form block is handled as on 'edit_translations'
mode (see: `data-edit_translations="1"` on the DOM) hence the behaviour
in [1].

The goal of this commit is to prevent this inconsistency by simply
adapting the browser URL once "edit_translations" mode is activated.

closes odoo/odoo#124889

X-original-commit: 8c7d096a09fe23ac7ef9b7bf54123592c52122dd
Signed-off-by: Colin Louis (loco) <loco@odoo.com>
2023-06-14 10:54:04 +02:00
vlst e82f75d66f [IMP] point_of_sale, *: Unify price type field
*: l10n_fr_pos_cert, pos_discount, pos_loyalty, pos_sale, pos_self_order

The `Orderline` model contains the fields: `price_manually_set` and `price_automatically_set`.
They are meant to signify what type of price the orderline has: `automatic`, `manual` or `original`.

It's very confusing to manage the two fields when in fact they only describe three types of setting the orderline price.

This PR replaces the 2 fields with a single one: `price_type`, which will take one of the 3 possible values.

closes odoo/odoo#124858

Task: 3358265
Signed-off-by: Heinz Robin (rhe) <rhe@odoo.com>
2023-06-14 10:53:57 +02:00
Tejas Modi 280f3de900 [IMP] stock: print report in 4x7 layout for both the operations
Currently, Storage locations and Operations type barcode are printing in 8x3 layout.

So in this commit, I have changed Report of Storage locations and Operations type
barcode print into 4x7.

TaskID - 2579195

closes odoo/odoo#116844

Related: odoo/enterprise#38901
Signed-off-by: Steve Van Essche <svs@odoo.com>
2023-06-14 10:53:51 +02:00