Commit Graph
115801 Commits
Author SHA1 Message Date
Nicolas Martinelli d88c3706df [FIX] product: name search not ilike
- Create a product named 'toto'
- Perform a call to `name_search`:
  `self.env['product.product'].name_search('pouet', [], 'not ilike')`

Product 'toto' doesn't show up in the result list.

The domain should take into account that `default_code` can be `False`.

Note: the bug also occurs if the product is called 'trululu'.

opw-1837957
2018-04-26 15:07:01 +02:00
Simon Lejeune b4f1e316e6 [FIX] stock_account: average and anglo saxon
Remove behaviour introduced by [1], if there's a price difference the
price difference account will be used. This code block did not take into
account the fact that out move have a negative price unit, resulting in
inverted debit/credit. Furthermore, there's no special case for return
of standard and fifo.

[1] 1df16a189e

opw-1828196
2018-04-26 14:48:16 +02:00
Nicolas Martinelli 33b6edfd2f [FIX] mail: onchange activity
- Set a default value for the field 'Activity Type'
- Schedule an activity

The default value doesn't appear.

The default value is taken into account, but the onchange override the
value.

opw-1838066
2018-04-26 12:53:30 +02:00
Laurent Smet 5439e72a4e [IMP] payment*: auto-create journal for payment.acquirer
This commit adds the auto-creation journal for installed acquirers.
This is not easy because:
- The acquirers are created on the 'payment' module but are enabled only when the specific module
is installed. E.g. Paypal is enabled with 'payment_paypal'.
- To create a journal, a chart of accounts is required. However, the post_init_hook on the
'account' module makes the installation order harder. E.g install payment_paypal directly:
The module are installed in the order: account -> payment -> payment_paypal -> l10n_generic_coa.

To fix the problem, the journals are created at two moments:
- During the installation of the chart of accounts.
- At the installation of an acquirer module. E.g. payment_paypal.

Was PR #23904
Was task: 1831620
2018-04-26 11:26:22 +02:00
Goffin Simon 5588c2e02b [FIX] purchase: Wrong behavior of "Received product" button on purchase order
Steps to reproduce the bug:

- Create a stockable product P
- Create PO and confirm it
- Cancel the PO
- Reset the PO to Draft and reconfirm it
- Validate shipment order

Bug:

- The "Receive product" button is still displayed but every shipment orders of the
PO have been treated.

NB: The field is_shipped is only used to display the button "Received product".

opw:1838539
2018-04-26 09:22:20 +02:00
Miquel Raïch 0c76bd3c63 [FIX] account_asset: avoid company mismatch
It was possible to change manually the company of an asset, although its category would be belonging to another company and thus its depreciation lines and journal items also.

To tackle this problem, we set the company_id field of an asset as related to its category

Was PR #23498. Courtesy of Miquel Raïch
2018-04-26 09:19:38 +02:00
Manuel Vázquez Acosta 33704bc717 [FIX] web: Explicitly decode the JS files in tests.
When in Python 3, then function `open` defaults to open the file in text mode
with and the encoding (if not passed) is taken from
`locale.getpreferredencoding`.

Using `getpreferredencoding` is not necessarily a good practice.  Because
files might no be encoded that way.

When testing Odoo not in runbot (which has LANG set to C.UTF-8) you may get:

Traceback (most recent call last):
  File "/home/gitlab-runner/src/odoo11/addons/web/tests/test_js.py", line 24, in test_check_suite
    self._check_only_call('web.qunit_suite')
  File "/home/gitlab-runner/src/odoo11/addons/web/tests/test_js.py", line 37, in _check_only_call
    if RE_ONLY.search(fp.read()):
  File "/home/gitlab-runner/virtualenvs/odoo11-MlnlRiTaP2/lib/python3.5/encodings/ascii.py", line 26, in decode
    return codecs.ascii_decode(input, self.errors)[0]
