Commit Graph
141473 Commits
Author SHA1 Message Date
Christophe Simonis 8d7ee39213 [MERGE] forward port branch saas-11.3 up to 8a0e819d0b 2019-05-29 14:06:12 +02:00
Navarro Presas Moisés Alejandro 7ca0fe3c9f [CLA] Signature for AfroMonkey
closes odoo/odoo#32396

Signed-off-by: Arnold Moyaux <amoyaux@users.noreply.github.com>
2019-05-28 15:58:33 +00:00
Navarro Presas Moisés Alejandro f1d8691985 [FIX] sale_order: Set qty_delivered to 0 if not moves.
In `_compute_qty_delivered` function
Python `all` function returns `True` if list is empty; thast why check
if `moves` is not empty to set `qty_delivered` to `product_uom_qty`.
2019-05-28 15:58:33 +00:00
mreficent fa294d2059 [FIX] mail: correctly detect if model is a mail thread
closes odoo/odoo#31799

Signed-off-by: Thibault Delavallee (tde) <tde@openerp.com>
2019-05-29 08:03:24 +00:00
Richard Mathot 76131748f9 [FIX] iap: avoid a crash when multiple accounts are found
Before the fix, if you had multiple accounts for a specific service, the
settings page was crashing.
(eg: for a service, you have one account specific to a company and
another account with no company set).

We now prefer accounts specific to the current company and tie-break on
the most recently created one

opw-2003744

closes odoo/odoo#33736

Signed-off-by: Pierre Rousseau (pro) <pro@odoo.com>
2019-05-29 06:57:43 +00:00
Richard Mathot edf90bb1da [FIX] iap: allow admins to remove IAP accounts
opw-2003744
2019-05-29 06:49:55 +00:00
Nans Lefebvre c52b9dfc37 [FIX] mail: fix mail template onchange
The stable behaviour of the mail composer is the following:
- if a template adds new attachments, the composer only has this list
- if a template doesn't add attachments, the list is unchanged
- if no template is set, the list is cleared up
In the case of templates, we also check that both static and dynamic attachments
are added to the list.

We clean up after c6d718f211 and subsequently 516f22c398 which failed to take
into account the fact that the attachement list could be a blend of commands
and ids.
Transforming that is taken care of by _convert_to_write, which semantics was
changed by c6d718f211.
To keep the second behaviour, we thus need to add a (5,) command.

opw 2003197

closes odoo/odoo#33707

Signed-off-by: Nans Lefebvre (len) <len@odoo.com>
2019-05-28 18:19:26 +00:00
Martin Trigaux 44d11fe777 [FIX] fields: inherit context_dependent from parent fields
If a field is inherited from another model, the attribute context_dependent
was not propagated correctly.

Example of bug:
>>> product = self.env['product.product'].search([], limit=1)
>>> product.name
'Whiteboard Pen'
>>> product.with_context(lang='fr_FR').name
'Whiteboard Pen'  # cache used
>>> template = product.product_tmpl_id
>>> template.name
'Whiteboard Pen'
>>> template.with_context(lang='fr_FR').name
'Marqueur pour Tableau Blanc'
>>> product._fields['name'].context_dependent
False
>>> template._fields['name'].context_dependent
True

Fixes odoo/odoo#33641
Closes odoo/odoo#33722

Signed-off-by: Raphael Collet (rco) <rco@openerp.com>
2019-05-28 14:26:29 +00:00
Stéphane Bidoul (ACSONE) 060e35f62a [FIX] account: allow cancelling payment whith draft move
Payment journals have an option to keep moves unposted until bank statement
reconciliation.
When cancelling such payments, it is not necessary to attempt canceling the move
if it is unposted.
This patch allows cancelling such payments without needing to configure the
journal as cancellable while the move is still draft.

To reproduce:
1. check "Post at bank reconciliation" on a bank journal
2. do "Register payment" with that journal on a invoice
3. open the generated payment
4. click cancel => error "You cannot modify a posted entry of this journal..."

closes odoo/odoo#33312

Signed-off-by: Laurent Smet <smetl@users.noreply.github.com>
2019-05-27 14:30:46 +00:00
Odoo Translation Bot 472bfdca56 [I18N] Update translation terms from Transifex 2019-08-21 11:11:21 +02:00
Nicolas Martinelli f925026501 [FIX] base_import: date pattern
- Change the date format of the users language to "%b %d, %Y"
- Export any res.partner as .csv and include at least 'Display Name' in
the fields to Export
- Import the file exported

