Commit Graph
164380 Commits
Author SHA1 Message Date
miad-odoo 8926efac19 [FIX] website_crm_partner_assign: display team stages
Before this commit, in the partner portal, all CRM stages were displayed for an
opportunity, even the non-relevant ones.

Now, only the stages that apply to this opportunity are displayed

Task-3133070

closes odoo/odoo#112665

X-original-commit: 9b385f034058d18608c9873a8a1e8fe44e220f1e
Signed-off-by: Thibault Delavallee (tde) <tde@openerp.com>
2023-02-14 17:09:47 +01:00
Aaron Bohy bd9cafbaee [REM] stock: legacy implementation of the report client action
The legacy implementation of the report client action has been
moved to stock [1], as it was only used by an extension in stock,
for the "replenish_report" action. A recent commit [2] converted
that action into owl, making the legacy implementation of the
report action unused. This commit thus removes it.

[1] https://github.com/odoo/odoo/commit/feef532b417828905ce09675043b55b2b3736e43
[2] https://github.com/odoo/odoo/commit/0a43740481c098f076c3aefa550092d6b960be88

closes odoo/odoo#112664

Signed-off-by: Simon Genin (ges@odoo) <ges@odoo.com>
2023-02-14 17:09:44 +01:00
Alexandre de Pape (alpa) 120dffb49e [FIX] bug with image animation
Fixes the bug animation of the add to cart.

closes odoo/odoo#112663

Task: 2943578
X-original-commit: ef28650a94ac638676cb0ed5e14599416185faa8
Signed-off-by: William Braeckman (wbr) <wbr@odoo.com>
2023-02-14 17:09:41 +01:00
Noe Antoine 982afa089f [FIX] website_livechat: realign ratings and avoid overlap
The images of users in the livechat team were overlapping
with their ratings on the front-end page of the livechat channel.
Remove negative gutters to fix this.

task-3135733

closes odoo/odoo#112661

X-original-commit: 619a39e2f1fe50f5c76f2b54a578598e1540ef8d
Signed-off-by: Stéphane Debauche (std) <std@odoo.com>
2023-02-14 17:09:37 +01:00
Tommy (tong) dab107dd6e [FIX] hr_work_entry_contract: missing leave_id record on some work entries
Steps to reproduce:

- Add a pubic holiday record, i.e., From 6 Feb 2023 to 7 Feb 2023
- Add a leave with the date conflicting the public holiday, i.e. From
3 Feb 2023 to 8 Feb 2023
- Regenrate the work entries and check the work entry in form view.

Current behaviour:
Missing leave_id on some work entries

Expected behaviour:
It should linked to the corresponding leave for the work entries that is
created by the leave, while public holiday work entries should keep leave_id
empty.

Explanation:

After calling contract._get_interval_leave_work_entry_type, the leaves should
be filted out the not related leaves so contract._get_more_vals_leave_interval
can get the correct vals. Otherwise public holiday will always return
{'leave_id': false} in contract._get_more_vals_leave_interval which will replace
the correct leave_id value.

closes odoo/odoo#112641

X-original-commit: 66b65074671063e762e09589c3977dec311fc9b3
Signed-off-by: Yannick Tivisse (yti) <yti@odoo.com>
2023-02-14 17:09:35 +01:00
Aaron Bohy 145540921f [REF] web,mail: handle "color_field" option in M2MTagsField
Before this commit, there was a hack done in Field.js to handle
a special case of the Many2ManyTagsField which sometimes require
an additional "color" field to be fetched. This field is given in
option on the many2many field, in the arch.

It wasn't possible for the Many2ManyTags field to add that field
on its "FieldToFetch", because this object was static (it didn't
depend on the arch). This commit allows it to do so as FieldsToFetch
can now be a function that receives the fieldInfo (extracted from
the arch) in arguments.

So with this commit, fieldsToFetch can be either an array of fields
(instead of an object as before), or a function returning an array
of fields.

Part of task 3179751

closes odoo/odoo#112518

Related: odoo/enterprise#37020
Signed-off-by: Georis François (fge) <fge@odoo.com>
2023-02-14 17:09:29 +01:00
Aaron Bohy b1035c97c5 [REF] project: remove unused "color_field" option
This option is only used by x2many fields (typically m2m_tags),
and has no effect on selection fields.

