Commit Graph
140847 Commits
Author SHA1 Message Date
Martin Trigaux 1ee180ee0d [FIX] doc: do not duplicate header
And use tabs instead of spaces
Otherwise it looks for the file named "__manifest__.py 2014-..."
2018-10-23 15:47:12 +02:00
Christophe Simonis 570e381fcc [MERGE] forward port branch saas-11.4 up to 5999fd47c43 2018-10-23 15:18:46 +02:00
Christophe Simonis eb902f8b39 [MERGE] forward port branch saas-11.4 up to 5999fd47c43 2018-10-23 15:18:46 +02:00
Christophe Simonis 072fe9bdba [FIX] web: rpc queries should always be shorted out when the widget is destroyed 2018-10-23 14:03:09 +02:00
Julien (juc) Castiaux 3008f7d254 [FIX] point_of_sale: Button spamming create duplicates
Spamming the save button when creating a new custommer in point-
of-sale create duplicate users. This PR disable the button once
clicked and re-enable it when all the processing is done.

opw-1895302

close #23919
2018-10-23 12:56:44 +02:00
qsm-odoo 4f9a0cb4fc [FIX] website: add some compatibility for old BS3
This commit adds a compatibility file which can be added on demand by
enabling its associated view. This will basically map old BS3 classes
and structures to the related style with BS4.

closes odoo/odoo#27981
2018-10-23 08:53:19 +00:00
qsm-odoo 517d184107 [FIX] website: no text-primary in accordion snippet
For some unknown reasons, the text-primary class was added on each
card-header of that snippet... while the default link color is already
primary by default.

This was however breaking some themes whose primary color would not fit
in card-header while the link color (different from the primary one)
would.

closes odoo/odoo#28627
2018-11-13 13:06:42 +00:00
qsm-odoo f16bd3edca [FIX] website: restore theme contact us page
The page appeared broken in some themes as the "contact us" button was
against the bottom of the #wrap element.

closes odoo/odoo#28623
2018-11-13 12:29:12 +00:00
Goffin Simon b879dca025 [FIX] sale: Payment terms from SO
Let's consider a customer C with payment terms P1 set on it

Steps to reproduce the bug:

- Create a SO for C with payment terms P2
- Confirm the SO and generate the invoice

Bug:

The payment terms on the invoice was P1 instead of P2
This fix allows to keep the same behavior as in 11.0
Introduced by: f1b2d165fb

opw:1905710

closes odoo/odoo#28585
2018-11-13 10:36:58 +00:00
RomainLibert 58e4db6433 [FIX] hr_holidays: use department members as employees
In https://github.com/odoo/odoo/commit/04250cff1be32c115804dd2a55eb0242df6abf52 a typo was introduced, this commit
aims at fixing it.

closes odoo/odoo#28609
2018-11-13 10:06:09 +00:00
Nicolas Martinelli 22b979533a [FIX] product: dynamic variant creation
The new product configurator introduces the possibility to create
variants dynamically. One of the main goal is to be able to create
product templates with **many** attributes and values, but not generate
all variants automatically. Only the necessary variants are created
on-the-fly.

However, it turns out that **many** dynamic attributes and values still
fails. For example, create a product with 10 attributes, 10 values for
each. This allows 10^10 theoretical combinations; although the variants
are not created, the creation of the product template fails.

The reason is that the `variant_matrix` contains the list of all
combinations, which causes a `MemoryError`.

An easy modification to improve the process is to keep an iterator
instead of generating the list. This avoids the `MemoryError`, but it
remains necessary to go through all combinations three times, which
would take too much time.

Therefore, some refactoring is necessary in order to keep the same
logic, but avoid going through any huge list. Here are the improvements:

1. Skip the creation part if nothing will be created.
   If any attribute is dynamic, no variant is created. Therefore, we can
   perform the check upfront and skip the variant creation part if
   possible.

2. Stop the creation loop as soon as possible.
   There is an hardcoded limit of maximum 1000 variants to create. We
   can perform this check along with the list creation instead of
   checking at the end.

3. Determine if a product has valid attributes in a different way.
   The existing logic is safe but expensive: we check that all attribute
   values of a product are part of the possible combinations. This can
   be simplified by checking if (1) all attribute values of a variant
   are part of the accepted attribute values of the template and (2) a
   variant uses all attributes of the template. The second check is
   mandatory to delete existing variants when an attribute is added to
   the template.

