Commit Graph
124333 Commits
Author SHA1 Message Date
Antoine Prieels 2f789b6863 [FIX] hw_escpos: Avoid crashes on error
Two different problems on the box and resulted in the crash of the Odoo
instance running on the IoT Box:

When `usblp` had troubles communicating with a printer, a NoDeviceError
was raised. The `printer` variable was still set from the last time the
loop was processed, so we tried to close it, resulting in an error.

The code handling generic execptions was broken.

closes odoo/odoo#34437

Signed-off-by: Quentin Lejeune (qle) <qle@odoo.com>
2019-06-28 09:11:30 +00:00
Joren Van Onder 40a3822a40 [FIX] pos_mercury: don't show amount due in payment method popup
This popup shows in the rare situation where somebody has 2 payment
methods that use Mercury. It allows them to choose which one to use
when swiping a card.

It would show the amount due in the title of the popup however this
isn't correct when a "pending swipe" payment line has been added.

Fix it by removing this amount, it's clear what will be paid from the
information on the payment screen. Also use this opportunity to make
it translatable.

opw-2006596

closes odoo/odoo#34398

Signed-off-by: Nicolas Martinelli (nim) <nim@odoo.com>
2019-06-27 21:58:12 +00:00
Joren Van Onder 63f052a400 [FIX] pos_mercury: barcode scanner option should be activated
Card readers act as barcode scanners, they produce barcodes in a
certain format (see pos_mercury.barcode_rule_credit). Update the label
of the option to reflect this.

opw-2006596
2019-06-25 21:07:36 +00:00
Christophe Simonis cd21c016b0 [MERGE] forward port branch saas-11.3 up to 2f2bc67c06 2019-06-27 17:24:24 +02:00
Nicolas Martinelli 52749f9a02 [FIX] payment_stripe: UserError
In case of failure at token creation, raise a proper UserError instead
of a generic traceback.

opw-2025723

closes odoo/odoo#34420

Signed-off-by: Nicolas Martinelli (nim) <nim@odoo.com>
2019-06-27 13:07:18 +00:00
Christophe Simonis 2f2bc67c06 [MERGE] forward port branch 11.0 up to b1d43cc80e 2019-06-27 14:40:32 +02:00
Christophe Simonis b1d43cc80e [MERGE] forward port branch saas-15 up to d090c92782 2019-06-27 14:25:31 +02:00
Nicolas Martinelli 7670c6c80a [FIX] pos_discount: change customer
- Enable general discounts for POS
- Create a POS session
- Add a product
- Create a general discount of 10%
- Change the customer

The discount is reset to the product price.

When changing the customer, the prices are reset:

https://github.com/odoo/odoo/blob/3b1699e02d4483913159681bf7e10839e6493244/addons/point_of_sale/static/src/js/screens.js#L1251

In the case of a global discount, the price is therefore reset to the
product price in:

https://github.com/odoo/odoo/blob/3b1699e02d4483913159681bf7e10839e6493244/addons/point_of_sale/static/src/js/models.js#L2304

To avoid this, we set the price as manually set. Conceptually, this is
indeed the case since we manually chose the percentage, therefore the
price.

opw-2009761

closes odoo/odoo#34416

Signed-off-by: Nicolas Martinelli (nim) <nim@odoo.com>
2019-06-27 11:51:54 +00:00
Christophe Simonis d090c92782 [MERGE] forward port branch saas-14 up to 1985a49b92 2019-06-27 12:41:55 +02:00
Christophe Simonis 1985a49b92 [MERGE] forward port branch 10.0 up to 5eb15c01b5 2019-06-27 12:41:15 +02:00
Nicolas Martinelli 365110e9eb [FIX] sale: no company
Avoid crash at currency conversion when no company is set on the SO

opw-2009044

closes odoo/odoo#34408

Signed-off-by: Nicolas Martinelli (nim) <nim@odoo.com>
2019-06-27 09:37:22 +00:00
Priyanka Kakadiya 5eb15c01b5 [FIX] base, web: missing extension on binary downloads
It's currently possible for binary downloads to be missing an
extension entirely. Generate an extension from the mimetype and use
that. Also ensure the existing extension (if any) matches the
mimetype.

Warning: this may require adding new mimetype/extensions pairs to the
local mimetype database similar to
f413d155df.

Also fix missing or incorrect filenames on records without a filename
field: in some Odoo versions the client would send a filename of
"null", resulting in a download of e.g. "null.pdf" instead of the
attachment or inferred name.

Task 2025716

closes odoo/odoo#34299

