Commit Graph
119082 Commits
Author SHA1 Message Date
RomainLibert f63bf09cdd [FIX] hr_holidays: make related fields readonly
In the allocations we have two related fields on hr.leave.type but a
user cannot write on these fields hence we should make them readonly
2018-09-07 17:28:09 +02:00
Christophe Simonis 5020f41b95 Revert "[FIX] tools: skip bad translations"
This actually broke some valid use cases (catch by new translations tests)

This reverts commit 428fbd0381.
2018-09-07 17:24:10 +02:00
Christophe Simonis 49c3264ce0 [MERGE] forward port branch saas-11.3 up to 4850fb0838 2018-09-07 14:43:48 +02:00
Christophe Simonis 4850fb0838 [MERGE] forward port branch 11.0 up to 9b602ae648 2018-09-07 12:38:59 +02:00
Christophe Simonis 1884c71245 [FIX] test_translation_import: correct test and add required i18n files ignored during forward-port 2018-09-07 12:06:24 +02:00
len-odoo 9b602ae648 [FIX] base: allow to use Python builtins in views
Py.js does support Python builtins, e.g. abs, len, str, which can
be used in views if the view validation accepts it.

opw 1879160
2018-09-07 11:38:22 +02:00
Toufik Benjaa b4c72220c7 [FIX] payment: portal payment use newly generated reference
- When creating a transaction on the payment page of the portal, the
  transaction reference returned was incorrect.
  This commit return the newly created transaction's reference.
2018-09-07 10:48:35 +02:00
Nicolas Martinelli 7e83ea8d57 [FIX] point_of_sale: restrict price control
- Activate the Price Control option in the POS
- Connect as Admin => you are allowed to modify the price
- Switch the user to Demo => you are still allowed to modify the price
- Switch back to Admin => you are not allowed to modify the prices

The two last steps are clearly incorrect.

The reason is the following.
The function `applyAccessRights` is bound to `'change:cashier'` event of
the `pos` at:

https://github.com/odoo/odoo/blob/d25719cdf2b8a863c1a855f2e42e9c3a43580f66/addons/point_of_sale/static/src/js/screens.js#L389

When switching the user, 2 steps are performed:
1. Set the cashier on the `pos`
2. Set the cashier on the `pos.db`

https://github.com/odoo/odoo/blob/d25719cdf2b8a863c1a855f2e42e9c3a43580f66/addons/point_of_sale/static/src/js/models.js#L646-L647

Step 1 will trigger the function `applyAccessRights`, which calls
`pos.get_cashier`. However, the latter retrieves the user on `pos.db`
first, and falls back on `pos`.

https://github.com/odoo/odoo/blob/d25719cdf2b8a863c1a855f2e42e9c3a43580f66/addons/point_of_sale/static/src/js/models.js#L642

This means that we retrieve the cashier in the `pos.db` before it is
actually set (in step 2).

To avoid this, we explicitly retrieve the cashier on the `pos`, then
fall back on the usual `pos.get_cashier` function.

Closes #26814
opw-1871189
opw-1881172
2018-09-07 09:29:38 +02:00
Aaron Bohy a51a5b70d3 [FIX] web: FieldDomain: reset field with a new domain
Before this rev., there was a crash when a FieldDomain was reset
with a new domain (e.g. coming from an onchange). For instance, it
crashed in Email Marketing > create new Mass Mailing > select
mailing lists. Introduced by 68332a01.

opw-1882850
2018-09-07 08:37:45 +02:00
Christophe Simonis 21a186dadd [MERGE] forward port branch 11.0 up to 737ca0eb42 2018-09-06 18:13:56 +02:00
Christophe Simonis 737ca0eb42 [FIX] web: adapt newly added test (2) 2018-09-06 17:27:50 +02:00
Christophe Simonis 63f95760ef [FIX] web: adapt newly added test
Oversight of previous forward-port
2018-09-06 17:23:27 +02:00
Christophe Simonis 505e42b78b [MERGE] forward port branch saas-15 up to 5a5d6d1e8e 2018-09-06 17:00:26 +02:00
Xavier Morel a3cd0ac2ce [FIX] project: add access token to task attachment display
Following CDN expansion (d98b262398)
portal attachment links now go through the CDN, which is an issue for
restricted-access attachments e.g. attachments bound to specific objects
(such as support tickets).

Add an access token to the attachment links in the /my/task template.