Thanks to these modifications, we at worst go through 1000 possible
attribute values combinations. It might still be possible to optimize
step 3 with a fancy SQL query which would retrieve all (in)valid
products at once. Hopefully this won't be necessary and the optimized
logic will be enough.

opw-1902392

closes odoo/odoo#28530
2018-11-13 08:10:18 +00:00
Martin Trigaux 95ceedb7fa [FIX] test_main_flows: adapt tour
To reflect changes in enterprise

closes odoo/odoo#28600
2018-11-12 08:50:52 +00:00
Adrian Torres c8d5ff55ff [FIX] sale_coupon: restore SO processing time
This optimizes the confirmation of a sale_order in the ecommerce by ~73%,
for a cart with 160 unique items, the processing time goes from
7m46s to 39s, which is roughly the same amount of processing time if the
module `sale_coupon` is not installed.

This optimization is achieved in two steps:

1. By validating promotional/discounted products in batch instead of
validating each product one at a time.

2. By performing an unlink() on invalid reward lines instead of sending
a delete command by writing to the one2many, as delete commands are not
(yet) performed in batch, which means record recomputation after every
delete.

opw-1893277

closes odoo/enterprise#2905
2018-10-23 06:57:50 +00:00
Nicolas Seinlet 80cef9e8c5 [FIX] mail: faster blacklist search
For the special case of is_blacklisted, and due to
the size of the tablers to handle, it's faster to
filter some records rather than searching the whole
res.partner table

closes odoo/odoo#28028
2018-10-22 12:45:17 +00:00
qsm-odoo 273126ab34 [FIX] (website_)mass_mailing: restore popup design
Compatibility: rebuilding a correct modal from user database content.
Since the first version, the modal is saved in databases directly but
has never used a correct structure. While it was working with BS3, it is
not with BS4. This was breaking the design and prevented the modal to
be able to close.

task-1889341

closes odoo/odoo#28589
2018-11-12 14:50:17 +00:00
qsm-odoo 0170639262 [FIX] website: restore customize menu loading
When opening the customize menu as soon as the page became visible, an
RPC crashed and the toggable options did not appear anymore. This
happened:

1) DOM is ready.
2) The user click on the menu.
3) At the same time, the customize menu is initialized (`attachTo`),
   its event handlers are bound and the async `willStart` method is
   called.
4) The event handler for the user click is called... and crashes as
   requires a variable which would have been set in the `start` method.

The bug did not appear in previous versions as the handler was not using
the standard system and bound the event handler "by hand" in the `start`
method.

Maybe `attachTo` should not bind event handlers before the `willStart`
method is completed; this would be a subject for the master branch. This
commit solves the problem by setting the required variable in the
`willStart` method instead of the `start` method.

closes odoo/odoo#28578
2018-11-12 12:53:44 +00:00
Goffin Simon 253676da54 [FIX] product: Fields in the pricelist are not fully displayed
Steps to reproduce the bug:

-Activate the option "Prices computed from formulas (discounts, margins, roundings)" on the pricelist.
-On the pricelist, click on Edit and select a product item.
-Select "Formula" as Compute price

Bug:

The fields price_surcharge and price_max_margin were not fully displayed.

Introduced by: https://github.com/odoo/odoo/commit/9de1bc0eef6f5bfaa2a8d745431caa361ae91548#diff-e0b4a29125b1abccb0318498970342fcL61

opw:1907217

closes odoo/odoo#28514
2018-11-12 12:58:44 +00:00
Robot Odoo 5e987bc020 [FIX] event, mail: company in mail footer
closes odoo/odoo#28416
2018-11-12 14:59:24 +01:00
Swapnesh Shah 70a55a33c6 [FIX] point_of_sale: Tips product available in pos
From 12.0 tips product from pos moduleis not available in PoS by default

closes odoo/odoo#28569
2018-11-12 11:16:41 +00:00
Julien (juc) Castiaux de6a8cefd0 [FIX] mail: no company printed in footer
In a multiple company account, when a parter is doesn't have a
company, the mails he revieved have "Send by using odoo" as footer.

This PR correct that by setting the footer to "Send using odoo" when
there is no company.