UnicodeDecodeError: 'ascii' codec can't decode byte 0xc3 in position 4757: ordinal not in range(128)

The proposed solution is to read the file in binary mode, and decode to
unicode/str ourselves using utf-8.  We don't use the encoding argument of
`open`, so that the code works in both Python 3 and Python 2.

PR  #24434
2018-04-26 09:14:29 +02:00
gustavovalverde 1a80fc1ee7 [FIX] l10n_do: Add fiscal purchase journals 2018-04-25 18:09:05 +02:00
Martin Geubelle c0809dd41d [FIX] web: reload progressbar values after archiving records
Before this, the progressbar values were not updated (both count and progress)
after archiving all the records of a column.

Multiple things have been done here to update it.

Firstly, a optimization had been done to avoid reloading the progressbar when
updating a column ; this optimization was not correct due to this precise use
case. This will update the progressbar.

Secondly, the `aggregateValues` are reset when putting empty groups back in the
datapoint. This attribute is used to compute the counter if a `sum_field` is set
on the progressbar widget. It needs to be reset because the loop that computes
it won't iterate on empty groups.

Eventually, the mockRPC of the progressbar route was not taking the `group_by`
argument into account (probably a typo).
2018-04-25 16:54:43 +02:00
qdp-odoo fd53539f8e [FIX] account: fix unreconciliation with several exchange rate entries
Use case fixed: manual reconciliation through the account.move.line list of items with several currencies, that will create a full reconcilation with several exchange rate entries to balance the amounts in all foreign currencies. Unreconciling these lines was wrongly creating an account.move with a lot of lines with debit = credit = amount_currency = 0.
2018-04-25 16:20:37 +02:00
Arnold Moyaux 6fac0b0241 [FIX] stock: extra move incorrect qty
Usecase to reproduce:
- Create a product A with a qty on hand 5.5
- Create a delivery order with an initial demand of 5.5
- Validate it with a qty equals to 5.95
The initial demand is updated to 5.951 then reduced to 5.95
and a backorder is created with an initial demand of 0.001.
That should not happen since I process extra quantities.

It python 5.95 - 5.5 = 0.4500000000000002 and the float_compare
use a round UP method thus it returns 0.451 and the following
flow is based on a wrong value.
In this case a float compare is used before the float round, so an
HALF-UP rounding should be okay since a very small quantity diff should
be filter by the compare.

Fixes #24401
2018-04-25 15:43:21 +02:00
Nicolas Martinelli 32e7dfe0c4 [FIX] account: unreconcile payment
- Company currency in EUR
- Create 2 rates for USD:
  1.0 on 2018-01-01
  0.5 on 2018-02-01
- Create an invoice on 2018-01-02 of 111 USD
- Register a payment on 2018-02-02 of 111 USD
- Unreconcile the payment

An error occurs: 'You are trying to reconcile some entries that are
already reconciled!'

In this specific case where the rate decreases, the exchange rate entry
is reconciled with the payment, so we need to keep the payment entries.
2018-04-25 14:53:42 +02:00
Simon Lejeune c812122d5e [FIX] stock: picking: do_unreserve
When a scrapped move is part of an open picking, it was not possible to
unreserve the picking. A scrapped move is done and scrapped ; this
combination should be allowed.

opw-1835186
2018-04-25 14:03:32 +02:00
Nicolas Martinelli 9e5c1f68a5 [FIX] delivery: fix test
Once again, related to commit 0e881fcd3a

opw-1837132
2018-04-25 12:53:47 +02:00
Nicolas Martinelli 37a901c061 [FIX] account: reconciliation model with Tax 0
- Create the following reconciliation model:
  Line 1 is 50% of amount, tax is 20%
  Line 2 is 50% of amount, tax is 0%
- Use this reconciliation model to reconcile an amount of 1000.

4 lines are created:
- 2 lines for base amount (500)
- 1 line for the 20% tax (100)
- 1 line for the 0% tax (1000)

Obviously, the last line is incorrect, and should be 0.

