Commit Graph
137587 Commits
Author SHA1 Message Date
Patrick Hoste eff40d3c7d [IMP] website_profile: minor changes about karma rank display and forum questions
PURPOSE

Overall improve profile related parts of eLearning user experience.

SPECIFICATIONS

Improve display and the text about the karma gain/rank
- remove the double quotes around the rank
- change the text after the xp gained in rank list
- rename Monthly / Weekly gains to this month / this week

Improve the margin between questions and questions categories
- set same margin between questions in different categories

LINKS

Task ID-2241513
PR #55698
2020-08-11 10:20:39 +00:00
Patrick Hoste 414329dcf1 [IMP] portal_rating: allow to tweak popup composer button display
PURPOSE

Change the display of the button to open the composer from btn-primary to
btn-link.

SPECIFICATIONS

In order to ease integration of popup composer rating widget, let us allow
to customize classes given to the button triggering it. In slides we want
specifically it to be a link, not a button.

LINKS

Task ID-2241513
PR #55698
2020-08-11 10:20:04 +00:00
Goffin Simon 923c1eae5e [FIX] survey: 403 Forbidden when printing survey
Steps to reproduce the bug:

- Let's consider a survey S
- Set the scoring option of S to Scoring without answers at the end
- print S

Bug:

A 403 error was raised.

opw:2307495

closes odoo/odoo#55556

X-original-commit: bb627bf8c182905adcf2bf9d9820c6e91dd44d26
Signed-off-by: Simon Goffin (sig) <sig@openerp.com>
2020-08-06 12:34:14 +00:00
hoangtrann 56523599e5 [CLA] signature for Hoang Tran
closes odoo/odoo#55738

X-original-commit: d83607a716744eee279b04c1d6771c8aed308e67
Signed-off-by: Martin Trigaux (mat) <mat@odoo.com>
2020-08-11 10:31:12 +00:00
Goffin Simon a2f7244fc7 [FIX] account: Tax 0% displayed as a tax group on Invoice
Steps to reproduce:

- Let's consider a sale tax T of 0% with Tax group Tax 0%
- Create an customer invoice I with one line L of 100€
- Set T on L
- Print the invoice without payment

Bug:

The tax T was displayed as a group with "Taxes on 100€" instead
of Tax 0%.

opw:2268926

closes odoo/odoo#55731

X-original-commit: 3e0defe37ef8d2081e72290d701738e1ab68d3c6
Signed-off-by: Simon Goffin (sig) <sig@openerp.com>
2020-08-11 09:49:58 +00:00
Adrian Torres 422ca9563e [FIX] core: apply post-constraints only if necessary
This is a followup of commit bc2bb5e03c2b32d4ee1b0597ea5889c17d2b0e0e

When a module is updated, a constraint application may (temporarily)
fail because the existing data does not respect the constraint, this is
OK and can be fixed through hooks/migration scripts and was handled by
the aforementioned commit.

However when updating multiple modules, it is possible that an
inheriting module will try to re-apply the failed constraint and
succeed, if that is the case, when processing the `post_constraints` an
already-existing constraint will be applied and raise an error.

To fix this, a check is made before trying to apply the constraint, to
verify that it is not already in _constraint_queue, if it is not, then
we may attempt to apply it, if it is in the queue, then we may safely
ignore it as it will be applied further down the registry cycle.

closes odoo/odoo#55725

X-original-commit: 5225b9ce5178302af05b63029fb184e27b781815
Signed-off-by: Adrian Torres (adt) <adt@odoo.com>
2020-08-11 08:34:37 +00:00
Yannick Tivisse d6e20b474b [IMP] hr_expense: Improve general UX (back2basics)
closes odoo/odoo#55689

Taskid: 2277338
Related: odoo/upgrade#1595
Related: odoo/enterprise#12331
Signed-off-by: Yannick Tivisse (yti) <yti@odoo.com>
2020-08-11 09:53:00 +00:00
William Henrotin 572e4ecf95 [FIX] mrp: fix should consume widget
The `should consume` widget was not editable if the focus was on
'qty_done' field.

Task : 2278147

closes odoo/odoo#55727

