Commit Graph
116478 Commits
Author SHA1 Message Date
Aaron Bohy ee0605f405 [IMP] web: add sessionStorage service
This rev. adds the 'sessionStorage' service, allowing to write and
read stuff in/from the sessionStorage (with a compatibility layer
to handle the case where the sessionStorage can't be used, e.g.
private browsing in Safari, like it is already done for the
localStorage).

This new service is necessary for the ActionManager to store the
current action, so that it can be fully restored on F5 (this comes
with the next commit).
2018-03-23 09:02:03 +01:00
Toufik Benjaa 2a53338649 [FIX] test_mail: Update query count 2018-03-22 18:46:34 +01:00
Toufik Benjaa aeeb21128a [FIX] test_mail: Update query count 2018-03-22 17:52:39 +01:00
Olivier Colson 13899ca39d [FIX] account: correct signature of reconciliation method
This bug had been introduced by the last refactoring of the reconciliation widget, it's just a renaming error.
2018-03-22 13:03:43 +01:00
Laurent Smet 7859dee4fc [FIX] account: fix payment_difference computation
Bug introduced by https://github.com/odoo/odoo/commit/cdca5d4751a979f6b694f02d88160843f81a77f5

There is two problems:
- The payment difference is the difference between what you need to pay and what you pay.
=> The compute does the opposite.
- When the payment type is outbound, the payment amount is never negative.
=> Need to inverse the payment amount in the compute in this case.

E.G.

Suppose A a customer invoice of 25 and B a vendor bill of 50:

Payment on A will compute:
payment_type = 'inbound'
amount = 25

If you pay 20, the payment_difference computed was 20 - 25 = -5
It should be 25 - 20 = 5 instead.

Payment on B will compute:
payment_type = 'outbound'
amount = 50 (not -50!)

If you pay 40, the payment difference computed was 40 - (-50) = 10
It should be -50 - (-40) = -10 instead.
2018-03-22 11:01:20 +01:00
Martin Trigaux 168b3490cd [IMP] service: convert uid to int
Make sure the user id received by the RPC call is an integer

Avoids errors like #23534
Crash early in case of bad uid format instead of propagating another value
2018-03-22 09:00:00 +01:00
Christophe Simonis 76027a6e12 [MERGE] forward port branch saas-11.2 up to 6773bdbe32 2018-03-21 19:42:34 +01:00
Christophe Simonis 6773bdbe32 [MERGE] forward port branch 11.0 up to e8f630e44d 2018-03-21 19:36:58 +01:00
Pratima Gupta 9239ec7de8 [FIX] web_editor: set correct zindex on translation navbar
Commit c06f0f3a35 changed the base navbar zindex.
But the navbar of the translation mode still had old zindex values making the
navbar invisible, in fact under the base navbar.

task-1804662
2018-03-21 19:09:51 +01:00
Christophe Simonis e8f630e44d [MERGE] forward port branch saas-15 up to 7a45296cf1 2018-03-21 18:20:22 +01:00
qdp-odoo 2f4d343587 [FIX] account: fix and enhance multi-currency test on payment 2018-03-21 17:36:00 +01:00
Jeremy Kersten 0f1f5409ef [FIX] sale: show discount in portal
Before this commit, discount was never displayed in the portal.
So if you bought 1 iPad at 1800$ with 50% you see in your poral:

Product         Unit P.  Qty  Subtotal
[photo] Ipad    $1800    1.0      $900

Now, similarly to the report pdf, we show discount if at least
one line contains a discount.

This commit closes #11305
2018-03-21 17:17:37 +01:00
Jairo Llopis 9543e24a8d Search failure obvious for user.
Before this patch, when a user searched something in the shop and no results were yielded, there was no clue that the problem might be the search query itself.

After this patch, this UX becomes more obvious:

- *(0 found)* appears next to search button.
- _No results found for **"search term"**_ appears clearly in the middle of the page.

This commit closes #14359
2018-03-21 17:08:32 +01:00
Christophe Simonis 7a45296cf1 [MERGE] forward port branch saas-14 up to 78dced6bc2 2018-03-21 16:49:15 +01:00
Christophe Simonis 78dced6bc2 [MERGE] forward port branch 10.0 up to c2b3ad1899 2018-03-21 15:55:26 +01:00
Arnaud Baes 3c468b0185 [FIX] stock: run scheduler
the "company_id" value wasn't declared explicitly in the "_prepare_procurement_values" method, wich caused the procurement "run" method to set a company by default regardless of the company associated to the orderpoint.

