Commit Graph
163215 Commits
Author SHA1 Message Date
William Henrotin 2e8dcad061 [FIX] stock: domain optimization
'State' field on stock move is indexed. Some domains on stock move state
are expressed like (state, not in, ('a', 'b', 'c')) instead of (state,
in, ('d', 'e', 'f', NULL)). The 'not in' domain won't the index and thus
will be relatively slower

closes odoo/odoo#109201

X-original-commit: 96f8321e894a9b7284cca8f201e5a2877b0b3a76
Signed-off-by: Rémy Voet <ryv@odoo.com>
Signed-off-by: William Henrotin (whe) <whe@odoo.com>
2023-01-06 12:29:38 +01:00
William Henrotin 5eba1ff07e [FIX] mrp: add index on created_production_id
in sale_mrp module, the method `get_sale_order_count` get all stock move
with created_production_id = the current production order. Without
index, this request is significantly slow.

X-original-commit: 4c17020fb452f639d9395dccdd5fcefee109ed01
Part-of: odoo/odoo#109201
2023-01-06 12:29:38 +01:00
niyasraphy a6917c4630 [IMP] purchase: add uom in purchase settings
closes odoo/odoo#107218

Signed-off-by: William Henrotin (whe) <whe@odoo.com>
2023-01-06 12:29:25 +01:00
duongnguyen b17533c9f9 [FIX] base: fix test failing when sources are not in a folder named
'odoo'

-EX: odoo addons path is '~/odoo15/odoo/...' or '~/15.0/odoo/...'
Basically not start with 'odoo' it will get error when running tests
case on this file

closes odoo/odoo#109135

X-original-commit: 336b966f7959b4a5e716b58b25ab13d7e3f92691
Signed-off-by: Xavier Dollé (xdo) <xdo@odoo.com>
2023-01-06 11:25:02 +01:00
Florian Charlier b35af33ffb [FIX] onboarding: prevent crash with multiple progress records
Multiple progress records for the same onboarding and company_id (False)
were allowed to be created in several databases which resulted in crashes.

As simple stable fix, we'll select only the latest `onboarding_progress`
records created per onboarding when trying to compute the current_progress_id
and similarly for progress steps.

This will be cleaned with an upgrade script in master so that this code should
not be necessary for long.

Task-3101666

closes odoo/odoo#109257

X-original-commit: 06f2bd985c8b98e708120226daf66b20832000bc
Signed-off-by: Warnon Aurélien (awa) <awa@odoo.com>
2023-01-06 08:09:07 +01:00
Nishant Jain (niai) 0f55e6a773 [ADD] l10n_in_upi: added qr code for upi payment in invoice report
Currently, there is no facility for UPI payment for the invoice.

So in this commit, there will be a QR code for UPI payment in the invoice report.

closes odoo/odoo#109237

X-original-commit: e8e75678ee64fd9e4150ab7c9a9836d69b06c4db
Signed-off-by: Quentin De Paoli <qdp@odoo.com>
Signed-off-by: Jigar Vaghela (jva) <jva@odoo.com>
2023-01-06 05:48:11 +01:00
Bastien (bvdn) 8bac2f8136 [FIX] project: decrease task title width
This commit will reduce the width used by the task name in form view to 75% of the
space available, except when in mobile view where it'll take full width.
The title doesn't need to take the whole space but only about 3/4 of it in form view

Side note: this may need to change once the mark-as-done 2 task is merged
because a new wider widget will replace the kanban_state widget

closes odoo/odoo#109258

Signed-off-by: Xavier Bol (xbo) <xbo@odoo.com>
2023-01-05 23:45:52 +01:00
Niyas Raphy d6af14a15a [IMP] web: open privacy page in new tab
closes odoo/odoo#109256

X-original-commit: af98b08945ddf33412187247059bc290650908a8
Signed-off-by: Bruno Boi (boi) <boi@odoo.com>
2023-01-05 22:54:03 +01:00
Julien Castiaux e7b0e0bd70 [FIX] base: missing MIME-Version header
Send an rich HTML email from Odoo, it lands in spam whereas it would
land in inbox in 13.0.