X-original-commit: 994b3bbc44766274b50948855e80d928318aee88
Signed-off-by: Arnold Moyaux <amoyaux@users.noreply.github.com>
Signed-off-by: William Henrotin <Whenrow@users.noreply.github.com>
2020-08-11 09:03:35 +00:00
Yannick Tivisse d2238de576 [IMP] hr_holidays: Improve the general usability (back2basics)
closes odoo/odoo#55568

Taskid: 2282495
Related: odoo/upgrade#1574
Related: odoo/enterprise#12272
Signed-off-by: Yannick Tivisse (yti) <yti@odoo.com>
2020-08-11 09:10:49 +00:00
William Henrotin a79d07d009 [FIX] mrp: change view ref
The previous view xmlid did not exist. The lowest priority one was
chosen but not suitable for this case.

Task : 2278147

closes odoo/odoo#54366

Related: odoo/enterprise#12332
Related: odoo/upgrade#1588
Signed-off-by: Arnold Moyaux <amoyaux@users.noreply.github.com>
2020-08-10 09:40:24 +00:00
William Henrotin 22be775cdc [FIX] mrp: bypass flexible consumption check in immediate production
Case:
  - create a MO for 3 units
  - produce only one but with more than a third of the components
  - the flexible consumption wizard is triggered, accept and make the
  backorder.
  - Mark as done the backorder, the immediate production wizard is
  triggered, accept it.

-> the flexible wizard is triggered again as the components quantity do
not respect the BoM. In this specific case, we want to consume all the
remaining component so we would like to avoid the flexible warning.

Task : 2278147
2020-08-10 09:40:24 +00:00
William Henrotin 18dddc2027 [FIX] mrp: force default value to 0
Commit 47e40e7f6a set a default value for
the stock moves initial demand (default_product_uom_qty). The issue is
the stock_move_line models also have a product_uom_qty field. This field
on the line is also st to 1 in the default get. Which is non desired side
effect.
This commit adds another default_product_uom_qty equals to 0 for the
stock move lines.

Task : 2278147
2020-08-10 09:40:24 +00:00
William Henrotin 10a07529b0 [FIX] mrp: change quantity wizard stop producing
Case :
  - production with workorder
  - 0 qty_producing
  - Change product quantity via the wizard
  - the qty_producing is set to the maximum

Task : 2278147
2020-08-10 09:40:24 +00:00
William Henrotin 161b3ec702 [FIX] mrp: update only sooner scheduled date
Starting a workorder should update the scheduled date only if the production
is started sooner than expected. In this case we want to clear the
calendar for the other production. If the production is started later
than expected, updating the calendar has no effect. We leave the
scheduled date unchanged to keep the information

Task : 2278147
2020-08-10 09:40:24 +00:00
William Henrotin 67e258ef1f [FIX] mrp: additional workorders start without conflict
As additional workorder don't have operation, the cycle computation was
wrong and all the start date was set to the same value

Task : 2278147
2020-08-10 09:40:24 +00:00
William Henrotin de68d33979 [FIX] mrp: production form view improvement
This commit:
  - Show 'Plan' button even in to_close state
  - Move UoM column after quantity done one (like in stock)
  - Hide lot_producing field in state draft
  - Hide production locations if multi location groups is not set

Task : 2278147
2020-08-10 09:40:24 +00:00
William Henrotin 3948a8a2c9 [FIX] mrp: tab relabelling
Rename operation into workorder to make distinction with the stock transfers
operations.

Task : 2278147
2020-08-10 09:40:24 +00:00
William Henrotin 404eb2f00f [FIX] mrp: do not erase move raw at onchange without bom
With this commit, the move raw refresher onchange is bypassed in case of
empty BoM. As the manufacturing user can adds some components on the fly
to create a non manufactured product, changing the quantity to produce
or the unit of measur will erase all the move raw and recreate them from
the BoM lines. As no boms are set, the components are just deleted.

Task : 2278147
2020-08-10 09:40:24 +00:00
William Henrotin 2a59fdb014 [FIX] mrp: bypass _plan_workorder in case of no workorder
The _plan_workorder function is callable for the production order list
view. Calling it on production without workorder make no sense and can
even crash.
This commit bypass it in those case

