Commit Graph
140315 Commits
Author SHA1 Message Date
xO-Tx 86f0b53797 [IMP] website: update default theme tour
The goal of this commit is to update the default theme
tour (steps, changes on snippets...) as in other themes tours.

The url was changed in "registerThemeHomepageTour" function since
the homepage tours are supposed to start in edit mode.

task-2375011

closes odoo/odoo#63850

X-original-commit: b8b394f3824a1f07d76bed5f277b935f619dacbf
Signed-off-by: Jérémy Kersten (jke) <jke@openerp.com>
Signed-off-by: Quentin Smetz (qsm) <qsm@odoo.com>
2020-12-28 16:53:13 +00:00
Achraf (abz) fa5af20ba7 [FIX] odoo_tools/mail.py: Crash at html2plaintext if no tree
What are the steps to reproduce your issue ?

    1. Install website_blog
    2. Go to website and add a new blog post
    3. Remove the block content
    4. Save and go to Blog page

What is currently happening ?

    Crash:
    Template fallback
    An error occured while rendering the template website_blog.post_teaser

opw-241937

closes odoo/odoo#63844

X-original-commit: d9097c2b6244154ea64142b5e8fd31cfdd34e66e
Signed-off-by: Achraf <abz-odoo@users.noreply.github.com>
2020-12-28 16:03:40 +00:00
Benoit Socias 28f0853a2d [FIX] web_editor, test_website: will fix the deletion of custom snippets
This commit is a manual forward port of #62555. The tour test needed to
be adapted because the navigation flow is slightly different: upon
custom snippet creation, the editor page used to be saved and reloaded
in 14.0 but this is not the case anymore.

Before this commit the deletion of custom snippets failed because the
button click event got intercepted by the drag'n'drop mechanism.
The currentTarget of the event was used in an asynchronous call where it
had already been replaced by the jQuery's event bubbling mechanism when
invoking the other handler.

After this commit the deletion of custom snippets works again and a test
tour is introduced to make sure it does not get broken again

task-2405854

closes odoo/odoo#63108

X-original-commit: 4de0519d5b54634604e22b32d91a099695378088
Signed-off-by: Jérémy Kersten (jke) <jke@openerp.com>
Signed-off-by: Quentin Smetz (qsm) <qsm@odoo.com>
2020-12-10 08:28:14 +00:00
Antoine Vandevenne (anv) 5355ef5f92 [IMP] doc: add link to tutorial in client actions reference doc
The doc for client actions is currently too minimalistic to be of much
use. This commit adds a seealso linking to the related tutorial.

task-2423824

closes odoo/odoo#63830

X-original-commit: 386e57cf48298162cd4c3bedfa6eb83d6ba4f6bd
Signed-off-by: Victor Feyens (vfe) <vfe@odoo.com>
Signed-off-by: Antoine Vandevenne (anv) <AntoineVDV@users.noreply.github.com>
2020-12-28 13:09:45 +00:00
qsm-odoo d624a4f4f5 [FIX] web_editor: stop suggesting shapes for model-related images
Those kind of images use a specific route (/web_editor/shape/...) to
be fetched. While waiting for a more complete solution to maybe handle
them for model-related images, this commit only allows their use for
images in views and HTML fields.

closes odoo/odoo#63825

X-original-commit: dca6d7382e5d84997648952d442ad77df5d6ee82
Signed-off-by: Quentin Smetz (qsm) <qsm@odoo.com>
2020-12-28 11:54:19 +00:00
Wolfgang Taferner 1e6dce9d4e [FIX] account: onchange of product and uom should not use currency rounding
As the price_unit and the uom rounding can be more detailed than the currency/accounting rounding (2 decimals as a standard) to cut the number before subtotal is wrong.

closes odoo/odoo#63817

X-original-commit: 1b4005f50ac45b53a73e0b95cfb661e8ccf040cd
Signed-off-by: Nicolas Martinelli (nim) <nim@odoo.com>
2020-12-28 10:21:46 +00:00
nie a47143ed6e [FIX] coupon: public user cannot use promo code with edited rule
Steps:
- Install eCommerce
- Go to Website > Products > Promotion Programs
- Create a promotion program with a filter Based on Customers and a promotion code
- Save
- Edit the new program and clear the filter Based on Customers
- Save again
- Log out and go to the shop
- Add an article to your cart and click "View Cart"
- Click "I have a promo code"
- Apply the promo code you created earlier

Bug:
The promo code is not accepted.

Explanation:
When the filter Based on Customers is cleared, `[]` is written on the program rule. This makes the app search for a partner with id = 4 (Public User). Since this user is not active, the search returns no results and, therefore, forbids the user from using the promo code.
This works flawlessly when you create a promotion program with no filters as they are initialized with `NULL` and a `NULL` filter always returns `True`.

opw:2419796

closes odoo/odoo#63822

X-original-commit: d31a86cead03623c375f4162324a6d1872cad6a3
Signed-off-by: backspac <backspac@users.noreply.github.com>
2020-12-28 11:09:22 +00:00
Andrea Grazioso (agr-odoo) 2af6d498e7 [FIX] website_sale: Check last sale order ship address before use
1. Create a shipping address
2. Place a SO through backend, and choose that specific delivery
address.
3. Archive that address
4. Place an Order through the website

It is defaulting to the previously archived address, and not to the active one.

opw-2411438

closes odoo/odoo#63668