The problem is due to a missing "MIME-Version: 1.0" header on the email.
This header is correctly set on both the html and text alternatives of
the messages but it should be set on the enveloppe too.

The problem is present in the newer EmailMessage mail API of python that
is used since 14.0. Using the newer API, it doesn't set the header on
the enveloppe itself.

This reverts commit 8663f1e20727c315924bb20fc1de1accf3014c61.

opw-3098621

closes odoo/odoo#109212

X-original-commit: c480d2bf1de7b70892130e74bb7a8d4003a8a783
Signed-off-by: Xavier Dollé (xdo) <xdo@odoo.com>
Signed-off-by: Julien Castiaux <juc@odoo.com>
2023-01-05 19:41:04 +01:00
Claire Bretton (clbr) ddbc61a711 [FIX] l10n_fr: add migration to version 2.1 of the module
This will allow to get the latest taxes.

closes odoo/odoo#109222

Task: 3111528.
Related: #84918, #107158
X-original-commit: 521c80477f9a664bb732ec54d18bdcf1b828072b
Signed-off-by: William André (wan) <wan@odoo.com>
2023-01-05 16:52:18 +01:00
Logeshkumar1595 06789b34a8 [CLA] signature for Logeshkumar1595
closes odoo/odoo#109209

X-original-commit: b401fbaf4848a5667f544d30a1bfcd0f67c2201e
Signed-off-by: Martin Trigaux (mat) <mat@odoo.com>
2023-01-05 16:52:16 +01:00
Antoine Guenet 2f196d1eb1 [FIX] web_editor: properly paste pre in pre
Commit [1] attempted to fix unexpected behavior when copy-pasting from a
<pre> to a <pre>, where the pasted text was smaller the intended, and
preceded and followed by new lines. The chosen approach had uninteded
side effects though as it removed any empty paragraph after the <pre>.
The source of the issue it tried to fix was that the pasted <pre> was
inserted as a new <pre>, splitting the existing element in two in the
process, instead of simply inserting the text content.

[1] 449cacf

task-3086603

closes odoo/odoo#109208

X-original-commit: dfcc3abe3396eaf764c3c3c8510b654649ed82f8
Signed-off-by: David Monjoie (dmo) <dmo@odoo.com>
2023-01-05 16:52:10 +01:00
Antoine Guenet 759d6972c2 [FIX] web_editor: prevent selection in root after insert
The insert command ends with setting the selection to the "right" of the
last inserted node. However, it did this without checking if that
position was valid for the selection, so we could end up with the
selection directly within the root of the editor. This corrects it if
such is the case.

X-original-commit: 722cf3bf11fcc9839677837018c1389d65b3f4fa
Part-of: odoo/odoo#109208
2023-01-05 16:52:10 +01:00
Guillaume (gdi) 2efece9884 [FIX] portal: fix portal title for the salesperson data
Before this commit, if the helpdesk module was installed, the title of
the salesperson data was changed from "Your contact" to "Salesperson"
for portal users. This did not add any value and the title of the tab
also became "Salesperson" which we do not want. This commit allows to
keep the title "Your contact" above the salesperson information and to
not change the tab title.

Steps to reproduce the problem fixed by this commit:
- Run Odoo enterprise with helpdesk and sales installed.
- As the admin, create a helpdesk ticket with Joel Willis (portal user)
as the customer and save.
- Click on Joel Willis, select the "Sales & Purchases" tab and set a
salesperson.

=> Log in as Joel Willis and on /my, you will have "Salesperson" as the
title of the tab. This bad behavior is due to [this commit] that added a
title above the salesperson information. But with this change the title
of the tab was also impacted. Then [this other commit] added a default
title above the salesperson information. We can be satisfied with this
default title which does not alter the title of the tab.

[this commit]: https://github.com/odoo/enterprise/commit/700e9dec4a5c9fca354e063d6a85b0514832c84c
[this other commit]: https://github.com/odoo/odoo/commit/d5c66ca1fa5d0f364241636bd502342c1d4ee9ac

opw-3103718

closes odoo/odoo#109138