Task : 2278147
2020-08-10 09:40:24 +00:00
William Henrotin 963ad5eada [FIX] mrp: keep duration ratio
Updating the quantity to produce on a production order will recompute
the expected production duration. This can be counter productive on
prototyping production when no BoM are given. The default expected batch
duration is set to 60 minutes. Setting the actual production time then
updating the quantity to produce will naively change the duration to
60 x the new quantity.
This commit compute the duration pro rata in case of 'no BoM' production
and recompute everything in case of BoM production.

Task : 2278147
2020-08-10 09:40:24 +00:00
William Henrotin 68f06c7acc [FIX] mrp: copying production order copy all moves
Before this commit, only the moves raw were copied on production
duplication. As the finished move is created normally in an onchange,
this means a production order duplicated have not any move finished.

Task : 2278147
2020-08-10 09:40:24 +00:00
William Henrotin 57f243bcbb [FIX] mrp: view improvement
Task : 2278147
2020-08-10 09:40:24 +00:00
William Henrotin 49e8fe82af [FIX] mrp: delete finished move at onchange
Changing the Bom on a production order will erase all the raw moves to
recreate the new ones. This commit make sure the finished product are
erased as well.
Before this commit, if the product was changed with the BoM. The first
finished product became a byproduct for the second one.

Task : 2278147
2020-08-10 09:40:24 +00:00
William Henrotin 004e7f3256 [FIX] mrp: do not split additional product
On a production, additional are supposed to be linked to the current
lot/serial number and not to the total production like the raw component
on the BoM.
This commit do not split stock move for those product anymore at the
backorder creation.

Task : 2278147
2020-08-10 09:40:24 +00:00
William Henrotin af7716df46 [IMP] mrp_workorder: remove activity mixin on workorder 2020-08-10 09:40:24 +00:00
William Henrotin 1cc0af304f [IMP] mrp: replan workorders on delays
In a scenario parent mo <-> child mo, delaying the production start on
the child mo will delay the parent start but not the parent's workorders
This commit will replan the workorders each time a planned production is
delayed.

Task : 2278147
2020-08-10 09:40:24 +00:00
William Henrotin a6cd4d8c8c [IMP] mrp: immediate production
This commit introduce the immediate production mechanism. As it works on
stock.picking, marking a (some) production(s) as done without consuming
anything will pop a wizard allowing the user to transfer all the reserve
component quantities as done quantities.

Task : 2278147
2020-08-10 09:40:24 +00:00
Thibault Francois 53356a5dcf [FIX] sale_timesheet: Create invoice from SO with section
Problem:
When you try to create an invoice from a sale order that contains
section and post paid service product.
You set a date_invoice_timesheet in the wizard.

You got a traceback excpected singleton product.product()
This is cause by the filtering of so line with
sol.product_id._is_delivered_timesheet()
when the sale order line has no product for a section or a note

Solution:
Check there is a product on the line first

closes odoo/odoo#55353

X-original-commit: b49e64d3b118c938154eeeeb85c5fd6d72561a82
Signed-off-by: Olivier Dony (odo) <odo@openerp.com>
Signed-off-by: Thibault Francois <tfr-odoo@users.noreply.github.com>
2020-08-03 16:48:26 +00:00
Benjamin Vray 798fa36471 [IMP] website, *: add missing options previews
*: web_editor, website_blog, website_form

task-2280397

closes odoo/odoo#53516

Signed-off-by: Quentin Smetz (qsm) <qsm@odoo.com>
2020-08-10 14:51:30 +00:00
fw-bot 600a1da6c3 [ADD] l10n_ar: add moved methods from l10n_ar_edi
This method will be change to generic and to be use for both
l10n_ar_edi and l10n_ar_reports modules

fw-port of 50882

closes odoo/odoo#55687

Related: odoo/enterprise#12329
Signed-off-by: Josse Colpaert <jco@openerp.com>
2020-08-10 13:48:57 +00:00
oco-odoo be63b44845 [FIX] account, point_of_sale: correct tax_audit computation for pos returns
https://github.com/odoo/enterprise/pull/12091 changed the way the tax report computes its totals wit account moves resulting for return operations in pos. This commit does the same on tax_audit field, so that it stays consistent with the report.

closes odoo/odoo#55664