this caused issues in a multi-company config. ( see #23764 )
2018-03-21 15:52:41 +01:00
Vincent Schippefilt 8fe220bf8b [IMP] web : replace jquery selector by native selector
the only goal of this change is not to use a jquery selector on the
body of the document.
Jquery adds an ID attribute to all the nodes it selects. This in turn
triggers the attribute change debugger in chrome, and creates a lot
of noise while debuging.
2018-03-21 14:48:35 +01:00
Nicolas Martinelli aed8e199ce [FIX] base_import: import empty date/datetime
When a user imports a file with a datetime field set to a blank space,
the value is computed as 1900-01-01 00:00:00. However, when converted in
the user's TZ, this can lead to a value < 1900-01-01, which is not
recognized at the JS level as a valid value.

This makes the access to the record impossible, and possibly makes the
access to an app impossible. It is for example the case with Purchase,
where the order date is displayed on the default's action view (list
view).

We strip the value before testing if the value exists to avoid this
case.

opw-1826344
2018-03-21 14:43:45 +01:00
Goffin Simon c2b3ad1899 [FIX] stock_account: Cannot validate some invoices
Steps to reproduce the bug:

- create an invoice
- add one line without product but with a uom
- validate it

Bug:

A traceback was raised because no product was set on the invoice line.

opw:1825464
2018-03-21 14:19:09 +01:00
Romain Derie 321486851a [FIX] web_editor: correctly set image on double click
Commit e011d58bee add the possibility to unselect images on the media dialog.
But it introduced a collateral bug preventing double click to set the image.
Indeed, double click event triggers not only the double click event but also
twice the single click event.

Before commit e011d58bee, it would work fine and as intented on double click:
1. It would trigger twice the single click, selecting twice the image.
2. Then, it would trigger the double click that would save the selected image.

But after the commit:
1. It triggers twice the single click, selecting and then deselecting the image.
2. Then, it triggers the double click that saves nothing since the image got
   unselected on second single click event.

Now, before saving on double click event, we select the image.

task-1815165
2018-03-21 14:18:45 +01:00
Adrian Torres d9869de690 Revert "[FIX] base: use khmer language"
This reverts commit 3401e95ec3.

Updating language code is forbidden, see commit 8628cef
2018-03-21 13:20:02 +01:00
Swapnesh Shah a842cd9022 [FIX] base: use decoration-muted instead of deprecated color in lang tree view 2018-03-21 12:59:42 +01:00
Florent de Labarre 0166b3ddbc [FIX] maintenance: give equipment same activities filters as other models
Commit 34da40a44d improved all activities filters used through various
apps. However in maintenance model maintenance equipment model was forgotten.
This commits fixes that in order to have same filters on all models using
activities.
2018-03-21 12:54:47 +01:00
William Henrotin 3401e95ec3 [FIX] base: use khmer language
The language territory code for Cambodia is KH not KM
2018-03-21 12:35:49 +01:00
Jeremy Kersten c17170b9c1 [FIX] web: all routes should have **kw to support utm/extra params
Without this commit, a valid route /web/content with an extra
params eg utm or adwords will return a 500 with:
TypeError: content_common() got an unexpected keyword argument 'extra_param_name'

This commit closes #21221

Task-32836 should fix for all routes in a future version
2018-03-21 12:20:33 +01:00
Jairo Llopis 9e981f6535 [FIX] website_project_issue: No buttons for portal, customers
Customers without an user account can do nothing with the button
in the notification, so it's better they don't have it.

partial backport of #4732a1

This commit closes #22487
2018-03-21 12:20:33 +01:00
Highcooley b3b0c02d8f [I18N] l10n_ch: add German translations
German (CH) Translations Chart of Accounts

Closes #23785
2018-03-21 11:45:26 +01:00
Highcooley 916dad8050 [CLA] signature for Highcooley
Done at #23785
2018-03-21 11:45:26 +01:00
Christophe Simonis 0cefaad370 [MERGE] forward port branch 9.0 up to 2c5fe07fc7 2018-03-21 11:35:58 +01:00
Ward Marissen 2c5fe07fc7 [FIX] website_portal: Keep country changes
When a portal user changes his account details and presses the 'Save' button
when a mandatory field is not set, the selected country will be reset even when
the user did change the country in the form. This fix prevents this from
happening and leads to an improvement for the end user.

This commit closes #22439
2018-03-21 11:31:27 +01:00
Christophe Simonis b51f2d38c2 [MERGE] forward port branch saas-11.2 up to 500e3f4970 2018-03-21 11:04:48 +01:00
hpr-odoo ce05f3b2e0 [FIX] base: iterate on each report
If tries to compute the report_rml value on multiple reports at the same time

Closes #21116
2018-03-21 11:01:16 +01:00
Nicolas Martinelli 65bad81b2c [FIX] stock: Delivery Slip
- Create a picking to deliver 10 units, save
- Edit and change to 12 units
- Print the Delivery Slip => the qty is 10
- Validate the picking with 12 units
- Print the Delivery Slip => the qty is still 10

