Commit Graph
149171 Commits
Author SHA1 Message Date
Thibault Francois dc8f06624f [ADD] cloc: count loc in style file and from imported module
Context
-------

Web design specific require a lot of work and need maintenance.
So far the style files were not taken into account despite the
amount of maintenance they require.

With this commit they are going to be counted,
knowing they still can be excluded in the manifest.

Imported module allow to deploy frontend assets: stylesheet,
javascript, xml template and Qweb view that require
as well some maintenance. They are going to be counted

Implementation
--------------

- Add method to parse css and scss file
- Include .scss and .css file in the count

- Add external_id to attachment that store
  frontend asset of imported module
- Find all attachment with .js, .css, .scss, .xml
  from imported module
- Find qweb view from imported module
- cound the content of the attachment and the qweb view

closes odoo/odoo#86816

X-original-commit: d2e0b48271dbd8cd7bbdbc5c2c1649c55c51417b
Signed-off-by: Christophe Simonis <chs@odoo.com>
Signed-off-by: Thibault Francois <tfr@odoo.com>
2022-03-21 17:57:05 +01:00
Benoit Socias e9e1864153 [FIX] web_editor: decode base64 of uploaded non-image documents
Since [1] non-image documents uploaded in web editor were stored as
received in base64 without being decoded.
This led to downloading them as they were stored in base64.

After this commit uploaded documents are base64-decoded before being
stored.

Steps to reproduce:
- edit a web page
- drop a "Text - Image" snippet
- replace the image
- upload a document (PDF, TXT...)
- save page
- download document
=> received document was base64-encoded

[1]: https://github.com/odoo/odoo/commit/6b8752604898bf2b583b7f5334e35f6a1583595e

task-2782269

closes odoo/odoo#86812

X-original-commit: b0218b8ff50c7cea2a018d20a62e63510bfdd01e
Signed-off-by: Quentin Smetz (qsm) <qsm@odoo.com>
2022-03-21 17:57:01 +01:00
Alexandre Kühn e55ec3c89a [IMP] mail: turn 'SuggestedRecipientInfo/titleText' into field
Task-2793280

closes odoo/odoo#86439

Signed-off-by: Alexandre Kühn (aku) <aku@odoo.com>
2022-03-21 17:56:52 +01:00
Zelong Lin 2b1719ff98 [IMP] mail, im_livechat: ensure 'channel_type' is not empty
Make the channel_type required in UI and add SQL constraint for the database.

task-2774970

closes odoo/odoo#85146

Related: odoo/upgrade#3273
Signed-off-by: Sébastien Theys (seb) <seb@odoo.com>
2022-03-21 17:56:46 +01:00
Nicolas Bayet 691f574cb3 [FIX] web_editor: allow to paste images in the editor
task-2734733

closes odoo/odoo#86797

X-original-commit: 996b41b36ae5ea935760a5962887b2fcc02c86fa
Signed-off-by: David Monjoie (dmo) <dmo@odoo.com>
2022-03-21 17:00:56 +01:00
Alexandre Kühn 82c1bb4c3d [IMP] mail: guard ActivityMarkDonePopover
Task-2797754

closes odoo/odoo#86703

Signed-off-by: Alexandre Kühn (aku) <aku@odoo.com>
2022-03-21 17:00:49 +01:00
Alexandre Kühn a58d779ddf [IMP] mail: guard ChannelMemberListComponent
Task-2797754

closes odoo/odoo#86778

Signed-off-by: Alexandre Kühn (aku) <aku@odoo.com>
2022-03-21 16:01:59 +01:00
thcl-odoo c2b15b7cfc [FIX] website_slides: prevent error when no completed_template selected
Current behavior :
If no completed template (`completed_template_id`) is selected in the options of an elearning course, an error occurs when a user completes this course.

Steps :
- Install elearning
- (*with demo data*) Go to a course (e.g. Basics of Gardening)
- Remove the selected "Completion Email" then save
- Complete the course

Reason :
We are trying to access a `record_email_values` value here [1] but no value is assigned to `record_email_values` unless we have a completed_template [2].