X-original-commit: 67b3d70c8425dee17731e7b94bcb4797d4b06a97
Related: odoo/enterprise#12320
Signed-off-by: Laurent Smet <smetl@users.noreply.github.com>
2020-08-10 08:14:23 +00:00
Xavier Dubuc 2be6e37aca [FIX] mail: tweak activity mark done popover
- focus feedback textarea on open
- close popover on ESCAPE

task-2250472

closes odoo/odoo#55683

X-original-commit: 63c77139828ff029d76ff4237dcdb5a3aff5265d
Signed-off-by: Alexandre Kühn (aku) <aku@odoo.com>
Signed-off-by: Sébastien Theys (seb) <seb@odoo.com>
2020-08-10 10:30:13 +00:00
Xavier Dubuc 62aad0ff66 [FIX] mail: avoid activities handling on view without activity_ids field
task-2314240

closes odoo/odoo#55679

X-original-commit: 7f626587bd7024e8141662fcc7b9f3cb1ac9485b
Signed-off-by: Alexandre Kühn (aku) <aku@odoo.com>
2020-08-10 09:52:54 +00:00
Nikunj Ladava 658c3e78a2 [IMP] l10n_co: update module description and icon
task- 2316486

closes odoo/odoo#55676

Signed-off-by: Josse Colpaert <jco@openerp.com>
2020-08-10 10:16:14 +00:00
Nikunj Ladava ade90e8baa [IMP] l10n_uy: update module description
task- 2316493

closes odoo/odoo#55673

Signed-off-by: Josse Colpaert <jco@openerp.com>
2020-08-10 09:11:10 +00:00
Florian Gilbert 01b8a75061 [FIX] account: add date for fiscal year lock date domain
When an user wants to lock his fiscal year lock date.
The system checks whether all the bank statement lines are reconciled.
However, the date must also be added to the search domain to receive
only the bank statement lines that are included in the lock date.

Task ID: 2297407

closes odoo/odoo#55672

X-original-commit: d232ecacda28614f36dd655a3f000290c6d3a91c
Signed-off-by: Cedric Snauwaert (csn) <csn@openerp.com>
2020-08-10 09:15:02 +00:00
Florian Gilbert 3a0e364758 [FIX] account: Order move for hash & add security check for resequence
Order move for hash: In the method write, we sort the recordset following this rule: by date, by ref and by id.
This rule is used because we need to be consistent with the method _compute_name.
If we don't filter moves like that, we could possibly have a problem.
If you have several moves and you post them at the same moment with the action "Post entries", the hash sequence
could be in another order than the name sequence.
For example:
Move_20 (29/07/2020) - Hash_2
Move_21 (02/07/2020) - Hash_1

About security check, if the hash is activated, the user cannot reorder by date with resequence
because we don't want that the name sequence have not the same order than hash sequence.

Task ID: 2297407

closes odoo/odoo#55669

X-original-commit: b3ae96dc52178a3b13dda845244fe34268aed8a0
Signed-off-by: Cedric Snauwaert (csn) <csn@openerp.com>
2020-08-10 08:59:45 +00:00
1e2e0f663e [FIX] web: MEASURES button disappearing when switching back to graph
before this commit, when change view from graph view to pivot view or any other
view and come back to graph view, Measures button disappear, it's only
appearing if we refresh the page.

after this commit, restore previous view state when switching back to graph
view, this was because measures button is rendered in fragment and when
switching between views, as graph view element was destroyed and re-rendered
so measures button will be mounted in fragment as update method of
ComponentWrapper will render it from previous mountArgs, so to avoid this issue
push measures element in DOM.

task-2250051

closes odoo/odoo#55666

X-original-commit: 40c709fb0abe7721d1650af9bd1d17dc8453895a
Signed-off-by: Aaron Bohy (aab) <aab@odoo.com>
Co-authored-by: Julien Mougenot <jum@odoo.com>
Co-authored-by: Mohammed Shekha <msh@odoo.com>
2020-08-10 08:35:10 +00:00
Katherine Zaoral d422192185 [FIX] l10n_latam_invoice_document: fix invoice form view.
The latam docuemnts used for document type an document number are not
showed correctly in the view, they displaying to close side by side and
the related labels are not show.

After this PR this has been fixed and now we have the labels and the
proper separation of the fields in the invoice form view.

