Commit Graph
152817 Commits
Author SHA1 Message Date
Alexandre Kühn 56fe3087c5 [IMP] mail: remove MailTemplateComponent/mailTemplate
Task-2793280

closes odoo/odoo#87344

Signed-off-by: Alexandre Kühn (aku) <aku@odoo.com>
2022-03-31 13:32:58 +02:00
Alexandre Kühn 06595953c3 [IMP] mail: turn 'FollowerSubtypeView/follower' into field
Task-2793280

closes odoo/odoo#87014

Signed-off-by: Alexandre Kühn (aku) <aku@odoo.com>
2022-03-31 13:32:51 +02:00
Hugo Adan 8d3a295426 [REF] pos_restaurant: Split _get_payment_lines method in order to make it more inheritable, now we can add more payment fields and expand them
closes odoo/odoo#87627

X-original-commit: b19fa7d03ee60286d02e9974ca1539195d3b2b16
Signed-off-by: Masereel Pierre <pim@odoo.com>
2022-03-31 12:32:54 +02:00
pedrambiria 6a2f0c8db9 [FIX] point_of_sale: preserve unpaid orders with a payment
Unpaid orders are preserved in the local storage and can be recovered
even if you close the session and open a new one. But they would be
removed if they didn't contain any lines (articles).

On the other hand, it's possible to remove all of the order's lines
after receiving payment. So it's essential to preserve an order which
contains a payment.

Steps to reproduce the issue:
	1_ Open a PoS session and create a new order
	2_ Add some articles and proceed with the payment
	3_ Select one of the payment methods to make the payment
	4_ Do not validate the session and click on the "Back" button
	5_ Remove all of the order's article and close the session
	6_ Open a new session from the same PoS
=> The order with the received payment is removed

The solution is to preserve the orders with a payment line.

opw-2766658

closes odoo/odoo#87502

X-original-commit: c15bc2818d928a102fc58f4cb2ea1a4a7f8755a2
Signed-off-by: Quentin Lejeune (qle) <qle@odoo.com>
Signed-off-by: Masereel Pierre <pim@odoo.com>
2022-03-31 12:32:50 +02:00
Victor Feyens 00ed6aa042 [IMP] mail,* : uniformized API for chatter links
* Enforce html escaping of record title
* Avoid translating html content as much as possible, to reduce translation errors.
* Uniformize/Factorize link generation, easing future tasks, code maintenance, ...

Enterprise PR: https://github.com/odoo/enterprise/pull/25357

closes odoo/odoo#84866

Related: odoo/enterprise#25357
Signed-off-by: Victor Feyens (vfe) <vfe@odoo.com>
2022-03-31 12:32:47 +02:00
Florian Damhaut d34f7d38d8 [FIX] sale_management: options_lines have correct discount
Step to reproduce:
- Create a pricelist with 20% discount and
 Show discount to the user
- In a SO with public pricelist, add option line OL
- Change pricelist to the one created earlier

Current behaviour:
- OL unit price is 80% of list price
- OL discount is 0%

Behaviour after PR:
- OL unit price is 100% of list price
- OL discount is 20%

opw-2761252

closes odoo/odoo#87640

X-original-commit: 0d4293da09821016d9db56ec1f36fbeff3bf8ef2
Signed-off-by: Damhaut Florian (flda) <flda@odoo.com>
Signed-off-by: Victor Feyens (vfe) <vfe@odoo.com>
2022-03-31 11:36:38 +02:00
Hubert Van de Walle (huvw) e3e7623f21 [FIX] base: config setting search: unhighlight settings not matching anymore
Steps to reproduce

  - Install procurement_jit
  - Go to settings
  - Search for 'serv'
  -> Re**serv**ation is highlighted but also ba**se**d

closes odoo/odoo#87611

X-original-commit: 8bbfbfbf0eb6c2238542166984b558b5734c7a2a
Signed-off-by: Hubert Van De Walle <huvw@odoo.com>
2022-03-31 10:37:03 +02:00
Hubert Van de Walle (huvw) eb4493c25d [FIX] base: config setting search contains '&amp;'
Steps to follow

  - Go to Settings
  - Type 'Import' in the search bar
  -> 'Import &amp; Export' is displayed

Cause of the issue

  `_wordHighlighter` works on the HTML as a string