Signed-off-by: Xavier Morel (xmo) <xmo@odoo.com>
2019-06-27 08:26:49 +00:00
Christophe Simonis cf18c9bae1 [MERGE] forward port branch saas-14 up to 2a89adef2a 2019-06-26 19:26:58 +02:00
Christophe Simonis 2a89adef2a [MERGE] forward port branch 10.0 up to 7b16abbae1 2019-06-26 19:26:33 +02:00
Christophe Simonis b5beeb0901 [MERGE] forward port branch 11.0 up to 7742887e96 2019-06-26 13:52:44 +02:00
Nicolas Martinelli d870749d79 [FIX] l10n_fr_fec: remove new line
- Make a SO with a product that have a carriage return in its
description
- Export FEC report

The CSV contains new lines and is not correctly formatted.

opw-2026861

closes odoo/odoo#34385

Signed-off-by: Nicolas Martinelli (nim) <nim@odoo.com>
2019-06-26 11:45:57 +00:00
Nicolas Martinelli da986aa479 [FIX] l10n_fr_fec: backport fixes
Backport of:

a3519638a3
fe9e7d47b8

opw-2026861
2019-06-26 11:41:41 +00:00
Christophe Simonis d65953124c [MERGE] forward port branch saas-14 up to 61a51a8651 2019-06-26 11:15:32 +02:00
Christophe Simonis 61a51a8651 [MERGE] forward port branch 10.0 up to ea4ddff117 2019-06-26 11:12:36 +02:00
Nicolas Martinelli 6387614dca [FIX] product: create variants in multi-company
- Install stock module
- Activate multi-company and variants
- Create a second company
- Create a product with 2 variants
- Create a picking with the product for both companies
- Add an attribute on the product with 2 values
- Save

An AccessError is raised on `stock.move`.

It arises because the field `product_qty` on `stock.move` must be
recomputed but is on a record in a different company.

The `try` / `except` clause doesn't protect against the recomputation.
Indeed, what happens is:
- try to unlink in batch => AccessError due to recomputation
- try to unlink individually => AccessError due to recomputation
- try to write individually => the field couldn't be recomputed before
(flagged as dirty), so try again to recompute => AccessError

We perform the operation as sudo, and take care of checking the access
rights beforehand.

opw-2009450

closes odoo/odoo#34369

Signed-off-by: Nicolas Martinelli (nim) <nim@odoo.com>
2019-06-26 07:21:22 +00:00
Bohdan Lisnenko 7742887e96 [FIX] http_routing: slugify_lib - max_length param should be int
closes odoo/odoo#33858

Signed-off-by: Jérémy Kersten (jke) <jke@openerp.com>

closes odoo/odoo#34363

Signed-off-by: Jérémy Kersten (jke) <jke@openerp.com>
2019-06-25 12:15:37 +00:00
Goffin Simon 3d27337f6d [FIX] account: correct communication when registering payment for multiple invoices
When registering a payment against multiple vendor bills and change the memo,
the memo must be populated to all the payments. This behavior has been introduced
with the following commit in stable 11.0: c04065abd8

opw:2024652

closes odoo/odoo#34322

Signed-off-by: Simon Goffin (sig) <sig@openerp.com>
2019-06-24 11:29:08 +00:00
Jorge Pinna Puissant 49b949759f [FIX] crm: change team with the default one
Backport from 12.0 to 11.0 (commit: 3cbdfe8807)

- Have two crm teams with the same team leader, and without team members
(team1, team2 as instance).
- Create a new lead, add as Salesperson the team leader, and as Sales
team the second previously created team (team2).
- Save the new lead.

Before this commit, when we save the lead, the sales team will change,
to set the default sales team for the chosen Salesperson, in this case
team1.

opw-2005924

closes odoo/odoo#33898

closes odoo/odoo#34327

Signed-off-by: Simon Goffin (sig) <sig@openerp.com>
2019-06-24 11:22:23 +00:00
Odoo Translation Bot 149783fb19 [I18N] Update translation terms from Transifex 2019-06-23 03:06:47 +02:00
Christophe Simonis 35aeabb647 [MERGE] forward port branch 11.0 up to cc3f45ae0b 2019-06-20 12:11:43 +02:00
Christophe Simonis cc3f45ae0b [MERGE] forward port branch saas-15 up to e7fb3e2f1a 2019-06-20 12:06:59 +02:00
Christophe Simonis e7fb3e2f1a [MERGE] forward port branch saas-14 up to a7ad19d7fd 2019-06-20 12:05:26 +02:00
Christophe Simonis a7ad19d7fd [MERGE] forward port branch 10.0 up to c5c955db7a 2019-06-20 12:04:52 +02:00
Christophe Simonis 7b16abbae1 [IMP] core: add support for multi-version migration scripts
A special folder named `0.0.0` can contain scripts that are run on
upgrade of any version.
They are useful to make some sanity checks or other verifications to
ensure database consistency.