The import fail with error: "Import preview error failed due to: 'b'".

This was introduced with commit 32c2666d18 where the format of the
user was added in the list of patterns to match. Since we use a limited
version of TimeRE (see Python module `_strptime`), only the patterns
defined in `_P_TO_RE` are supported. If an unsupported format is used, a
`KeyError` is raised.

We simply skip the pattern if it cannot be parsed. Another solution
would be to instanciate TimeRE, but that would also require to set the
locale correctly. Long story short: things will start to get messy for a
nice-to-have feature, a.k.a being able to import dates such as
`January 1, 2019`.

Fixes #35868

opw-2055971
opw-2055140

closes odoo/odoo#35883

Signed-off-by: Nicolas Martinelli (nim) <nim@odoo.com>
2019-08-21 07:44:02 +00:00
Nicolas Martinelli 7f365127d6 [FIX] account: do not copy 'Reverse entry'
When a journal entry is duplicated, `reverse_entry_id` should not be
copied for obvious reasons.

opw-2055947

closes odoo/odoo#35847

Signed-off-by: Nicolas Martinelli (nim) <nim@odoo.com>
2019-08-20 12:26:15 +00:00
Nicolas Martinelli bdf1817d03 [FIX] hr_payroll_account: no company on payroll
When no company is set on the payslip, journal entries of zero are
generated.

This is because `currency` is empty, therefore `currency.round()` rounds
all amounts to zero.

We fall back on the company of the journal, since the latter is
mandatory.

opw-2054781

closes odoo/odoo#35859

Signed-off-by: Nicolas Martinelli (nim) <nim@odoo.com>
2019-08-20 13:25:08 +00:00
Lucas Perais (lpe) 900d89c997 [FIX] account: reconciliation filter when partner found
Have 2 invoices for one partner
Have 1 statement, and line, without partner
Reconcile it

In the filter to search among proposition, type the name of the partner of the invoices
The two invoices should appear

Click on one of them to add it to the reconciliation

Before this commit, the filter was reloaded without the second invoice

After this commit, the filter is reloaded with the second invoice

OPW 2053615

closes odoo/odoo#35846

Signed-off-by: Lucas Perais (lpe) <lpe@odoo.com>
2019-08-20 11:50:17 +00:00
Andrea Grazioso (agr-odoo) 5e268d8893 [FIX] account: avoid deleting contact on invoice
From Invoicing/Accounting generate an invoice toward a customer
which is a child contact of a company.
Click on "Validate" and print the invoice: the name and contact
information of the customer will be in the report.

Now go into Contacts and delete the customer. If you print again the
report there will be no mention of the customer, and also from the
invoicing tree view there is no customer information.
This is due to the contraint on the deletion that affect only the
parent contact (i.e. a company) which is being billed.

The solution is to put a constraint on the account model to restrict the
deletion of the contact if it is customer of an invoice.

opw-2052717

closes odoo/odoo#35761

Signed-off-by: Nicolas Martinelli (nim) <nim@odoo.com>
2019-08-16 12:50:07 +00:00
Nicolas Martinelli c2bcd15998 [FIX] account, payment, website_sale: QR code based on partner's country
The QR code was limited to a set of countries listed from Wikipedia [1],
but the list is incomplete. Any partner from a SEPA country should have
the QR code printed since we don't know which banks support it.

At the moment we simply remove the limitation, and hopefully a proper
filtering will be done in master.

[1] https://en.wikipedia.org/wiki/EPC_QR_code

opw-2052315

closes odoo/odoo#35827

Signed-off-by: Nicolas Martinelli (nim) <nim@odoo.com>
2019-08-20 08:00:58 +00:00
Andrea Grazioso (agr-odoo) f2c914883e [FIX] base: Page not found on "project forecast" link
In odoo community edition go to Apps, locate Project Forecast and click
on "Learn More". A page not found error is displayed

The link is wrong or missing
Replaced with a working one

opw-2050074

closes odoo/odoo#35836