Solution

  - Use textContent to get the correct text value
  - Replace the content of the highlighted element by
    * a textnode with the text before the matched substring
    * a `span.highlighter` with the search word
    * a textnode with the text after the matcher substring

Other issues

  A string concatanated css rule was used to filter the matching elements
  This could cause an invalid selector
  -> Filter nodes by their textContent instead.

opw-2778304

X-original-commit: fba1b833eab46ff7a20f7151978394da3aaaa566
Part-of: odoo/odoo#87611
2022-03-31 10:37:02 +02:00
Odoo's Mergebot 15689bad16 [FW][MERGE] hr_payroll,calendar,fleet: Apply miscellaneous performance fixes
closes odoo/odoo#87601

Forward-port-of: odoo/odoo#87068
Signed-off-by: Yannick Tivisse (yti) <yti@odoo.com>
2022-03-31 10:36:57 +02:00
Adrien Widart f2a746ad6a [FIX] sale_mrp: return a dropshipped kit
On a SO, the delivered quantity of a dropshipped kit is incorrect in
case of a return

To reproduce the issue:
1. Activate Dropshipping
2. Create 3 products: KIT AB, A, B:
    - All have the Dropship route and a supplier set
3. Create a BOM of type kit: KIT AB is composed of A & B
4. Create a SO for 1 unit of KIT AB, validate
5. Validate the created PO
6. Deliver the products
7. Create a return for these products
    - Error: On the SO, the delivered quantity is 0 but the return is
not validated yet. This quantity should still be 1
8. Validate the return
    - Error: On the SO, the delivered quantity is now 1, it should be 0

The 'all or nothing' policy should correctly consider the returns: all
moves (to customer) must be done and the returns must be delivered back
to the customer

OPW-2759250

closes odoo/odoo#87596

X-original-commit: f259d10db577bbf1b11fffd028e678b38d5f402d
Signed-off-by: Tiffany Chang <tic@odoo.com>
Signed-off-by: Adrien Widart <awt@odoo.com>
2022-03-31 10:36:51 +02:00
Adrien Widart dfb8a6fb31 [IMP] mrp_subcontracting_dropshipping: add test with cancelled picking
Test 52d5ff23c4f16f4cc78c812d389f3475fb3d6a86

X-original-commit: ef57385bcc221bae8957542fe32a7b7a0a1bcf01
Part-of: odoo/odoo#87596
2022-03-31 10:36:50 +02:00
Yolann Sabaux ef8147d698 [FIX] account: allow invoicing internal user/customer
Steps to reproduce:
1. Install sales
2. Change Mitchell Admin contacts so that he is set in the "YourCompany" company
3. Create a quotation with Michell Admin as the customer
4. Put any item and confirm the quote
5. Receive the product and create the invoice
6. Go to the invoice, confirm the payment and register it

Issue:
-> Error with the journal id

Cause:
The payment is considered as internal payment and in https://github.com/odoo/odoo/blob/6d129783b53115927f664499207c8c800d40bca2/addons/account/models/account_payment.py#L886-L895
There is no destination_journal which violates not-null constraint

Solution:
Be sure that there is a destination journal when `is_internal_transfer` is computed.

opw-2753819

closes odoo/odoo#87625

X-original-commit: 362d8cbf7724431672b8b73fb5f4682d4d2c3f66
Signed-off-by: William André (wan) <wan@odoo.com>
Signed-off-by: yosa-odoo <yosa@odoo.com>
2022-03-31 09:40:59 +02:00
Touati Djamel (otd) eeaff033b8 [FIX] mrp_landed_costs: validate a landed cost without the need for MRP access
Steps to reproduce the bug:
- Install mrp_landed_costs
- Connect as Admin
- Remove MRP access to Admin and Give him Stock manager access
- Go to inventory settings > Enable “Landed costs”
- Go to inventory > operation > Select any landed cost
- Try to validate

Problem:
An access error is triggered because we check if there are finished moves in the associated pickings and manufacturing orders
before validating the landed cost, but in the "_get_targeted_move_ids" function we access the "mrp_production_ids" field, which is reserved for mrp users.

Solution:
Creating and validating a landed cost is a feature for stock manager users.
We can therefore have users who do not need access to MRP, but who need to  validate and submit landed costs.
So we can give access to all of them even if they are not MRP users.