Part-of: odoo/odoo#112518
2023-02-14 17:09:29 +01:00
Eteil Djoumatchoua (etdj) 93bfbdf558 [FIX] website_sale: show the list of products from the price range selected
Steps to reproduce:
1. Go to website shop page
2. Change the price sliders so no products are shown
3. Increase the range of the sliders

Issue:
Traceback

```python
UncaughtPromiseError > TypeError
Uncaught Promise > Cannot read properties of null (reading 'classList')
TypeError: Cannot read properties of null (reading 'classList')
at Class._onPriceRangeSelected (https://23198922-16-0-all.runbot173.odoo.com/web/assets/debug/1/web.assets_frontend_lazy.js:121254:70) (/website_sale/static/src/js/website_sale.js:1200)
at HTMLInputElement.<anonymous> (https://23198922-16-0-all.runbot173.odoo.com/web/assets/debug/1/web.assets_frontend_lazy.js:72834:23) (/web/static/src/legacy/js/core/mixins.js:277)
at HTMLDivElement.dispatch (https://23198922-16-0-all.runbot173.odoo.com/web/assets/debug/1/web.assets_frontend_lazy.js:26934:27) (/web/static/lib/jquery/jquery.js:5183)
at elemData.handle (https://23198922-16-0-all.runbot173.odoo.com/web/assets/debug/1/web.assets_frontend_lazy.js:26742:28) (/web/static/lib/jquery/jquery.js:4991)
at Multirange.dispatchNewValueEvent (https://23198922-16-0-all.runbot173.odoo.com/web/assets/debug/1/web.assets_frontend_lazy.js:122060:24) (/website/static/lib/multirange/multirange_custom.js:258)
```

Cause:
When the list of products is empty, the div containing it is no longer present. So when we try to get it with querySelector() it returns null.

Solution:
Ensure the div is present in the DOM to modify it

opw-3144545

closes odoo/odoo#112150

X-original-commit: 2d34cd6fa2cc3f04f86712f709f5503cb5373631
Signed-off-by: Yannick Tivisse (yti) <yti@odoo.com>
2023-02-14 17:09:25 +01:00
det 8efa991f0a [FIX] account: journal taken into account
This commit fix an issue on moves creation from attachments.

Before, when creating moves from attachment, if no method is
found the 'self' journal is not taken into account.

After, the journal found or contained in 'self' is used while
creating the move