opw-1837049
2018-04-25 12:50:03 +02:00
Moisés López c2fec7ed88 [FIX] base_vat_autocomplete: add compatibility with python-stdnum>=1.9
The `country_codes` variable was replaced by `_country_codes` at
arthurdejong/python-stdnum@c113613b70

Make sure the syntax is the same

Closes #24395
2018-04-25 11:04:31 +02:00
Goffin Simon 019c8b9975 [FIX] delivery: Wrong delivery costs on free_over = True
The calculation of the delivery cost for a sale order / invoice was not correct when
free over  a limit had been satisfied.

Steps to reproduce the bug:

- Set a delivery method DM with a fixed price = 10.0 and free when the amount of the order exceeds 100
- Create a SO for an amount of 150 and set on it DM
- Confirm the SO and deliver it

Bug:

A SO line with DM was created with a fixed price of 10.0 instead of 0.0

opw:1838070
2018-04-25 09:17:00 +02:00
Nicolas Lempereur 7b6744ecb7 [FIX] web: pivot race condition load data
When doing several grouping quickly (or if the system is slow) on the
pivot view, we may try to display data that now doesn't corresponds to
the current selected groupBys.

This commit ensures that when we load data of the pivot view, we drop
the previous data loading that are currently being carried out.

Without the fix, the added test failed with:

  TypeError: Cannot read property 'length' of undefined

because the test does:

- select one level of group by
- select two levels of group by
- resolve the first level of group by
- resolve the second level of group by

Without the fix, we would try to display the data for one level of group
by when the pivot view had two levels selected.

With the fix, displaying the first level of group by was discarded once
a second one was being requested.

opw-1825892
closes #24396
2018-04-25 09:11:10 +02:00
Jeremy Kersten e6e07ec1a3 [FIX] website_slide: avoid traceback when channel not readable
If the user has limited_access, download_security field was not read due to the
override of check_field_access_rights and so the field not set.
When you try to access/read it, you got: Selection is not iterable.

Now we check in sudo the download_security.

We also add the **kw that should be present in all routes.
Avoid: "slide_download() got an unexpected keyword argument 'debug'"

We also remove this controller from the sitemap.
2018-04-24 21:18:02 +02:00
qdp-odoo b9ce1affbf [REV] account: reverts commit 0351b492d5.
Unexpected runbot failure detected. Pach reverted for further investigation. Sorry for the disturbance
2018-04-24 12:10:06 +02:00
qdp-odoo 0351b492d5 [FIX] account: fix unreconciliation implying several exchange rate entries
Use case fixed: manual reconciliation through the account.move.line list of items with several currencies, that will create a full reconcilation with several exchange rate entries to balance the amounts in all foreign currencies. Unreconciling these lines was wrongly creating an account.move with a lot of lines with debit = credit = amount_currency = 0.
2018-04-24 10:46:51 +02:00
Géry Debongnie fcc6e9e3be [FIX] web: correct docstring (was showing incorrect type)
This is my mistake, I added the docstring without properly checking the
type.
2018-04-24 10:22:24 +02:00
Mohammed Shekha c1bf1c6a54 [FIX] web: preserve new column order after creation
When a user creates a new column in a kanban view, leave the action and
comes back, the order is not preserved.  With this commit, we force a
call to resequence to ensure that the order does not change.
2018-04-24 10:18:33 +02:00
qdp-odoo 61fe7a7820 [FIX] account: allow switching from CoA if empty moves exists
This is needed in case we open the Chart of Account step from the configuration bar, as it will silently create the opening journal entry
2018-04-24 09:21:01 +02:00
Christophe Simonis 3ab25b60bc [MERGE] forward port branch saas-15 up to cae950e826 2018-04-23 17:59:59 +02:00
Christophe Simonis cae950e826 [MERGE] forward port branch saas-14 up to 0c40ba6c8b
Also include a fixup in purchase.pot of previous forward-port
2018-04-23 17:36:56 +02:00
Christopher Ormaza 30490cae89 [FIX] web: handle nested x2m default values
The initial rev. odoo/odoo@2d3ecf2 that was supposed to handle this use case
was in fact only dealing with one command as default value for nested x2m, not
more.