X-original-commit: 3963e5f6d133eb367e5b24976aa4aff1bdd5d066
Signed-off-by: agr-odoo <agr-odoo@users.noreply.github.com>
2020-12-21 18:33:53 +00:00
qsm-odoo e5572c317a [REV] web_editor, *: remove Jabberwock
*: barcodes, mail, mass_mailing, note, test_website, web, web_tour,
   website, website_blog, website_event, website_form, website_forum,
   website_mail_channel, website_mass_mailing, website_profile,
   website_sale, website_twitter, doc

New solutions are being investigated in master. For the moment, it seems
better to remove Jabberwock to unlock difficult forward-port between
14.0 and 14.1/master, until we decide what to do once and for all in
a later master. We may un-revert this later but that would be way easier
than reverting Jabberwock in a few months.

This was done as safely as possible by removing any commit related to
Jabberwock, then resolving conflicts, then reforcing commits from 14.0
that were hugely adapted for 14.1/master, then forcing the whole diff
over a rebased 14.1/master. The only possible miss (other than me making
a mistake) would be commits that were not forward-ported to 14.1 thanks
to Jabberwock handling the issue on its own (I know we had such commits
in website, which I manually included in this revert, see below).

For reference:

Commits which were reforced to their 14.0 version:
- https://github.com/odoo/odoo/commit/1a916fc2362c0b006460d94a219366ade1cce058
- https://github.com/odoo/odoo/commit/fd9e58a675bb7ec1bf97cb77b21b3c65369d51fe
- https://github.com/odoo/odoo/commit/bdfddace29b16404c06a7ebfc0cc242463a0e768
- https://github.com/odoo/odoo/commit/42b3ad10e0b32b7fc72f801e2c67d6baf938c566
- https://github.com/odoo/odoo/commit/710784da1f02d45cbe898da426ba7e2ac63dc711
- https://github.com/odoo/odoo/commit/597585c9b8b1350bcfd84e8433ea6c82060bcc3d
- https://github.com/odoo/odoo/commit/333a9124608ff655bd9ad5e63044a5cb7ef9c636

Commits that were not forward-ported to 14.1/master and now are:
- https://github.com/odoo/odoo/commit/55ff2d971b672dec5f103215be39101c88856b6c
- https://github.com/odoo/odoo/commit/ebbb3de1e5f363689a5ba1647bb4c26416e42d5b

+ Adapt this forward-port: https://github.com/odoo/odoo/pull/60976 (as
  it was simplified for non-stable master version relying to the
  Jabberwock implementation and now needed to be adapted to the
  summernote implementation).
  See `!$el.data('oe-expression') && $el.data('oe-xpath')`

+ Revert https://github.com/odoo/odoo/pull/60477 and reforce original
  14.0 fix https://github.com/odoo/odoo/commit/746bf53b4aecfc601f0581a948d7cb7153812c82

Note: this also means that any good refactoring that was done by the
Jabberwock-related commits is lost for now. Once the revert reaches
master, I'll try and restore what we want from those commits. Here
are their references (but obviously they have the opposite conflicts
than those resolved during this revert):