X-original-commit: 1ebeec9dc2ea9c4a2051b06118f47a440dd5e470
Related: odoo/enterprise#35444
Signed-off-by: Quentin Smetz (qsm) <qsm@odoo.com>
2023-01-05 16:52:04 +01:00
Valentin Vallaeys (vava) 90af85c2e4 [IMP] payment(_*): show available currencies for payment providers
Before this commit, the lists of supported currencies by payment
provider were hard-coded in the Python scripts, which made them
unavailable to the users.

With this commit, the implemented initial lists of supported currencies
are displayed on the form view and are editable, because Odoo lists may
not be up-to-date. Empty lists do not trigger any filtering on the
payment providers to access payment methods.

For Authorize.net and Asiapay payment providers, the specific
`(authorize,asiapay)_currency_id` are removed and the generic payment
provider field `available_currency_ids` is restricted to a single-item
list when one of those providers is enabled.

task-2926016

closes odoo/odoo#101018

Related: odoo/enterprise#34158
Related: odoo/documentation#2788
Related: odoo/upgrade#4069
Signed-off-by: Antoine Vandevenne (anv) <anv@odoo.com>
2023-01-05 16:51:56 +01:00
Ricardo Gomes Rodrigues (rigr) 8726fcf822 [FIX] account: preview not displayed when uploading a pdf
Steps to reproduce:
1. Customer invoices
2. Upload button
3. Choose a PDF
4. The created invoice does not display the pdf preview

Related commits: a644766 and 0ab0a92

closes odoo/odoo#109166

X-original-commit: 7cf3f11d5072c2655802e38757b63293a9cf9d48
Signed-off-by: Laurent Smet <las@odoo.com>
Signed-off-by: Ricardo Gomes Rodrigues (rigr) <rigr@odoo.com>
2023-01-05 15:37:37 +01:00
Guillaume (gdi) bc1b242021 [FIX] web_editor, website: debounce we-range events
This commit allows to debounce the events of the RangeUserValueWidget so
that the user can use this widget with the left and right arrows without
having a lag effect (especially on the image quality option).
In addition, steps were added in the website_gray_color_palette tour to
let the time for the debounce to trigger the changes.

task-2601533

closes odoo/odoo#109165

X-original-commit: dddec7489f5cb4e48368684a8783015517c394ee
Signed-off-by: Bojabza Soukéina (sobo) <sobo@odoo.com>
2023-01-05 15:37:34 +01:00
niyasraphy 619042a23a [FIX] hr_expense: reason field too compact in refuse expense form
currently in the expense refuse form view the reason field is too compact to enter a reason in the field.

Expenses -> My Expenses -> My Reports , open any submitted expenses and click Refuse button.

closes odoo/odoo#109157

X-original-commit: 5fda586cc9f738471c6b34fd982bb80e5dd259d3
Signed-off-by: Yannick Tivisse (yti) <yti@odoo.com>
2023-01-05 15:37:27 +01:00
Rémy Voet (ryv) 2f5eaedd2e [REM] purchase_stock: remove avg_receipt_delay field
Since https://github.com/odoo/enterprise/pull/31641, this field
is not used anymore. Then remove it and remove
the override of read_group linked to.

odoo/upgrade#4162

closes odoo/odoo#108977

Signed-off-by: William Henrotin (whe) <whe@odoo.com>
2023-01-05 15:37:25 +01:00
Rémy Voet (ryv) 81d3c982fa [REM] purchase: remove avg_days_to_purchase field
Since https://github.com/odoo/enterprise/pull/31641, this field
is not used anymore. Then remove it and remove
the override of read_group linked to.

odoo/upgrade#4162

Part-of: odoo/odoo#108977
2023-01-05 15:37:24 +01:00
maximilien(malb) 84be7372de [IMP] l10n_mx: Translation
All the localisation should be written in english and then translated to the native language of the country. In this case, the mexican localisation was written is spanish, this PR translate all the module in english and add the corresponding PO file in spanish.

closes odoo/odoo#108725

Task-id: 3089239
Related: odoo/enterprise#35247
Signed-off-by: Laurent Smet <las@odoo.com>
2023-01-05 15:37:18 +01:00
Jorge Pinna Puissant 5b68871097 [IMP] * : kanban, unify dropdown definition in archs
This commit separate the templates, one for the card and another one for
the menu (the ellipsis dropdown).