opw-1894825
2018-11-06 15:11:07 +00:00
Julien (juc) Castiaux cfca2bb0ff [FIX] event: wrong email footer
In a multiple company account, when creating an event without
company, the emails sent contain "Send by False" as footer, this
PR correct that by disabling the footer in case there is no company

opw-1894825
2018-11-05 15:29:48 +00:00
Christophe Simonis 3c108977c1 [MERGE] forward port branch saas-11.3 up to 80df540dd0 2018-10-22 14:13:33 +02:00
Christophe Simonis 80df540dd0 [FIX] hr_expense: correct group xmlid 2018-10-22 12:34:05 +02:00
Odoo Translation Bot 26da2e183b [I18N] Update translation terms from Transifex 2018-10-21 06:02:27 +02:00
Christophe Simonis d4c343588f [FIX] test_mail: bump query count margin
Needed to make test pass with `mail_push` (enterprise module) installed.
2018-10-19 16:13:05 +02:00
Akim Juillerat b4ca8d0bc6 [FIX] website: Add onchange language_ids on website model
On res.config.settings for website, when removing a language from language_ids, if this language is defined as default_lang_id, the default language will be updated by an onchange to prevent any inconsistency.
The same should happen when doing this directly on the form view of a website record.

closes odoo/odoo#27727
2018-10-19 13:58:42 +00:00
Rémi Rahir 9e5126d22f [IMP] iap: Update documentation with new functionalities
closes odoo/odoo#28282
2018-10-30 10:08:37 +00:00
Olivier Colson 22f0da809e [IMP] account: Trigger a validation error when trying to set the same currency on a journal as on its parent company.
Until v12, doing this is wrong. The currency_id field of account.journal should only be used if the journal is in a different currency. Otherwise, this field should stay empty.

//NOTE FOR FORWARD-PORT: this commit should not be ported to 12.0 and further.
2018-10-19 15:04:12 +02:00
Christophe Simonis 94ae74a87a [MERGE] forward port branch saas-11.3 up to 793c90edd20 2018-10-19 14:48:58 +02:00
qsm-odoo 3a2939d494 [FIX] web_editor: disable strange resize handles on Firefox
See comments in the code for details...

Closes https://github.com/odoo/odoo/pull/27964
2018-10-19 14:48:51 +02:00
Christophe Simonis 0fcb28c97b [MERGE] forward port branch saas-11.3 up to d82a907728 2018-10-19 14:32:09 +02:00
Aaron Bohy d82a907728 [FIX] web: kanban quick create when grouped by selection
Rev. 42e1efded5 aimed to disable the quick create feature when
grouped by date(time) fields, by only enabling it for char, boolean
and many2one fields. However, the selection case is quite important
and must be handled as well. This is what this rev. does.

Task 1878254
2018-10-19 13:15:31 +02:00
Aaron Bohy 120709f807 [FIX] web: kanban quick create with correct default values
When a kanban view is grouped by a char or a boolean field, and the
quick create option is enabled, the correct default value for the
grouped field (i.e. the value of the column in which the record is
created) should be given (either in the context if that field isn't
in the quick create form view, or as a default value in that form
view otherwise).

Before this rev., it wasn't the case, as it was only working when
grouped by a many2one field.

Task 1878254
2018-10-19 13:15:30 +02:00
Christophe Simonis 9632d38f0a [MERGE] forward port branch 11.0 up to cba39ad6754 2018-10-19 12:27:00 +02:00
Christophe Simonis f2ada1560e [MERGE] forward port branch 11.0 up to 22a13073f0 2018-10-19 12:25:17 +02:00
Aaron Bohy 22a13073f0 [FIX] web: kanban quick create properly disabled
when grouped on field types for which it isn't supported.

Rev. 42e1efd disabled the quick create feature when the view is
grouped by date(time) fields. However, it hasn't been correctly
forwardported to 11.0 (with the new views). Indeed, the check was
done only once, at the initilization of the view. So if the user
selected another field to group by afterwards, the quick create
feature wasn't enabled/disabled accordingly.

Moreover, we didn't check if it was available when the user clicked
on CREATE in the control panel. So even if it wasn't (and thus if
there were no '+' icon in the columns), when the user clicked on
CREATE, the quick create widget was inserted in the first column.

This rev. fixes both issues.

Task 1878254