e766842a92b6 [REM] web_editor,website: empty summernote files
08c94c986e09 [REF] web_editor,web: adapt to new jabberwock editor
1546c1b74713 [REF] mass_mailing: adapt to new jabberwock editor
fd0b963c6028 [REF] website: adapt to new jabberwock editor
0113d05c6c94 [ADD] web_editor: add new Jabberwock editor lib
d0c88a396493 [FIX] web_editor: don't change background color out of the website editor
d52d3d67d4e1 [FIX] web_editor : better icon in text style dropdown
61cb2f0d21da [FIX] web_editor: should not ask if want to leave the page twice
c42012b863b5 [FIX] web_editor: trigger a resize when use the mobile preview
d934d05d6e39 [FIX] web_editor: need to build the snippet before commit it into vDom
495bea924745 [FIX] web_editor: remove box shadow on the #wrap container
bffb5612e689 [ADD] field_html: add resizer in most field_html
f3c94e40cccf [IMP] web_editor: update Jabberwock library to commit 41e4063
cc87dea3ef32 [FIX] web_editor: update header change position to work with JW
5d9b25f66704 [FIX] web_editor: do not insert chars around step icon on click
70d3f0e4630c [IMP] web_editor: update Jabberwock library to commit 0bd94881
a57f13891f82 [FIX] web_editor: open media modal in appropriate tab on dblclick media
5b7537397e08 [IMP] web_editor: update Jabberwock library to commit a7ba7c34
a8d7ec235eeb [FIX] web_editor: adapt iframe Qunit test to new editor
5f794eac7209 [FIX] mass_mailing: hide all panels on show themes
551d45641d19 [IMP] website: remove unused reference
10580e1c102f [IMP] wesbite: add comment in tour
c17049f6b764 [FIX] web_editor: Fix description toggle in pricelist snippet
18a428e854b1 [IMP] web_editor: update Jabberwock library to commit 43a10003
58a161c645a5 [REF] web_editor, website: use editor helper setClass
62dd0bd3bc66 [FIX] web_editor: properly deactivate snippets and reactivate the last
99eebcaa34cb [FIX] web_editor: disable snippet in preview mode on mouse leave options
a84216932958 [FIX] web_editor: fix the image gallery snippet
f8dd4ea3e7d5 [FIX] web_editor: fix shadow selector for Safari
e50a4f3a16de [IMP] web_editor: update Jabberwock library to commit de13ed7e
4a2718f7a5ba [FIX] web_editor: ensure dom is properly cleaned at end of save test
03684c004a4e [FIX] website: ensure reset of bg-image on add bg-video
d63397159708 [FIX] web_editor: fix image remove from images wall
82fa5142f1a5 [IMP] note: restyle note without sheet or resizer
8b9f1ce603d5 [FIX] web_editor: properly mock createWysiwygIntance (sic) in tests
fc2183b66305 [FIX] web_editor: image overlay did not update with changes
cd0d2f5791cd [FIX] web_editor: add color preview to color picker
28a168172454 [FIX] web_editor: restore removal of spinner
67c90dd3b946 [FIX] website_forum: properly initialize editor
920dfe2a430a [FIX] website_forum: better css in the JW toolbar
43f33fd651af [IMP] web_editor: update Jabberwock library to commit 6853b60
71246c92f8de [FIX] Web_editor: table options button should be inside the toolbar
12b9e5916692 [FIX] web_editor: properly update the image options on replace image
e889cf8583da [FIX] website, website_sale: properly save filter id of dynamic snippets
e0fd11e36e45 [IMP] web_editor: update Jabberwock library to commit 4b2c903b
8f2b7ba35614 [FIX] web_editor: properly stop snippet option changed event propagation
a30c2c4105c7 [FIX] website: fix megamenu snippet editor behavior
312091cf822b [FIX] web_editor: fix overlay that is not reappearing
9f1d03dda613 [FIX] web_editor: table picker not fully displayed
814ddada6124 [IMP] web_editor: remove message before leaving page if editor is destro
4f38e26af7da [FIX] web: allow saving copyright footer
01e947b6123b [FIX] web_editor: only save translations that changed
103676072c50 [FIX] web_editor: prevent traceback on open crop dialog
5844ff66d4a0 [FIX] web_editor: apply image crop in jw on save dialog
1b435652e4a0 [FIX] website_forum: ensure media modal opens on click button
4f4a6ca0b8ac [FIX] web_editor: ensure valid default html value
51e22026ac7b [IMP] web_editor: update Jabberwock library to commit ab1184f8
2413fa19be0e [FIX] web_editor: Qunit test properly wait for editor stop
aa89e1ea3e97 [FIX] web_editor: properly save view blocks with an id
e2e90b53992e [FIX] web_editor: ensure language selector is non editable
0efd72089d5c [IMP] web_editor: clean useless lines
f54dfc7631f9 [IMP] web_editor: remove useless comment
3995ab1b84f2 [IMP] web_editor: update Jabberwock library to commit b8d73691
0834b1e5740a [IMP] web_editor: withDomMutations
f1459fb7b45c [FIX] web_editor: fix non-deterministic error in QUnit wysiwyg tests
6e8acc6c8cc7 [IMP] web_editor: update Jabberwock library to commit 3bbb175c
18a0c95d51cb [FIX] website, web_editor: #wrapwrap in body
4686a92e742c [FIX] website_form: allow edition of success message
78cc4da075cc [FIX] web_editor: allow edition of branded nodes only
bcffa7353448 [FIX] web: dialog should not use field value footer items
67ff56e14746 [FIX] web_editor,website_mass_mailing: display the popup preview
3cb9bea50c20 [IMP] web_editor: update Jabberwock library to commit a20492ea
518f03e6f1c9 [FIX] web_editor: use withIntangibles to find ZoneNode
d0ad6a568f49 [FIX] website: move sidebar out of theme
d690f5da13ea [FIX] website: properly save popup id
43b3433df3e6 [FIX] web_editor: fix non-deterministic error in QUnit wysiwyg tests
4ee8f4dedc30 [FIX] web_editor: prevent deadlock when removing child snippet of popup
850be198ef6d [FIX] web_editor: prevent traceback on reposition background image
4c3eaba41f5d [FIX] mass_mailing: adapt tour to the new editor design.
496d3ea272ed [FIX] web_editor: properly position sidebar scrollbar
5be4de703074 [FIX] web_editor: Show the toolbar when select the text in forum edition

closes odoo/odoo#63768

Related: odoo/enterprise#15458
Signed-off-by: Quentin Smetz (qsm) <qsm@odoo.com>
2020-12-24 13:36:49 +00:00
Adrien Widart d4eeb23397 [FIX] account: list all credit note methods
When adding a credit note, the user can only select the "Partial
Refund" credit method.

To reproduce the error:
1. Go to Invoicing
2. Create a new one
	- Add at least one invoice line
3. Save, Confirm
4. Click on "Add Credit Note"

=> You can not change the credit method.

The method field is editable only when the residual amount is different
from 0. Here is the issue: when clicking on "Add Credit Note", it
actually triggers some `onchange` methods. The latter uses a new record
to compute the values:
https://github.com/odoo/odoo/blob/45422d56bce413b8577f1784e10dd22ede93c751/odoo/models.py#L6147-L6148
Then, some `_compute` methods are also triggered. Among them, the amount
residual computation of the associated `account_move_line`. However,
`_compute_amount_residual` will skip the not-yet-created objects and set
the amount residual to 0. This is the reason why the residual amount of
the account move is zero and therefore, the user can't change the credit
method.

OPW-2418582

closes odoo/odoo#63780