The new template, called 'kanban-menu', will only contain the dropdown.
Note that, this behaviour is the same as the one used for the kanban
tooltips.

closes odoo/odoo#107589

Task-id: 3096776
Related: odoo/documentation#3284
Related: odoo/enterprise#34962
Signed-off-by: Aaron Bohy (aab) <aab@odoo.com>
2023-01-05 15:37:04 +01:00
niyasraphy 1d77762c19 [IMP] stock: add documentation links in stock settings
add documentation link for batch transfers, quality control and expiration dates in stock settings

closes odoo/odoo#107190

Signed-off-by: William Henrotin (whe) <whe@odoo.com>
2023-01-05 15:37:02 +01:00
maximilien(malb) 8eed1e6c63 [IMP] l10n_de: Tax report translation
The module l10n_de contains the Tax report for the germany, it needed to be translated in english and then back in german thanks to a PO file. This Pr does exactly that.

closes odoo/odoo#106324

Task-id: 3059115
Related: odoo/enterprise#34323
Signed-off-by: Laurent Smet <las@odoo.com>
2023-01-05 15:36:56 +01:00
maximilien(malb) 91da549809 [FIX] l10n_de_skr03: translation
Ideally, we develop in English any localization (then translate to the domestic language, in this case German) All the module has been translated in english and then a .po file has been create to translate back in German

+ correction of a test not working anymore cause it was searching for the name in german

Task-id: 3059115
Part-of: odoo/odoo#106324
2023-01-05 15:36:56 +01:00
Renaud Thiry f039f57eb8 [IMP] Add more detailed default email subjects from chatter
All emails sent from the chatter start with "Re:" followed
by the name of the record. The name of the record alone is sometimes not enough for
the followers to understand what the mail is about.
Additionally, "Re:" does not make sense when starting a conversation.

This commit gives better default subject
for event registrations and allows thread models
to override the default subject of messages.

This also removes "Re:" from default mail subjects.

Task-2833215

closes odoo/odoo#95817

Signed-off-by: Stéphane Debauche (std) <std@odoo.com>
2023-01-05 15:36:53 +01:00
Samuel Degueldre 86e2cc1167 [REF] point_of_sale: move DebugWidget out of Chrome
Continuing the work of making Chrome a less bloated component with no
clearly defined responsibilities, this commit extracts the DebugWidget
out of the Chrome component and registers it as a main component
instead.

closes odoo/odoo#108891

Related: odoo/enterprise#35406
Signed-off-by: Trinh Jacky (trj) <trj@odoo.com>
2023-01-05 14:32:48 +01:00
Samuel Degueldre ca7b48ea89 [REF] point_of_sale: get rid of useless util functions
The getFileAsText function can be replaced with the now well supported
Blob.text() function, the nextFrame function is used in precisely one
place and is needlessly complicated.

Part-of: odoo/odoo#108891
2023-01-05 14:32:48 +01:00
Samuel Degueldre 6a7459c1c0 [REF] point_of_sale, *: refactor error handling
Previously, the error handling was done inside of Chrome. This is
unecessary as none of the error handling code needs access to the Chrome
instance. Instead, this commit moves the error handling to standard
error handlers.

This commit also removes a bunch of ad-hoc error handling code that was
doing try/catch around some RPCs, only to catch the error that happens
when the client is offline. In a lot of those cases the code would
display any other type of error as an unknown error instead of letting
the error service do its job and in almost all cases the only difference
with the default handler is that the offline message was slightly
customized to tell the user more precisely which operation failed, which
doesn't seem necessary.

Part-of: odoo/odoo#108891
2023-01-05 14:32:48 +01:00
Samuel Degueldre 43529c8573 [REF] point_of_sale, *: extract navbar and remove ChromeAdapter
*: pos_hr, pos_restaurant, pos_six

The Chrome component a bloated "god component" that coordinates entirely
too many things which makes it hard to reason about, navigate, and
debug.

This commit extracts the navbar section of the chrome component into its
own component, and makes the sound player into its own self-contained
service.

This commit also merges the ChromeAdapter component into the Chrome
component, there is no reason for these to be two separate components.