The basic model can now handle multiple commands.

Closes #24241
2018-04-23 17:35:03 +02:00
Christophe Simonis 0c40ba6c8b [MERGE] forward port branch 10.0 up to 76c17ab3f5 2018-04-23 17:06:55 +02:00
Christophe Matthieu e94702d8b9 [FIX] web_editor: wrong display of the link buttons (btn) in outlook 2013
The css generates all the attributes separately and not in simplified form.
In order to have a better compatibility we simplify the css tags.
e.g. border-left-style: none; border-bottom-s .... will be simplified in border-style = none

We convert the link.btn into a table to have a good rendering in outlook, and revert the
change when the user edit the content.
2018-04-23 16:44:57 +02:00
Christophe Matthieu db37f9c4ef [FIX] web_editor: wrong display for td in Apple Mail
the td are displayed with wrong background color if the td tag is empty
2018-04-23 16:44:57 +02:00
Toufik Benjaa e34b8b07b4 [FIX] stripe: Fix float representation error
- Stripe needs to have the amount in integer, so we have to multiply by 100 the amount.
  Which sometimes create float representation errors and remove/add ~1 cent on some transactions (i.e 72.60€)
2018-04-23 16:28:08 +02:00
Toufik Benjaa 76c17ab3f5 [FIX] stripe: Fix float representation error
- Stripe needs to have the amount in integer, so we have to multiply by 100 the amount.
  Which sometimes create float representation errors and remove/add ~1 cent on some transactions (i.e 72.60€)
2018-04-23 16:25:49 +02:00
Nicolas Lempereur 29c6c06de7 [FIX] account_check_writing: write multi payment
When you pay multiple invoice with one payment, you need the write
permission on account.journal, this had been solved when registering a
payment for one invoice in 91ca84644

In this commit, the same logic is applied on account.register.payments

opw-1835888
opw-1834343
closes #24369
2018-04-23 16:23:19 +02:00
Goffin Simon e4731d0327 [FIX] base: Traceback when creating a partner with an ascii character
Steps to reproduce:

- Go to the Contact
- Create a new contact with an email address with an ascii character

Bug:

A traceback was raised.

Closes #19852
opw:1837714
2018-04-23 16:18:03 +02:00
Christophe Simonis 6b94555af0 [MERGE] forward port branch saas-14 up to dd18811e6c 2018-04-23 16:00:32 +02:00
Nicolas Lempereur dd18811e6c [FIX] purchase: use PO company for PO notification
In 41ffb503 the "Invoice Notification Email"  and "Sale Order
Notification Email" were modified so the company used was the one of
the object if available or the sender otherwise.

This had not been done for the "Purchase Order Notification Email" which
was added in saas-14 which might be unexpected.

Also as in 7a03f9ce9 specify the company when displaying the logo.

opw-1838112
closes #24344
2018-04-23 15:31:52 +02:00
Martin Trigaux eccb2bcf76 [FIX] base: do not crash on gravatar timeout
ConnectionError is raised when there is no internet connection
if case of timeout a ConnectTimeout or ReadTimeout is raised.
It was not catched.

requests.exceptions.Timeout catches both
2018-04-23 15:20:36 +02:00
Christophe Simonis 0bf642cb27 [MERGE] forward port branch saas-14 up to 2bc3fd89f2 2018-04-23 14:47:23 +02:00
Christophe Simonis 2bc3fd89f2 [MERGE] forward port branch 10.0 up to 2d12ae3202 2018-04-23 14:39:41 +02:00
Christophe Matthieu 4809091b15 [FIX] website_blog: wrong parse background-image generate console error 2018-04-23 14:28:00 +02:00
Christophe Simonis 2d12ae3202 [MERGE] forward port branch 9.0 up to c9e7433c23 2018-04-23 14:07:12 +02:00
Goffin Simon 32d5a31364 [FIX] mrp: Wrong decimal format in user error
When the produced quantity was a float, it only displayed the integer part.

