Commit Graph
145952 Commits
Author SHA1 Message Date
Florian Damhaut 425ff940da [FIX] mrp : Remove operations from production template when the module is disabled
Current Behaviour :
1. Enable Work Orders
2. Add an operation to a BOM
3. Disable Work Orders
4. Create a manufacturing order for this product and finish the manufacturing.
5. Print the production order

What is the current behavior that you observe?
The production order has the operations in it even though the work order option has been disabled. This is because disabling the work order option just hides the operations and does not remove it from the BOM.

What would be your expected behavior in this case?
The printed production should not show the operation.

opw-2660545

closes odoo/odoo#78544

X-original-commit: d73752c5fe983ce6a9147721e732396394a77cc4
Signed-off-by: William Henrotin <Whenrow@users.noreply.github.com>
2021-10-18 12:45:47 +00:00
Nathan Marotte (nama) 04bb7005b7 [FIX] mrp : replacing tracked part in repair fails uniqueness
Issue: When replacing a tracked part while doing a repair, we
are changing the tracking number, but when checking for uniqueness,
we don't take that change into consideration

Steps to reproduce :
 1) Manufacture product A with SN "A1" out of product B with SN "B2"
 2) Make Repair Order for "A1" to replace "B2" with Product B (SN "B1").
 3) Create Manufacturing Order product A (A2), select product B with SN
  "B2" as one of the components.
 4) Mark as done
 -> Bug : "The serial number <B2> used for component <B> has already
 been consumed".

Why is that a bug:
 When checking for uniqueness we should take into consideration the
 parts being replaced

opw-2625687

closes odoo/odoo#78407

X-original-commit: 79c673f9d15185be540dd535d7ebe10c8f138bf1
Signed-off-by: William Henrotin <Whenrow@users.noreply.github.com>
2021-10-18 11:36:58 +00:00
Alvaro Fuentes 433f0c15bf [FIX] sale_timesheet_margin: fix division by zero
If the denomirator is zero, we set the computed value to zero.

closes odoo/odoo#78522

X-original-commit: 2b0a5ce53aa55da056d6acd6461a56aea75611ce
Signed-off-by: LTU-Odoo <IT-Ideas@users.noreply.github.com>
2021-10-18 10:22:02 +00:00
Benjamin Vray 34c401caf8 [FIX] website: fix save animated snippet
Before this commit, when dropping custom snippet (or saved snippet)
containing an animation in the page, the animated element of the
snippet remained hidden.

task-2664876

closes odoo/odoo#78493

X-original-commit: 61d7744ca988641bd4d8a4006350ec197eece25a
Signed-off-by: Quentin Smetz (qsm) <qsm@odoo.com>
2021-10-18 10:21:58 +00:00
xlu-odoo 6dd4ddab2b [FIX] web_editor: fixing border-radius on dropdown menu entries
Prior to this commit, every dropdown menu entries in the web editor
had a border-radius on them. It didn't look consistent and clean.

This commit fixes those menu entries by either removing or applying a
correct border-radius.

closes odoo/odoo#78492

X-original-commit: 0239ab7efcaf3895ffb14a56a0686cf5a80bb529
Signed-off-by: Quentin Smetz (qsm) <qsm@odoo.com>
2021-10-18 10:21:53 +00:00
Benjamin Vray 2e57d784d3 [FIX] website, web_editor: fix overlay options of the timeline snippet
Before this commit, the CSS of the overlay option buttons of the
timeline snippet was broken.

task-2648348

closes odoo/odoo#78491

X-original-commit: 13770d650def3107378fe4010aac48dc85a5256a
Signed-off-by: Quentin Smetz (qsm) <qsm@odoo.com>
2021-10-18 10:21:49 +00:00
Benjamin Vray 5201f0fa0b [FIX] web_editor: prevent inline snippet drop in non-inline area
Before this commit, it was possible to drop an inline snippet (e.g.
badge, cards, etc.) next to a section when this section was a snippet
which can be dropped as main snippets or as inline snippets (e.g.
countdown, embed code, etc.).

task-2648348

closes odoo/odoo#78483

X-original-commit: e2f218fbb3d9bab9dba380582aa93e80fa9becc1
Signed-off-by: Quentin Smetz (qsm) <qsm@odoo.com>
2021-10-18 10:21:44 +00:00
Guillaume (guva) a14874d623 [FIX] mrp: Delivered quantity with kit
Steps to reproduce:

- Set the Decimal Accuracy at 5 digits for Product UoM
- Create a product X
- Create a kit BOM for X with a component Y, and qty 0.08600
- Create a Sale Order for 10 product X, confirm and deliver all

Issue

- On the SO, quantity delevered is 9.00000 instead of 10.00000, same
  issue occur with the same flow with a Purchase Order.