Cf OPW-1882014 (fixed ad-hoc by editing the relevant view on odoo.com)
2018-09-06 16:44:00 +02:00
Goffin Simon d3dc5048e4 [FIX] purchase_requistion: Duplicate purchase agreement with "Run sch…
…eduler"

Steps to reproduce the bug:

- Let's consider P a product with routes "buy" and "mto" and with
purchase_requistion = 'Propose a call for tenders'

- Let's consider a BOM B with P as component

- Create a MO for B

- Run the scheduler two times

Bug:

Two purchase agreements have been created for the the same MO.

opw:1882280
2018-09-06 16:05:13 +02:00
Toufik Benjaa e11c0a45f2 [FIX] payment: Fix reference computation to avoid duplicates
- The method to compute the reference of a payment.transaction and avoid
  duplicate was missing some edge cases (for example if there was a '-'
  in the reference).

- The creation of transactions in the route /website_payment/pay was not
  checking for duplicate payment.transaction.
2018-09-06 16:03:01 +02:00
Toufik Benjaa 541e049d96 [FIX] payment: properly set communication field on account.payment
- After 01216345e2 the field communication
  on account.payment was not properly set when created by a
  payment.transaction.
2018-09-06 15:57:27 +02:00
Toufik Benjaa ec324fdd04 [FIX] project: allow portal customers to post on task chatter 2018-09-06 15:57:27 +02:00
Toufik Benjaa 200b9719b9 [FIX] sale_payment: create invoice using transaction's company
- When creating an invoice created after a payment, we need to force the
  company to the transaction's company.
  This avoid to create move lines with different companies (Administrator's
  company because of the payment processing done by the admin and the
  sale order/transaction company).
2018-09-06 15:57:27 +02:00
Christophe Simonis 5a5d6d1e8e [MERGE] forward port branch saas-14 up to c7de55dc3c 2018-09-06 15:30:59 +02:00
Christophe Simonis c7de55dc3c [MERGE] forward port branch 10.0 up to 72f76caa39 2018-09-06 15:29:08 +02:00
Nicolas Martinelli 79a7d58a1c [FIX] sale: prevent confirmation of SO
Prevent the confirmation of a SO in state 'cancel' or 'done'.

opw-1881333
2018-09-06 15:05:09 +02:00
Nicolas Martinelli 765a3bf23f [FIX] account: unreconcile cash basis
- Set up a tax as 'Based on Payment'
- Create an invoice at date D with this tax
- Pay the invoice at date D+1
- Unreconcile

A reversal entry is made at the current date, while it should be at the
payment date D+1.

We make sure to use the payment date only if the payment period has not
been locked.

Fixes #25738
opw-1870467
2018-09-06 14:45:40 +02:00
Christophe Simonis 6fc061a96d [FIX] payment: force company when posting payments 2018-09-06 14:25:23 +02:00
Christophe Simonis 13e91ac467 [FIX] base,account,product: correct currency convertion when company is get from context
Method `_convert` expect a browserecord, not an integer.
2018-09-06 14:24:01 +02:00
Pedro M. Baeza 89c1555096 [FIX] website: Unlink several website.page records
Avoid singleton error

This commit closes #26825

Partial backport of saas-15 - multiwebsite commit
2018-09-06 13:57:18 +02:00
Uku Lagle 900341bed8 [FIX] assetsbundle: prevent unlink old_attachments twice
When bundle contains both, sass and less, the unlink on old_attachments
will be called twice and thus results in MissingError.

This commit closes #26110
2018-09-06 13:56:39 +02:00
Jeremy Kersten 9512cdf308 [FIX] website_sale: remove useless widget on multiimage that generate log in js
remove warning:
Missing widget: checkbox for field group_website_multiimage of type boolean

This commit closes #25936
2018-09-06 13:56:39 +02:00
Nicolas Lempereur 72f76caa39 [FIX] web: relativedelta>11months work as expected
Since march 2015, using in a domain "relativedelta(months=X)" with
X being bigger than 11 or lower than -11 would result in an error.

This is because in the refactoring adding modules (e8a00bc50d) the two
functions divmod and utils.divmod with different implementation in
pyeval.js were replaced by one function divmod in web.utils module.

But there was still an usage of the removed implementation.

opw-1880766
closes #26816
2018-09-06 13:14:42 +02:00
XavierDo 62928bb81a [FIX] mail: make red envelope visible when necessary
We need to know if a notification is in failure by
displaying the red envelope in even if all partner are inactive.