opw-2800367

closes odoo/odoo#87624

X-original-commit: 3b92178b27dcaa25024b9d79ae35c8768cd72fa6
Signed-off-by: William Henrotin (whe) <whe@odoo.com>
Signed-off-by: Djamel Touati (otd) <otd@odoo.com>
2022-03-31 09:40:55 +02:00
Kevin Baptiste 565f11ec92 [FIX] lunch: properly open lunch products
Since odoo/odoo#fb9c8cd6 it was no longer possible to open the lunch product
in the kanban view as both _openRecord() (from base class) and
_onSelectRecord() were triggering events.

closes odoo/odoo#87612

Taskid: 2810219
X-original-commit: a497d95e8a4a55884800377d0de32babb78c05ce
Signed-off-by: Kevin Baptiste <kba@odoo.com>
2022-03-31 09:40:48 +02:00
Nicolas Martinelli 3bdba8bc44 [FIX] server.py: cron trigger in recovery
When setting up the PG replication, the slave is considered in recovery
mode. However, `LISTEN / NOTIFY` is not supported in this mode, leading
to an endless loop of crashes.

In recovery mode, we simply deactivate the feature.

closes odoo/odoo#87619

X-original-commit: 6389a64953081130d62f2a1703a27ddfa751098b
Signed-off-by: Nicolas Martinelli (nim) <nim@odoo.com>
2022-03-31 08:45:41 +02:00
Nicolas (vin) d9ee3a019e [FIX] l10n_fr_fec: allows exporting FEC without TVA number.
Not all company needs a French TVA number but still needs to provide
FEC file.
Improve that by making the TVA number optional, allowing to export the
FEC file without it. The only difference is that in such case, the vat
number won't be appended to the file name.

Task id #2801629

closes odoo/odoo#87620

X-original-commit: 59937bbea86a9d01bb7038f7e307fd88fbb82976
Signed-off-by: Olivier Colson <oco@odoo.com>
Signed-off-by: Nicolas Viseur <vin@odoo.com>
2022-03-31 07:55:40 +02:00
Julien Castiaux 1dd3865208 [IMP] *: odoo.addons.web.controllers.main splitted
The odoo.addons.web.controllers.main python module have been splitted
over multiple files on the basis 1 controller = 1 file. In this work we
adapt all modules to use the new imports.

A non-exhaustive list of where stuff have been moved:

* main.Home		--> home.Home
* main.Session		--> session.Session
* main.WebClient	--> webclient.WebClient
* main.clean_action	--> action.clean_action
* main.ensure_db	--> home.ensure_db

The complete list is accessible in odoo.addons.web.controllers.main.

closes odoo/odoo#87571

Related: odoo/enterprise#25746
Signed-off-by: Raphael Collet <rco@odoo.com>
2022-03-31 02:10:53 +02:00
Julien Castiaux bcf665a291 [MOV] web: split controllers.main in several files
The odoo.addons.web.controllers.main module was a very long bloated file
where many different controllers were concatened. It proved difficult to
work on that file on a regular basis,mainly because ctrl-p "web main.py"
was not pointing the right file.

In this work the file has been split on the basic 1 controller = 1 file.
The original way of importing stuff (through main.py) is still possible
thanks to deprecated aliases.

Part-of: odoo/odoo#87571
2022-03-31 02:10:53 +02:00
Nemael e5e5396db9 [MOV] im_livechat: move Thread outside of public_livechat.js
Task-2212347

closes odoo/odoo#87597

Signed-off-by: Alexandre Kühn (aku) <aku@odoo.com>
2022-03-30 19:27:00 +02:00
Nemael 327208ca22 [IMP] im_livechat: change html to text to better suit the data type
Part-of: odoo/odoo#87597
2022-03-30 19:27:00 +02:00
Nemael 06b1d20efc [MOV] im_livechat: move Timers outside of public_livechat.js
Task-2212347

Part-of: odoo/odoo#87597
2022-03-30 19:26:59 +02:00
Nemael f5e682be6b [MOV] im_livechat: move Timer outside of public_livechat.js
Task-2212347

Part-of: odoo/odoo#87597
2022-03-30 19:26:59 +02:00
Nemael 69268ee243 [MOV] im_livechat: move CCThrottleFunction outside of public_livechat.js
Task-2212347