[1] : https://github.com/odoo/odoo/blob/f4d83f31c12cb13d626bcaaa619c0f3be680cdbc/addons/website_slides/models/slide_channel.py#L110
[2] : https://github.com/odoo/odoo/blob/f4d83f31c12cb13d626bcaaa619c0f3be680cdbc/addons/website_slides/models/slide_channel.py#L105-L106

OPW-2753078

closes odoo/odoo#86771

X-original-commit: 444132f446c4dc8914f1238f96c4af98550e27a9
Signed-off-by: Thibault Delavallee (tde) <tde@openerp.com>
Signed-off-by: Claude Thibault (thcl) <thcl@odoo.com>
2022-03-21 16:01:55 +01:00
Alexandre Kühn 6889f3b043 [IMP] mail: guard AttachmentListComponent
Task-2797754

closes odoo/odoo#86708

Signed-off-by: Alexandre Kühn (aku) <aku@odoo.com>
2022-03-21 16:01:52 +01:00
Alexandre Kühn 8a0abbd9f3 [IMP] mail: guard AttachmentImageComponent
Task-2797754

closes odoo/odoo#86707

Signed-off-by: Alexandre Kühn (aku) <aku@odoo.com>
2022-03-21 16:01:48 +01:00
Alexandre Kühn 742437ac38 [IMP] mail: guard AttachmentDeleteConfirmComponent
Task-2797754

closes odoo/odoo#86706

Signed-off-by: Alexandre Kühn (aku) <aku@odoo.com>
2022-03-21 16:01:44 +01:00
Alexandre Kühn 2c9d8968d1 [IMP] mail: guard AttachmentCardComponent
Task-2797754

closes odoo/odoo#86705

Signed-off-by: Alexandre Kühn (aku) <aku@odoo.com>
2022-03-21 16:01:40 +01:00
Alexandre Kühn e85766b585 [IMP] mail: guard AttachmentBoxComponent
Task-2797754

closes odoo/odoo#86704

Signed-off-by: Alexandre Kühn (aku) <aku@odoo.com>
2022-03-21 16:01:36 +01:00
Touati Djamel (otd) 795c3cd1d4 [FIX] stock: make the location current stock view non-editable
Steps to reproduce the bug:
- Enable “Storage Locations” option in the inventory settings
- Go to Inventory > Configuration > Warehouse > locations
- Choose any Location > Click on current stock > Select any product
- Try to add two line

Problem:
Traceback is triggered, Because the line should not be added twice(like in “Inventory Adjustments” view)
and as in the `_onchange_location_or_product_id` we access the quantity,
it should be only one quant: https://github.com/odoo/odoo/blob/15.0/addons/stock/models/stock_quant.py#L517

In v14, this list view is not editable, but since the refactor in v15 added the new view `stock.quant.inventory.tree.editable`,
it is being called by this action

Solution:
set the `view_id` to `stock.quant.tree`, which is the view it was previously using

opw-2779795

closes odoo/odoo#86766

X-original-commit: 68657a85eb09dd306feab91d805b8c21eb75010f
Signed-off-by: Tiffany Chang <tic@odoo.com>
Signed-off-by: Djamel Touati (otd) <otd@odoo.com>
2022-03-21 15:00:08 +01:00
Thanh Dodeur 4c28a6fd0a [FIX] mail: ensures the usage of rtc session id for type consistency
Before this commit, mismatching types between String and Number would
cause inserts to register a change.

`rtc.js` used `rtcSession.peerToken`(String) and `rtcSession.id`(number)
interchangeably, this commit fixes this issue by favoring the usage
of `rtcSession.id` and `mail.RtcSession` when possible.

closes odoo/odoo#86580

Signed-off-by: Alexandre Kühn (aku) <aku@odoo.com>
2022-03-21 15:00:01 +01:00
Romain Derie 1df5ff685e [FIX] website: prevent click on readonly stat button
When clicking on readonly stat button (website related), it would
sometimes raise a traceback since there is no action to redirect to.

Step to reproduce:
- Go to Website > Visitors > Visitors
- Select a Visitor to enter its form view
- Now, either:
  A. Enter edit mode
  B. Enter edit mode and discard (or save)
- Click on stat button