X-original-commit: 13e33fdd9722a7022d56538ab69dda0200b3aaa2
Signed-off-by: Adrien Widart <adwid@users.noreply.github.com>
2020-12-24 13:47:21 +00:00
Pierre Paridans ad74a829df [FIX] web: prevent crash on image resize/crop
When attempting to resize or crop an attachment through the '/web/image'
route, if the attachment isn't actually an image (even if the record's
mimetype says so) or doesn't match one of the format supported by PIL
(Python Imaging Library) - like Apple's HEIF -  the request crashes with
a "500 Internal Error".

Although it makes sense to return a response with an HTTP error code, a
more sensible approach would be to return a "404 Not Found" response
instead.

The point by handling the Exception thrown by PIL and returning a 404
status code is to more closely match the semantic of this HTTP status
code. Getting a resized version of a non-image doesn't really make sense
as this resource doesn't exist at all ; hence the "404 Not Found"
response. On the other hand returning a "500 Internal Error" would
denote that a legitimate request failed on the server side, which is not
the case here.

Note: this difference of semantic, even if only visible in a regular
browser, has its importance in the mobile apps because we use it to
given a meaningful feedback to the user in case if failed HTTP requests.

Note: the mimetype detection could be improved to ease the handling of
this kind of errors but would require too much changes to be done in
stable branch.

Steps to reproduce in Discuss:
- rename an HEIF file with a ".jpeg" extension
- upload it in a chat window
=> the thumbnail in the chat window throws an HTTP error 500

opw-2417172

closes odoo/odoo#63772

X-original-commit: 873bc2aa5a8fcfc0664fc5ca70f789911873d583
Related: odoo/enterprise#15462
Signed-off-by: Pierre Paridans <pparidans@users.noreply.github.com>
Signed-off-by: Adrien Dieudonné (adr) <adr@odoo.com>
2020-12-24 09:58:17 +00:00
Rémy Voet (ryv) cdf2d5441c [FIX] stock: improve perf of _compute_has_packages of stock.picking
Use read_group instead of search count to batch the compute.

opw-2371161

closes odoo/odoo#63754

X-original-commit: b82d8a8456085ab700ef1ce1df4052fa6cefd7e0
Signed-off-by: Arnold Moyaux <amoyaux@users.noreply.github.com>
Signed-off-by: Rémy Voet <ryv-odoo@users.noreply.github.com>
2020-12-23 16:08:02 +00:00
Rémy Voet (ryv) c58865901f [FIX] stock: avoid flush all env in quants update
About this commit 8e7c0e544a8d3d18c57634750ee7ea03052c84b1

We need to manually invalidate the cache (of the quant) if a error
(other than concurrent ones) is raise from the write. Because
we can't know what the `write` has already put in the cache (e.g.
`write_uid`), we need invalidate it.

opw-2371161

X-original-commit: 7d75745267dada371d421ec93d50fb10b0006457
2020-12-23 16:08:01 +00:00
Rémy Voet (ryv) d5ea45c06e [FIX] stock: add index on lot_id of stock.quant
For validate 5K stock move line with SN:
Without index: 200 sec of SQL execution
With index: 15 of SQL execution

opw-2374846

X-original-commit: 21d7afca292f4c213d1fcfb4a31e0b7157eb941c
2020-12-23 16:08:01 +00:00
Rémy Voet (ryv) f21362ff2c [FIX] stock: _action_done with OrderedSet for scalability
Make more scalable the `_action_done` by replacing
recordset/union by OrderedSet/add.
Also add `limit=1` in the lot search.

opw-2374846

X-original-commit: ffe9f204474de832514ab6464947c607a4c92282
2020-12-23 16:08:01 +00:00
Rémy Voet (ryv) 55bf82880c [FIX] stock_account: fix performance of _get_in_move_lines
A `stock.move` can contain thousands of `move_line_ids` (when tracked
by SN). The union of recordset (`|=`) doesn't scale well due
to the N² complexity (for 10000 SML to validate,
). Replace recordset union
by `OrderedSet` of ids + browse (linear complexity).

Before for 10000 SML to validate:
- the `_get_in_move_lines` take 14% time in the pyflame
After in the same condition:
- the `_get_in_move_lines` isn't present anymore in the pyflame

opw-2347525

X-original-commit: 0acbf6f961e4e946c9e487343ad2cc0129400b7f
2020-12-23 16:07:59 +00:00
Daniel Blanco 08a7e0f38f [FIX] l10n_cl: exclude vendor bills from last sequence domain
closes odoo/odoo#63758

X-original-commit: 13b6550616a3d99643b0b3de3d75f4714fd9d2f2
Signed-off-by: Josse Colpaert <jco@openerp.com>
2020-12-23 18:13:20 +00:00
ijas ahammed 5e59ced9ca [IMP] website_slides: separate backend tags from frontend tags
Backend tags are generally used internally for classification or daily
process. Frontend tags are used for filtering and menu definitions. These
two type of tags are not managed separately in eLearning channels right now.

This commit separates backend and frontend tags using the color field.
Along with that, it improves the following :

Frontend

 - only displays channel tags that has color set;
 - avoids showing void tag group / menu (without any frontend tags);

Backend

 - prevents access of the backend tags for portal/public users with a
   record rule (similar to online events);
 - adds 'Tags (tag_ids)' field in the list view of 'Course Groups' that
   shows all the tags (frontend as well as backend);
 - hides the colorless tags in slide channel kanban;
 - improves the form view for course channel tags;

Frontend and Backend

 - adds a default color value while creating a new channel tag

Task ID-2357942
PR odoo/odoo#62138