Cause

As the quantity per kit was rounded when calling _compute_qty,
the calcul of quantity ratio was not well computed.

Solution

Avoid rounding the quantity per kit, as the quantity ratio is rounded
a few steps after.

opw-2590126

closes odoo/odoo#78516

X-original-commit: 2a2b198ea6ce1d0553c606404e6db1117dc1c4a2
Signed-off-by: William Henrotin <Whenrow@users.noreply.github.com>
Signed-off-by: guva-odoo <guva-odoo@users.noreply.github.com>
2021-10-18 09:08:49 +00:00
Thibault Libioulle bf6b2ae590 [FIX] project,hr_timesheet: fix hr timesheet graph extension
This commit fixes the broken inheritence between project and
hr_timesheet modules regarding the GraphView.

Hr Timesheet module extends GraphView rather than ProjectGraphView which
makes the view unaware it should use the ProjectControlPanel.

This commit adds project tour steps to ensure every view contains the
project update breadcrumb.

task-2642872

closes odoo/odoo#78503

X-original-commit: aa59771d3a4ffd2f7372c58bf56ca8dcc1183d2e
Signed-off-by: LTU-Odoo <IT-Ideas@users.noreply.github.com>
Signed-off-by: Thibault Libioulle (tle) <tlibioulle@users.noreply.github.com>
2021-10-18 07:56:34 +00:00
Adrien Widart 67e19a5dc7 [FIX] mrp_subcontracting: validate a partial picking
When validating a receipt, if the product is subcontracted and if the
picking is not fully done, it will be impossible to create a backorder

To reproduce the issue:
1. Create two products P_compo, P_finished
    - Both storable
    - Both tracked by lot
    - P_compo must have the route "Resupply Subcontractor on Order"
2. Update P_compo's quantity: 4
3. Create a BoM:
    - Product: P_finished
    - BoM type: Subcontracting
    - Subcontractors: a partner P
    - Components: 1 x P_compo
4. In Inventory, create a planned transfer T:
    - Operation Type: Receipt
    - Receive From: P
    - Operations: 4 x P_finished
5. Mark as Todo
6. Inventory > Delivery Orders, find the delivery of P_compo for P and
process it
7. Back to T, Record Components:
    - Quantity: 3/4
    - Set a Lot for P_finished
8. Validate T, Create Backorder

Error: a User Error is raised "You need to supply a Lot/Serial Number
for product: - P_finished"

Since P_finished is subcontracted, a related MO has been generated. On
step 7, when recording the used components, since all P_finished have
not been produced, a second MO is created for the last P_finished.
However, when validating T, both MOs are selected and validated. This is
an error since the user has not yet recorded the used components for the
last MO. The latter should not be validated.

OPW-2582538

closes odoo/odoo#78496

X-original-commit: 21068076b4a6b134f5f07c4c03de7c4eb37b4688
Signed-off-by: William Henrotin <Whenrow@users.noreply.github.com>
2021-10-18 07:56:30 +00:00
std-odoo bac2a86ce2 [FIX] mail_plugin: update the documentation URL
Purpose
=======
Add the new URL to the documentation for the v15.

Task-2647169

closes odoo/odoo#78410

X-original-commit: 899911539635417076fd7e88c8d772c6fcb344b0
Signed-off-by: Thibault Delavallee (tde) <tde@openerp.com>
2021-10-18 07:56:26 +00:00
Olivier Dony 63367b2519 [FIX] mail.thread: fix performance of has_message
The `distinct` keyword in query
```SELECT distinct res_id FROM mail_message WHERE model=%s```
is not strictly necessary for the correctness of the result, as
it will be inserted inside a sub-query that will be able to use
the main (model, res_id) index of mail_message.

For example, when the `has_message` field is used in a domain
by the website_livechat module[1], the complete query looks
like this:
```
SELECT "mail_channel".id FROM "mail_channel"
WHERE  ("mail_channel"."active" = true) AND
       ("mail_channel"."livechat_visitor_id" = 112678387) AND
       ("mail_channel"."livechat_channel_id" = 1) AND
       ("mail_channel"."livechat_active" = true) AND
       ("mail_channel"."id" in (
           SELECT distinct res_id FROM mail_message WHERE model='mail.channel'))
ORDER BY "mail_channel"."create_date" DESC LIMIT 1;
```
In this query, it's obvious that the `distinct` makes zero difference in
the results.

However, the presence of the DISTINCT keyword means that PostgreSQL will
factor the cost of applying that UNIQUE sort in the query planning, and
use MERGE JOIN strategy to avoid sorting multiple times (ok, it could
perhaps guess that distinct is useless here, but we asked for it.)

For a database with millions of mail messages, there can easily be
millions of hits for the generic "all res_ids for model" query, so
the cost of that part will be quite high.

