Commit Graph
111069 Commits
Author SHA1 Message Date
Romain Derie b5516d400e [FIX] website_sale_comparison: use variant id and not product id
Before this commit, the compare button from the customized view "Alternative
Products" would create the URL by joining `alternative_product_ids` which are
ids from product.template.
But the route /shop/compare is supposed to receive variants (product.product)
IDs.
Thus, it would try to search given product.template IDs in product.product
records.
It would then show incorrect items or no items at all if the ID does not exist.

Now, we create the URL with the first variant (product.product) of the
product.template.
Obviously, the first product.product is arbitrary but we can't retrieve all the
variants ids, it would most of the time returns too many items.

opw-1840321
2018-05-04 12:58:20 +02:00
Lucas Perais (lpe) f49a6b6ebe [FIX] website_slides: avoid double slash in slide url 2018-05-03 13:52:45 +02:00
Christophe Simonis 810603f4ef [MERGE] forward port branch saas-14 up to 55ce6aff10 2018-05-02 14:49:58 +02:00
Christophe Simonis 55ce6aff10 [MERGE] forward port branch 10.0 up to 79bbd1dcb8 2018-05-02 13:52:12 +02:00
Nicolas Martinelli 79bbd1dcb8 [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-05-02 12:58:52 +02:00
Christophe Simonis a33362bb51 [MERGE] forward port branch 9.0 up to 532b11ce41 2018-05-02 11:01:38 +02:00
Lucas Perais (lpe) 208a400b06 [FIX] website_slides: avoid mixed content iframe when computing iframe src
Have a nginx set up with HTTPS (and the web.base.url too, obviously)
HAve a multilang website
Call a slide with the https domain with the non-default lang in the path of the resource
[https://domain/fr_FR/slide....]

Before this commit, when the iframe src is requested for by the browser
the python will transform the url of the iframe by injecting /fr_FR/

When the request for the *content* of the iframe is actually fetched by the browser, there is a mixed content
(though in the SAAS case and through cloudFlare for some reason)

After this commit, since we explicitly form the iframe src with lang, there is no error of mixed content

OPW 1839308
closes #24445
2018-05-02 10:03:22 +02:00
Lucas Perais (lpe) 472c5a4f9f [FIX] web_editor: disable button when html field loading
Commit bed33e1ca2 forgot to include the case
where the html field is in a modal

This commit accounts for that case

closes #24500
2018-05-02 09:58:04 +02:00
Nikunj Ladava 95a90689aa [FIX] l10n_fr{certification,_pos_cert}: Set server actions' 'state' to 'code'
Since these server actions are triggering python code, their 'state' field must explicitely be set to 'code'.
Currently it is taking default value for 'state' field which is, since saas-15, 'object_write' and thus not working as intended.

Was PR #22706
Was task: 1813998
2018-05-02 09:54:58 +02:00
Odoo Translation Bot 532b11ce41 [I18N] Update translation terms from Transifex 2018-05-01 02:39:26 +02:00
Odoo Translation Bot 5ff3c03410 [I18N] Update translation terms from Transifex 2018-04-29 00:28:03 +02:00
Nicolas Lempereur 416d07f0bb [FIX] account_check_printing: multi payment has amount in words
In the wizard for payment several invoices with one payment, there was a
error when making the previous fix: 29c6c06de7.

The patch still worked because of a particularity of readonly and
related on account.payment but the check_amount_in_words would possibly
not be set when it should have.

opw-1839720
closes #24476
2018-04-27 15:11:24 +02:00
qsm-odoo ce6f8632cc [FIX] web_editor: update summernote copy-paste feature
The copy-paste feature of summernote was messy and led most of the time
to breaking the template you were trying to edit. While it is difficult
to solve as it mostly comes from the lib itself and that the lib is in
a complicated state as Odoo had to overridde part of its internal code
for its own purposes, this commit hopes to solve the problem by updating
only the copy-paste feature to the latest summernote version.

Of course, as summernote changed a lot meanwhile, it was not possible to
just take the up-to-date summernote file. This commit refactores the
up-to-date summernote clipboard code so that it fits the old summernote
version Odoo is using.

Note: the main problems occurred while using Windows/Mac and not Linux.

opw-1837818
2018-04-27 12:28:57 +02:00
Olivier Colson edc955d28d [FIX] base: currency: add missing dependance to compute function of 'rate' field 2018-04-27 10:47:52 +02:00
Nicolas Martinelli 517fb99926 [FIX] mail: emoji substitution
- Create a message with 100k+ smileys
- Send it to a colleague you hate
- His (and your) web browser starts eating up all the memory
- Go cry to the technical guy because you can't use Odoo anymore.

On some browsers, like Chrome, the image rendering consumes a lot of
memory up to the point it makes it unusable.

opw-1831610
2018-04-27 08:08:36 +02:00
Nicolas Lempereur b6a1389b8c [FIX] web_editor: firefox remember CTRL+A selection
In firefox the range when doing CTRL+A is the first level content of the
contenteditable element, but this was not taken into account when
"remembering" the range after clicking on buttons or features of the
editor.

In chrome the selection begin with the first displayed element (so it
may not be a direct child of the editable and is taken into account in
the code).

opw-1824017
closes #24424
2018-04-26 17:06:05 +02:00
Goffin Simon feba353c65 [FIX] purchase: Wrong Fiscal position in multicompany
Steps to reproduce:

 -Create company A
 -Create company B
 -Admin user with both companies but currently in company B
 -Create Demo user only with company B
 -Create fiscal position A to company A
 -Create fiscal position B to company B
 -Create vendor with fiscal position A with company A and the same vendor with fiscal position B in company B
 -Create product and add the vendor created before
 -Set like Create a draft purchase order
 -Logging with Demo user
 -Create sale order with one sale order line with route make to order
 -Validate sale order

Bug:

 The purchase order created by sale order had the fiscal position company A.

Backport of this commit: 5bb6517072
Closes #23561
opw:1825098
2018-04-26 16:29:34 +02:00
Nicolas Martinelli bcd4c90a71 [FIX] web: get_file and CPU time exceeded
- Create a binary field which takes some time for computation. For
example:
```
ding_dong = fields.Binary(compute='_compute_ding_dong')

def _compute_ding_dong(self):
    if not self.env.context.get('bin_size'):
        while True:
            3*3
    for x in self:
        x.ding_dong = x.product_id.image_medium
```
- Run the server with a limited CPU time, for example:
  `--workers=2 --limit-time-cpu=10`
- Download the file

A JS traceback occurs, without any information about the real crash.

The error management is simply not working: `JSON.parse` is called on a
string which is not JSON-parseable.

opw-1838832
2018-04-26 15:14:47 +02:00
Goffin Simon 409970c188 [FIX] payment: Error to get the default country for a partner
When there was no company_id in the context and the company with id=1
didn't exist it generated an error.

opw:1838932
2018-04-26 15:14:26 +02:00
Nicolas Martinelli da27836f45 [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-26 08:37:33 +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
Christophe Simonis 0c40ba6c8b [MERGE] forward port branch 10.0 up to 76c17ab3f5 2018-04-23 17:06:55 +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
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 Simonis 2d12ae3202 [MERGE] forward port branch 9.0 up to c9e7433c23 2018-04-23 14:07:12 +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
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
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
Lucas Perais (lpe) cd6150fe9e [FIX] web: NFD UTF-8 for safari in upload file
Before this commit, when uploading a file as attachment in Safari,
The file icon kept on showing 'downloading' whereas the request was successful

This was because the return from the server had a different UTF-8 norm than Safari

After this commit, it works well

OPW 1836545
closes #24307
2018-04-23 09:00:11 +02:00
Aaron Bohy e43b9ab9c6 [FIX] web: ListView: no infinite loop on empty nameget
Assume a list view with a many2many field, and a record for which
that many2many contains a single value, whose nameget returns the
empty string (which is a falsy value in JS). Before this rev., it
triggered an infinite number of namegets, and the browser crashed.

It was because the cell was re-rendered when the nameget returned,
and in the rendering of the cell, it re-performed a nameget if
the value was falsy.

opw 1838255d
2018-04-23 08:20:23 +02:00
Odoo Translation Bot 851356bf23 [I18N] Update translation terms from Transifex 2018-04-22 00:28:35 +02:00
Christophe Simonis ab95e3c1f3 [MERGE] forward port branch saas-14 up to 9f88e1f51b 2018-04-20 17:25:08 +02:00
Christophe Simonis 9f88e1f51b [MERGE] forward port branch 10.0 up to b16c4f50d4 2018-04-20 17:22:42 +02:00
Jeremy Kersten b16c4f50d4 [FIX] website_sale: avoid traceback when category don't exists
In case the category is given in GET, ?category_id=xx, we cannot guarantee that
the category exists

This commit closes #24235
2018-04-20 16:00:30 +02:00
Akim Juillerat 4d88e8e822 [FIX] hr_holidays: update _check_holidays constrains
It was possible to edit a leave request in order to use a leave type
which had no more days left. This was due to a missing field in the
constrains call.

Closes #24320
2018-04-20 14:13:51 +02:00
Nicolas Martinelli 0dd08bd148 [FIX] mrp: change BOM
- Create a MO for Product A with quantity to produce of 2
- Produce 1
- Open the associated BOM, and add a line to the bom
- Go back to the MO and try to update the qty to produce to 1

Traceback: division by 0

opw-1838006
2018-04-20 10:11:11 +02:00
Olivier Dony b61aad2f6b [FIX] hr*: restrict personal employee fields at model level
Fixes #12077
Closes #12160
2018-04-19 18:51:01 +02:00
Christophe Simonis 75853066a1 [MERGE] forward port branch saas-14 up to c638cb4d56 2018-04-19 13:10:53 +02:00
Christophe Simonis c638cb4d56 [MERGE] forward port branch 10.0 up to 23431389c3 2018-04-19 13:10:12 +02:00
Raphael Collet 23431389c3 [FIX] models: bad setup of inherited custom fields
Assume a custom field F is defined on model 'res.partner'.  The setup of F may
silently fail because of missing stuff.  In that situation, setting up the
field inherited from F on model 'res.users' should also silently fail.

To reproduce the bug, install Invoicing, create a related custom field F on
'res.partner' with 'property_account_position_id.active', and install another
module.  Setting up F after loading module 'base' will fail because the field
'property_account_position_id' does not exist yet.  The error is not caught by
the inheritance of F on model 'res.users', and the installation crashes.

OPW 1835872
2018-04-18 17:26:05 +02:00
Raphael Collet 87b42ad9a8 [FIX] models: make group by date and order by date work together
The issue occurs when `read_group` is called with a date/datetime field to
group and order on, and the group_by is qualified, such as:

    model.read_group(..., groupby=['date:week'], orderby='date')

The ORDER BY clause in the query should use the same term as the GROUP BY
clause for the corresponding field.

OPW 1834148
2018-04-18 15:47:30 +02:00
Christophe Simonis 16ec176620 [MERGE] forward port branch saas-14 up to 67054b6dcb 2018-04-18 13:49:24 +02:00
Christophe Simonis 67054b6dcb [MERGE] forward port branch 10.0 up to 2f037a13ca 2018-04-18 12:14:53 +02:00