closes odoo/odoo#27867
2018-10-19 06:56:40 +00:00
Christophe Simonis 879aef37f3 [MERGE] forward port branch saas-15 up to bff8b16f5d9 2018-10-18 17:16:57 +02:00
Arnold Moyaux 433666b2d9 [FIX] stock: free reservation over reserve
Usecase to reproduce:
- 6 units in stock
- reserve 3 units on a move
- reserve 3 units on another move
- validate a third move with 1 unit

It raise the error could not reserve more than you have in stock.
It happens because when free reservation stole reservation from
an exisiting move with too much quantity available, it continues the
loop instead of stopping.

This commit stop the loop once we have enough quantity taken.

opw-1895578

closes odoo/odoo#27935
2018-10-18 13:49:57 +00:00
XavierDo 8f9a767bbe [FIX] mail: avoid concurrent update of notifications
When sending notifications by batch one notification email can be send
up to 50 people. For one mail_mail entry to handle 50 emails can be sent
as those are sent independently for each recipient.

In some cases a bounce may occur while the whole batch of recipients is
not completely mailed. In that case the mailgateway will update the
notification status to bounced. When the cron finishes to send the whole
batch of emails it tries to update the notifications of all recipients.
However as a notification has already been updated due to the bounce we
face a concurrent update, meaning the transaction is rollbacked.

Emails have been sent but notifications are not considered as sent as they
have not been updated accordingly. Next time the cron runs it will send the
same batch again, with probably the same bounce and rollback. We could
therefore face an email loop.

This commit add test for this use case.

This commit is linked to task ID 1893054.
2018-10-18 15:49:28 +02:00
Christophe Simonis 81c249d84a [MERGE] forward port branch saas-14 up to 9f58457b4a9 2018-10-18 15:31:27 +02:00
Christophe Simonis 54db75396f [MERGE] forward port branch saas-14 up to ef670016e6 2018-10-18 15:30:59 +02:00
Christophe Simonis ef670016e6 [MERGE] forward port branch 10.0 up to b8b33c6363 2018-10-18 14:52:51 +02:00
Christophe Simonis b66a37d2c5 [MERGE] Backport of chrome headless support
For unknown [1] reason, phantomjs starts to segfault when running qunit
tests.
Be radical with simply not using phantomjs anymore.

[1] Any guidance on tracking the root cause may help...
2018-10-18 14:26:26 +02:00
David Arnold b8b33c6363 [FIX] add res_company.sequence to base.sql
Seems like something similar to odoo/odoo#17111 can happen on Python 2.
The same change as #17111 is a bit involved for -stable, but this looks
pretty harmless.

Probably fixes #23781.
2018-10-18 14:24:37 +02:00
Raphael Collet e91b16b734 [FIX] base: renaming of x2many fields 2018-10-18 12:04:45 +02:00
Denis Ledoux 8f8060faae [FIX] tests: web tests, chromium fallback
On Ubuntu, the chromium executable is `chromium-browser`,
On other distributions, such as debian, it's `chromium`.

We therefore add another fallback
2018-10-18 11:59:44 +02:00
Denis Ledoux 0e388750c1 [FIX] tests: chromium executable is chromium-browser
When installing chromium using apt
e.g apt install chromium-browser
the executable is `chromium-browser`,
not just `chromium`
2018-10-18 11:59:44 +02:00
Christophe Monniez 2f63e1e973 [FIX] tests: detect coverage and adjust timeout
When computing coverage, the tests are slowed down and the timeout is
often exceeded.

With this commit, HttpCase headless Chrome tests timeout is increased if
coverage is detected.
2018-10-18 11:59:44 +02:00
Christophe Monniez 383ed26657 [FIX] tests: close Chrome and shutdown on SIGXCPU
When Odoo receive a SIGXCPU (CPU time limit reached), it shuts down
immediately. If a headless Chrome is running, it stays alive after the
Odoo shutdown.

With this commit, the signal is intercepeted and the Chrome browser is
properly closed before shutting down the Odoo server.
2018-10-18 11:59:43 +02:00
Christophe Monniez 5a523b06cd [FIX] tests: properly stop chrome when no tab found
In some situations, Chrome remote debugging is sending an empty list of
opened tabs. In that case, an orphan Chrome process stays alive.

With this commit, Chrome is stopped properly in those situations.
2018-10-18 11:59:43 +02:00