The plan will then look like this (notice the "Unique" step and the cost,
730ms for the index scan + 200ms for the sort):
<details>
  <summary>The query plan when `distinct` is used</summary>
```
                         QUERY PLAN
------------------------------------------------------------------------------
 Limit  (cost=151528.28..151528.29 rows=1 width=12) (actual time=1021.237..1021.239 rows=1 loops=1)
   Output: mail_channel.id, mail_channel.create_date
   Buffers: shared hit=767230
   ->  Sort  (cost=151528.28..151528.29 rows=1 width=12) (actual time=998.799..998.801 rows=1 loops=1)
         Output: mail_channel.id, mail_channel.create_date
         Sort Key: mail_channel.create_date DESC
         Sort Method: quicksort  Memory: 25kB
         Buffers: shared hit=767230
         ->  Merge Join  (cost=3.01..151528.27 rows=1 width=12) (actual time=998.786..998.790 rows=1 loops=1)
               Output: mail_channel.id, mail_channel.create_date
               Inner Unique: true
               Merge Cond: (mail_channel.id = mail_message.res_id)
               Buffers: shared hit=767230
               ->  Sort  (cost=2.44..2.45 rows=1 width=12) (actual time=0.043..0.045 rows=1 loops=1)
                     Output: mail_channel.id, mail_channel.create_date
                     Sort Key: mail_channel.id
                     Sort Method: quicksort  Memory: 25kB
                     Buffers: shared hit=5
                     ->  Index Scan using mail_channel_livechat_visitor_id_livechat_channel_id_idx on public.mail_channel  (cost=0.41..2.43 rows=1 width=12) (actual time=0.035..0.039 rows=1 loops=1)
                           Output: mail_channel.id, mail_channel.create_date
                           Index Cond: ((mail_channel.livechat_visitor_id = 112678387) AND (mail_channel.livechat_channel_id = 1))
                           Filter: mail_channel.active
                           Buffers: shared hit=5
               ->  Unique  (cost=0.57..143838.35 rows=614997 width=4) (actual time=0.033..993.210 rows=97187 loops=1)
                     Output: mail_message.res_id
                     Buffers: shared hit=767225
                     ->  Index Only Scan using mail_message_model_res_id_idx on public.mail_message  (cost=0.57..129884.36 rows=5581595 width=4) (actual time=0.032..730.233 rows=5586467 loops=1)
                           Output: mail_message.res_id
                           Index Cond: (mail_message.model = 'mail.channel'::text)
                           Heap Fetches: 17
                           Buffers: shared hit=767225
 Planning Time: 0.471 ms
 Execution Time: 1025.410 ms
(37 rows)
```
</details>

Now, if we remove the superfluous `distinct` clause, for the same
database, data volume, and result, the plan looks like this:
<details>
  <summary>The query plan when `distinct` is not used</summary>
```
                          QUERY PLAN
-------------------------------------------------------------------------------------
 Limit  (cost=3.44..3.44 rows=1 width=12) (actual time=0.069..0.069 rows=0 loops=1)
   Output: mail_channel.id, mail_channel.create_date
   Buffers: shared hit=8
   ->  Sort  (cost=3.44..3.44 rows=1 width=12) (actual time=0.068..0.068 rows=0 loops=1)
         Output: mail_channel.id, mail_channel.create_date
         Sort Key: mail_channel.create_date DESC
         Sort Method: quicksort  Memory: 25kB
         Buffers: shared hit=8
         ->  Nested Loop Semi Join  (cost=0.98..3.43 rows=1 width=12) (actual time=0.061..0.061 rows=0 loops=1)
               Output: mail_channel.id, mail_channel.create_date
               Buffers: shared hit=8
               ->  Index Scan using mail_channel_livechat_visitor_id_livechat_channel_id_idx on public.mail_channel  (cost=0.41..2.43 rows=1 width=12) (actual time=0.020..0.020 rows=1 loops=1)
                     Output: mail_channel.id, mail_channel.create_date
                     Index Cond: ((mail_channel.livechat_visitor_id = 117513256) AND (mail_channel.livechat_channel_id = 1))
                     Filter: mail_channel.active
                     Buffers: shared hit=4
               ->  Index Only Scan using mail_message_model_res_id_idx on public.mail_message  (cost=0.57..2.77 rows=10 width=4) (actual time=0.040..0.040 rows=0 loops=1)
                     Output: mail_message.model, mail_message.res_id
                     Index Cond: ((mail_message.model = 'mail.channel'::text) AND (mail_message.res_id = mail_channel.id))
                     Heap Fetches: 0
                     Buffers: shared hit=4
 Planning time: 0.761 ms
 Execution time: 0.095 ms
(23 rows)
```
</details>