The use of `ordered_qty` is misleading, since it corresponds to the qty
ordered at creation.

Backport of 0a2999cdd9

opw-1825396
2018-03-21 11:00:36 +01:00
Nicolas Martinelli b200f020ea [FIX] crm: create opportunity from kanban
- Create a customer, set an address
- Create an opportunity from the kanban view

The address fields are not filled in in the opportunity.

We add all fields filled in by `_onchange_partner_id_values`

Complement of commit e2bbee6df5

opw-1816438
opw-1826859
2018-03-21 10:46:03 +01:00
Rohan Patel 57e457c524 [IMP] hr: check employees only alias restriction independently of record existence
Commit 78ac6de52d refactored methods checking alias security on the
routing found for a given destination address. Indeed if a routing is found
linked to an alias a security check is performed according to the restriction
defined on the alias itself.

HR module adds the 'employees only' restriction. A bug has been introduced
in the mentioned commit concerning employees-based aliases. Indeed a condition
on having a recordset has been added (self.ids, changed to record.ids at
20d8025036). This condition is actually not necessary as checking the
email author is linked to an existing employee has nothing to do with the
alias being linked to a record or creating new record.

This may causes issues notably using employees-restricted aliases in
expense application. Indeed you could use aliases to create new expenses
for employees and you could have issues with this condition.

This commit is linked to task ID 1829860 and ID 35093. Closes #22960 .
2018-03-21 10:44:20 +01:00
Goffin Simon 60793a8a48 [FIX] stock_account: Cannot validate a Customer Credit
Steps to reproduce the bug:

- Create a customer credit note
- Add a new item
- Don't input Product, input Description and Unit of Measure
- Click on Validate

Bug:

A traceback was raised because no product was set on the invoice line.

opw:1825972
2018-03-21 09:30:04 +01:00
Nicolas Martinelli 6d195ee603 [FIX] account: unreconcile payment
- Create a SO for a customer of 100 $
- Create Invoice for the Sales Order and Register the payment
- Create a Refund Invoice, Validate it and keep it in "Open" state
- Create a second SO for 5 $
- Create an invoice for this order and validate it
- It will show you outstanding payments
- Apply the credit and the invoice will be fulfilled => Now you have a
  credit left for 95 $
- Create a third Sales order for the same customer for 5 $
- Create an Invoice for it
- It will show you outstanding credit (95 $)
- Apply the credits
- Now 90 $ are left
- In the same invoice, the credit which you applied, Unreconcile it
- It should have shown you 95 $, but it shows you 100 $ which means it
  removed the credit which we applied to second SO

The unreconcile process does not filter the partial reconciliations of
the selected invoice. All partial reconciliations on the AML are
removed instead.

opw-1819602
2018-03-21 08:37:23 +01:00
Christophe Simonis 500e3f4970 [FIX] test_main_flow: adapt test to default taxes on products 2018-03-20 18:45:39 +01:00
Adrien Dieudonne 3a74afd21e [FIX] barcodes: barcode scanning on Chrome mobile
Before this commit, the barcode value wasn't triggered on
some Android devices with Google Chrome and using the Odoo app.

In fact, the keypress event may not trigger with some devices.
This is probably due to the fact that this event is marked as
'Legacy'.
See: https://www.w3.org/TR/uievents/#legacy-keyboardevent-event-types

To fix this, we can use 'keydown' event but we have to handle an
other issue: there is no way to know which key is typed.
The auto-suggest feature on Android invalidate all the following
properties: Keycode, charCode, key, which, keyIdentifier, code.
This is a well-known issue:
https://bugs.chromium.org/p/chromium/issues/detail?id=118639

For more infos, please read this blog:
https://www.outsystems.com/blog/javascript-events-unmasked-how-to-create-input-mask-for-mobile.html

As a work around, we create a temporary input field that stores
the barcode value.
The focus is set on this input when a keydown is detected.
Note that when an input has the focus, the android virtual keyboard
will be opened. We can't avoid this behavior.
The only thing we can do is to automatically close it after 800 ms.
See: https://bugs.chromium.org/p/chromium/issues/detail?id=662386

As this fix is specific for Chrome only, it's not possible
to test it easily. Some tests will be added in master.
2018-03-20 16:21:20 +01:00
Adrien Dieudonne 5bc29744c9 [FIX] barcodes: skip undefined keys in barcode value
This fixes an issue occurring with Firefox.
Some events was buffered with an undefined value and it wasn't
possible to build the barcode value from these events.
See 'handle_buffered_keys' function.

So now, we simply skip this kind of event.
We consider this as 'special keys'.
2018-03-20 16:21:12 +01:00
Nikunj Ladava cbd395ec36 [IMP] payment, sale_payment: set invoice id in payment transaction form after payment being done from sale order.
Until now invoice_id is filled on the transaction only when we make
payments through invoice. However if we make payments through sale order
then invoice_id is not filled.