This will raise a traceback, since the `disabled` property is now gone.
Indeed, the framework is adding/removing that attribute when entering
or leaving edit mode.
See disableButtons()/enableButtons()` called by
_setEditMode()/_onDiscard()/..`

Note:
- With the new framework/owl, there is no TB as the `disabled`
attribute is not removed anymore.
- In 14.0, there is no issue despite the `disabled` attributed being
removed.

Fixes #78500
Closes #80884

Courtesy of @odooaktiv

closes odoo/odoo#86552

X-original-commit: e8882fb745d140eb8d4385b7a1d0f754c78453ab
Signed-off-by: Romain Derie (rde) <rde@odoo.com>
2022-03-21 14:59:57 +01:00
Alexandre Kühn 10f3138d54 [IMP] mail: turn 'ThreadView/hasComposerThreadName' into field
Task-2793280

closes odoo/odoo#86469

Signed-off-by: Alexandre Kühn (aku) <aku@odoo.com>
2022-03-21 14:59:53 +01:00
Alexandre Kühn fa6d67f2bc [IMP] mail: turn 'ComposerView/hasFooter' into field
Task-2793280

closes odoo/odoo#86468

Signed-off-by: Alexandre Kühn (aku) <aku@odoo.com>
2022-03-21 14:59:50 +01:00
Didier (did) fc9e67bc6b [IMP] mail: move message unread counter to channel
The field could have been removed from thread since https://github.com/odoo/odoo/commit/88b8cd058713bfad2942f7e7434c34b6c1a6e7da

task-2746109

closes odoo/odoo#83765

Related: odoo/upgrade#3222
Signed-off-by: Sébastien Theys (seb) <seb@odoo.com>
2022-03-21 14:59:42 +01:00
Akim Juillerat 25fa0a3833 account: Keep partner_id from counterpart_vals if existing
In case an open balance needs to be created on a receivable or
payable account after reconciliation, but no partner was defined
on the statement line, we want to keep the partner from the
counterpart values that was identified through reference matching.

closes odoo/odoo#86752

X-original-commit: 8c4d6d362c096e9dc67562ecd7bad0ce08bc6697
Signed-off-by: Florian Gilbert <flg@odoo.com>
2022-03-21 14:01:17 +01:00
Bruno-brsy 8629eccb96 [FIX] phone_validation: new convention number for Ivory Coast
Step to reproduce:

- Install contacts
- create a new contact and set "Côte d'Ivoire" as country
- add a phone number like this one: (+225) 01 02 03 04 05
- try to send a sms to the number, it's says "(Invalid number)" instead
  of the number, so it's not possible to send the SMS

The Ivory Coast has a new standard for the phone number since the 31
January 2021, the phone number can have a length of ten digits. And we
use the library phonenumbers with the version 8.9.10 and 8.8.1 for the
runbot and the SaaS server, but it's quite old (the 8.9.10 is released
on Jul 12 2018). The library in version 8.12.29 resolve the issue, but
using the recommended installation method, we would not have this
version.

opw-2726582

closes odoo/odoo#86742

X-original-commit: 2f718cd78feeafb82b2d11a58e1a518a69d52c5e
Signed-off-by: Nicolas Lempereur (nle) <nle@odoo.com>
Signed-off-by: Bruno-brsy <brsy@odoo.com>
2022-03-21 14:01:13 +01:00
Alexandre Kühn bc80d3413e [IMP] mail: guard AttachmentViewerComponent
Task-2797754

closes odoo/odoo#86709

Signed-off-by: Sébastien Theys (seb) <seb@odoo.com>
2022-03-21 14:01:06 +01:00
stefanorigano (SRI) c9d58ecca4 [IMP] web,*: o_cursor_default utility-class
This commit is part of v16 overall restyle, task-2704984.

task-2797245

closes odoo/odoo#86626

Related: odoo/enterprise#25365
Signed-off-by: Pierre Paridans (app) <app@odoo.com>
2022-03-21 14:01:03 +01:00
Alexandre Kühn 00d595af76 [IMP] mail: turn 'MessageView/authorAvatarTitleText' into field
Task-2793280

closes odoo/odoo#86458