closes odoo/odoo#55648

Signed-off-by: Josse Colpaert <jco@openerp.com>
2020-08-07 22:25:03 +00:00
Yoshi Tashiro 360e910da4 [IMP] base: show module in translation tree
Useful information to identify where a translation comes from
Remove base.group_no_one as the view is already in debug only and
technical

closes odoo/odoo#55649

Signed-off-by: Martin Trigaux (mat) <mat@odoo.com>
2020-08-10 08:34:22 +00:00
Katherine Zaoral d167dc201b [FIX] l10n_ar: depreacated post to action_post
Change references of deprecated method in demo data to avoid WARNING message in
odoo log::

    ... WARNING ar py.warnings: ... DeprecationWarning: RedirectWarning
    method 'post()' is a deprecated alias to 'action_post()' or _post()
    DeprecationWarning

closes odoo/odoo#55647

Signed-off-by: Josse Colpaert <jco@openerp.com>
2020-08-07 21:00:36 +00:00
Fabien Pinckaers d56224d35b [IMP] sale: improve first steps onboarding copy writing
PURPOSE

Improve user experience by improving copy writing of tour steps and first
encountered screens.

SPECIFIFCATIONS

Improve Orders to upsell empty list help to help users understanding how
to use it.

LINKS

Task ID-2316699
PR #55604

Signed-off-by: Thibault Delavallee (tde) <tde@openerp.com>
2020-08-10 08:21:58 +00:00
Fabien Pinckaers f130bb90aa [IMP] crm: improve first steps onboarding copy writing
PURPOSE

Improve user experience by improving copy writing of tour steps and first
encountered screens.

SPECIFIFCATIONS

Improve Pipeline empty list help to be more catchy and help users doing their
first opportunity related steps.

Improve tour copy writing.

LINKS

Task ID-2316699
PR #55604
2020-08-10 08:20:17 +00:00
Dharmraj Jhala e25604e597 [FIX] mail, test_mail: remove archived/deleted users from mail channels
When users are archived / deleted, they are still listed under the members
of a channel. This means that those users could potentially still receive
internal communications.

This commit fixes the issue by removing archived / deleted users from the
members of the private channels they were part of. However, they are not
automatically removed from the public channels.

Public channels are kepts as in most common cases public channels are
mailing list (e-mail based) and so user's partner should always receive
updates from public channels until they manually un-subscribe themselves.

Task ID-2276681

closes odoo/odoo#55496

X-original-commit: 1a3dc58f3d987054c643556dc4b7c3dbcd3d074c
Signed-off-by: Thibault Delavallee (tde) <tde@openerp.com>
2020-08-06 06:13:34 +00:00
Florian Gilbert 2c926abcb3 [IMP] l10n_fr_fec: Set lock date when user ask for official FEC file.
Add the possibility to download a test FEC file.
Set the fiscal year lock date when the user ask an official FEC file.
Add some basic checks.

Task ID: 2297407

closes odoo/odoo#55311

Signed-off-by: Cedric Snauwaert (csn) <csn@openerp.com>
2020-08-07 07:00:48 +00:00
Florian Gilbert 2720cf570c [IMP] account: Change Validation error to redirect warning for lock date
Change ValidationError to RedirectWarning, RedirectWarning is usefull to redirect user to
the problem. For the lock date, we can redirect user to unposted entries or unreconciled bank statement lines.

Task ID: 2297407
2020-08-07 06:59:25 +00:00
Florian Gilbert 6a7ac8eee1 [IMP] account: Change access rights for resequence
Only advisor (or more) can use resequence.

Task ID: 2297407
2020-08-07 06:58:40 +00:00
Olivier Dony 1bd9e8ab20 [FIX] base: avoid bpo-35805 corrupting Message-Id
Python 3 before 3.8 has a bug that causes the email.policy classes to
incorrectly fold and RFC2047-encode "identification fields" in email
messages. This mainly applies to Message-Id, References, and In-Reply-To
fields.

We are impacted by this bug since odoo/odoo#35929 where we switched to
using the "modern" email.message API.

RFC2047 section 5 clearly states that those headers/fields are not to be
encoded, and that would violate RFC5322.