This commit also fix the filter in order to display notification
of all active partners if there is an exception.
2018-09-06 10:34:14 +02:00
XavierDo 554414b90f [FIX] mail: fix use of resend wizard when user are in failure
The user right to edit partners was handled in order to set email fields as readonly
If a user is in the failed recipient, we need to check that the urrent user also has
right to write on users
2018-09-06 10:33:59 +02:00
XavierDo d0e957109f [FIX] mail: allow resend on bounce
Only o_thread_message_email_exception red envelope was clickable.
We should be able to resend bounce too.
2018-09-06 10:33:52 +02:00
Goffin Simon d25719cdf2 [FIX] website_sale: customer_lead in the shop
Let's consider a product P with a sale_delay = 10
When creating a SO for P in the backend, the customer_lead is correctly
set to 10. But when creating a SO in the shop for P, the customer_lead
was not correctly set.

opw:1880577
2018-09-06 10:29:20 +02:00
Goffin Simon 3504529fb5 [FIX] sale: Server Error when trying to process card
Due to this commit: b367625248
The function "_get_payment_type" was not defined in module "sale_payment" but defined in "website_quote"
The bridge module for "website_quote" and "sale_payment" is "sale" so the first definition of "_get_payment_type"
must be in "sale".

opw:1881990
2018-09-06 08:36:04 +02:00
Christophe Simonis f19e6ce561 [MERGE] forward port branch 11.0 up to 213759b03e 2018-09-05 18:52:27 +02:00
Toufik Benjaa 7700bd172f [FIX] mail: Avoid using default value for track fields logging
- When a tracked field is modified, a mail.message is created.
  When create is called its tries to fill missing values with "default
values".
  It first tries to find the default values in the context, which may
occurs.
  For example, modifying a tracked field on a subtask will add a key
"default_parent_id" in the context, which is the parent_id of the project.task.
  Create will try to use "default_parent_id" for the mail.message
parent_id field, which make the SQL Request invalid.
2018-09-05 18:36:54 +02:00
Christophe Simonis 213759b03e [MERGE] forward port branch saas-15 up to e1e27aa009 2018-09-05 18:17:03 +02:00
Christophe Simonis e1e27aa009 [MERGE] forward port branch saas-14 up to 6773d3644e 2018-09-05 17:27:46 +02:00
Christophe Simonis 6773d3644e [MERGE] forward port branch 10.0 up to 1d0940d96f 2018-09-05 17:27:13 +02:00
XavierDo 1120bffb66 [FIX] mail: only display errors linked to message of current user
The search on message_has_error (used when clicking on a failure notification)
was displaying the failure of all users making it difficult to find your
own mail failure. This fix solve the problem by adding a criteria on message
author_id.
2018-09-05 16:52:44 +02:00
jem-odoo 75031d61dd [FIX] project: restore default group by
When switch to list view for tasks, we want them to be grouped
by stage. This was removed at 8169134715 without
justified reason, so this commit reset the previous behavior.
2018-09-05 15:23:05 +02:00
Olivier Dony fec74a6da5 [FIX] web: make server-wide modules ordered again
Rev. 279d928693 forced
`server_wide_modules` to include 'base' and 'web', because both contain
controllers that need to be always loaded.

However the patch used a set() that randomized the order of the list,
when combined with Python 3.5's randomized hash function.

This is turn could cause the checksum of asset bundles (web.assets_backend)
to randomly vary, which could cause rapid assets recycling and errors.
2018-09-05 14:47:55 +02:00
Goffin Simon 9e99e5e641 [FIX] base: Execute group config on modifications only
Fine tuning of a06747c03d
In some cases, it was not possible to change some settings

opw:1881081
2018-09-05 14:11:25 +02:00
Goffin Simon 568445a327 [FIX] pos_sale: group_by for POS in dashboard
Steps to reproduce the bug:

-Go to Sales > Dashboard > Point of Sale > Settings
-Set nothing as group_by value
-Go back to Dashboard

Bug:

A traceback was raised.

opw:1881444
2018-09-05 13:40:06 +02:00
len-odoo f4f1480a3e [FIX] web: lock handle when sorting on a different field
The resequence mechanism works if the sequence is sorted by its handle field.
Therefore sorting on another field should lock the handle, while sorting on the
handle field should unlock the handle.

opw 1867049
2018-09-05 13:09:36 +02:00
Martin Trigaux 9aa750bffc [FIX] mail: add missing emoji 2018-09-05 11:57:06 +02:00
Nicolas Lempereur 1d0940d96f [FIX] base: allow get_template serialization retry
When two transactions conflicts (eg. deleting same data, see [1]) Odoo
will retry the whole transaction several times hoping for the best.