Total execution time goes from 1000 ms to 0.1ms.

Reference: introduced by 9a01a2953f,
           coming from #69812, which was fixing a performance problem.

[1]  https://github.com/odoo/odoo/blob/9b224f35f45876c86dc34934379bfa9e8b3e2160/addons/website_livechat/models/website.py#L40-L44

closes odoo/odoo#78186

X-original-commit: 3ab87a848c96b284eac3dbbd6f6f2a9ea971876a
Signed-off-by: Olivier Dony (odo) <odo@openerp.com>
2021-10-18 07:56:21 +00:00
Fabio Barbero 54909f5339 [IMP] survey: update "Press Enter" tooltip depending on field type
Purpose
=======
Have the "or press CTRL+Enter" (metaKey if it's a mac) shown if the input field selected is a text area, and "or press Enter" otherwise.
Hide the text at the beginning of the survey if it's from mobile.

PR: odoo/odoo/pull/77726
Task-2637120

closes odoo/odoo#77726

Signed-off-by: Thibault Delavallee (tde) <tde@openerp.com>
2021-10-18 07:56:17 +00:00
Sébastien Geelen (sge) 6b264fab91 [FIX] web_editor: use color css name fix reset color
`_updateEditorUI` was reseting color to old or non css color value.
due to a race condition in the editor selection.

task-2654666

closes odoo/odoo#78499

X-original-commit: fd3791d79377b270ab98d646710ecc1d2f364810
Signed-off-by: David Monjoie (dmo) <dmo@odoo.com>
Signed-off-by: Sébastien Geelen <sebgeelen@users.noreply.github.com>
2021-10-18 06:49:54 +00:00
Aktiv Software 94fc798743 [ADD] CLA Signature Aktiv Software
closes odoo/odoo#78495

X-original-commit: 389e88c382d26310574675eec060c8bc42eb8ceb
Signed-off-by: Martin Trigaux (mat) <mat@odoo.com>
2021-10-18 05:41:46 +00:00
Pierre Masereel cf875e4797 [FIX] point_of_sale: use correct rate date in test
Since changes made in currency rate default value made in this PR
https://github.com/odoo/odoo/pull/76513 the date is stored based on user
timezone, and so doesn't work if the test runs around midnight with the
belgian timezone on the servers.

closes odoo/odoo#78480

X-original-commit: 0dc9a2d47833f2a13dce9891e7710815b4d27584
Signed-off-by: pimodoo <pimodoo@users.noreply.github.com>
2021-10-17 10:37:41 +00:00
Christophe Monniez fae2bd0c28 [FIX] packaging: verify repodata exists
The rpm packaging fails to generate a repository when the repodata
directory does not exists previously to the build.

The reason is that the package.py script removes the repodata before
rpm repo generation without verifying the the directory exists.

That kind of corner case happens when a new odoo version comes out.
With this commit, the script now verifies that the directory exists.

Also, while at it, a time stamp based on seconds is added to the default
build directory name to allow to build more than one time the same day
without removing the build directory. It's mainly a testing use case,
when the packaging script is tested, the build dir is usually kept for
debugging purposes.

closes odoo/odoo#78386

Signed-off-by: Christophe Monniez (moc) <moc@odoo.com>
2021-10-15 22:09:41 +00:00
Christophe Monniez e7231db74e [IMP] packaging: automate win installer displayed version
When a new Odoo version is released, the displayed version in the
Windows NSIS installer has to be manually updated.

With this commit, the displayed version is computed from the release.py
file.

Part-of: odoo/odoo#78386
2021-10-15 22:09:41 +00:00
Aaron Bohy 798bdcc645 [FIX] web: clickbot: correctly test filters
Since commit [1], the filters were no longer tested by the clickbot
because the DOM of the filter menu changed, and the clickbot
selector hadn't been adapted.

[1] https://github.com/odoo/odoo/commit/84715436d87bb05b421bc9ccaacda67d07571690

closes odoo/odoo#78494

X-original-commit: 54d313e5ce708cf0420aaa2529fa3f32f281205e
Related: odoo/enterprise#21735
Signed-off-by: Géry Debongnie (ged) <ged@openerp.com>
2021-10-15 20:58:06 +00:00
tranngocson1996 1cf4cdaa1f [I18N] l10n_vn: Update translate file
closes odoo/odoo#78476

X-original-commit: c85828ea75d9450cc83039b673fbcd822a2fe839
Signed-off-by: Florian Gilbert <FlorianGilbert@users.noreply.github.com>
Signed-off-by: Mountain Tran <tranngocson1996@users.noreply.github.com>
2021-10-15 20:58:01 +00:00
Touati Djamel (otd) 1333d11b15 [FIX] purchase: allow deleting a vendor from the product variant
steps to reproduce the bug:
- Go to inventory > products > Create a new Product from ```product.template```
- Assign two vendors to the record
- Go to inventory > products > product variants > select the newly created product
- Remove any vendor and save

Problem:
An error indicating that the record ```product.supplierinfo``` does not exist or has been deleted will be triggered

In the ```product.product``` model, we have two One2Many fields ```seller_ids``` and ```variant_seller_ids```
which both point to ```product.supplierinfo```.
When we save, the write method will be called and will first delete the seller with seller_ids
and then try to update with variant_seller_ids but as both fields point to the same field,
the seller will already be deleted and an access error will be thrown

Solution:
As the two fields are never displayed at the same time in the view.
We can use the same invisibility condition to make them read only to prevent them from being both updated at the same time

opw-2661082

closes odoo/odoo#78464

X-original-commit: acdd6ef720e837097d68032082209b619dba44d9
Signed-off-by: William Henrotin <Whenrow@users.noreply.github.com>
2021-10-15 20:57:51 +00:00
prro-odoo 63e6a22205 [FIX] website_slides: build a correct form in Courses
How to reproduce the problem:
- Install the website_slides modules
- Go to the website -> Courses -> choose a course -> Add Content (Webpage)
- In the new Webpage -> Edit -> Drag and drop a Form Builder -> Save
The form is unusable: you can't write in the form's fields.

Cause of the problem : usefull attributes and values of the form were
removed due to the sanitizing of the HTML component.

Solution : the HTML components in slide are not sanitized anymore,
in order to keep valuable information for building forms.

opw-2588089

closes odoo/odoo#78155

X-original-commit: f783e23848986925937785aec82a616c4b237f16
Signed-off-by: Xavier Morel (xmo) <xmo@odoo.com>
Signed-off-by: prro-odoo <proose@users.noreply.github.com>
2021-10-15 19:12:44 +00:00
Philippe Wauthy 1ac294c825 [REF] hr_holidays: refactor js code for time_off_calendar.*.js
task- 2643692 required customizing the calendar view to display a calendar from the employee form via the Time Off smart button.
As the changes took place after the freeze of the saas-14.5 branch, it was not possible to split the time_off_calendar.js file into its different components to have them being re-used in time_off_calendar_employee.js file.
Subsequently, some code duplication exists between the two files and makes it hard to maintain.
This commit is for making the custom calendar components more modular and more maintainable.

task-2661142

closes odoo/odoo#77767

Signed-off-by: Kevin Baptiste <kba@odoo.com>
2021-10-15 17:25:14 +00:00
Prakash Prajapati 31943bc6ac [FIX] web: fix the unavailabilities day in calendar view
Currently, if there is unavailabilities day then white background and
border appear in calendar month mode. It does not show the same background.
Now the same background(grey) will appear.

closes odoo/odoo#78240
task-2648148

closes odoo/odoo#78444

X-original-commit: 64f2acc79d39331f79f3ac68d451f638cbd93393
Related: odoo/enterprise#21720
Signed-off-by: LTU-Odoo <IT-Ideas@users.noreply.github.com>
2021-10-15 16:13:57 +00:00
Kamlesh Pathekar f922df6af6 [FIX] project: remove the description field border
Currently there is border visible under only the 'description' notebook.
So in this commit we removed that border.

closes odoo/odoo#78240
task-2648148

X-original-commit: 43f2ae777d59430acfc3973cb57f8a76cb29129b
Part-of: odoo/odoo#78444
2021-10-15 16:13:57 +00:00
Wolfgang Taferner be28be1eb0 [FIX] account: only display qr code if residual > 0
In case an invoice is already paid it is useless to provide
a QR Code for scanning to pay a residual of zero.

closes odoo/odoo#78437

X-original-commit: bfb5bcc07465240b0952e031522dd513dff8c2ab
Signed-off-by: oco-odoo <oco-odoo@users.noreply.github.com>
2021-10-15 16:13:51 +00:00
Younn Olivier 46c0bf7827 [FIX] website, mass_mailing: remove composed css classes
Recently, [1] broke the style of a few snippets, because it was adding a
:not selector to the parent css class, that was used to define children
classes that were adding a suffix to the parent class name with the &
symbol.

It was decided that every snippet css class should be explicitly
declared to avoid breaking the style when adding selectors to the parent
class. This will also prevent breaking the style when adding a new css
version for the snippet.

task-2660921

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

closes odoo/odoo#78413

X-original-commit: af6785599358d2dcb9ff811afc2e558a94d9704d
Signed-off-by: Quentin Smetz (qsm) <qsm@odoo.com>
2021-10-15 16:13:47 +00:00
Swapnesh Shah bd4576273a [FIX] stock: remove upgrade_boolean from wave group
Process operations in wave transfers exists in community edition.

closes odoo/odoo#78461

X-original-commit: f078b9f69341405d14a268d5371c9360aa66475d
Signed-off-by: William Henrotin <Whenrow@users.noreply.github.com>
2021-10-15 14:59:04 +00:00
Julien Mougenot 8097c368c2 [FIX] *: remove manifest qweb keys
This commit removes unused "qweb" manifest keys that have been missed
during the transfer of assets declaration from xml to manifest.

closes odoo/odoo#78456

X-original-commit: 5be338fa061a3379fec44528f9db788e8fdefaab
Related: odoo/enterprise#21727
Signed-off-by: Aaron Bohy (aab) <aab@odoo.com>
Signed-off-by: Julien Mougenot (jum) <jum@odoo.com>
2021-10-15 14:58:53 +00:00
Florian Damhaut 6d42d865be [FIX] stock: Product Search in stock picking
This commit makes the picking search by product more consistent with
the general product search as the following case could happen:

  - Have a product with two variants;
  - Each variant has the following internal reference:
    - Variant 1: 'SoMething'
    - Variant 2: 'SomethingElse'
  - Create two pickings, each one containing one of the variant;
  - Then filter pickings by product and the result will vary:
    - Searching for 'SoMething' -> Found one picking
    - Searching for 'Something' -> Found two pickings

The expected behavior is to find the two pickings in both cases.

opw-2646214

closes odoo/odoo#78451

X-original-commit: d0090ee01fc3d105ad87d6764733fe332b36db56
Signed-off-by: Steve Van Essche <svs-odoo@users.noreply.github.com>
2021-10-15 14:58:49 +00:00
Florian Damhaut 14f2086ea7 [FIX] delivery : removed service from rule-based delivery quantity
Current behaviour :
Product of type service are accounted for when computing the quantity, weight and volume metrics used in the price computation of rule based delivery.

Planned behaviour :
Service-typed product should be excluded from such computations.

opw-2647067

closes odoo/odoo#78402

X-original-commit: 2993c82db51e16787de72cbb67f04d5ae1928b68
Signed-off-by: William Henrotin <Whenrow@users.noreply.github.com>
2021-10-15 11:31:49 +00:00
Tiffany Chang (tic) 9a4fae9e06 [FIX] mrp: control archive operations within form view
PR odoo/odoo#76376 made it so operations (of a BoM) can now be
(un)archived in the list view. This commit makes it so we can also do
the same in the form view as well as see the "Archived" ribbon in the
form view.

Part 3 of Task: 2660820

closes odoo/odoo#78094

X-original-commit: e995860157becf34300365ac09e12ae57512e22a
Related: odoo/enterprise#21569
Signed-off-by: William Henrotin <Whenrow@users.noreply.github.com>
2021-10-15 09:29:42 +00:00
Donatas e1a1410c63 [FIX] l10n_lt: remove duplicate translation
Translation files contained multiple instances of the same reference.
This caused a traceback when loading the translations.

closes odoo/odoo#78423

Fixes: #68552
X-original-commit: afaff8fc12fa7b86332b7a26b828b397fa401efe
Signed-off-by: Josse Colpaert <jco@openerp.com>
Signed-off-by: oco-odoo <oco-odoo@users.noreply.github.com>
2021-10-15 07:24:49 +00:00
oco-odoo c9f280358f [FIX] l10n_sa: remove duplicate xmlid in translations
Module was not installable in some circumstances

To reproduce:
- Make Arabic and Arabic (Syria) languages active
- Try installing l10n_sa
==> crash: "psycopg2.errors.CardinalityViolation: ON CONFLICT DO UPDATE command cannot affect row a second time"

This was due to duplicate xmlid in the translation file.

closes odoo/odoo#78411

X-original-commit: 085812020df80b66be829995b1ed9b7d70cf6925
Signed-off-by: Laurent Smet <smetl@users.noreply.github.com>
Signed-off-by: oco-odoo <oco-odoo@users.noreply.github.com>
2021-10-15 07:24:42 +00:00
Kevin Baptiste 3cad69a838 [IMP] hr: make Plan company dependent
It was possible to assign a user that was not part of the same company
as the employee's for an activity which is misleading.

Make hr.plan and hr.plan.activity.type company dependent.

closes odoo/odoo#77524

Related: odoo/upgrade#2879
Taskid: 2658773
Signed-off-by: Kevin Baptiste <kba@odoo.com>
2021-10-15 07:24:38 +00:00
Sébastien Geelen (sge) f41f5cf3df [FIX] web_editor: Properly remove link tools frame
In mass mailing the link tools borders were not removed properly
because the element couldn't be found inside the Iframe with a $() selector.
Changed to use the `this.$link` of the `link_tool` class.

task-2634073

closes odoo/odoo#78416

X-original-commit: 4acdd17eba2a4175d1bec33397aebeadb1d5bc04
Signed-off-by: David Monjoie (dmo) <dmo@odoo.com>
Signed-off-by: Sébastien Geelen <sebgeelen@users.noreply.github.com>
2021-10-15 06:16:46 +00:00
Raf Geens 11848e672c [FIX] point_of_sale: Wait for cancellation to finish before starting a new transaction
Previously, when cancelling an Ingenico transaction, the cancellation
was considered done from the POS' point of view even though it hadn't
actually finished on the terminal yet. Starting a new transaction from
the POS meant it would fail and the POS and terminal's states would get
out of sync.

In an enterprise PR for the pos_iot module, a fix was made so the
cancellation request is only considered done when the terminal has
confirmed that.

In the case of pressing cancel on a payment line, this means that the
button will block and remain in a loading state with a spinner until
the operation finishes. After this the user can press the retry button
the payment line.

There are two other workflows where waiting for the cancel operation to
finish wasn't done until now, and that's what this PR is for.

The first is when a transaction was requested and the
back button was pressed in the UI. This cancels the active transactions.
If you wait a while after pressing the back button, the UI will be
notified when the cancellation finishes, and the payment line's state
will be updated in the local db, even if it's not visible on screen.
When you go back to the payment screen, you'll be able to retry the
transaction again. In V13, if after pressing the back button you
immediately go back to the payment screen, you'll see the spinner of the
wait for the cancellation, but it would never update. That's because
while the local db gets updated when the cancellation finishes, the
payment screen lines didn't get refreshed. Hence in V13 a call was added to
`stop_electronic_payment` that re-renders the payment lines (if we are
present on the payment screen) once the cancellation finishes. In V14
the UI will already correctly update on its own, so no change is required.

The second case is when a transaction is requested and the user deletes
the payment line. This used to happen immediately without waiting for
anything. This PR changes that so the line goes to the `waitingCancel`
state instead, and will only be deleted once the operation finishes. If
there's nothing to be cancelled, the line will get deleted immediately
like before.

opw-2525010

closes odoo/odoo#78414

X-original-commit: 8c1f5dd711a074412b707d30ba3ff3f42945d8a0
Related: odoo/enterprise#21710
Signed-off-by: Raf Geens <raf-odoo@users.noreply.github.com>
Signed-off-by: pimodoo <pimodoo@users.noreply.github.com>
2021-10-14 21:25:05 +00:00
baa 6cd586d190 [FIX] base: missing Saudi Arabia in the gcc country group
closes odoo/odoo#78412

X-original-commit: 0a166956229544d9febe294c254cc578fd8b9f6e
Signed-off-by: Josse Colpaert <jco@openerp.com>
2021-10-14 19:18:48 +00:00
Bruno Boi cc3403ad47 [FIX] web: action context pollution from session storage
Before this commit
An action retrieved from the session storage may not take into account
changes in the user context because the user context is duplicated in
the action context. When the user context changes i.e. through the
switch company menu (allowed_company_ids) and the browser reloads,
the action service will make the action context concatening the new user
context with the context of the action stored in the session storage,
which has still values from the previous user context.

After this commit
The makeContext function can now take an initial evaluation context.
This is then used in the action service in order to make use of the user
context when the action context is generated but without appending
it into the action one.

closes odoo/odoo#78415

X-original-commit: 7354d1686915ec21437fc677f15a6c5409106492
Signed-off-by: Géry Debongnie (ged) <ged@openerp.com>
2021-10-14 18:15:13 +00:00
Sébastien Geelen (sge) fa92642d5c [FIX] web_editor: traceback when tab in table layout
When the editor was inside a table in the odoo view HTML,
The KeyDown detected that the selection was inside a table
and was trying to add a row bellow the table outside the editor.

task-2601451

closes odoo/odoo#78396

X-original-commit: d1ced1b5a6ad0099fbdcca2530e1e06034108755
Signed-off-by: David Monjoie (dmo) <dmo@odoo.com>
Signed-off-by: Sébastien Geelen <sebgeelen@users.noreply.github.com>
2021-10-14 16:16:09 +00:00
Bruno Zanotti (ADHOC)andJuan Jose Scarafia ab9f36db24 [IMP] l10n_cl: calculate removed latam fields
Adapt the module to calculate removed fields from latam localization

closes odoo/odoo#78296

X-original-commit: 9269ac23e86cfd0218234360ac8271785697a725
Signed-off-by: Josse Colpaert <jco@openerp.com>
Co-authored-by: Juan Jose Scarafia <jjs@adhoc.com.ar>
2021-10-14 16:16:04 +00:00
Bruno Zanotti (ADHOC)andJuan Jose Scarafia 33c7f7d437 [IMP] l10n_ar: calculate removed latam fields
Adapt the module to calculate removed fields from latam localization

X-original-commit: c9536ab129c96582a784efe6a5bce133cad0d650
Part-of: odoo/odoo#78296
Co-authored-by: Juan Jose Scarafia <jjs@adhoc.com.ar>
2021-10-14 16:16:04 +00:00
Bruno Zanotti (ADHOC)andJuan Jose Scarafia ee7e20f49d [IMP] l10n_latam_invoice_document: remove fields
Fields removed:
 * l10n_latam_amount_untaxed
 * l10n_latam_tax_ids
 * l10n_latam_price_unit
 * l10n_latam_price_subtotal
 * l10n_latam_price_net

Methods removed:
 * compute_l10n_latam_prices_and_taxes
 * compute_l10n_latam_amount_and_taxes
 * _compute_invoice_taxes_by_group

We move the removed methods to l10n_ar and l10n_cl and now it returns
a dictionary with the removed fields as the keys.

X-original-commit: 667ffb286d27f1e7a834b15d8f61536e530acd6f
Part-of: odoo/odoo#78296
Co-authored-by: Juan Jose Scarafia <jjs@adhoc.com.ar>
2021-10-14 16:16:04 +00:00
Hubert Van de Walle (huvw) 7fd7ac1f31 [FIX] base: Allow empty thousands separator in reports
Steps to follow

  - Set the thousands_sep of the current lang to an empty string or null
  - Create a report
  -> The thousand separator from the system locale will be used instead to format numbers

Solution

  Use an empty string if there is no thousands separator

opw-2507441

closes odoo/odoo#78384

X-original-commit: 767adf94c3162c1d93d93aa638200f73123f4ab6
Signed-off-by: Nicolas Lempereur (nle) <nle@odoo.com>
Signed-off-by: Hubert Van De Walle <hubvd@users.noreply.github.com>
2021-10-14 15:08:51 +00:00
Dhwani Patelandjpr-odoo 4aacc0edb8 [IMP] website_forum: rename the title of question page
This commit changes the title of new question page from 'new_question' to
'New Post'.

task-2167561

closes odoo/odoo#45352

Signed-off-by: Romain Derie (rde) <rde@odoo.com>
Co-authored-by: jpr-odoo <jpr@openerp.com>
2021-10-14 12:26:09 +00:00
Dhwani Patelandjpr-odoo d69c49349b [IMP] website_forum: improve the flagging question UX
Now, once the question is flagged, we show two options for it: 'Validate' and
'Mark as Offensive'.
So, one can directly validate (or not) directly from the question page.

task-2167561

Part-of: odoo/odoo#45352
Co-authored-by: jpr-odoo <jpr@openerp.com>
2021-10-14 12:26:09 +00:00
Dhwani Patelandjpr-odoo 7223f0e720 [IMP] website_forum: tooltip based on condition
This commit display the tooltip "only one answer per question is allowed" only
for question-answer type of forum.

task-2167561

Part-of: odoo/odoo#45352
Co-authored-by: jpr-odoo <jpr@openerp.com>
2021-10-14 12:26:09 +00:00
Mohammed Shekha 683f29add1 [FIX] web: No results to show item was not displayed in m2o
before this commit: when m2o has can_create=false and user try to search
something that doesn't exist then it should show 'No results to show' in m2o
autocomplete, because of commit: https://github.com/odoo/odoo/commit/4f116a0f9be26b91d95e019cda1aa620faf6d620
this has been broken.

after this commit: if user can not create m2o record and if user searches that
doesn't exist in m2o model then it will display 'No results to show'

task-2376435

closes odoo/odoo#78329

X-original-commit: a9e14acc3785c972bd037a8d4ca303c10dad265a
Signed-off-by: Simon Genin (ges@odoo) <ges@odoo.com>
2021-10-14 11:16:47 +00:00
Martin Trigaux 83530dabc7 [I18N] mass_mailing_{slides,event_track}: publish module on Transifex
Not much content but still to be translated

closes odoo/odoo#78259

X-original-commit: aba5e3877cfab96493fcfd073c101b4447f49a51
Related: odoo/enterprise#21643
Signed-off-by: Martin Trigaux (mat) <mat@odoo.com>
2021-10-14 09:28:09 +00:00
Martin Trigaux b588a9caae [FIX] mass_mailing: avoid Expected singleton error
When writing on more than one record (e.g. via
_process_mass_mailing_queue cron)

X-original-commit: b18614bf99df47de77650f431e2062b8d2eacd06
Part-of: odoo/odoo#78259
2021-10-14 09:28:08 +00:00