The first version of this patch used the more eye-catching `any` for
the migration folder, but it was problematic for upgrading from an older
version that doesn't contain this patch.

Using a version "number" containing two dots is required to avoid it
being prefixed with the server version (see `convert_version` method) and
resulting in a version like `10.0.any`.
Such version would have been executed, even without this patch, when
upgrading from an older major server version (9.0.1.0 < 10.0.any).

closes odoo/odoo#34268

Signed-off-by: Christophe Simonis <chs@odoo.com>
2019-06-20 10:01:31 +00:00
Nicolas Martinelli ea4ddff117 [FIX] point_of_sale: apply fiscal position
- Create 2 included taxes: 21 % and 6 %
- Create a product A with 21 % as default tax
- Create a fiscal position to map the tax 21 % to tax 6 %
- Allow the fiscal position in the POS
- Add product in a POS order
- Apply the fiscal position

The subtotal is not recomputed correctly. On the other hand, if the
fiscal is first set then the product added, there is no problem.

This is because the `fix_tax_included_price` is only called by
`add_product` and not when changing the fiscal position.

opw-2020755

closes odoo/odoo#34260

Signed-off-by: Nicolas Martinelli (nim) <nim@odoo.com>
2019-06-20 08:16:10 +00:00
Xavier Morel c5c955db7a [FIX] core: work around ir_logging deadlock
DROP CONSTRAINT (even with IF EXISTS is specified) acquires an ACCESS
EXCLUSIVE lock on the table, preventing e.g. inserts in an other
transaction, so ir_logging would systematically deadlock if configured
to the same database and a warning would be triggered during install
or update (if that ran ir.logging's init).

1. hand-roll the "IF EXISTS" bit, to avoid taking an ACCESS EXCLUSIVE
lock on the table if the problematic constraint does not exist and
thus doesn't need to be dropped (which by now should be the vast
majority of cases).

Replacing DROP CONSTRAINT with DISABLE TRIGGER does not fix the
issue as *that* acquires SHARE ROW EXCLUSIVE. While that's less
constraitning than ACCESS EXCLUSIVE, it still conflicts with an
insert's ROW_EXCLUSIVE.

2. add a timeout to the logging INSERT anyway, the deadlock is still
an issue if we're updating a database which does have the
problematic constraint, and we want to preclude the possible
eventual introduction of new deadlocks in the future.

closes odoo/odoo#34243

Signed-off-by: Xavier Morel (xmo) <xmo@odoo.com>
2019-06-19 13:43:53 +00:00
Christophe Simonis 132e38beef [MERGE] forward port branch 11.0 up to b5a04fd29f 2019-06-19 12:07:56 +02:00
Olivier Colson c0643ac918 [FIX] account: make cash basis taxes work in case several account move lines are reconciled within the same account.move
Such move lines can be created by POS, when closing a session. Because of commit https://github.com/odoo/odoo/commit/d3453f7d152d486cb5df01b4e40dbde57f59b49e , the cash basis entries are now created *after* reconciling everything (and not during reconciliation anymore). This causes multiple lines of the move created for the sessions to be reconciled together in case a refund was made (partial or not).

Solves ticket 2008085

closes odoo/odoo#34237

Signed-off-by: Cedric Snauwaert (csn) <csn@openerp.com>
2019-06-19 09:24:26 +00:00
Julien Castiaux 85ab9238c5 [FIX] google_account: improve logging of errors
There is no guaranty that both the request body and the response body
will contain JSON data. This fix corrects the logging by printing the
raw text in case of json decode error.

opw-2006561
opw-2024242

closes odoo/odoo#34221

Signed-off-by: Julien Castiaux <Julien00859@users.noreply.github.com>
2019-06-19 09:12:27 +00:00
Goffin Simon 3b1699e02d [FIX] l10n_fr: Wrong tags for TVA déductible (achat) 5,5% TTC
The tags set for TVA déductible (achat) 5,5% TTC were for "TVA collectée"

opw:2026360

closes odoo/odoo#34410

Signed-off-by: Simon Goffin (sig) <sig@openerp.com>
2019-06-27 09:50:24 +00:00
Nicolas Martinelli 34644baab0 [FIX] sale_margin: no company
Complement of commit 7a24df4889

opw-2009044

closes odoo/odoo#34374