Signed-off-by: Thibault Delavallee (tde) <tde@openerp.com>
2020-12-23 14:49:28 +00:00
Odoo's Mergebot 877d1ab20f [FW][MERGE] mail: forward port various leftover fixes and improve tests
PURPOSE

All fixes and last improvements are not correctly forward ported in 14.1 and master.
Let us clean and forward everything.

Channel tests are partially cleaned and improved, notably to add test users and
improve code readability.

Manual forward port of odoo/odoo@eda542
Manual forward port of odoo/odoo@340f6ba
Contain some additional fixes.

See sub commits for more details.

LINKS

Task ID-2421795
COM PR odoo/odoo#63677

closes odoo/odoo#63747

Forward-port-of: odoo/odoo#63677
Signed-off-by: Thibault Delavallee (tde) <tde@openerp.com>
2020-12-23 16:45:58 +01:00
Debauche Stéphane c7be144d58 [FIX] mail: make the current user member of the created channel
Forward port fixes done in stable versions and not correclty forward ported
into master at merge time.

ORIGINAL COMMIT

Purpose
=======
Before, by default, if a user create a channel, he will not be member
of this channel.

After, the current user will always be member of the new channel.

LINKS

Task ID-2421795
COM PR odoo/odoo#63677
X-Original-commit odoo/odoo@eda542c82f
X-Original-Task ID-1963414

X-original-commit: 1d5d7871d72c8b747ab2e1b3597f6b8b8e371b26
2020-12-23 15:16:15 +00:00
Thibault Delavallée c4879edbdd [FIX] mail: fix is_chat compute method and triggers
SPECIFICATIONS

is_chat triggers are missing and default value should not be defined on a
computed field.

LINKS

Task ID-2421795
COM PR odoo/odoo#63677

X-original-commit: ff4a0ec9042ad43bb8781ed60b880d3c53f5063d
2020-12-23 15:16:14 +00:00
Thibault Delavallée e9571a403e [IMP] mail: rewrite channel tests
Improve channel related test content, notably

  * use more often real users to avoid doing all tests as admin;
  * remove unnecessary variables creation, use content created during
    setUp;
  * improve overall code;
  * remove join/leave channel custom tool method and add real methods on
    channel model;

Moderation tests are left untouched because... well.

LINKS

Task ID-2421795
COM PR odoo/odoo#63677

X-original-commit: 19de1303d015613973115cc01941ae8ca0e82cec
2020-12-23 15:16:13 +00:00
Thibault Delavallée 620b9e24de [MOV] (test_)mail: move channel tests into mail
SPECIFICATIONS

Move channel tests from test_mail directly into mail module. Those tests do
not use models specifically introduced in test_mail. As those tests do not
target mail.thread features but rather mail models they can be moved into mail
directly.

LINKS

Task ID-2421795
COM PR odoo/odoo#63677

X-original-commit: 8c044735e8e30a80f85bd670eb61daba7645f62c
2020-12-23 15:16:13 +00:00
Xavier Morel b25b89b1c7 [FIX] mail: don't self-notify
Forward port fixes done in stable versions and not correclty forward ported
into master at merge time.

LINKS

Task ID-2421795
PR odoo/odoo#63677

X-Original-commit odoo/odoo@340f6baf61
X-Original-Task ID-2348333

X-original-commit: 6c1ed107d9d4144ba078ae0216cf8dcdf02d8a7f
2020-12-23 15:16:12 +00:00
Thibault Delavallée 42b8a15e5e [FIX][IMP] test: improve usage of new_test_user tool
Allow a False email as valid valid. Generate an email only if not given but
keep void values.

Ensure company_id / company_ids match, notably to ease creation of users
in a multi company test environment.

LINKS

Task ID-2421795
COM PR odoo/odoo#63677

X-original-commit: 21999058800957a08c5e129c527afe6b84812a8a
2020-12-23 15:16:12 +00:00
Thibault Delavallée b6008e7c5c [IMP] base: add details when failing to validate user company at creation
Display names of user, company_id and company_ids in order to better
understand what is failing. Otherwise a generic message does not really
help understanding the actual issue.

Add translation of new constraint. Also add translations of new modules
added recently.

LINKS

Task ID-2421795
COM PR odoo/odoo#63677

X-original-commit: 15d47bec4a6316dd6a873973572273c913801330
2020-12-23 15:16:10 +00:00
Thanh Dodeur 418934c476 [FIX] mail: adapt mail notification
Before this commit, some notifications in mail were not following the
changes made in odoo/odoo#52826 .

task-2278579

closes odoo/odoo#63741

X-original-commit: eabab5f20fe3ba79b3117b83af5c62453edc84a4
Signed-off-by: Alexandre Kühn (aku) <aku@odoo.com>
2020-12-23 13:03:40 +00:00
Goffin Simon 86df36aefa [FIX] sale_timesheet: Record rule not updated
Steps to reproduce the bug:

- Install Accounting, Sales, Project and Timesheet apps
- Enable Analytic accounting in Accounting settings
- Uninstall Timesheet app

Bug:

The domain_force of was account.analytic.line.billing.user still equal to
[('project_id', '=', False)] but the field project_id didn't exist
on model account_analytic_line.

opw:2420177

closes odoo/odoo#63734

X-original-commit: 8d658abc9c60149b0ac63772cdb76dcbd8080cde
Signed-off-by: Simon Goffin (sig) <sig@openerp.com>
2020-12-23 11:15:32 +00:00
Thibault Delavallée d7714a75e7 [FW][FIX] mail: warn about invalid invite instead of crashing …
When inviting people to a group-based channel an error may be raised if
invite target users not having the right group. Indeed they do not have
access to the channel as read access it not given if not belonging to
the channel group.