Signed-off-by: Alexandre Kühn (aku) <aku@odoo.com>
2022-03-21 14:00:56 +01:00
Alexandre Kühn d60f8e3293 [IMP] mail: turn 'Messaging/isNotificationBlocked' into field
Task-2793280

closes odoo/odoo#86453

Signed-off-by: Alexandre Kühn (aku) <aku@odoo.com>
2022-03-21 14:00:52 +01:00
Alexandre Kühn 5c5ef04aa3 [IMP] mail: turn 'Message/prettyBodyAsMarkup' to field
Task-2793280

closes odoo/odoo#86451

Signed-off-by: Alexandre Kühn (aku) <aku@odoo.com>
2022-03-21 14:00:48 +01:00
Alexandre Kühn d62e7d9af4 [IMP] turn "Message/datetime" into field
Task-2793280

closes odoo/odoo#86448

Signed-off-by: Alexandre Kühn (aku) <aku@odoo.com>
2022-03-21 14:00:44 +01:00
Alexandre Kühn 71775e32bb [IMP] mail: turn 'SuggestedRecipientInfo/dialogText' into field
Task-2793280

closes odoo/odoo#86440

Signed-off-by: Alexandre Kühn (aku) <aku@odoo.com>
2022-03-21 14:00:41 +01:00
Adrien Widart 0e7f90529e [FIX] sale_purchase: adapt POL description
When confirming a sale order, if a purchase order is generated, the
descriptions of the PO's lines won't be adapted to the vendor

To reproduce the issue:
1. Create a vendor V
2. Create a product P:
    - Type: Service
    - In Purchase, add a line L01:
        - Vendor: V
        - Vendor Product Name: Name01
        - Vendor Product Code: C01
    - Purchase Automatically: True
3. Create and Confirm a SO with 1 x P
4. Open the generated PO

Error: The description is incorrect (it's the standard name of P instead
of "[C01] Name01")

OPW-2777702

closes odoo/odoo#86256

closes odoo/odoo#86679

X-original-commit: 77a2ad4b81c54fe6a91f2be242345c9d2af10dc0
Signed-off-by: Tiffany Chang <tic@odoo.com>
Signed-off-by: Adrien Widart <awt@odoo.com>
2022-03-21 12:11:51 +01:00
Alexandre Kühn acd5c98c6e [IMP] mail: 'MessagingMenu/mobileNewMessageInputPlaceholder'
Task-2793280

closes odoo/odoo#86452

Signed-off-by: Alexandre Kühn (aku) <aku@odoo.com>
2022-03-21 12:11:47 +01:00
Vincent Larcin 0039c4a04e [MOV] account_sale_timesheet,sale_project_account: remove useless bridges
Since the sale module depends on the account module, the bridges account_sale_timesheet
and sale_project_account can be merged with sale_project.

This commit removes those bridges and merges them with sale_project.

Task-2772395

closes odoo/odoo#86045

Related: odoo/upgrade#3321
Signed-off-by: Laurent Stukkens (ltu) <ltu@odoo.com>
2022-03-21 12:11:43 +01:00
Alexandre Kühn 5a0ff3f499 [IMP] mail: turn 'ComposerView/hasThreadTyping' into field
Task-2793280

closes odoo/odoo#86457

Signed-off-by: Alexandre Kühn (aku) <aku@odoo.com>
2022-03-21 11:12:16 +01:00
Alexandre Kühn e15f00da76 [IMP] mail: turn 'Discuss/orderedMailboxes' into field
Task-2793280

closes odoo/odoo#86444

Signed-off-by: Alexandre Kühn (aku) <aku@odoo.com>
2022-03-21 11:12:12 +01:00
Arnold Moyaux 1c233c2f23 [FIX] mrp: quantity done on stock.move set as 0 when producing
To reproduce:
    1. create a BOM with analytic account
    2. create a MO to produce 10 of the above product
    3. change producing qty to 5, SAVE the form.
    4. change producing qty to 10, SAVE the form.

It happens because the server receive at the same time a new
`stock.move.line` creation and a quantity_done to write on the
`stock.move`.

closes odoo/odoo#86431