Part-of: odoo/odoo#87597
2022-03-30 19:26:59 +02:00
Nemael 6fa40e3958 [MOV] im_livechat: move CCThrottleFunctionObject outside of -
-public_livechat.js

Task-2212347

Part-of: odoo/odoo#87597
2022-03-30 19:26:59 +02:00
Nemael 4cc47b6eda [MOV] im_livechat: move AbstractThreadWindow outside of -
-public_livechat.js

Task-2212347

Part-of: odoo/odoo#87597
2022-03-30 19:26:58 +02:00
Nemael 3f70dcef5b [MOV] im_livechat: move AbstractMessage outside of public_livechat.js
Task-2212347

Part-of: odoo/odoo#87597
2022-03-30 19:26:58 +02:00
Nemael c6370cf8e6 [MOV] im_livechat: move ThreadTypingMixin outside of public_livechat.js
Task-2212347

Part-of: odoo/odoo#87597
2022-03-30 19:26:58 +02:00
Nemael 1ad530529c [MOV] im_livechat: move AbstractThread outside of public_livechat.js
Task-2212347

Part-of: odoo/odoo#87597
2022-03-30 19:26:58 +02:00
Nemael c1318210bc [MOV] im_livechat: move WebsiteLivechatWindow outside of -
- public_livechat.js

Task-2212347

Part-of: odoo/odoo#87597
2022-03-30 19:26:57 +02:00
Nemael a5f8c8a160 [MOV] im_livechat: move WebsiteLivechatMessage outside of -
-public_livechat.js

Task-2212347

Part-of: odoo/odoo#87597
2022-03-30 19:26:57 +02:00
Nemael 634aa21019 [MOV] im_livechat: move WebsiteLivechat outside of public_livechat.js
Task-2212347

Part-of: odoo/odoo#87597
2022-03-30 19:26:57 +02:00
Alexandre Kühn c6daa388f1 [IMP] mail: introduce MessageSeenIndicator/text
Task-2793280

closes odoo/odoo#87372

Signed-off-by: Sébastien Theys (seb) <seb@odoo.com>
2022-03-30 19:26:36 +02:00
Rahul Prajapati e3c9e29a44 [IMP] mail: improve active style on mentions dropdown
PURPOSE

The current 'active' class on the @mentions dropdown is not clear enough.
The purpose of this task is to add a grey hover background when the item is
active.

SPECIFICATION

Add the grey hover background when the item is active

Task-2786679

closes odoo/odoo#87598

X-original-commit: 9685d5fed97bb3ef3a84cfbbde2e757755a4bd2a
Signed-off-by: Alexandre Kühn (aku) <aku@odoo.com>
2022-03-30 18:32:00 +02:00
Alexandre Kühn f0fbdd3a06 [IMP] mail: remove 'MessageSeenIndicator' recompute methods
Task-2806655

closes odoo/odoo#87352

Signed-off-by: Sébastien Theys (seb) <seb@odoo.com>
2022-03-30 18:31:53 +02:00
Alexandre Kühn 081c6f147c [IMP] mail: remove MailTemplateComponent/activity
Task-2793280

closes odoo/odoo#87342

Signed-off-by: Sébastien Theys (seb) <seb@odoo.com>
2022-03-30 18:31:47 +02:00
Alexandre Kühn 6bd65a50d2 [IMP] mail: turn 'FollowerSubtypeView/subtype' into field
Task-2793280

closes odoo/odoo#87013

Signed-off-by: Alexandre Kühn (aku) <aku@odoo.com>
2022-03-30 18:31:40 +02:00
Abdelouahab (abla) 6246ec0f46 [FIX] google_calendar : fix default reminder
To reproduce
============

- Sync Google Calendar to Odoo
- Create an event in GCaledar without setting a notification
In Odoo Notification reminder is set

Purpose
=======

we use default reminder given by Google which is notification 30 minutes before even if the event
doesn't have a reminder.

Specification
=============

To solve the issue we use empty reminder instead of the default given by google if no reminder is set.

opw-2792364

closes odoo/odoo#87592