But when rendering template, the error handling would prevent this
feature. For example a recurring issue was:

- loading quickly two times the /web route
- for each recompute the assets

=> this could lead to 2 concurrents transactions that would delete
previous same attachment (ie. DELETE FROM ir_attachment where id=3).

With this changeset, when getting a template fails because of a
transaction rollback, we let the issue bubble up so our retry system is
used.

So instead of a "500 Internal Server Error" page and in log:

  bad query: b'DELETE FROM ir_attachment WHERE id IN (3)'
  ERROR: could not serialize access due to concurrent update
  "GET /web HTTP/1.1" 200 -
  "GET /web HTTP/1.1" 500 -
  ... big traceback ...
  load could not load template

we would get the requested page without error and:

  bad query: b'DELETE FROM ir_attachment WHERE id IN (3)'
  ERROR: could not serialize access due to concurrent update
  "GET /web HTTP/1.1" 200 -
  SERIALIZATION_FAILURE, retry 1/5 in 0.8920 sec..
  "GET /web HTTP/1.1" 200 -

As a side node, the issue was exacerbated in some instances:

- when running a database on another server: assets are recomputed
- when a module was installed/uninstalled: assets may are recomputed
- when updating the source code: assets may be recomputed
- when starting server: requests could be stacked waiting for readiness
- when using google chrome: the "Use a prediction service to load pages
  more quickly" option may load a page two times. for example:
    -> an URL is entered in address bar
    -> a prediction request to it is started URL
    -> go to this page (Enter) when that request is not already resolved
    -> the prediction request is cancelled and a new request is started

[1] https://www.postgresql.org/docs/9.6/static/transaction-iso.html#XACT-REPEATABLE-READ

note: 10.0 backport of 11.0 #26778

opw-1849167
closes #26785
2018-09-05 10:20:50 +02:00
Nicolas Lempereur c0c9049f2f [FIX] base: allow get_template serialization retry
When two transactions conflicts (eg. deleting same data, see [1]) Odoo
will retry the whole transaction several times hoping for the best.

But when rendering template, the error handling would prevent this
feature. For example a recurring issue was:

- loading quickly two times the /web route
- for each recompute the assets

=> this could lead to 2 concurrents transactions that would delete
previous same attachment (ie. DELETE FROM ir_attachment where id=3).

With this changeset, when getting a template fails because of a
transaction rollback, we let the issue bubble up so our retry system is
used.

So instead of a "500 Internal Server Error" page and in log:

  bad query: b'DELETE FROM ir_attachment WHERE id IN (3)'
  ERROR: could not serialize access due to concurrent update
  "GET /web HTTP/1.1" 200 -
  "GET /web HTTP/1.1" 500 -
  ... big traceback ...
  load could not load template

we would get the requested page without error and:

  bad query: b'DELETE FROM ir_attachment WHERE id IN (3)'
  ERROR: could not serialize access due to concurrent update
  "GET /web HTTP/1.1" 200 -
  SERIALIZATION_FAILURE, retry 1/5 in 0.8920 sec..
  "GET /web HTTP/1.1" 200 -

As a side node, the issue was exacerbated in some instances:

- when running a database on another server: assets are recomputed
- when a module was installed/uninstalled: assets may are recomputed
- when updating the source code: assets may be recomputed
- when starting server: requests could be stacked waiting for readiness
- when using google chrome: the "Use a prediction service to load pages
  more quickly" option may load a page two times. for example:
    -> an URL is entered in address bar
    -> a prediction request to it is started URL
    -> go to this page (Enter) when that request is not already resolved
    -> the prediction request is cancelled and a new request is started

[1] https://www.postgresql.org/docs/9.6/static/transaction-iso.html#XACT-REPEATABLE-READ

opw-1849167
closes #26778
2018-09-05 09:43:53 +02:00
Nicolas Martinelli e673484b35 [FIX] web_editor: image name
Add the image name in the website for SEO purpose. This is a backport
of:
88a5d9a000
886c07dabb
152e3f8686

opw-1880472
2018-09-05 09:42:10 +02:00
Nicolas Martinelli 88a5d9a000 [FIX] web_editor: image name
Add the image name when the image is uploaded.

Complement of commits 886c07dabb and 152e3f8686

opw-1880472
2018-09-05 09:10:37 +02:00