This commit fixes that issue. As there is no common point between
sale_payment and account_payment except payment, a void method is added
in payment and an override done in account_payment. That was when both
modules are installed code is correctly triggered.

This commit is related to task ID 1813602. Closes #22746 .
2018-03-20 16:16:27 +01:00
Christophe Simonis b6e0f1ad59 [FIX] sale,sale_payment: remove implicit dependency of sale on payment module
This worked by accident only because `payment` module is auto-installed
when `account` is installed.

opw-1829812
2018-03-20 15:28:24 +01:00
Romain Derie b77ff40e93 [FIX] website_sale(_delivery): show prices according to B2B/B2C mode
Before this commit:
1. The delivery price on checkout would always be shown without the taxes.
   This would make the cart total unclear since it is not indicated that this
   price is tax excluded. You could only assume that this was the price the
   delivery would cost you (and not just the untaxed delivery cost which you
   can't even find the full price anyway since taxes in subtotal is the sum of
   all products taxes).

2. The sale order line in payment step of checkout are always displayed with
   taxes.

Now:
We ensure that both 1. and 2. show the delivery price with or without taxes
according to which mode (B2C or B2B) is enabled.

This fixes #12872, closes #13592 and closes #23746
2018-03-20 14:29:59 +01:00
Christophe Simonis a4a16f3ab6 [FIX] web: correct test to satisfy new class for remove button in m2m lists 2018-03-20 14:20:59 +01:00
Thibault Delavallée c7dff653d5 [REM] hr_expense: remove assigned subtype and keep only classic tracking
Since e9734f4975 assignation is now a notification sent in the
inbox or by email to the newly-assigned responsible. It is therefore
considered as not necessary to link a subtype to the assignation itself.
Indeed having it logged in the discussion history as a classic tracking
in addition to the notification is considered as sufficient.

This commit is related to task ID 60790. Closes #23244 .
2018-03-20 13:58:13 +01:00
Thibault Delavallée b227f6e759 [REM] project: remove assigned subtype and keep only classic tracking
Since e9734f4975 assignation is now a notification sent in the
inbox or by email to the newly-assigned responsible. It is therefore
considered as not necessary to link a subtype to the assignation itself.
Indeed having it logged in the discussion history as a classic tracking
in addition to the notification is considered as sufficient.

In project module the task opened subtype was linked to task creation and
task assignation. This subtype is now used only for task creation. It also
fixes a strange behavior. Changing assigned user in an ongoing task was
trigerring the task opened subtype which was strange. This is not the case
anymore.

This commit is related to task ID 60790. Closes #23244 .
2018-03-20 13:55:52 +01:00
Martin Geubelle 75d9a2b4db [FIX] web: correctly display statusbar
Some status were shown in the statusbar even though they were not specified in
the `statusbar_visible` attribute. This happened when the value was a substring
of one specified value.

Example:
```
hello = fields.Selection([('hello', 'Hello'), ('hello_world', 'Hello World')])
<field name='hello' widget='statusbar' statusbar_visible='hello_world'/>
```
In this case, both status were shown ('hello' is a substring of 'hello_world').

Fixes #20034
2018-03-20 13:49:32 +01:00
Jairo Llopis 6bd3bae04e [FIX] mass_mailing: domain translation
As Admin:
- Set up 2 languages for the installation, e.g. English and French
- Admin language is English, Demo language is French
- Create a `res.partner.category` named 'Test English'
- Assign the category to a newly created partner
- Create a French translation for 'Test English', e.g. 'Test Francais'

As Demo:
- Create a Mass Mailing
- Select a custom domain: ('category_id', '=', 'Test Francais') => it
  should match one partner
- Save and validate

Now either:
- manually run the scheduled action "Process Mass Mailing Queue" as
  Admin
- wait for the cron to process the mass mailing

No mail will be sent since the domain will be evaluated in the Admin
language, i.e. English. Indeed, the domain
`('category_id', '=', 'Test Francais')` does not match any record in
English.

The solution/workaround is to use the language of the last user who wrote
on the mass mailing.

Closes #20906, Closes #15467, Closes #15445

opw-778922
2018-03-20 13:48:49 +01:00
Nicolas Lempereur 3f5663e995 [FIX] l10n_ch: ignore stylistic background
If user choose custom report type with background, we don't want the
background on the ISR report that is intended to be printed on
preprinted paper.

opw-1820123
closes #23743
2018-03-20 13:47:15 +01:00
jem-odoo 84db2dc9d4 [FIX] sale_timesheet: SO line of subtasks
When changing the so line of a task, we should update
the ones from its children too.
2018-03-20 13:32:19 +01:00