We add an UserError so that wrong invites are now pompted to the user
instead of crashing.

Task ID-2411038

X-Original-Commit e4889fb (12)
X-Original-Commit 0c6abe3 (12.3)
Forward port of #63676
Forward port of #63680

closes odoo/odoo#63726

X-original-commit: 57d2af357178e27da30bccebb93d36ecb70854c5
Signed-off-by: Thibault Delavallee (tde) <tde@openerp.com>
2020-12-23 09:53:50 +00:00
Mohammed Shekha a58699cb87 [IMP] web: close confirm dialog if unlink raises error
before this commit: deleting records from listview shows confirm dialog, if unlink
method throws UserError then there will be two dialog, closing UserError dialog and
clicking on OK button in confirm dialog will again call unlink method which will
open UserError dialog again, when error thwon from unlink error then confirm dialog
should close.

after this commit: if error is thrown from unlink and confirm dialog is opened then
cofirm dialog will close first and then error dialog will be shown, this is done to
avoid situation explained above.

task-2221075

closes odoo/odoo#60265

Signed-off-by: Aaron Bohy (aab) <aab@odoo.com>
2020-12-22 09:38:49 +00:00
nie de0d05b6a6 [FIX] website: gallery cover img inside anchor is not well placed
Steps:
- Go to "Website" > "Go to Website"
- Click Edit
- Add an image gallery
- Add an image to the gallery
- Add the same image to the gallery
- Click the first image
- Click "Image Cover" in the side panel
- Click on the Link button in the bottom-right of the side panel
- Add a link and save

Bug:
The first image is not displayed in the same way as the second one.

Explanation:
The layout is not carried over to `img` when it's nested into an `a` tag. Redefining the layout on the `a` tag fixes the issue.

opw:2394953

closes odoo/odoo#63699

X-original-commit: b34d27449920cfd683223969fd9d24a19e715d04
Signed-off-by: Nicolas Lempereur (nle) <nle@odoo.com>
Signed-off-by: backspac <backspac@users.noreply.github.com>
2020-12-22 15:03:08 +00:00
fw-bot 0a8f4b6cda Purpose
=======

This PR is in the continuity of odoo#62360.

- Display remaining hours in task sales_line_id (name_get + task form view)
- Remove internal reference from services demo data
- Display sol in project timesheets list if project is billable
- Remove use of non_allow_billable in timesheets as it has been removed from project and task in previous PR (see above)
- Only recompute planned_hours for service product
- Determine the correct SOL for timesheet
- Set the last SOL of customer on timesheet if none is set on task or project
- Allow edition of so_line in timesheet
- Restrict SOL on project to sale lines with a service product
- Use same widget on partner_id many2One than in sale.order (using ranking)
- Remove timesheets table in SO and invoice portal.They were added in previous PR (see above). This introduces the use of links to /my/timesheets/.
- Review portal timesheets (my/timesheets/ and link from orders and invoices)
- Activate group_uom "Units of Measure" on sale_timesheet install
- Hide partner phone number in task form view
- Only determine SOL of task and timesheet if allow_billable=True
- Filter SOL in task so that it matches the SOL of the project SO
- Display red label if remaining hours is negative
- Change SO compute behavior
- Only open SO for salesman on project overview

task-2409761

--
I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr

closes odoo/odoo#63695

Forward-port-of: #62900
X-original-commit: b1985773f3a67e28049f9e2bb635bcab059ad9c0
Related: odoo/enterprise#15427
Signed-off-by: Yannick Tivisse (yti) <yti@odoo.com>
2020-12-22 13:40:28 +00:00
Nicolas Lempereur fef9634dfb [FIX] web: show warning on create onchange
When you create a new record, you will have in this order:

- default_get
- onchange (can trigger a warning)
- _pushController => close all dialogs since ea2207afea

This is an issue since the possible warning is directly hidden to the
user.

Without the change, the added test failed with:

 Warning modal should be opened
 "executing a window action with onchange warning do not hide it":
 Found 0 elements to click on, instead of 1

opw-2342273
opw-2374051
closes #61732

closes odoo/odoo#63415

X-original-commit: ff61ab121e3fb3c0c9b269c0dc9a65b3f1c8e664
Signed-off-by: Nicolas Lempereur (nle) <nle@odoo.com>
2020-12-15 18:21:14 +00:00
Aurélien Warnon 9622ffe442 [FIX] event: make ticket sale start date inclusive
This commit fixes the ticket sale start date to be considered inclusive.

Indeed, before this commit, if the sales of a ticket starts on the 1st of
December, people arriving on the website at that exact date will NOT be able to
buy tickets although they should be. They will have to wait for the next day to
be able to buy tickets.

A small test was added to ensure this behavior.

Task 2415917

closes odoo/odoo#63685

X-original-commit: ea6952fd7ec881b79a7294c40427ce9966997e66
Signed-off-by: Thibault Delavallee (tde) <tde@openerp.com>
2020-12-22 12:01:05 +00:00
Mohammed Shekha 5e6fd455b1 [IMP] web: export: change field sorting icon to fa-sort
task-2413274

closes odoo/odoo#62998