Signed-off-by: Nicolas Martinelli (nim) <nim@odoo.com>
2019-06-26 09:33:37 +00:00
Jorge Pinna Puissant 044c5c2c81 [FIX] mrp: BoM structure report with variants
1. Setup a few variants for a product;
2. Create a BoM for each of the variants with different
components/quantities, make sure to specify the product variant field;
3. Go to any of the variants and click Print BoM Structure.

Before this commit, it will print the BoM structure for all variants and
not only the one selected. Also, it will print in all the variants the
same BoM structure. If multiples BoM were selected to print, each
variant of the product was printed with each of the BoM structure
selected.

Now, if you select one BoM, only this is printed. If multiples BoM are
printed, each product, and product variant are correctly related to
their respective BoM structure.

opw-2007939

closes odoo/odoo#34353

Signed-off-by: Simon Goffin (sig) <sig@openerp.com>
2019-06-25 08:42:27 +00:00
Goffin Simon cb4afb263b [FIX] mrp: Manufacturing cost analysis report
Steps to reproduce the bug:

- Create a finished product P with a manufacturing BOM B
- Set two components on B C1 and C2
- Create a MO with P and process it(plan and produce it)
- Unlock the MO and set the consumed qty of C1 to 0
- Lock and click on Mark as Done
- Click on Cost Analysis

Bug:

C1 was displayed in the report with a qty = 1.0

opw:2010912

closes odoo/odoo#34351

Signed-off-by: Simon Goffin (sig) <sig@openerp.com>
2019-06-25 09:23:32 +00:00
Christophe Simonis e628e66271 [FIX] hr_timesheet: add missing dependency for timesheet_uom widget
The `timesheet_uom` widget is a proxy to another widget (configurable
server-side). We need to ensure the widget registry is filled before
using it to avoid a fallback to `float_factor` widget.

closes odoo/odoo#34350

Signed-off-by: Christophe Simonis <chs@odoo.com>
2019-06-25 09:36:12 +00:00
Mathieu Duckerts-Antoine 89d5cc3b3d [FIX] web: measure/groupby many2one variation in pivot view
In case a many2one field (let us say 'foo') is used
simultaneously as a groupby and a measure in the pivot view,
the values returned by a read_group for that many2one are of
the form [id, label] and the aggregated values (always 1) are
missing in the read_group results (datapoints).
Thus typically, a datapoint is of the form

{'foo': [1, 'Bar'], '__count': 4, ...}

and does not contain information on the 'foo:count_distinct'
value (this is a read_group bug).

As a consequence, a special processing of the read_group
datapoints is done in the pivot model to handle that
situation and the value for 'foo:count_distinct' is infered
correctly to be 1.

In the pivot comparison mode, datapoints comming from the
period and the comparison period (data and comparisonData
sets) are identified if they have same values for the groupby
fields and the measure values become small objects containing
information on the the measure values for data and for
comparisonData and on the related variation.

Thus

{foo: [1, 'Bar'], __count: 4, ...}

from data and

{foo: [1, 'Bar'], __count: 3, ...}

from comparisonData should become a single datapoint