Part-of: odoo/odoo#108891
2023-01-05 14:32:47 +01:00
ノウラ 64780b824b [FIX] delivery: speed up delivery costs installation
Due to hefty data the RAM limit gets exhausted.
The process gets killed due to the computed field weight on
- stock.move
- stock.picking
When installing the delivery costs module.

To solve the problem:

We add the column weight to the DB schema.

Ticket ids:
- 3013955
- 2628251
- 3028081

closes odoo/odoo#109164

Signed-off-by: Tiffany Chang <tic@odoo.com>
2023-01-05 13:09:17 +01:00
Nicolas Bayet 3ce4e7f9aa [FIX] website: convert bootstrap modal option
Before this commit, the popup snippets were configuring the modal option
for bootstrap 4 rather than 5.
The `data-focus` in bootstrap 4 becomes `data-bs-focus` in bootstap 5.

Without `data-bs-focus` option, the Newsletter popup snippet became
uneditable because any click inside popup changed the selection to be
inside the first focusable element within the modal.

The reason of the input being focused is: upon click inside the modal,
the target of the focusin event is the parent of the modal because that
parent is contenteditable="true". Because that target is outside the
modal, `_handleFocusin` correct the selection by focusing the text
input.

task-3102155

closes odoo/odoo#109148

X-original-commit: bc99f3cdb5c2fca59a24dc4970c9ca6e69721838
Signed-off-by: David Monjoie (dmo) <dmo@odoo.com>
2023-01-05 11:35:58 +01:00
Julien Castiaux 145b44fa57 [FIX] core: cannot read country geoip on city db
Start odoo-bin shell with `--geoip_country_db='/i/dont/exist'` and type
the following code:

    from odoo.http import GeoIP
    GeoIP('8.8.8.8').country_code

TypeError: The country method cannot be used with the GeoLite2-City
database

There are two "things" here: the raw country and city entries in the
databases and the rich python country and city objects returned when an
entry was found and parsed.

Then there are two "readers", a reader capable of reading and parsing
entries from the city database and **another** reader for the country.
The two readers are **only** compatible with their specific database:
the city reader cannot read or parse information from the country
database and vis-versa. That's the bug reported by the TypeError that
this commit fixes.

But, the two python instances created from parsing the entries of
respecting databases with respecting parsers **do** share a same API:
the city record class inherits from the country record class.

    # Valid
    city_db = geoip2.database.Reader(config['geoip_city_db'])
    city_record = city_db.city('8.8.8.8')
    city_record.country.name  # works, a city record also
                              # holds country attributes

    # Invalid
    city_db = geoip2.database.Reader(config['geoip_city_db'])
    country_record = city_db.country('8.8.8.8')  # TypeError

closes odoo/odoo#109095

Signed-off-by: Julien Castiaux <juc@odoo.com>
2023-01-05 11:35:55 +01:00
Benoit Socias 6657a54d10 [FIX] web_editor: support scientific notation in styles
When a big number is entered in an option field with units, it gets
automatically converted to scientific notation (1e+10) by Chrome.
This makes the unit conversion code fail because it mistakenly
interprets the 'e' as the unit.

This commit adapts the used regular expressions in order to include
the complete number in the number part even if it is written in
scientific notation.

Steps to reproduce:
- Use Chrome.
- Drop a "Banner" block.
- Set the "Position" to "Repeat Pattern".
- Type a long number in the "Width" option.
=> Error popup.

task-2853161

closes odoo/odoo#109078

X-original-commit: a554e102a7f9ca2a0b7f64573adffa4b26a0b813
Signed-off-by: Bojabza Soukéina (sobo) <sobo@odoo.com>
Signed-off-by: Benoit Socias (bso) <bso@odoo.com>
2023-01-05 11:35:52 +01:00
Benoit Socias 55b9e4c588 [FIX] web_editor: compare size CSS properties
When CSS properties are updated, a check is made to verify whether the
new value is different from the old one. This process sometimes involves
unit conversions.
Since [1] when a CSS property is updated, it is also set before the
check, in order to verify whether it should be set as `!important`.
When the CSS property is a size, such as the `background-size` CSS
property, it is made of two dimensions. However the verification does
not handle that situation: it handles `15px auto` as being a single
number with the unit `px auto`, which is wrong.
The full comparison is made because the strings do not fully match:
when a size property is set to a measure followed by `auto`, it is
returned without `auto` when reading the computed style.
E.g. after setting `15px auto`, it is read as `15px`.