Related: odoo/enterprise#15215
Signed-off-by: Aaron Bohy (aab) <aab@odoo.com>
2020-12-22 11:21:03 +00:00
Mohammed Shekha e3be9d183f [IMP] web: editable list: change handle icon to fa-sort
task-2413274
2020-12-22 11:21:03 +00:00
Mohammed Shekha 905ea9bdc6 [FIX] hr_expense: scrollbar in list and kanban
In the expense list and kanban views, there is always a vertical
scrollbar. This is due to the presence of a custom statusbar
displayed above the view. This commit overrides the 'height: 100%'
and 'min-height: 100%' rules set on those views to remove the
scrollbar.

task-2334044

closes odoo/odoo#63681

X-original-commit: d544e584c38f27f8a43f8939d51118f6bf2e0bdc
Signed-off-by: Aaron Bohy (aab) <aab@odoo.com>
2020-12-22 10:50:26 +00:00
Aurélien Warnon 2a27fb5a2a [FIX] website_crm_partner_assign: fix opportunities portal page without currency
When you remove the 'company_id' on a crm.lead, you also remove the computed
'company_currency'.
When trying to view this kind of leads in the website_crm_partner_assign portal
page, it would raise an error while trying to display the planned_revenue in
the missing currency.

Now, we display the number without any currency sign, which is a "best effort"
solution, just the same as on the crm.lead form view.
So it will look like "9000 at 47%" instead of "$9000 at 47%".

Task 2416841

closes odoo/odoo#63657

X-original-commit: aafbde0b72347b348a7a5a59c934f063247ba4de
Signed-off-by: awa-odoo <awa-odoo@users.noreply.github.com>
Signed-off-by: Thibault Delavallee (tde) <tde@openerp.com>
2020-12-21 16:16:43 +00:00
Adrien Widart 41613de6ca [FIX] stock: no backorder if added on delivery page
In the Barcode app, if the user is on a delivery order, adds a product
and then decreases the product's quantity, when validating the order,
the backorder window is displayed.

To reproduce the error:
(Need sale_management,stock_barcode)
1. Go to Sales
2. Create a SO
	- Add one Product P
3. Save, Confirm
4. Check the generated delivery reference R
4. Go to Barcode > Operations > Delivery Orders > R
5. Complete the P's quantity
6. Add Product
	- Select a Product P_extra
	- Set a quantity (e.g., 1)
7. Confirm
8. Edit the P_extra's line
	- Decrease the quantity (e.g., 0)
9. Confirm
10. Validate

=> A window is displayed so the user can create a backorder for the
missing P_extra. Since the SO does not contains any P_extra, proposing
to create a backorder does not make sense.

When adding an extra product to the delivery, it creates a stock move
line with the `product_uom_qty` set to 0. Since there isn't any stock
move associated, it also creates a new one. Here is the issue: the
`product_uom_qty` of the stock move is defined thanks to the `qty_done`
of the extra product. Later, when validating the delivery, the server
uses the `product_uom_qty` of the stock move to check if a backorder is
needed. This the reason why, if the user decreased the quantity, the
backorder proposition is displayed: the `qty_done` is less than the
`product_uom_qty`.

OPW-2411461

closes odoo/odoo#63664

X-original-commit: f5c0990c6af2f44f503de1cc50cc5b094e31976a
Signed-off-by: adwid <adwid@users.noreply.github.com>
2020-12-21 17:48:52 +00:00
Adrien Widart 2f93435642 [FIX] account: cascade delete of reconcile lines
When deleting an `account_reconcile_model`, it does not delete the
corresponding `account_reconcile_model_line`. Moreover, this may prevent
the user from using the l10n_de_skr04 module.

To reproduce the error:
(Use demo data)
1. Go to Apps
2. Install "Germany SKR04 - Accounting"
3. Change the company
	- Select "DE03 Company"
4. Go to Settings > Invoicing > Fiscal Localization
5. Change the package
	- Select "Deutscher Kontenplan SKR04"
6. Save

=> A validation error is displayed: "The operation cannot be completed:
another model requires the record being deleted[...]".

When changing for SKR04, the module's installation first deletes some
models, among them: `account_reconcile_model` and later `account_tax`. The
validation error appears on `account_tax` deletion. Since version 14, an
`account_reconcile_model` is composed of `account_reconcile_model_line`
and the latter is linked to `account_tax` (with `ondelete='restrict'`).
Here is the issue: when deleting the `account_reconcile_model` model,
the corresponding lines are not deleted. As a result: later, when trying
to delete all the `account_tax`, since some `account_reconcile_model_line`
are still present in database, it triggers the `ondelete='restrict'`
constraint.

OPW-2416066

closes odoo/odoo#63649

X-original-commit: 8c9a038c6527f06b680d6346ba5569fedce4794d
Signed-off-by: adwid <adwid@users.noreply.github.com>
2020-12-21 14:42:49 +00:00
Raphael Collet dcc2a7e39d [FIX] core: first onchange should always compute fields
When a form view is opened, the first call to `onchange` should always
compute fields, even if their dependencies have no default value.  Make
sure it is the case for main records, and for records inside one2many
fields.  The latter case was actually not working as expected.

closes odoo/odoo#63646

X-original-commit: 45422d56bce413b8577f1784e10dd22ede93c751
Signed-off-by: Raphael Collet (rco) <rco@openerp.com>
2020-12-21 13:55:20 +00:00
Mohammed ShekhaandKamesh Patel 81f2bc7b0a [FIX] web: SampleServer: round float values
before this commit: when field is float type it display too much decimal
precision value, it should be fixed to 2 precision for sample data.

after this commit: float field will display 2 decimal precision value.

task-2318503