Signed-off-by: Arnold Moyaux <arm@odoo.com>
2022-03-21 11:12:08 +01:00
boan-odoo 33114b9007 [IMP] stock: resize prod. form view fields
Some fields in the inventory tab of the product
form view had their input widget needlessly stretched
to the maximum available size.

closes odoo/odoo#84056

Task: 2654703-9
Signed-off-by: Arnold Moyaux <arm@odoo.com>
2022-03-21 11:12:00 +01:00
boan-odoo 4a48d48364 [IMP] stock: show related products on duplicated barcode
Previously, product barcodes uniqueness was enforced
by a SQL constraint, resulting in a generic error message.

The SQL constraint has been replaced by a Python check,
which allows the listing of conflicting barcodes in the
error message, including those resulting from batch edits.

Task: 2654703-7
Part-of: odoo/odoo#84056
2022-03-21 11:12:00 +01:00
boan-odoo 03c959d83d [IMP] stock: recolor operations status badges
In various views, expand and harmonize the badge
colors for picking status (draft, assigned, done, ...).

Task: 2654703-4
Part-of: odoo/odoo#84056
2022-03-21 11:12:00 +01:00
boan-odoo 0d279449b1 [IMP] stock_picking_batch: add batch transfer column
In the "Reporting -> Product Moves" view,
add an optional "Batch Transfer" column (default: show).

Task: 2654703-2-3
Part-of: odoo/odoo#84056
2022-03-21 11:11:59 +01:00
boan-odoo 800501e679 [IMP] delivery: group product moves by carrier
In the "Reporting -> Product Moves" view,
allow grouping of products by carrier names.

Task: 2654703-2-2
Part-of: odoo/odoo#84056
2022-03-21 11:11:59 +01:00
boan-odoo 3d39cf16a5 [IMP] stock: group product moves by category
In the "Reporting -> Product Moves" view,
allow grouping of products by category names.

Task: 2654703-2-1
Part-of: odoo/odoo#84056
2022-03-21 11:11:59 +01:00
JF Aubert e85e8568b1 [FIX] mrp: fix bad workorder-move link
Workorder _action_confirm works in batch and is designed to
link workorders and moves per production.

Original code breaks the 'per production' constraint by linking
moves from all productions to workorders of the last one when
called on workorders from multiple productions.

closes odoo/odoo#86698

Task: 2797201
X-original-commit: b25f1e005987641a208de30162808005ad6e705a
Signed-off-by: Arnold Moyaux <arm@odoo.com>
2022-03-21 10:15:13 +01:00
Benoit Socias 79a8e4fe8f [FIX] web_editor: use valid properties for hovered custom outline button
Since [1] the CSS property reset for hovered outline buttons is using
invalid property values.

After this commit the color and image are only reset on non-hover:
- the `background-color` is already set to `none` by `.btn`,
- the `background-image` is only set if defined on the button's style -
there is no need to reset it.

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

task-2633169

closes odoo/odoo#86699

X-original-commit: 8530235bff30bfcad55cf39927f0733d30fe2eee
Signed-off-by: Quentin Smetz (qsm) <qsm@odoo.com>
2022-03-20 22:09:12 +01:00
dbkosky d40358639f [FIX] l10n_it_edi: Tax calculation fails edi constraint if tax price included
When using price included taxes, the xml contained data that failed to
meet the constraints of the edi. This is due to the local rounding on
the lines of the invoice.
For example:

	A product costing 321€, on two lines of the invoice, with
	a price included tax of 22%
	Rounded per line:
	float_round(
		321 - (321/122 * 100),
		2 # To two decimal places
	)
	evaluates to 57.89, the total tax will be 2 * 57.89 = 115.78

	In the case of global rounding
	float_round(
		321 + 321 - (321/122*100) - (321/122*100),
		2 # To two decimal places
	)
	evaluates to 115.77,

	so we have a difference of one cent.

This can be exacerbated by more lines.

The constraints on the EDI that this conflicts with are on the tax
summary section for each tax.
The constraints (roughly reworded):
00422:  The base taxable amount for the tax must be equal to the sum of
	the base product prices (for which we have already used the
	rounded computed values, calcuated in the invoice) +
	<Arrotondamento> (rounding).