Signed-off-by: Nicolas Martinelli (nim) <nim@odoo.com>
2019-08-20 09:19:12 +00:00
Nicolas Martinelli e1128c9387 [FIX] base: create partner from email
Call the method `find_or_create` with `email` equals to
`"Raoul Grosbedon <r.g@grosbedon.fr>"`

The partner created has the name `r.g@grosbedon.fr` instead of
`Raoul Grosbedon`.

The method `name_create` is capable of handling such a use case, so we
take advantage of it.

opw-2052997

closes odoo/odoo#35797

Signed-off-by: Nicolas Martinelli (nim) <nim@odoo.com>
2019-08-19 08:49:25 +00:00
Swapnesh Shah d928580d23 [FIX] base_address_city: Add parent_id in view
Fixes https://github.com/odoo/odoo/issues/34405
base_address_city adds domain on existing fields which uses parent_id as field_name while it is not present in 'res_partner_view_form_private'

closes odoo/odoo#34498

Signed-off-by: Nicolas Martinelli (nim) <nim@odoo.com>
2019-07-01 18:57:06 +00:00
Nicolas Martinelli e1aee2aac2 [FIX] base: QR code validation
The QR code validation does not require the payment account to be in EUR
(e.g. CHF or GBP).

From [1]:

> Though the transaction must be made in euros, the payment accounts
> held at operating in SEPA do not have to be denominated in euros.

[1] https://www.europeanpaymentscouncil.eu/what-we-do/sepa-instant-credit-transfer

opw-2052315

closes odoo/odoo#35824

Signed-off-by: Nicolas Martinelli (nim) <nim@odoo.com>
2019-08-20 06:36:35 +00:00
Parth Choksi e20c81efcd [FIX] l10n_ch: traceback when installing module
Getting traceback when installing the l10n_ch module.

In the form view of journal, the field "l10n_ch_postal" is added using the xpath.
However the field provided in the expression of xpath('bank_acc_number') doesn't
seem to exist anymore in the form view of account journal.

Hence, it is replaced with the existing field('bank_account_id') in form view
of journal.

task-1999654

closes odoo/odoo#33702

Signed-off-by: Quentin De Paoli (qdp) <qdp@openerp.com>
2019-05-27 12:45:51 +00:00
Romain Derie e9350993ca [FIX] web: restore /apps/<app> controller
Since JS refactoring of ActionManager at 32b8cec536, the /apps/<app> controller
was not working anymore as the refactoring dropped the support of `sa` as URL
state.

closes odoo/odoo#33679

Signed-off-by: Aaron Bohy (aab) <aab@odoo.com>
2019-05-27 11:44:08 +00:00
Benoit Aimont 01020e18e9 [FIX] hr_expense: prepare method for move values
There was no way to inherit properly action_move_create method.

opw:1974069

closes odoo/odoo#33488

Signed-off-by: Nicolas Martinelli (nim) <nim@odoo.com>
2019-05-27 07:04:27 +00:00
Benoit Aimont c8b87f66f8 [CLA] Add Benoit Aimont in Acsone CCLA 2019-05-27 07:02:58 +00:00
Luis 0379c51be3 [FIX] web: refresh calendar if error
If an error is raised when saving a calendar event, the transaction is
correctly rolled back. However, the view is not refreshed and the
incorrect information is displayed.

We simply reload in all cases.

opw-2002186

closes odoo/odoo#33028

Signed-off-by: Nicolas Martinelli (nim) <nim@odoo.com>
2019-05-24 10:45:48 +00:00
Julien Castiaux 042966ccae [IMP] web: better logging of errors
When an error is raised server-side, the complete traceback is displayed
in the JS console. This traceback can be very useful since it might
contain information not recorded anywhere else by default. For example,
access errors due to record rules or SQL constrains do not have their
traceback displayed in the UI or recorded in the log [1], but it is
logged in the JS console.

However, the information is logged in the JS console as a stringified
version of the `result.error` object. The final result is a long and
non-formatted string which is unreadable.

We replace by a new format more convenient for technical teams. The
error is now formatted as:

Error code
Error message
Error data message
Error data debug

This will hopefully give a better starting point for debugging purposes.

[1] SQL constrains tracebacks are only recorded in the log in debug
mode:

https://github.com/odoo/odoo/blob/ec792da72b92b22349b6f325e53fd37d953c7db3/odoo/service/model.py#L122