opw:1837334
2018-04-23 14:06:34 +02:00
goliveirab 6157750a66 [FIX] l10n_mx: account 802.02
Changing account nature D > A, 802.02 Contra Cuenta CUFIN

Closes #24331
2018-04-23 13:53:24 +02:00
Nicolas Martinelli 899ae6d3da [FIX] account: print invoice
- Create a user A with group `group_sale_salesman` but no Accounting &
  Finance group set
- Create and validate a SO, create the invoice
- With another user B, pay the invoice
- Print the "Invoices" with A

An access error occurs.

The error is due to user A not having the rights to see the payments.

We set a group on the corresponding report to avoid a user without
proper rights to print it.

opw-1837845
2018-04-23 13:35:05 +02:00
qsm-odoo 61c32429a6 [FIX] web, web_editor: restore report edition feature
Since 11.0, reports could not be edited at all anymore. This is due to
the fact the editor files were refactored but the report feature is not
correctly organized since it was merged with the 'web' app. Indeed, the
'web' app is still calling files and assets of the 'web_editor' app which
is not a dependency (but it is working as 'web_editor' is auto-installed
with 'web').

opw-1826599
opw-1834971
Closes https://github.com/odoo/odoo/issues/24034
2018-04-23 12:57:51 +02:00
qsm-odoo c9e7433c23 [FIX] web_editor: prevent crash on outside-iframe click
The editor is performing text selection check when clicking on the
window. However, when clicking outside the iframe an editor is running
in, a crash may occur as the editor was trying to check a range outside
of its environment (the iframe).

Related to opw-1837818
2018-04-23 12:56:34 +02:00
Stefan Rijnhart 04b0d761e4 [FIX] core: Validate custom views without an XML ID
Regression of fc91feda30

Closes #23646
Closes #23626
2018-04-23 10:27:40 +02:00
Christophe Simonis 3bee6ebb0a [FIX] core: effectively warn on invalid custom views
Since new-api migration of `ir.ui.view`, the method that check views
raises exceptions instead of returning a boolean. Show them as warning.

Related to #14521
2018-04-23 10:12:16 +02:00
Nicolas Martinelli adfec42561 [FIX] base_import_module: imported module version
- Create a simple module, set version to 2.0
- Import the zip file

The 'Latest Version' (field `installed_version`) is set to 11.0.1.0,
while one would expect 11.0.2.0.

There are several reasons for this. First, the method
`get_values_from_terp` doesn't return the version, so at this point the
information is already lost. Then, the field `installed_version` is a
computed field which retrieves the version from the `__manifest__.py`
file. In the case of an imported module, there is no such file in which
we can look up for the value (even though the imported module contained
one).

To avoid this, we explicitly set the 'Installed Version' (field
`latest_version`) to the version retrieved at import. Since this field
refers to the version installed in the database, it makes sense to use
it this way. Moreover, in the case of imported modules, we use the value
of `latest_version` for `installed_version`.

Fixes #23988
opw-1833522
2018-04-23 09:58:24 +02:00
Goffin Simon 4ac10f20c4 [FIX] account, purchase, sale: Wrong company displayed in the footer
Steps to reproduce the bug:

- Set a multi company environment with two company A and B
- Set user admin in company A
- Set user demo in company B
- Create a PO with user demo
- Send a RFQ

Bug:

The company of the admin user was displayed in the footer of the email.

The function _notify called on res.parter model is called in sudo by
the function _notify on mail.message model.

The function render_template on mail.template model uses the user defined
on self.env to render the template. So the user admin was always used.

opw:1835647
2018-04-23 09:33:22 +02:00