Further, such a folded Message-Id is considered non-RFC-conformant by
popular MTAs (GMail, Outlook), which will then generate *another*
Message-Id field, causing the original threading information to be lost.
Replies to such a modified message will reference the new, unknown
Message-Id, and won't be attached to the original thread.

The solution we adopt here is to monkey-patch the SMTP policies to
special-case those identification fields and deactivate the automatic
folding, until the bug is properly and fully fixed in the standard lib.

Some considerations taken into account for this patch:

- `email.policy.SMTP` is being monkey-patched globally to make sure we
  fix all possible places where Messages are being encoded/folded
- the fix is **not** made version-specific, considering that even in Python
  3.8 the official bugfix only applies to Message-Id, but still fails to
  protect other identification fields, like *References* and
  *In-Reply-To*. The author specifically noted that shortcoming [2].
  The fix wouldn't break anything on Python 3.8 anyway.
- the `noFoldPolicy` trick for preventing folding is done with no max
  line length at all. RFC5322, section 2.1.1 states [3] that the maximum
  length is 998 due to legacy implementations, but there is no provision
  to wrap identification fields that are longer than that. Wrapping at
  998 chars would corrupt the header anyway. We'll just count on the
  fact that we don't usually need 1k+ chars in those headers.

The invalid folding/encoding in action on Python 3.6 (in Python 3.8 only
the second header gets folded):

```py
>>> msg = email.message.EmailMessage(policy=email.policy.SMTP)
>>> msg['Message-Id'] = '<929227342217024.1596730490.324691772460938-example-30661-some.reference@test-123.example.com>'
>>> msg['In-Reply-To'] = '<92922734221723.1596730568.324691772460444-another-30661-parent.reference@test-123.example.com>'
>>> print(msg.as_string())
Message-Id: =?utf-8?q?=3C929227342217024=2E1596730490=2E324691772460938-exam?=
 =?utf-8?q?ple-30661-some=2Ereference=40test-123=2Eexample=2Ecom=3E?=
In-Reply-To: =?utf-8?q?=3C92922734221723=2E1596730568=2E324691772460444-anot?=
 =?utf-8?q?her-30661-parent=2Ereference=40test-123=2Eexample=2Ecom=3E?=

```

and the expected result after the fix:
```py
>>> msg = email.message.EmailMessage(policy=email.policy.SMTP)
>>> msg['Message-Id'] = '<929227342217024.1596730490.324691772460938-example-30661-some.reference@test-123.example.com>'
>>> msg['In-Reply-To'] = '<92922734221723.1596730568.324691772460444-another-30661-parent.reference@test-123.example.com>'
>>> print(msg.as_string())
Message-Id: <929227342217024.1596730490.324691772460938-example-30661-some.reference@test-123.example.com>
In-Reply-To: <92922734221723.1596730568.324691772460444-another-30661-parent.reference@test-123.example.com>

```

[1] bpo-35805: https://bugs.python.org/issue35805
[2] https://github.com/python/cpython/pull/13397#issuecomment-493618544
[3] https://tools.ietf.org/html/rfc5322#section-2.1.1

closes odoo/odoo#55656

X-original-commit: 02b78770147e2eda65a76d29c6f2fc3278581b22
Signed-off-by: Olivier Dony (odo) <odo@openerp.com>
2020-08-09 16:18:59 +00:00
Swapnesh Shah a49e38879f [IMP] sms: do not copy error
Error message should not be copied for obvious reason.

closes odoo/odoo#55644

Signed-off-by: Thibault Delavallee (tde) <tde@openerp.com>
2020-08-07 16:46:19 +00:00
Julien Mougenot 90aa4b3ba4 [FIX] web: Correctly transmit fields to the control panel
Before this commit, the "fields" object given to the control panel was
altered by the view (e.g. dashboard populates it with its aggregates).
As a result the control panel and its subcomponents had an altered
object with more or less fields than expected.

Now, the initial "fields" object is given to avoid such problems.

Task 2312074

closes odoo/odoo#55640

X-original-commit: 472b314614dc3dd9db880f4cb60c2eda89cce6b4
Related: odoo/enterprise#12310
Signed-off-by: Aaron Bohy (aab) <aab@odoo.com>
2020-08-10 07:55:13 +00:00