closes odoo/odoo#33650

Signed-off-by: Nicolas Martinelli (nim) <nim@odoo.com>
2019-05-27 06:41:56 +00:00
Nicolas Martinelli c868da4de6 [FIX] tools: export UTF-8 characters
- Install Babel 2.3.4 as specified in the `requirements.txt`
- In a Python file, do not add the line `# -*- coding: utf-8 -*-`
- Create a translatable string with a non-ASCII character, e.g.
`Amount in €`
- Export the translation

The exported term is incorrect: `Amount in â¬`.

Since the default encoding for Python 3 is UTF-8, it is logical for the
Babel extraction to use it as a default encoding.

The issue was solved in Babel 2.4.0 with commit:

https://github.com/python-babel/babel/commit/33a8fc40d417b401162e2d20021fcbebcc4ab7db

opw-1984480

closes odoo/odoo#33671

Signed-off-by: Nicolas Martinelli (nim) <nim@odoo.com>
2019-05-27 09:11:25 +00:00
Cas Vissers ccdaf9a085 [FIX] fleet: avoid singleton error
When doing a write on multiple records, message_post expects a single record
if self.ids:
self.ensure_one()

closes odoo/odoo#33645

Signed-off-by: Martin Trigaux (mat) <mat@odoo.com>
2019-05-27 09:00:41 +00:00
Raphael Collet f14ae73a98 [FIX] models: do less snapshots in onchange()
As snapshots are costly to compute, we now create exactly two snapshots:
one initial snapshot and one final snapshot.  All intermediate checks
are done with respect to the initial snapshot.

Note also that checks are costly for x2many fields.  Therefore, once a
field has changed, it will never be checked again.  This optimization is
correct since, by contract, the onchanges of a field are processed at
most once.  This guarantees the absence of cycles in onchange.

For instance, assume that field A modifies fields B and C, and that
field C modifies fields D, E and F:
- before: 7 snapshots (snapshot, process A, snapshot, process B,
snapshot, process C, snapshot, process D, snapshot, process E,
snapshot, process F, snapshot)
- after: 2 snapshots (snapshot, process A, process B, process C,
process D, process E, process F, snapshot)

closes odoo/odoo#31872

Signed-off-by: Raphael Collet (rco) <rco@openerp.com>
2019-05-27 08:20:07 +00:00
Odoo Translation Bot ec792da72b [I18N] Update translation terms from Transifex 2019-05-26 03:07:48 +02:00
Carmen Miranda 28823cf837 [CLA] Update Vauxoo's CLA
Incorporate Carmen Miranda (CarmenMiranda) as Vauxoo's contributor
I confirm I have signed the CLA and read the PR guidelines at
www.odoo.com/submit-pr

closes odoo/odoo#33627

Signed-off-by: Martin Trigaux (mat) <mat@odoo.com>
2019-05-23 15:04:54 +00:00
Priyanka Kakadiya 9bcc0498c0 [FIX] web: add test for the fix update buttons in editable list
The test for the fix in 5adb6b62d2 can only be implemented in 12.1
because that is the version that contains the createActionManager helper

Task-1967278

closes odoo/odoo#32817

Signed-off-by: VincentSchippefilt <VincentSchippefilt@users.noreply.github.com>
2019-05-23 11:39:48 +00:00
Adrian Torres 73235ad6ae [FIX] purchase: truncate description for stock.move.line
Before this commit, when creating a PO line with a description that was long
enough (~2712 bytes long) and then confirming the PO, a traceback would
pop up with an error from postgres "index row size exceeds maximum".

This is because when confirming a PO, a stock.move is created with a
stock.move.line mirroring the purchase.order.line, however the "name"
field on stock.move.line is indexed (whereas the purchase.order.line is
not), thus triggering the aforementioned error.