closes odoo/odoo#63643

X-original-commit: 61f8ced67992b20edfac139c749ec00939f408a3
Signed-off-by: Aaron Bohy (aab) <aab@odoo.com>
Co-authored-by: Kamesh Patel <kat@odoo.com>
2020-12-21 13:03:22 +00:00
Prakash PrajapatiandAaron Bohy b9c5ae27bb [FIX] web: kanban: reload kanban image
Before this commit, if the image changed from the form view, it
wasn't updated when coming back to the kanban view (one must
refresh the page).

This commit makes this work by automatically adding the field
'__last_update' to the list of fields to read when there is an
image with kanban_image src in the template.

closes odoo/odoo#58313

Taskid: 2341493
Signed-off-by: Aaron Bohy (aab) <aab@odoo.com>
Co-authored-by: Aaron Bohy <aab@odoo.com>
2020-12-21 12:45:29 +00:00
Ivan Yelizariev 7411403f97 [FIX] portal: show default lang in selector when lang is not found
STEPS:
* install project, website
* install translation, but don't apply to website
* create a task with Customer that has that language
* close the task
* open rating request message in ``Settings >> Technical >> Messages``
* click any of the smiles

BEFORE:

Error to render compiling AST
IndexError: list index out of range
Template: portal.language_selector
Path: /t/t[1]
Node: <t t-set="active_lang" t-value="list(filter(lambda lg : lg[0] == lang,
languages))[0]"/>

AFTER:
no errors, page is translated to customer's language, though language selector
shows default website's language

---

opw-2416586

closes odoo/odoo#63640

X-original-commit: e9ef98410fa6acba165f3056d9c52f8e68cc768b
Signed-off-by: Ivan Yelizariev // IEL <yelizariev@users.noreply.github.com>
2020-12-21 12:18:27 +00:00
Rémy Voet (ryv) 6e864e9e0a [FIX] purchase_stock: RFQ update date_planned from portal
In case of RFQ with the "Ask confirmation X day(s) before" set,
the email send to the vendor give a link where he (portal user)
can change the date_planned of PO lines. But
the change wasn't done in the server side because the
`_update_date_planned` (of stock_purchase) doesn't call super if
there isn't a linked move (none in case of RFQ).
Call super also in case there isn't any moves.

close #59040

closes odoo/odoo#63629

X-original-commit: b29ac84fd55923abf582cdee39cb32bacda3eec9
Signed-off-by: Arnold Moyaux <amoyaux@users.noreply.github.com>
Signed-off-by: Rémy Voet <ryv-odoo@users.noreply.github.com>
2020-12-21 10:32:35 +00:00
Alpesh Valaki 315a598fe5 [IMP] account: type on docstring
fix typo on docstring of _get_last_sequence method

closes odoo/odoo#63619

Signed-off-by: Martin Trigaux (mat) <mat@odoo.com>
2020-12-21 10:24:18 +00:00
Anjali ecad945ef8 [FIX] crm: add missing default values for partner during quick create
This commit adds few missing default values for some of the partner
fields while we create partner on the fly with quick create kanban
card of lead. Below are the fields that we added

 * name
 * is_company
 * company_name
 * phone
 * email

Task ID-2409462

closes odoo/odoo#63622

X-original-commit: 5b3290b0869e3954ff1606ad0ca0a35cfd948698
Signed-off-by: Thibault Delavallee (tde) <tde@openerp.com>
2020-12-21 09:45:36 +00:00
Aaron Bohy f27ae85686 [FIX] website: dashboard: mounted called twice
Before this commit, the 'mounted' method of the ControlPanel in
the website dashboard was called twice, when entering the dashboard.

It happened because the dashboard updated the ControlPanel before
being actually mounted, so mounted was called once when the
dashboard was mounted, and once when the update was applied.

Ideally, this should not be an issue (this isn't an issue with owl).
However, in Odoo, we mix layers of Owl Components and legacy
widgets. In these situations, the above scenario isn't properly
handled (and can't be).

As a consequence, in mobile (enterprise), it crashed because an
handler bound in mounted (thus twice) was only unbound once.

This commit avoids the issue by correctly setting the control
panel props before rendering it (the update was actually useless).

opw~2417307

closes odoo/odoo#63621

X-original-commit: 623a861877014b57627473b9cc5200bafcbe2521
Signed-off-by: Bruno Boi <brboi@users.noreply.github.com>
Signed-off-by: Aaron Bohy (aab) <aab@odoo.com>
2020-12-21 09:38:54 +00:00
Mohammed Shekha f7ddf3398c [FIX] base_import,web: remove Import from m2x dialogs
Before this commit, the "Import" button was available in the
favorite menus of dialogs opened from many2one and many2many field
widgets. It makes no sense from those dialogs.

Task 2376279

closes odoo/odoo#62079

Signed-off-by: Aaron Bohy (aab) <aab@odoo.com>
2020-12-21 08:45:57 +00:00
Andrea Grazioso (agr-odoo) e7c92594f0 [FIX] microsoft_calendar: fix recurrence event creation
Create an event as follows:

- Recurrent
- Repeat every 1 Months
- Until End date <far in future>
- Day of Month Day of Month First Monday

An exception will raise

opw-2412598

closes odoo/odoo#63601

X-original-commit: 4cb599f694eecd2a3c96ed25a055f0b9030a5864
Signed-off-by: agr-odoo <agr-odoo@users.noreply.github.com>
2020-12-18 17:40:10 +00:00