This commit adapts the CSS properties comparison mechanism by splitting
the size properties into their parts and comparing each part separately.

This commit also introduces a few tests about the already existing
CSS properties comparisons.

Steps to reproduce:
- Drop a "Banner" block.
- Set "Position" as "Repeat Pattern".
- Type "5" in the "Width".
=> It raised an error.

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

task-2853161

X-original-commit: 07e471b9398e042c45182f1e8ca33e74dd8087a3
Part-of: odoo/odoo#109078
2023-01-05 11:35:52 +01:00
maximilien(malb) 068e47363a [FIX] l10n_de_skr04: translation
Ideally, we  develop in English any localization (then translate to the domestic language, in this case German)
All the module has been translated in english and then a .po file has been create to translate back in German

closes odoo/odoo#105919

Task-id: 3059115
Signed-off-by: Laurent Smet <las@odoo.com>
2023-01-05 11:35:46 +01:00
hiroh-odoo 01c8727ff4 [FIX] sale_project : fix the SOL click on project update
Currently, when we click on SOL and having one record of stock.move
or timesheet then it was not going to display the form view of that
particular record and also not showing that single record on list view
too due to the invalid view_type passed in doActionButton.

So in this commit, if res_id exist then open the form view of particular
record.

PS: we can not pass the options inside the doActionButton so we can not
change the viewType from that method. second we have only action_id instead
of whole action data so we can not directly switch the views without rpc call.

task-2992368

closes odoo/odoo#109111

X-original-commit: 2cda1de1a924b7e81278f01ee0fd693be930a47f
Signed-off-by: Xavier Bol (xbo) <xbo@odoo.com>
2023-01-05 10:31:03 +01:00
hiroh-odoo c02c3d5dc1 [FIX] sale_project: fix the display of non-service product
Before this commit, non-service SOl was not displayed on
project update right-side panel view but non-SOLs products
contribute to the project's profitability,
e.g. you install a new kitchen -> you sell the installation service
and the furniture for the kitchen.

So in this commit include the non-service SOLs to the project
update panel.

task-2992368

X-original-commit: 49558c2f15d38bee870766421d237e5228f02718
Part-of: odoo/odoo#109111
2023-01-05 10:31:02 +01:00
Lucas Lefèvre 195dcdacb8 [REM] base: remove useless board menus
`menu_board_root` is not used anymore since 37f16fb

`menu_reporting_dashboard` and `menu_reporting_config` seem ununsed
since a long time.

Task 3119613

closes odoo/odoo#109041

Related: odoo/upgrade#4172
Signed-off-by: Vincent Schippefilt (vsc) <vsc@odoo.com>
2023-01-05 10:30:56 +01:00
Lucas Lefèvre 0390d76506 [FIX] spreadsheet: fix concurrency issues in data sources
1. Insert a pivot in a spreadsheet
2. Create a global filter on a field of the pivot
3. With a slow network, change the value of the global filter quickly
   twice.

Two concurrent requests are sent to the server.
When the first one resolves, it marks the data source as loaded.
However, at this point, the model (`this._model`) is no longer the one
created by the first request. It's the one created by the second request
which is still loading and has no data.

We end up with a data source which is marked as loaded but has no data.

Task 3120203

closes odoo/odoo#109118

X-original-commit: 7cf02cedac189729af732faae02ec6195af26e5c
Signed-off-by: Rémi Rahir (rar) <rar@odoo.com>
Signed-off-by: Lucas Lefèvre (lul) <lul@odoo.com>
2023-01-05 09:30:20 +01:00
Benoit Socias d34c1e027b [FIX] web_editor: fix handling of the CSS !important marker
Since [1] the mechanism that was introduced in [2] is broken because a
snapshot of the property value is used instead of the dynamically
computed property value to determine whether the `!important` marker
should be set on the modified property.

This commit makes sure the value is obtained for each comparison
instead of relying on a snapshot across all comparisons.