00421:  The value provided for the <importo> that is the value of the
	vat is equal to the taxable base multiplied by the tax rate.

The problem is that because of our local roundings, the taxable base
is equal to our products, but the tax rate * taxable base is not equal
to the tax amount (as present in the invoice).

This commit adds to the rounding field and subtracts from the
taxable base of the tax summary a value rounding value that
should make tax rate * taxable base equal to the value of the vat.

closes odoo/odoo#86711

Task: 2789290
X-original-commit: def954e85e83e5be18c0a1805f0af20f8116bf3d
Signed-off-by: Josse Colpaert <jco@odoo.com>
2022-03-20 20:29:23 +01:00
Alexandre Kühn 00d356d54d [IMP] mail: add top-level guard on MessageComponent
Task-2793280

closes odoo/odoo#86696

Signed-off-by: Alexandre Kühn (aku) <aku@odoo.com>
2022-03-18 21:29:56 +01:00
Alexandre Kühn 9f7f8b7971 [IMP] mail: guard ActivityBoxComponent
Task-2797754

closes odoo/odoo#86702

Signed-off-by: Sébastien Theys (seb) <seb@odoo.com>
2022-03-18 20:40:48 +01:00
Alexandre Kühn 272292e4f6 [IMP] mail: guard ActivityComponent
Task-2797754

closes odoo/odoo#86701

Signed-off-by: Sébastien Theys (seb) <seb@odoo.com>
2022-03-18 20:40:44 +01:00
Gorash 816e2eb8a6 [FIX] base: do not duplicate spaces for t-foreach
The duplication was used to have a cleaner html page source code by
aligning the <script t-foreach/> for example. However, this behavior
seems difficult to understand and use. Additionally the behavior can be
done with a <t> tag and placing the script inside.

From now on, the space "trick" is only done for <t> tags, so the
template fragment

    <article t-foreach="[0, 1, 2]" t-as="value" t-esc="value"/>
    <t t-foreach="[0, 1, 2]" t-as="value">
        <article t-esc="value"/>
    </t>

renders as

    <article>0</article><article>1</article><article>2</article>
        <article>0</article>
        <article>1</article>
        <article>2</article>

closes odoo/odoo#86695

X-original-commit: 8f817790d3f36455c66647e79df40b7173ac498a
Signed-off-by: Raphael Collet <rco@odoo.com>
2022-03-18 20:40:41 +01:00
Raphael Collet f5ff26f42e [FIX] core: name_get() should return "" instead of False
Because of 4347491670, the method
name_get() can now return records with False as label, and this makes
code crash when it expects a string.  Make sure that name_get() always
return strings as labels, while keeping False as empty value for the
field 'display_name'.

closes odoo/odoo#86688

X-original-commit: ff37a2fef89df292b52b1501c28fcf841e1628f5
Signed-off-by: Raphael Collet <rco@odoo.com>
2022-03-18 19:50:10 +01:00
Laurent Stukkens (LTU) 7cac66187b [FIX] sale_project: use is_closed in domains instead of stage_id.fold
Before this commit:
- Two uses of `stage_id.fold` were remaining in the code of sale_project
  although `is_closed` is directly available in the model and is an
  indexed field.

After this commit:
- The use of `is_closed` will improve the code performance as the field
  is in the model and indexed.

closes odoo/odoo#86681

X-original-commit: ec98ba2c883e2d37352dba400f911532a6510a1c
Signed-off-by: Xavier <xbo@odoo.com>
Signed-off-by: Laurent Stukkens (ltu) <ltu@odoo.com>
2022-03-18 19:50:06 +01:00
stefanorigano (SRI) 804de0c7e6 [FIX] mail: o_Activity_userAvatar aspect-ratio
This commit fixes an issue causing the activity's avatar image to exceed
the available vertical space when in portrait mode.

The avatar's width/height are now fixed and its pic is set to cover the
available room only.

task-2795252

closes odoo/odoo#86583

X-original-commit: efbff4dae62c5c72541be96045cc96e3acf46628
Signed-off-by: Alexandre Kühn (aku) <aku@odoo.com>
Signed-off-by: Sébastien Theys (seb) <seb@odoo.com>
2022-03-18 18:59:44 +01:00