X-original-commit: a25d38dd252a657ea44c822a227e415337003672
Signed-off-by: Arnaud Joset <arj@odoo.com>
Signed-off-by: abla001 <abla@odoo.com>
2022-03-30 17:35:26 +02:00
Yannick Tivisse 9b1b25522f [FIX] hr_contract: Avoid setting a calendar from another company
closes odoo/odoo#87588

Related: odoo/enterprise#25739
Signed-off-by: Yannick Tivisse (yti) <yti@odoo.com>
2022-03-30 17:35:11 +02:00
Julien Castiaux 5ced646b3f [FIX] auth_signup: impossible to login
Install auth_signup, go to /web/login, 500 Internal Server Error.

auth_signup extends the /web/login template and in this extension calls
`keep_query()` which has been wrongly moved from base to http_routing in
commit 880954ebfc. Here, we restored `keep_query()` in the base module
but moved in ir_qweb.

closes odoo/odoo#87491

Related: odoo/enterprise#25754
Signed-off-by: Julien Castiaux <juc@odoo.com>
2022-03-30 17:35:06 +02:00
Yannick Tivisse 941760a170 [FIX] sale_timesheet: Add index on account.analytic.line.order_id
From 0.77 to 0.33 to make a read on a SO, due to the _compute_timesheet_total_duration
method

X-original-commit: d82c4a5ce30c0efd29b65e4d38312e30d977885b
2022-03-30 17:04:56 +02:00
Yannick Tivisse 50673f0346 [FIX] calendar: Improve get_attendee_detail perf
From 14 seconds to 11.4 on odoo.com for all events

X-original-commit: 3a145216a6a6fb259c5afef6175669c8a65ba39f
2022-03-30 17:04:55 +02:00
Yannick Tivisse bcdbba20f9 [FIX] calendar: Add indexes on calendar.filters
From 15 seconds to 12 seconds on calendar view loading with all events.

X-original-commit: 2336d65e3542a179484f963a454e68009fdd5319
2022-03-30 17:04:54 +02:00
Yannick Tivisse 0a566e7bb9 [FIX] calendar: Batch _find_attendee method
From 7062 to 567 SQL requests on calendar.event/search_read on odoo.com
From 11.45 to 8.81 seconds

X-original-commit: 1c2fab03796ead64b6807f29314a7fc30b8359b1
2022-03-30 17:04:53 +02:00
Yannick Tivisse ea48d408b1 [FIX] hr: Add indexes on employee/leave user_id field
From 0.65 to 0.56 sec to create a task.

X-original-commit: c3e63a1579159bddfc457dc79cd1a0acb51916e3
2022-03-30 17:04:51 +02:00
Yannick Tivisse 62f72d1819 [FIX] fleet: Compute counts using read_group
Divides by 2 the kanban view loading on odoo.com

X-original-commit: 5fa89995f010964e3d5d5a1417b23965735136e9
2022-03-30 17:04:50 +02:00
Yannick Tivisse 588be815e2 [FIX] hr_work_entry_contract: Batch calendar leave search
X-original-commit: b8166297fed24d4a7e13ebc37e670b670c2a2575
2022-03-30 17:04:49 +02:00
Yannick Tivisse 1ffc2eadc5 [FIX] hr_work_entry_contract: Batch attendances computation
X-original-commit: ad36598bca20d3f010c0e5a19aded8b619ad689d
2022-03-30 17:04:48 +02:00
Yannick Tivisse 4807ec389b [FIX] hr_work_entry: Compute work entries duration in batch
X-original-commit: ae165f48178d89ad1b74961c7d4829f1ff5ca0c4
2022-03-30 17:04:47 +02:00
Yannick Tivisse 53bacb11a6 [FIX] hr_work_entry_contract: Improve perf on _get_work_entries_values
Purpose
=======

Both list comprehensions are quite heavy (+- 20 seconds to generate
work entries for 1000 employees over 1 month), because they are O(n²)

X-original-commit: 21fb4786b329916cdabd0a49674d93179295cd32
2022-03-30 17:04:45 +02:00
Yannick Tivisse fffac54cd9 [FIX] hr_work_entry_contract: Disable tracking on work entries generation
Purpose
=======

Writing on untracked fields like date_generated_from will fetch allt he fields
values, including non stored ones (like wage_with_holidays, which is heavy).

X-original-commit: 5145e0782b4e3246ab84e81f4a7b450d7f463efe
2022-03-30 17:04:44 +02:00