Steps to reproduce:
- Drop a Banner block in a website page.
- Select the box.
- Set the background to a custom solid color.
=> The `background-color` style has the `!important` marker on it, while
it should not.

[1]: https://github.com/odoo/odoo/commit/815d1f775c13ad9d4463c2d571dffc4691e81a35
[2]: https://github.com/odoo/odoo/commit/d3c3dab8950abc25b29937605091d8ce32305fa4

closes odoo/odoo#109117

X-original-commit: fff46efc04cbce3ff5bff1ded501197fbd5dca84
Signed-off-by: Quentin Smetz (qsm) <qsm@odoo.com>
Signed-off-by: Benoit Socias (bso) <bso@odoo.com>
2023-01-05 09:30:17 +01:00
Lucas Lefèvre 165358be9e [IMP] spreadsheet: update o_spreadsheet to latest version
### Contains the following commits:

https://github.com/odoo/o-spreadsheet/commit/f88b16b0 [FIX] charts: render only if needed
https://github.com/odoo/o-spreadsheet/commit/db2d96ac [FIX] filters: compute borders for visible cells only
https://github.com/odoo/o-spreadsheet/commit/2646c3cb [IMP] Edition: composer selection set to the saved activated sheet selection rather than reset to (0,0)
https://github.com/odoo/o-spreadsheet/commit/620ae580 [IMP] popover: Fix `usePopoverContainer`
https://github.com/odoo/o-spreadsheet/commit/d472793e [FIX] Composer: select headers when composer open
https://github.com/odoo/o-spreadsheet/commit/2fbe3ede [IMP] grid: hit esc to clean clipboard selection
https://github.com/odoo/o-spreadsheet/commit/71a9c8c2 [IMP] tests: Improve helpers to reflect real life events
https://github.com/odoo/o-spreadsheet/commit/314d11a1 [IMP] renderer: Long centered contents overflowing and overlapping on neighoring cells
https://github.com/odoo/o-spreadsheet/commit/556e8c44 [FIX] Range: prevent crash with sheetname containing an exclamation mark
https://github.com/odoo/o-spreadsheet/commit/31b847e9 [IMP] selection_input: consistent range colors

closes odoo/odoo#109110

Signed-off-by: Rémi Rahir (rar) <rar@odoo.com>
2023-01-05 09:30:15 +01:00
hupo-odoo 6927dec29b [IMP] account: import bank statement files in xls and xlsx format
Modified the description of bank statement import in accounting settings. As it is now possible to import in xls and xlsx format and this feature has been adopted with the already existing module account_bank_statement_import_csv, the description to import CSV files has been improved to make the user understand that he is also able to import in xls and xlsx formats as well.

task-3086543
PR:107737
related PR (enterprise): #34700

closes odoo/odoo#107737

Related: odoo/enterprise#34700
Signed-off-by: Laurent Smet <las@odoo.com>
2023-01-05 09:30:09 +01:00
aliya 85de8a8f9c [ADD] l10n_kz: add l10n_kz accounting localization
Adds a Chart of Accounts, taxes, and a demo company for Kazakhstan.
- The Chart of Accounts is added according to the official documentation:
  https://adilet.zan.kz/rus/docs/V070004771_
- The Tax report is added according to this documentation:
  https://adilet.zan.kz/rus/docs/V14E0010156

task-2693102

closes odoo/odoo#105399

Related: odoo/enterprise#33941
Signed-off-by: William André (wan) <wan@odoo.com>
2023-01-05 09:30:04 +01:00
Camille Spiritus 1d34699aa9 [FIX] account: prevent tax info from being shown on invoice if only one tax
Because of a faulty float comparison, additional taxes information would sometimes be uselessly displayed on invoices,
specifically when only one tax was applied.

Fixed said float comparison.

Modified usage of built-in 'round' since check_style doesn't allow this anymore.

closes odoo/odoo#109084

X-original-commit: 23a12c496cd7688b0021083bce2c84ce7ea2a3fb
Signed-off-by: Laurent Smet <las@odoo.com>
2023-01-05 08:27:50 +01:00
Lucas Lefèvre 8642a85b4e [REV] spreadsheet_dashboard_hr_expense: restore global filters
Partial revert of #109033