[community](https://github.com/odoo/odoo/pull/111328)
[enterprise](https://github.com/odoo/enterprise/pull/36308)

closes odoo/odoo#111328

Related: odoo/enterprise#36308
Signed-off-by: William André (wan) <wan@odoo.com>
2023-02-14 17:09:16 +01:00
430967a882 [MERGE] web, mrp: OWL Gantt View Conversion - Part 1 (Community)
Conversion of the gantt view to OWL.

Along the way the UI has been changed:
- hover a pill does not make a popover appear anymore. It is now
  necessary to click on the pill to make it appear. A button "Edit" in
  the popover still allows to edit the pill (if edition is available).

The unused arch attribute collapse_first_level has been removed.

Technically:
- complete revamp of the DOM and class names to trim down dead code and
  needless nesting;
- the gantt view now makes use of the CSS display "grid" property in
  several places (most importantly in the main row container), further
  simplifying the DOM and allowing for list virtualization;
- this virtualization process ensures that only visible rows (and
  their related elements) are effectively rendered in the DOM. This is
  done using the newly added "useVirtual" hook.

The rendering process of the new gantt view should thus be a lot quicker
as a result.

Note that the legacy gantt view is still available since its extensions
are not yet converted (through the js_class legacy_gantt).
Its class name is now o_legacy_gantt_view.

Enterprise counterpart PR: odoo/enterprise#36202
Task Id: 3105022

closes odoo/odoo#110819

Signed-off-by: Aaron Bohy (aab) <aab@odoo.com>
Co-authored-by: Bruno Boi <boi@odoo.com>
Co-authored-by: Julien Mougenot <jum@odoo.com>
Co-authored-by: Mathieu Duckerts-Antoine <dam@odoo.com>
2023-02-14 17:09:06 +01:00
e93988ea65 [REF] mrp, web: OWL GanttView
Community counterpart of the enterprise commit having the same name.

This commit acts as a setup to allow for the reworked gantt view to work
properly.

Task Id: 3105022

Part-of: odoo/odoo#110819
Co-authored-by: Bruno Boi <boi@odoo.com>
Co-authored-by: Julien Mougenot <jum@odoo.com>
Co-authored-by: Mathieu Duckerts-Antoine <dam@odoo.com>
2023-02-14 17:09:06 +01:00
Bruno BoiandJulien Mougenot 24fb77d457 [IMP] web: Draggable hook builder
This commit adds several improvements and overall changes the way
draggable builders can be built, adding some helpers to temporary
manipulate DOM elements during drag sequences and making some changes
on the way drag callbacks are handled.

The current implementations of draggable hooks built with this feature
have been adapted.

The drag test helpers have also been reviewed to more accurately
mimick real-life scenarios and allow for more flexiblity (i.e. moving an
element to a certain point during the drag sequence before being
dropped).

Part-of: odoo/odoo#110819
Co-authored-by: Julien Mougenot <jum@odoo.com>
Co-authored-by: Bruno Boi <boi@odoo.com>
2023-02-14 17:09:05 +01:00
Julien Mougenot 1ac6ae1801 [IMP] web: Add support for Elements in tests
Before this commit, some QUnit asserts and test helpers taking a
"target" param (or equivalent) would try to evaluate it, among other
possibilites, as an HTMLElement.

This is too restrictive however, as all these helpers can also be
performed on 'Element' instances (querySelector, classList, etc.), which
covers other sub-classes than HTMLElement, such as the whole range of
SVG Elements.

This commit changes the checks for `instanceof HTMLElement` to
`instanceof Element` instead to allow the helpers to be used on the
whole range of native Elements.

Part-of: odoo/odoo#110819
Co-authored-by: Julien Mougenot <jum@odoo.com>
2023-02-14 17:09:05 +01:00
Mathieu Duckerts-AntoineandMathieu Duckerts-Antoine f3dfd9b651 [REF] web: Move orderByToString to views/utils.js
This commit moves the 'orderByToString' helper to views/utils.js.

Part-of: odoo/odoo#110819
Co-authored-by: Mathieu Duckerts-Antoine <dam@dooo.com>
2023-02-14 17:09:05 +01:00
a3dd93194f [IMP] web: introduce useVirtual hook
This commit introduces a hook named "useVirtual" which allows to filter
a given list of objects and return only those that are visible in the
current viewport. This effectively allows to use virtualization in lists.

The hook will trim down the list of objects it received to those that fit
in the current viewport (with a fixed margin above and under to allow
smoother transitions on scroll).

The following requirements must be met to use this feature:

- the scrollable area has a fixed height
- along with the list of items, a "getItemHeight" getter must be
provided to determine the actual height of each individual item;
- the items are rendered with a proper offset inside the scrollable area.
  This can be achieved e.g. with a css grid or an absolute positioning.

Part-of: odoo/odoo#110819
Co-authored-by: Bruno Boi <boi@odoo.com>
Co-authored-by: Julien Mougenot <jum@odoo.com>
Co-authored-by: Mathieu Duckerts-Antoine <dam@odoo.com>
2023-02-14 17:09:04 +01:00
Julien Mougenot 48bc5315da [IMP] web: Improve mockCopy and mockServer logging
This commit handles 2 things:

1. bring the mock server "copy" handler closer to its actual
implementation, supporting a second argument which is a dictionnary of
default values to be applied to the copied record;

2. make the mock server debug logs more readable, with a nice color code
(blue for requests, orange for responses) so that debug info are easier
to read in the console.

Part-of: odoo/odoo#110819
Co-authored-by: Julien Mougenot <jum@odoo.com>
2023-02-14 17:09:04 +01:00
Julien MougenotandMathieu Duckerts-Antoine d96b56f670 [IMP] web: Improve mockRead performance
This commit improves the performances of the mock server "read" handler
by reducing the amount of iterations performed on the current set of
records.

This was needed as some tests (namely: gantt manual performance tests)
mocked huge amounts of records and the main bottleneck was the mock
server, while the actual impact was supposed to be measured on the
rendering process.

Part-of: odoo/odoo#110819
Co-authored-by: Julien Mougenot <jum@odoo.com>
Co-authored-by: Mathieu Duckerts-Antoine <dam@odoo.com>
2023-02-14 17:09:04 +01:00
Audric Onockx (auon) aa250d3245 [IMP] project: improve and create task template for recurrence
The goal of this task is to ease the deletion/archiving of recurrent
tasks by giving the user the option to either continue
or stop the recurrence. The two main use-cases are:

\- You have a recurring task for a weekly meeting.
Next week, the user will be on time off. You are thus deleting the task.
However, you would still like tasks generated for the following meetings
and to keep track of the previous meetings.

\- You have a recurring task for a weekly meeting with an employee
that has just been fired. You are thus deleting the task and
you won't need this recurrence anymore.
(You may or may not want to keep track of the previous meetings.)

The main issue we are currently facing is that we need a task that acts
as a template for the recurrence to continue. This means that a user
cannot delete all of his tasks without breaking their recurrence.

Consequently, we will be using a "task template" for each recurrence,
which will only serve technical purposes and be invisible to the users.
When the recurrence is stopped, the task template is deleted.
This simplifies the technical and functional implementation as the user
won't be able to modify the template themselves.

\- Added task templates to recurrences in the data.
\- Deleted "all tasks" option form recurence update and changed "this
and following tasks" to "this and future tasks". Most of the time, the
user is going to update the most recent task, and it doesn't make
any functional sense to update past ones.
\- Same options for delete and archive.
\- No recurrent subtasks allowed anymore.
\- `date_deadline` is copied. We compute it by adding the delta between
the create date and the `date_deadline` of the template to the next
recurrence date.
\- Added filter to several view not to display task templates.

task-2937565

closes odoo/odoo#98088

Related: odoo/upgrade#4232
Related: odoo/enterprise#30416
Signed-off-by: Xavier Bol (xbo) <xbo@odoo.com>
2023-02-14 17:08:49 +01:00
Kevin Baptiste 901e3814fc [IMP] hr: allow users to manage plan activities
When starting an onboarding/offboarding plan on an employee, activities
were only created for the users that were part of the HR Officer group.

Regular users can't access the `hr.employee` model and it's not possible
to have activities on `hr.employee.public`.

A new model has been created to manage those activities and is only
accessible to the user and their manager.

task-3151758

closes odoo/odoo#111505

Signed-off-by: Kevin Baptiste <kba@odoo.com>
2023-02-14 15:52:03 +01:00
Maruan Aguerdouh (magm) c3ee7c8780 [FIX] sale_timesheet: description field of timesheet line fits to parent
Steps to reproduce:

- Install Sales, Project, Timesheets.
- Go to a task inside Project, and to the Timesheets tab.
- Create or modify a timesheet line, and write a very long description.

Issue:

The description field of the timesheet line is not fitting to the parent
instead is fitting for the content inside description making the table
bigger than it should.

Solution:

We have a custom widget for timesheet_ids field when we have
sale_timesheet and the widget is missing the `o_field_one2many` class.
So we add the proper class to the component with `TimesheetsOne2ManyField`

opw-3145298

closes odoo/odoo#112631

X-original-commit: e73d7c4c3cddabdbb5d175681cbfe3789d846239
Signed-off-by: Xavier Bol (xbo) <xbo@odoo.com>
Signed-off-by: Maruan Aguerdouh Mohtar (magm) <magm@odoo.com>
2023-02-14 14:37:54 +01:00
FrancoisGe 45ef57bedc [REF] web: convert Record.formattedRecord to utils
To evaluate the KanbanRecord and the ActivityRecord, a formattedRecord is passed.

What is a formattedRecord:

Before this commit:
The base record + all its fields with the keys value and raw_value.
formattedRecord = {
    ...Record(),
    field1: {
        value: ...,
        raw_value: ...,
    }
}

After this commit:
All its fields with the value and raw_value keys.
formattedRecord = {
    field1: {
        value: ...,
        raw_value: ...,
    }
}

This modification avoids giving access to the functionality of the Record
class directly in the arch. The arch should never have access to the
internals of the Record.

closes odoo/odoo#112618

Signed-off-by: Aaron Bohy (aab) <aab@odoo.com>
2023-02-14 14:37:51 +01:00
FrancoisGe d4c60f233c [IMP] web: aggregate value for displayed columns
The purpose of this commit is to no longer calculate the aggregated
value of columns that are not displayed in the list view.

Before this commit, we always calculated the aggregate value of optional
columns that are hidden.

closes odoo/odoo#112542

Signed-off-by: Aaron Bohy (aab) <aab@odoo.com>
2023-02-14 14:37:48 +01:00
Antoine Guenet a8581ddca6 [FIX] web_editor: fix triple click on block followed by empty block
Triple click correction failed whenever the triple-click-selected block
was followed by an empty block. The reason is that `getDeepestPosition`
prevents the selection from being placed within a line break (`<br>`)
and therefore returns the block itself (`<p>[]<br></p>` will be
expressed as `(p, 0)`), so the heuristic to determine if triple click
correction in needed in `getDeepRange` would fail as it assumed the
`end` node was a leaf where it wasn't. This fixes the issue by applying
the heurstic to the first leaf of the `end` node instead, and making the
correction for there as well.

task-3180922

closes odoo/odoo#112637

X-original-commit: 81653c320a1e431e4b9ae831bf0b8522588368e6
Signed-off-by: David Monjoie (dmo) <dmo@odoo.com>
2023-02-14 13:14:04 +01:00
Aaron Bohy dad8de3863 [REF] base: remove checks on non existent context keys
Those keys have no match in the codebase.

closes odoo/odoo#112613

Signed-off-by: Vincent Schippefilt (vsc) <vsc@odoo.com>
2023-02-14 13:14:01 +01:00
Bruno Boi b8b42d5a49 [FIX] web: pivot,graph: usesamplemodel to false
After a model in sample mode has fetched sample data, its orm is reset
to be the "true" orm (standard orm service using the real server (prod)
or the mock server (test)). Thus any change in the view parameters that
imply to fetch data will lead to fetch "true" data (possibly none) and
thus present "true" data in the view. The problem is that the graph and
pivot views did keep the class .o_view_sample_data in that case.
Here, we make sure that that class is removed at an appropriate time.

closes odoo/odoo#112612

X-original-commit: ae6ec8dcfb24b86743e3ee14ae2526b4f8b681b9
Signed-off-by: Aaron Bohy (aab) <aab@odoo.com>
Signed-off-by: Mathieu Duckerts-Antoine <dam@odoo.com>
2023-02-14 13:13:58 +01:00
niyasraphy b0c7d888c5 [IMP] fleet: add form view for fleet.vehicle.cost.report model
before this commit, form view for the model fleet.vehicle.cost.report model was not defined, thus on opening the form view of this model shows odoo generated form view.

after this commit, as the form view is added for the model, on opening the form, clean form will be displayed.

also in the file, there is a record with wrongly aligned corrected that and set create="0" attribute in tree to hide the new/create button.

closes odoo/odoo#110450

Signed-off-by: Kevin Baptiste <kba@odoo.com>
2023-02-14 13:13:53 +01:00
Jordan D. (Joda) 1d1e8e4ae2 [FIX] account: set default value on journal_id in accrued order wizard
When creating an accrued revenue entry, the same journal will always be
selected by the model (by default: Miscellaneous Operations) even after
selecting and confirming another journal in the view form. This is due
to the computed field that always take the same journal. Converting the
computed function to a default function resolve the issue.

related PR: #109058

opw-3076067

closes odoo/odoo#109516

Signed-off-by: William André (wan) <wan@odoo.com>
2023-02-14 13:13:50 +01:00
jbw-odoo a11f402d6b [IMP] sale: down payment tax breakdown
Break down payments down per tax. When creating a down payment for a sale order, create one line per tax instead of one line for the enire order.

[Sale Order]
Product    Qty  Unit price    Tax   Subtotal
Product1   1    1000          10%   1000
Product2   1    1000          5%    1000
                                    ====
                            Untaxed 2000
                                Tax 150
                                    ====
                              Total 2150

Make a 50% (1000) down payment :

[BEFORE]
Product    Qty  Unit price    Tax   Subtotal
Product1   1    1000          10%   1000
Product2   1    1000          5%    1000
Down pay   1    1075                0
                                    ====
                            Untaxed 2000
                                Tax 150
                                    ====
                              Total 2150

[AFTER]
Product    Qty  Unit price    Tax   Subtotal
Product1   1    1000          10%   1000
Product2   1    1000          5%    1000
Down pay   1    500           10%   0
Down pay   1    500           5%    0
                                    ====
                            Untaxed 2000
                                Tax 150
                                    ====
                              Total 2150

closes odoo/odoo#105177

Task: 2678531
Related: odoo/enterprise#36331
Signed-off-by: Laurent Smet <las@odoo.com>
2023-02-14 13:13:47 +01:00
jbw-odoo 7510dc477d [IMP] sale: alert if draft inv on make invoice wizard
Show alert on make invoice wizard if any invoice is still in draft state as draft invoices (and downpayments) will be taken into account into the computing of the amount when creating a new invoice

Task: 2678531
Part-of: odoo/odoo#105177
2023-02-14 13:13:47 +01:00
jbw-odoo bae9382896 [IMP] sale: downpayment is always % of total
When computing a downpayment amount with "percentage" method, always compute the % from the total amount.
See https://github.com/odoo/odoo/pull/64706#pullrequestreview-571089596

Task: 2678531
Part-of: odoo/odoo#105177
2023-02-14 13:13:46 +01:00
Rodopho Cammarosano de Lima (rcdl) 0a77f3279f [FIX] web_editor: fix unbreakable rollback upon column number change
When wrapping the contents of a paragraph into a newly created div, the
nodes' ouid (unbreakable id) must be reset in order to prevent a
"unbreakable" rollback.

This commit makes such property reset and fixes errors related to changing
the number of columns of a text snippet.

task-3165895
opw-3137951

closes odoo/odoo#112521

X-original-commit: e33b802b05b41df20e13ebc44bc5b78edae50bb8
Signed-off-by: David Monjoie (dmo) <dmo@odoo.com>
2023-02-14 12:13:49 +01:00
Aungkokolin1997 d5e0475097 [IMP] purchase: display description of tax in purchase report
closes odoo/odoo#112431

X-original-commit: 57f6ec7b9fd1497cb4296539dbfa253c1c876bdc
Signed-off-by: Arnold Moyaux (arm) <arm@odoo.com>
2023-02-14 11:08:48 +01:00
Jordan D. (Joda) b12e8fd338 [FIX] base: fix write deny while creating new contact
How to reproduce
================

1. Create a user with lower privileges then admin
2. Add a new company and a new contact of that company in the contact
   app at the sametime
3. Manually save

This will result in a write access denied

opw-3127591

closes odoo/odoo#112595

X-original-commit: 93a37df79fc30c2f9ac31d60dc897452851fd5bd
Signed-off-by: John Laterre (jol) <jol@odoo.com>
2023-02-14 10:02:30 +01:00
niyasraphy c7360ebcab [FIX] sale: remove quick_add from sales calendar view
before this commit, on clicking the sales calendar view, it allows the quick adding from the calendar view and entered value is going to the name field of sale.order model.

after this commit, quick adding will be disable and on clicking form will be opened with selected date.

closes odoo/odoo#112587

X-original-commit: b82c59bdaffb731172eeb36954e5e46907ac9fcc
Signed-off-by: Victor Feyens (vfe) <vfe@odoo.com>
2023-02-14 10:02:28 +01:00
Rodopho Cammarosano de Lima (rcdl) f60e8faaca [FIX] web_editor: fix issues caused by textContent
Issue #1: reading textContent

When reading the textContent property of an element, its does not take into
account line breaks introduced by <br> and block elements, whilst innerHtml
does.

This commit solves the issue of updating a link's href to a non-sense url
upon label change. Before this commit, "www.abc.com <br> www.xyz.com" was
being incorrectely parsed as "www.abc.comwww.xyz.com".

Issue #2: setting textContent

When setting the textContent property of an element, all of its child nodes are
removed and replaced by a single text node. While this is fine when the
element contains a single text node, it might not be the desired result when
the element contains other children.

This commit solves the issue obtained when pasting html such as
"link.com<br>link.be" inside an empty inline element such as STRONG or A,
in which cleanForSave was changing its content (removing the line-break) due
to misuse of textContent, when the intended effected was simply removing
ZeroWidthSpace characters. A safer alternative for removing ZeroWidthSpace is
thus provided.

task-3081254

closes odoo/odoo#112579

X-original-commit: 9ff7c2ccff5f959f2a1cd7334c42b7bf0134f5d2
Signed-off-by: David Monjoie (dmo) <dmo@odoo.com>
2023-02-14 10:02:24 +01:00
Aaron Bohy 0639a99a9a [FIX] web: fix typo in X2ManyField props definition
Before this commit, the "addLabel" and "editable" props type was
not really tested.

closes odoo/odoo#112583

X-original-commit: bb060d012ff9dfe07fa75c851feafc0af2bfc0b5
Signed-off-by: Georis François (fge) <fge@odoo.com>
Signed-off-by: Aaron Bohy (aab) <aab@odoo.com>
2023-02-14 09:00:56 +01:00
aliya a105af636f [IMP] l10n_br: translate the module into English
This commit replaces terms in Portuguese with English translations,
and moves the original Portuguese terms into pt.po translation files.
This makes it easier to maintain the module.

task-3116558

closes odoo/odoo#109205

Related: odoo/enterprise#35473
Signed-off-by: Florian Gilbert (flg) <flg@odoo.com>
2023-02-14 09:00:49 +01:00
Christophe Monniez 7255819659 [FIX] mass_mailing: use a sequence for random sampling
Since Python 3.11, sampling from a set deprecated, the population must
be a sequence.

This commit applies the suggested fix.

Also, the filtering of the deprecation warning about sampling from set
can be disabled when the python version is not 3.9. This warning was
wrongly triggered since 3.9 because recordsets are bot a sequence and a
set.
This was fixed in python 3.10, see https://bugs.python.org/issue42470

closes odoo/odoo#112450

Signed-off-by: Xavier Morel (xmo) <xmo@odoo.com>
Signed-off-by: Christophe Monniez (moc) <moc@odoo.com>
2023-02-14 08:03:24 +01:00
Christophe Monniez 56bb6d5b32 [FIX] base: allow patching of config.options for 3.11
Since python/cpython#18544, unittest mock is not able to properly find
the "odoo.tools.config".

When trying to patch the `options` dictionnary, it leads to
`AttributeError: module 'odoo.tools.config' has no attribute 'options'`

In order to have the tests
working in python <= 3.11, we have to import the config module and patch
the options in place.

Part-of: odoo/odoo#112450
2023-02-14 08:03:23 +01:00
Christophe Monniez a3dffa86f5 [FIX] base, tools: use getlocale vs deprecated getdefaultlocale
As getdefaultlocale is deprecated in 3.11 in favor of getlocale which is
available since at least 3.0.

Part-of: odoo/odoo#112450
2023-02-14 08:03:23 +01:00
Pierre Masereel 1e35315399 [FIX] odoo,base: new Python 3.11 opcodes
When python expression is evaluated in odoo form an action or qweb, we
are checking the opcodes generated by the evaluation of this code. We do
such a verification, because the code from actions and templates can be
written by someone having not access to the server and we don't want to
let them perform actions out of the scope of their database.

In python 3.11, some opcodes from previous versions of Python have been
renamed, grouped or sepcified. There are also new ones that have been
introduce.

In this PR, we are whitelisting the new ones that are needed by odoo to
properly work in this version of Python.

Part-of: odoo/odoo#112450
2023-02-14 08:03:23 +01:00
Dylan Kiss (dyki) 8095e3f1e2 [FIX] base: change US tax id label
Since 16.0 the `Tax ID` field label is dependant on the company country.
For the US we chose `EIN` as the label.
Since there are multiple sources of tax ids in the US, it is better to leave it as the default: `Tax ID`.

task-3162675

closes odoo/odoo#112561

X-original-commit: f6846f5b9dcae6a0a9e26f3b847593a2e8a3222b
Signed-off-by: William André (wan) <wan@odoo.com>
2023-02-14 00:43:00 +01:00
Abdelouahab (abla) 82e17cff03 [FIX] account: print image in pdf
To Reproduce
============
- create a vendor bill and add an image as attachment
- print Original Bill -> the generated pdf can't be loaded

Problem
=======
when trying to add an image attachment to pdf report, the image needs
a special process.

Solution
========
add the image processing when printing pdf
fix inspired from 15 [commit](https://github.com/odoo/odoo/commit/b82a6cdea21a66588ddcafcdfb5026ec22546745)

opw-3127535

closes odoo/odoo#112596

X-original-commit: 41c79f66cfb5cdb558110d32842198157932397e
Signed-off-by: William André (wan) <wan@odoo.com>
2023-02-13 23:42:06 +01:00
Thibault Delavallée 03aa01aff7 [FIX] portal: fix recipients computation override
Portal defines the 'portal.mixin' that overrides a method from 'mail.thread'.
However no explicit inheritance is given between those two mixin. Some Odoo
models notably inherit from 'portal.mixin' and not from 'mail.thread'. It
makes no sense to override a method the model does not explicitly inherit.

In this commit we move the override on 'mail.thread' by checking the model
also inherits from 'portal.mixin' before doing portal-specific computation.
This fixes tests introduced previously.

Task-3175768 (Mail: check inheritances / overrides)

closes odoo/odoo#112573

Related: odoo/enterprise#37039
Signed-off-by: Thibault Delavallee (tde) <tde@openerp.com>
2023-02-13 22:46:42 +01:00
Thibault Delavallée c70662b6c6 [IMP] test_mail_full: add tests for portal inheritance of thread features
Purpose is to add tests as there are some broken overrides in mail.thread
inheritance mechanism.

We see notably that bad override in portal make some override not being
called correctly.

Task-3175768 (Mail: check inheritances / overrides)

Part-of: odoo/odoo#112573
2023-02-13 22:46:41 +01:00
Julien Castiaux 36ef9cb30f [FIX] core: WatchedFileHandler compat for 3.7
Fine tuning of 8eaac97, the `errors` attribute was added in py38[^1]

[^1]: python/cpython@ca7b504a4d

closes odoo/odoo#112588

X-original-commit: c6c19ff6a3093fe64035d9f970ab35522f8080f5
Signed-off-by: Julien Castiaux (juc) <juc@odoo.com>
2023-02-13 21:28:15 +01:00
Ivan Yelizariev fa60348883 [FIX] web: properly handle error on copying link to clipboard
Promise error cannot be caught by try-catch, because execution doesn't happen
immedialty. Instead, `Promise.catch` must be used.

STEPS:

* Login native app
* Sales -> Quotation -> Open any quotation
* Action Button (cog icon) -> Share
* Click on Copy Button -> a Traceback appeared

opw-3077859

closes odoo/odoo#112584

X-original-commit: 9cdcd1c1f7219030386d2c90205ea083eb835a13
Signed-off-by: Luca Vitali <luvi@odoo.com>
2023-02-13 21:28:11 +01:00
luvi 48b8242d6f [FIX] web: fix placement of add icon in ExportDialog
This commit fixes the placement of the add icon that could be on top
of the next line in the export dialog, when the name of the field was
too long. This overlapping prevented to press the button of the next
line. This is due to a fix made in commit (1). Now, it is correctly
displayed without overlaying, both in ltr and rtl directions.

Also, because there was not enough padding and some browsers are using
overlay scrollbars on top of the buttons, it was in some occasions not
possible to press the buttons, because the scrollbar was covering the
whole area. In the list of fields, only the first level of elements has
the padding, to avoid having a cascade style when unfolding items.

Static props have also been added to the component, as the component was
introduced without them.

(1): https://github.com/odoo/odoo/commit/f10a4886d2c2bfc0d4643e0e4597e62c2ba4f94e

closes odoo/odoo#112570

X-original-commit: 66207b9ffc353bd52993622cc528494b49eedc27
Related: odoo/enterprise#37037
Signed-off-by: Aaron Bohy (aab) <aab@odoo.com>
Signed-off-by: Luca Vitali <luvi@odoo.com>
2023-02-13 21:28:08 +01:00
Pierre Rousseau ac6db52173 [FIX] web: pivot view: use correct label for headers
Before this revision, the pivot view used the wrong label for the
headers in the case of the group by value was "0". This was due to
the use of the falsy value of the group by value to determine if
the label should be used or if the label should be "Total".

closes odoo/odoo#112571

X-original-commit: 97db8c975643bb79e95f7506da03c7142651a3cf
Signed-off-by: Mathieu Duckerts-Antoine <dam@odoo.com>
Signed-off-by: Pierre Rousseau (pro) <pro@odoo.com>
2023-02-13 20:13:04 +01:00
Tommy (tong) d837d0b4e2 [IMP] hr_work_entry: allow change initial date to view work entries
- Add a new variable to view the initial date in calendar view.

closes odoo/odoo#112548

X-original-commit: e63993764d7e7206ed0bb97de30964b4776d6adb
Related: odoo/enterprise#37031
Signed-off-by: Kevin Baptiste <kba@odoo.com>
2023-02-13 19:17:13 +01:00