{
foo: [1, 'Bar'],
__count: {
data: 4,
comparisonData: 3,
variation: {
magnitude: +33 (%)
}
}
fooAggregate: {
data: 1,
comparisonData: 1,
variation: {
magnitude: 0 (%)
}
}

It turns out that the code responsible for merging the data
and comparison datapoints made a mistake by mixing the keys
'foo' and 'fooAggregate', with the consequence that the
variations were not correctly computed in the situation
described above.

This is fixed in this commit.

closes odoo/odoo#33118

Signed-off-by: Aaron Bohy (aab) <aab@odoo.com>
2019-06-25 11:18:02 +00:00
Nicolas Martinelli 28e24b9540 [FIX] website_sale_stock: custom message translatable
Make the 'Custom Message' field translatable since it is supposed to be
used on the website and displayed in the language of the user.

opw-2008088

closes odoo/odoo#34344

Signed-off-by: Nicolas Martinelli (nim) <nim@odoo.com>
2019-06-25 08:01:50 +00:00
Alexandre Kühn ea1960d10a [FIX] mail: keep chat window hidden on receiving new message
Before this commit, when receiving a new message from a hidden chat
window, it was making it visible. Because of this, if we had focus
on any other window, the focus was lost. Even more annoying, if we
had focus on the left-most visible chat window, it moved to hidden
menu, so that new chat window takes its place.

This commit fixes the issue by keeping new chat windows hidden
on receiving new messages, in case there is not enough available
space.

Task-ID 2026101

closes odoo/odoo#34291

Signed-off-by: Martin Geubelle (mge) <mge@openerp.com>
2019-06-24 16:04:27 +00:00
Nicolas Martinelli 1db371721f [FIX] account: incorrect bank account domain
- Set 2 banks accounts for a partner A
- Create a credit note
- Choose partner A => a default bank account is chosen, and both are
available in the list.
- Save, go back to the tree view, then reopen the same credit note

It is not possible to choose among both bank accounts anymore.

It is due to the domain set on the view, which is valid for customer
invoices but not for credit notes. It works at creation since
`_onchange_partner_id` overrides the domain for `out_refund`.

In this specific case, a domain in the view is not appropriate: the same
view is used for 2 invoice types although they require a different
domain. Therefore we set the domain only in the onchange. The drawback
is that all bank accounts are shown when we reopen a customer invoice or
a credit note from the tree view since the onchange is not triggered.
However, the constraint `validate_partner_bank_id` still protects
against an incorrect configuration.

opw-2010017

closes odoo/odoo#34292

Signed-off-by: Nicolas Martinelli (nim) <nim@odoo.com>
2019-06-21 10:03:48 +00:00
Christophe Simonis ec8cfd5624 [MERGE] forward port branch saas-14 up to 249d09068a 2019-06-18 10:56:48 +02:00
Christophe Simonis 249d09068a [MERGE] forward port branch 10.0 up to 455714c7bf 2019-06-18 10:56:06 +02:00
jev-odoo 5bb9a8b418 [FIX]web_tour:avoid unnecessary traceback
In certain case, a non blocking traceback pops-up.
It happens when the page loads, if the dom is modified
before the tour has been fully loaded.

Theorical steps to reproduce:
- Open a page with an active tour
- Trigger any domain change before the tip-dot is loaded

On every change in the DOM, the MutationObserver tries
to update the page. If the tip-dot has not been loaded yet,
it will try to update the position of a non-existing element.
In that case, we simply ignore it. The update will be called
anyway when the tip-dot has finished his loading.

opws:
1923348
1965964
2011027
2008708
2001867
2000228
1998906
1972914
1972629
1963173
1961373
1956962
1949591
1947390
1947286
1944577
1944459
1941764
1938887
1936518
1935831
1934788
1934471
1934225
2006977
1970672
1931721
1931593

closes odoo/odoo#34199

Signed-off-by: Nicolas Martinelli (nim) <nim@odoo.com>
2019-06-18 07:45:55 +00:00
Nicolas Martinelli 25745d8515 [FIX] payment_stripe: save token
- Configure Stripe with 'Save Cards' set to 'Let the customer decide' or
'Always'.
- Go to the eCommerce, buy an item
- Use Stripe to pay, make sure to check 'Save my payment data'

No payment token is saved.

It occurs because 2 calls are performed to `/shop/payment/transaction`.
The second call, which is used to record the transaction, doesn't
contain the `save_token` parameter is not sent.

Ideally, we should only make a single call, but since Stripe works a bit
differently, we can't prevent it (in stable, at least). Therefore, we
work around it by searching the checkbox value.

opw-2008275

closes odoo/odoo#34242

Signed-off-by: Nicolas Martinelli (nim) <nim@odoo.com>
2019-06-19 13:00:02 +00:00
Nicolas Martinelli 4f3497c220 [FIX] website_forum: default karma
- Set the 'Editor Features: image and links' karma point to zero.
- Set a user with a total karma points < 30

The user doesn't see the links buttons in the editor.

This is because of an old fallback from 2014 which doesn't make sense
anymore today.

opw-2026025

closes odoo/odoo#34325

Signed-off-by: Nicolas Martinelli (nim) <nim@odoo.com>
2019-06-24 11:53:50 +00:00
Nicolas Martinelli d489b5ace9 [FIX] account: rounding method multi-company
Set the building icon next to the rounding method label since it is a
multi-company setting.

opw-2026025

closes odoo/odoo#34315

Signed-off-by: Nicolas Martinelli (nim) <nim@odoo.com>
2019-06-24 06:33:22 +00:00
Adrian Torres 547118d76f [FIX] base: do not generate auto xmlid for custom fields
For custom fields, the _module attribute is False, this means that
during the reflection of the model, the custom field's xmlid would be
set up as being introduced in the module of its model's original
definition, which is wrong (because it has no module).

E.g. field x_foo introduced in my_mod by extending model bom from
mrp, the resulting xmlid would be `field_mrp_bom__x_foo` when in reality
it should be `field_my_mod_bom__x_foo`, however this patch simply
disables the feature for custom fields as there is little to no use for
them to have an automatic xmlid.

Task-ID: 2025151

closes odoo/odoo#34265

Signed-off-by: Raphael Collet (rco) <rco@openerp.com>
2019-06-20 09:14:51 +00:00