The global filters were removed in 16.0 because the pivot "9" does
not exists in this dashboard.
But it exists in master.
See #104125

closes odoo/odoo#109099

Signed-off-by: Rémi Rahir (rar) <rar@odoo.com>
2023-01-04 18:49:46 +01:00
Achraf 0c49994ea8 [FIX] mail: Escape translated emoji strings
Steps:
- Install knowledge on a fresh db
- Install and set fr_BE language
- Open knowldge
- Traceback

The traceback occurs because `emoji_registry.js` fails to load `emoji_data.js`
because of some translated string that contains non-escaped characters for JSON

opw-3110823

closes odoo/odoo#109086

X-original-commit: 455b335ae773ae4c8f5197c2a6f517947e6a7009
Signed-off-by: Alexandre Kühn (aku) <aku@odoo.com>
2023-01-04 18:49:43 +01:00
Lucas Lefèvre 0fad8837f4 [FIX] spreadsheet: improve performance of clickable cells
Rendering the clickable cells is not a negligeable operation.
And it happens at every rendering (every scroll operation).

Especially, detecting which functions the cell contains.
The slow operation is parsing formula.

On the "CRM Leads" dashboard, depending on the visible cells:

closes odoo/odoo#109085

Before: 10+ms (almost the full 16ms allowed to reach 60fps)
After: ~2-3ms
X-original-commit: f132145c941ca79960aa697d6e98e4ee5193150d
Signed-off-by: Rémi Rahir (rar) <rar@odoo.com>
Signed-off-by: Lucas Lefèvre (lul) <lul@odoo.com>
2023-01-04 17:50:53 +01:00
Jinjiu Liu cf0a878e69 [FIX] l10n_gcc_invoice: language context lost in template rendering
Reproduction:
1. Install Accounting, l10n_sa
2. Create/Switch to a company located in Saudi Arabia
3. Go to Accounting -> Customer Invoice, and create a new invoice with a
customer with language preference set to Arabic
4. Choose any product, and set the Payment terms as Immediate Payment
5. Confirm the invoice and print it, the payment term on the left end of
the invoice is in Arabic, which should be in English

Reason: in Odoo 16, the rendering of “t-field” loses the provided
context because the values are rendered with the env context instead.
The change is introduced by https://github.com/odoo/odoo/commit/880954ebfc1106411b7f7a7d60aee05dfae60893
here: https://github.com/odoo/odoo/blob/810a1d29bfa7c497627a37e0cec64df51b75bb4b/odoo/addons/base/models/ir_qweb_fields.py#L120

Fix: Using “t-out” instead of “t-field” for html fields in the template
to keep the forced context of en-US. Similar fixes are done for other
html fields in this template, e.g. fiscal_position_id.note, narration.
These fields’ types were changed from Char to Html here: https://github.com/odoo-dev/odoo/commit/23483865b1508346f5a5e178f4a436fe1a9d9f55

Related commit:
Change in ir_qweb_fields.py : https://github.com/odoo/odoo/commit/880954ebfc1106411b7f7a7d60aee05dfae60893
Change of field type: https://github.com/odoo-dev/odoo/commit/23483865b1508346f5a5e178f4a436fe1a9d9f55

opw-3085284

closes odoo/odoo#109083

X-original-commit: 3351aa4b36b3d2e6f42ec9acd1b11121d0cfedc0
Signed-off-by: Liu Jinjiu (jili) <jili@odoo.com>
2023-01-04 17:50:50 +01:00
Xavier BOL (xbo) 1695850504 [IMP] hr_org_chart: know if employee is subordinate of current one
Before this commit, in the search view, it is not possible to filter the
employees to only have those ones who is a subordinate of the current
user. That is, if Pierre is the current employee/user and he is the
manager of Paul and Paul is the manager of Jacques. Pierre could want to
see his subordinates in his view of so Paul and Jacques instead of just
Paul.

This commit adds a new boolean field called `is_subordinate` in
`hr.employee` and `hr.employee.public` models. This field will be True
if the employee is a subordinate of the current user.

task-3061362

closes odoo/odoo#108060

Related: odoo/enterprise#34181
Signed-off-by: Xavier Bol (xbo) <xbo@odoo.com>
2023-01-04 17:50:45 +01:00