This commit solves this issue by truncating the name field on the
stock.move.line to 2000 bytes (for simplicity's sake) upon creation.

Fixes #33549

closes odoo/odoo#33607

Signed-off-by: Raphael Collet (rco) <rco@openerp.com>
2019-05-23 11:34:07 +00:00
Nicolas Martinelli 9f7c476a6f [FIX] stock: missing picking type
- Activate 'Lots & Serial Numbers'
- Create a stockable product A, enable tracking 'By Lots'
- From the menu Inventory > Operations > Transfers, create a picking:
Set a picking type
One line of A

It is not possible to set the lot number to validate the transfer.

When creating a picking from the menu, the context key
`default_picking_type_id` is not set. Therefore, the field
`picking_type_id` is empty on the `stock.move`.

We can fall back on the `picking_type_id` of the picking.

opw-1981958

closes odoo/odoo#33611

Signed-off-by: Nicolas Martinelli (nim) <nim@odoo.com>
2019-05-23 11:11:17 +00:00
RomainLibert b016c73c89 [FIX] hr_holidays: fix typo
closes odoo/odoo#33606

Signed-off-by: Romain Libert (rli) <rli@odoo.com>
2019-05-23 09:33:33 +00:00
Varun Raval bf70759e14 [FIX] website_links: fix url of the landing page in link tracker
The feature was broken by #28404 which made the JS make use of the
"animations" system.

Currently, on the website, we have an option 'Track this page' in promote
section, which will give us the URL of the landing page.

However, this option is not working and shows the default placeholder
provided on the input.

This commit will fix the issue. From now 'Track this page' option will get
the URL of the landing page and it will be shown on input rather than the
default placeholder value.

task-1998160
closes #33603

Signed-off-by: Quentin Smetz (qsm) <qsm@odoo.com>
2019-05-23 11:12:58 +00:00
Grzegorz Krukar 8869677669 [FIX] web: form: remove invisible fields spacing
Invisible fields in form view and group reserve space.
This looks bad with many invisible fields in a form.

Fixes: #29505 and #28370

closes odoo/odoo#33598

Signed-off-by: Quentin Smetz (qsm) <qsm@odoo.com>
2019-05-23 08:33:32 +00:00
Robot Odoo e7fc786a74 [MERGE] sms: apply various fixes
Purpose of this merge is to provide several small fixes related to
SMS module. Those are mainly corner cases incorrectly supported
by current code.

Related to task 1922163

closes odoo/odoo#33567

Signed-off-by: Thibault Delavallee (tde) <tde@openerp.com>
2019-05-23 11:28:34 +02:00
Priyanka Kakadiya 5adb6b62d2 [FIX] web: update buttons in editable list
In an editable view when editing a row, then apply or remove any groupby or
filter the control panel buttons are not updated.

When record is in edit mode in editable listview and applying groupby then
control panel buttons 'Save' and 'Discard' buttons are always displaying, this
issue occurs because when applying or removing filters control panel buttons not
updated i.e. _updateButtons not called.

With this commit button are updated when _update of list controller is called,
_update of list controller is also called from search.

Task-1967278

closes odoo/odoo#33572

Signed-off-by: VincentSchippefilt <VincentSchippefilt@users.noreply.github.com>
2019-05-23 07:39:13 +00:00
Jérome Maes 937d929b74 [FIX] sale_timesheet: allow billing user in journal entries
Since a timesheet is an analytic line, access rights are mixed for
timesheet manager and billing user, when hr_timesheet is installed.
Group mecanism use logical 'OR' between none global rules, so timesheet
access restrict the one of billing user. The ir.rule of sale_timesheet
tries to restore the access of billing user (which can thus modified
timesheet. This point is unfixable, unfortunately). This commit
completely restore (even for 'read' access) the rule for billing user,
otherwise such user can not validate an invoice if they are timesheet user.

opw-2001421

closes odoo/odoo#33575

Signed-off-by: Jérome Maes (jem) <jem@openerp.com>
2019-05-22 14:37:50 +00:00
Nicolas Seinlet 691b0e7e6f [FIX] lunch : row_number with order
row_number without order is not invariant depending on the readed
fields. The order by clause on the partition solve this.

closes odoo/odoo#33573

Signed-off-by: Olivier Dony (odo) <odo@openerp.com>
2019-05-22 13:28:04 +00:00
Toufik Ben Jaa dac369453c [FIX] lunch: on mobile crashes when grouping by field
- On mobile grouping by a field crashes.
This is due to the code assuming a function parameter
is always passed where it is actually an optional parameter.

closes odoo/odoo#33891

Signed-off-by: Toufik Benjaa (tbe) <tbe@odoo.com>
2019-06-05 07:50:56 +00:00
William Henrotin 5999d47d6b [FIX] mrp: use of 'self' inside a loop
Commit a5342daf9d use an iterable inside
a loop on itself. This break as soon as 'self' has more than one element

closes odoo/odoo#33856

Signed-off-by: Arnold Moyaux <amoyaux@users.noreply.github.com>
2019-06-04 07:34:50 +00:00
Pierre Paridans 8040f85b4f [FIX] web: form's title should take all width in edit mode
Form sheet's title (with class .oe_title) when in editable mode has a
maximum width. The goal according to FP is to make a clear
differentiation between the main title/name of a record and its other
fields.

An issue with the existing rule in the Project application is that the
"title" row (with class .oe_title) not only contains the name of the
task but also its priority and state.

The aforementioned rule should then be applied only on the "name" part
and not to the whole row to prevent the "state" from moving between
read_only and editable modes.

To do so the maximum width is "moved" from the row element to the task
name's element.

Sadly the current stylesheet in this project is still a regular CSS
file, preventing us from using the SCSS expression coming from
`addons/web/static/src/scss/form_view.scss`.

Task ID: 1946570

closes odoo/odoo#33845

Signed-off-by: Adrien Dieudonné (adr) <adr@odoo.com>
2019-06-03 14:13:40 +00:00
Jigar Patel 1fd9d1e908 [FIX] base: allow users to define fields and templates in any order for Gantt View
Before this commit, if you try to define some field tags before the
templates tag in a gantt view you will get a validation error.

closes odoo/odoo#33826

Signed-off-by: Aaron Bohy (aab) <aab@odoo.com>
2019-06-03 11:03:14 +00:00
Cedric Snauwaert d773715046 [FIX] account: fix to_check warning being thrown when opening reconciliation widget
In the reconciliation widget, we added a to_check functionality. However in some cases, the propositions don't have a default value for
to_check, which result in a warning being thrown when doing a comparison to ensure that all lines have the same to_check value.
This commit add a default value to to_check for all propositions (when loading the data and when performing a quick create).

closes odoo/odoo#33824

Signed-off-by: Cedric Snauwaert (csn) <csn@openerp.com>
2019-06-03 09:47:00 +00:00
Xavier Morel a0bd33e0e5 [FIX] web: properly update qweb view state in reload
closes odoo/odoo#33822

Signed-off-by: Xavier Morel (xmo) <xmo@odoo.com>
2019-06-03 09:49:53 +00:00
qsm-odoo 1f600826af [FIX] survey: fix assets forward-port
For saas-12.2 a file was added in survey assets with
https://github.com/odoo/odoo/commit/445541989f9dc094bf81201a715abe0a68ed1c63
(even though the file itself was added in the repo with
https://github.com/odoo/odoo/commit/afb1abbb60e5cdc4f76ab7b5a1b54b5e8a9283d5)

As a saas-12.1 fix, this was made:
https://github.com/odoo/odoo/commit/92cb648882082cc8d84d3bbe75304def5196998c
That fix split the survey assets in two parts. After forward-port, the
file added in saas-12.2 ended up in the wrong part.

Bug found while working on task-1961045

closes odoo/odoo#33821

Signed-off-by: Quentin Smetz (qsm) <qsm@odoo.com>
2019-06-03 09:42:13 +00:00
David Monjoie 494a2b2675 [FIX] web: log missing view warning rather than error
The point of this warning is to help a view developer realize that
his view is not loaded at all. However, console 'error' and 'warn'
are observed by the runbot clickall tour as meaningful errors
regarding a build resulting status. It makes sense, but it is an
issue for community modules which have a gantt view that only
exists in Enterprise. We don't want to create a bridge module
for each and every module which uses a view that only exists in
Enterprise, so we need to live with this warning. Since its
purpose is for developers only, they can read the log and notice
the error even if we use console.log rather than console.error,
and that will not alter the result of the runbot clickall tour.

closes odoo/odoo#33814

Signed-off-by: Aaron Bohy (aab) <aab@odoo.com>
2019-06-03 08:01:45 +00:00
Toufik Ben Jaa a7649a3d86 [FIX] sale_timesheet: performance for project with a lot of tasks
closes odoo/odoo#33766

Signed-off-by: Nicolas Seinlet (nse) <nse@odoo.com>
2019-06-03 08:19:50 +00:00