Commit Graph
127195 Commits
Author SHA1 Message Date
Odoo Translation Bot 56f74a63be [I18N] Update translation terms from Transifex 2019-07-28 06:08:27 +02:00
Christophe Simonis 40e8b67179 [FIX] mail: add missing requirement in test
Oversight of previous forward-port.
2019-07-26 14:34:48 +02:00
Christophe Simonis e0f9c092cc [MERGE] forward port branch saas-12.2 up to 1d6d790513 2019-07-26 11:32:43 +02:00
Christophe Simonis 1d6d790513 [FIX] mail: adapt test to new version
Oversight of previous forward-port.
2019-07-26 10:36:18 +02:00
Christophe Simonis a4b1b532ea [MERGE] forward port branch 12.0 up to b82df99d7a 2019-07-25 20:01:05 +02:00
Christophe Simonis b82df99d7a [MERGE] forward port branch saas-11.3 up to 5f419d4ad3 2019-07-25 18:38:32 +02:00
Christophe Simonis 7702d07d39 [FIX] base: force user's group view update when deleting a module category
On the users' view, groups are shown grouped by application (module category).
Deleting a module category should, therefore, regenerate the view.

closes odoo/odoo#35181

Signed-off-by: Christophe Simonis <chs@odoo.com>
2019-07-25 14:21:53 +00:00
Christophe Simonis 5f419d4ad3 [MERGE] forward port branch 11.0 up to f2f24381f2 2019-07-25 16:12:08 +02:00
Géry Debongnie 7d78795f8b [FIX] web: properly handle (grouped list) pager
when last field is numeric

closes odoo/odoo#35176

Signed-off-by: VincentSchippefilt <VincentSchippefilt@users.noreply.github.com>
2019-07-25 12:23:51 +00:00
Christophe Simonis f2f24381f2 [MERGE] forward port branch saas-15 up to d649cab7b9 2019-07-25 11:43:19 +02:00
Christophe Simonis d649cab7b9 [MERGE] forward port branch saas-14 up to 39de3797f8 2019-07-25 11:42:01 +02:00
Christophe Simonis 39de3797f8 [MERGE] forward port branch 10.0 up to cb3bf5509f 2019-07-25 11:41:33 +02:00
Nans Lefebvre 7b22be4814 [FIX] account: restore standard composer behaviour when sending unique mails
Fine-tuning of commit 5621ae3d6b.
While it focused on fixing the 'mass_mail' mode,
it forgot to keep the correct behaviour for the case where only one mail is sent.
In the latter case, it is typical to overwrite the template values, especially
for the body, before sending the mail.
In that case, applying the onchange on the templates overwrites the user input.

Note that in the case where the template is undefined it would set the composer
values to empty ones; while standard use would not allow in mass mail to both
send content and have no template, it could be done via a customisation.

opw 2041631

closes odoo/odoo#35164

Signed-off-by: Nans Lefebvre (len) <len@odoo.com>
2019-07-25 06:13:59 +00:00
Romain Derie 6a59224055 [FIX] web_editor, website: avoid returning children of inactive view
Before this commit, for the following view tree:
P (active)
|
I (inactive)
|
II (active)
When calling `get_related_views()` on 'P', it would wrongly return 'II'.
It shouldn't, since its parent 'I' is inactive.

Step to reproduce:
- Go to /shop
- Enable ecommerce categories
- Enable Collapsible Cateogories
- Disable ecommerce categories
- Collapsible categories is still shown even if its parent got archived

closes odoo/odoo#35154

Signed-off-by: Jérémy Kersten (jke) <jke@openerp.com>
2019-07-24 15:38:42 +00:00
Arnold Moyaux c8754185d1 [FIX] stock: MTO overprocessed move
Error due to other module (e.g. purchase_stock, mrp) that will
define their own rules in order to merge or not moves together.
Usecase:
- Install purchase_stock
- Create a product MTO + buy with a vendor
- Create a SO of 1 unit
- On the PO receive 2 units
- On the delivery deliver 2 units

It will create an empty delivery and put the entire move in
a back order.

First issue the extra move is created as a MTO if it's copied from an
MTO move. So il will trigger all the pull rule. We won't it because it's
an extra quantity and the rules should be only trigger by the original
document (SO/MO).
Also an extra move in a picking do the hypothesis that the original move and
the extra move will always be merged together. But in the previous
usecase, the module purchase add the condition that 'created_purchase_line_id'
and 'purchase_line_id' should be the same in order to merge move.
'created_purchase_line_id' is also copy=False, so the move and the
extra move will not be merged. create_extra_move only returns the extra
move and _action_done only process the moves returned by _create_extra_move.
It result by an original move not merged and not processed by _action_done,
it will be automaticaly set in a back order and the extra move is
processed.

In order to fix it, check if the move and the original move will be
merged. If not, returns both moves.

opw-2008113
Close #34005

closes odoo/odoo#34411

Signed-off-by: Simon Lejeune (sle) <sle@openerp.com>
2019-07-25 07:41:58 +00:00
David Dufresne 5b80695fc6 [CLA] signature for ddufresne
closes odoo/odoo#35079

Signed-off-by: Martin Trigaux (mat) <mat@odoo.com>
2019-07-25 07:32:06 +00:00
Romain Derie cb3bf5509f [FIX] web_editor, website: avoid returning children of inactive view
Before this commit, for the following view tree:
P (active)
|
I (inactive)
|
II (active)
When calling `customize_template_get()` on 'P', it would wrongly return 'II'.
It shouldn't, since its parent 'I' is inactive.

Step to reproduce:
- Go to /shop
- Enable ecommerce categories
- Enable Collapsible Cateogories
- Disable ecommerce categories
- Collapsible categories is still shown even if its parent got archived

Test writen in 12.0 with #35154

closes odoo/odoo#35155

Signed-off-by: Jérémy Kersten (jke) <jke@openerp.com>
2019-07-24 15:19:26 +00:00
Julien Mougenot 5c34091361 [FIX] web: improve editable list column widths
Changed the way some field types are displayed.

Before this commit, column width in a list were calculated according to
a given factor (integer), determining their weight.

Now, some specific fields have an hardcoded width instead. This task
also slightly tweaks some width factors, in order to try to have a
better layout in most list views

Task 1985916

closes odoo/odoo#35147

Signed-off-by: VincentSchippefilt <VincentSchippefilt@users.noreply.github.com>
2019-07-24 14:05:02 +00:00
Christophe Simonis e4a4b5a8f0 [MERGE] forward port branch 11.0 up to 0375c0174d 2019-07-24 16:04:59 +02:00
Christophe Simonis 0375c0174d [MERGE] forward port branch saas-15 up to fc80a9dae3 2019-07-24 15:06:16 +02:00
Goffin Simon ffe58a56bf [FIX] purchase: Saving PO with a foreign currency
Steps to reproduce the bug:
- Create a company C with currency = USD
- Create a vendor V with a supplier currency = EUR
- Create a PO for V with one line, the default currency is EUR
- Save

Bug:

The currency of the PO was USD when saving because the field currency is
in readonly when the state is draft.

opw:2035640

closes odoo/odoo#35144

Signed-off-by: Simon Goffin (sig) <sig@openerp.com>
2019-07-24 12:48:06 +00:00
Christophe Simonis fc80a9dae3 [MERGE] forward port branch saas-14 up to 36fdb2ff49 2019-07-24 14:01:48 +02:00
Jairo Llopis 21ede5365a [FIX] website: Delete redirections if website is deleted
Before this patch, if a website is deleted, its redirections will stay, affecting other websites.

Now, website-specific redirections will disappear along with their corresponding website.

closes odoo/odoo#35130

Signed-off-by: Jérémy Kersten (jke) <jke@openerp.com>
2019-07-24 10:16:43 +00:00
Romain Derie 36fdb2ff49 [FIX] website_sale: restore possibility to remove promo code pricelist
Since 5c9cea4ee7, it was not possible to remove an applied promo code
pricelist by adding an empty promo code on checkout (eg removing the one shown
in the promo code input).

Indeed, when sending an empty promo code, the `search()` done in the controller
would not find any pricelist as promo would be en empty string. For the rest,
check code on mentionned commit.

See `sale_get_order()` method docstring about `code` param: "If empty, it's a
special case to reset the pricelist with the first available else the default.".

Fixes #34633
2019-07-24 11:31:57 +02:00
svs-odoo 4d0f36ac01 [FIX] web: context when read on multi edit
Before this commit, in list editable, when user save multiple records in
the same time, the context is passed for the write but not for the read.
Now, the context is passed also for the read.

closes odoo/odoo#35113

Signed-off-by: Géry Debongnie (ged) <ged@openerp.com>
2019-07-24 07:05:32 +00:00
Martin Trigaux a98427834e [MERGE] Forward port of saas-12.2 to saas-12.3 up to 860ab5a1c2
closes odoo/odoo#35119

Signed-off-by: Martin Trigaux (mat) <mat@odoo.com>
2019-07-24 10:32:23 +00:00
Juhil Somaiya 860ab5a1c2 [FIX] website_slides: fix webiste menu being not clickable in lesson fullscreen
Before this commit, the navigation menu was not clickable because of higher
z-index of the slides fullscreen menu. This commit fixes that by correctly
setting z-index, using the standard variable to avoid custom values.

task-2036877

closes odoo/odoo#35107

Signed-off-by: Thibault Delavallee (tde) <tde@openerp.com>
2019-07-23 13:44:06 +00:00
Siddarth Gajjar 7e5a80abc6 [FIX] web: fix footer layout issue in pdf report rendering
- When reports print with long string in footer will spoil layout. This issue will
fix that.
Task ID: 1960423 Closes at #33271

closes odoo/odoo#35097

Signed-off-by: Damien Bouvy (dbo) <dbo@odoo.com>
2019-07-23 11:24:31 +00:00
Jeremy Kersten 8a80efd7cd [FIX] gamification: perf on write karma_min on gamification.karma.rank
This commits avoid to call recompute when you write on the rank without
touch the karma_min value.

On write on karma_min, we have 2 cases:
- Rank order are the same, just need to recompute the rank for the user
that could be impacted. Eg. if karma_min changes from 45 to 50, we need
to recheck for all user between 45 and 50 their new rank.
- Rank order are not the same, we need to recompute for all users.
(could be still improved if needed)

When you recompute the rank on a list of users, depending of the number of
users (bulk if more than 3 * number of rank) we check for each user what is
the new rank, or for each rank whats is the new users.

task-internal

No way to edit a rank on the prod server. Lock sql -> crash server

closes odoo/odoo#34835

Signed-off-by: Jérémy Kersten (jke) <jke@openerp.com>
2019-07-24 09:03:13 +00:00
Lucas Perais (lpe) 78b09d82fb [FIX] web: pivot keeps controlpanel's domain on reload
Open a pivot view, make a search for some field
Click on a pivot cell to display the list view of elements matching the group's domain
Go back to the pivot using breadcrumbs

Before this commit, the original search domain was not kept across those actions

After this commit, it is kept

This difference is due to the fact that before 12.2, the whole action had an env, containing the search domain
in 12.2 and afterwards, things are not done this way anymore

OPW 2030555
OPW 2030983

closes odoo/odoo#35096

Signed-off-by: Lucas Perais (lpe) <lpe@odoo.com>
2019-07-23 13:48:37 +00:00
Géry Debongnie 4e6ee3ac97 [FIX] web: allow groupby buttons in list view at any level
The initial implementation of the special group by buttons in list
groups only supported the first level of groupby.  So, if one grouped a
list view by field A, it worked (if A had a groupby defined).  However,
if we want to group by B/A, this no longer works.

opw 2040725

closes odoo/odoo#35090

Signed-off-by: VincentSchippefilt <VincentSchippefilt@users.noreply.github.com>
2019-07-23 08:09:50 +00:00
Julien Castiaux ceeb5b51d5 [FIX] mail: form activity widget: do not close activity popover on click
Create an activity in a chatter, mark it as done, click inside the
textarea, the popover is automatically closed.

The `click` trigger both opens and closes the popover on click.

opw-2028399

closes odoo/odoo#34982

Signed-off-by: Alexandre Kühn (aku) <aku@odoo.com>
2019-07-22 15:08:15 +00:00
Lucas Perais (lpe) a5ca064dc2 [FIX] website_sale: frontend billing address is partner's address
Have a partner

Partner (A1)
/		\
Shipping Addr (A2)	Invoice Addr (A3)

Give portal access to A1
Make a webshop order with A1

Make it possible for the front end user to edit his billing address (by having forgotten "country" on A1)
Note that the address being choosen as Billing is A1, NOT A3
Save
In the backend check the order. The customer is A1
The shipping address is A2

Before this commit though, the invoice address is A3, which is plain wrong
usability-wise since at no point in the flow the front end user chose that address

After this commit, the billing address stays A1, and A3 is just ignored

This goes with the spirit of https://github.com/odoo/odoo/commit/6e69de67071f2618e00856a74716d861b7f47391
Also, something smarter is possible if we let the user choose the billing address
just like we let him choose the shipping address

OPW 2034976

closes odoo/odoo#35105

Signed-off-by: Lucas Perais (lpe) <lpe@odoo.com>
2019-07-23 12:32:48 +00:00
Julien Castiaux 7273719b88 [FIX] mail,account: use reply_to header from tmplt
Create an invoice for a customer, send him an email from the chatter, in
the mail template set a specific "Reply to" and send the email. The
"Reply-To" template mail header is ignore and the one generated by
`mail_thread._notify_get_reply_to` is used.

See also 1c57d5e and 7b0806b

opw-2041640

closes odoo/odoo#35127

Signed-off-by: Julien Castiaux <Julien00859@users.noreply.github.com>
2019-07-24 06:25:02 +00:00
Julien Castiaux c1d63fc599 [FIX] stock: scrap from current picking
Steps to reproduce:

1) Make sure you don't have any piece of the product you're about to
sell on hand.
2) Create two sale order, each with 10 pieces of the product and
validate them
3) Do a RFQ and buy 15 pieces.
4) On the earliest sale order, check the availability, it should
autofill the desired quantity with 10
5) Do the same on the second, it autofills 5.
6) On the later delivery, scrap one.
=> The product is scrapped from the early picking.

Sort the candidates so the current picking is on top, this ensure the
current picking is the first scraped.

opw-2036381

closes odoo/odoo#35021

Signed-off-by: Arnold Moyaux <amoyaux@users.noreply.github.com>
2019-07-22 14:01:14 +00:00
Nans Lefebvre 088edee2ce [FIX] product: do not create duplicate variants
Create a product template Pt with attibutes A1, A2,
respectively with values Va1_1, Va1_2, and Va2.
This should make 2 variants, V1 and V2.
Sell some of these variants.
Then they can't be deleted since they are linked to orders/invoices/...

Now delete attribute A2. We know that:
Warning: adding or deleting attributes will delete and recreate existing
variants and lead to the loss of their possible customizations.

In fact, old variants are only archived instead of deleted:
for variant in variants_to_unlink: ... variant.write({'active': False})
as a fallback.

Now add again the attribute A2 to Pt.
It creates a new variant with the correct attributes.
Since the product is not active and has valid attributes and attribute values,
it is reactivated.
As a result we get the same variant twice.

Here we can simply add a check: if there is already an existing variant with
the same values, we can skip this activation.

We add a tiny little test to make sure that we have correct number of variants.
It's basically unreadable but somewhat commented.

fix coauthored with @rco-odoo

opw 2029985

closes odoo/odoo#35013

Signed-off-by: Nans Lefebvre (len) <len@odoo.com>
2019-07-22 13:07:57 +00:00
Nans Lefebvre 5e4c1b3701 [FIX] point_of_sale: check constraints before opening POS session
Set up the POS config to use a default pricelist that is archived.
Open a new POS session.
The constraints are checked, and an exception is raised:
"The default pricelist must be included in the available pricelists."
However, if the session is already opened, the check is not done at resume.
If the pricelist is archived, the session fails to load entirely:
after loading phase, the screen turns black and nothing happens.
Since the constraints are really useful to load the POS, we trigger an explicit
check of all constraints (there are a lot more than our example) when opening
the POS.

opw 2033453

closes odoo/odoo#35077

Signed-off-by: Richard Mathot (rim) <rim@openerp.com>
2019-07-22 14:32:05 +00:00
Jorge Pinna Puissant bdfed67504 [FIX] website_quote: Show 'Unit Price' column from quote template line
Before this commit, the unit price of the quote template line were
hidden.

Now, the unit price are shown. This is necessary because the unit price
is used if :
- the template is selected before the customer (price_list) is selected.
- the price_list is "Show public price & discount to the customer"

This commit revert  9416483465

opw-2039071

closes odoo/odoo#35069

Signed-off-by: Yannick Tivisse (yti) <yti@odoo.com>
2019-07-22 12:18:23 +00:00
Nicolas Lempereur 041ec73b2c [FIX] doc: complete tale about two profilers
This section of log mentionned two profilers making think they were the
same.

The odoo/tools/misc.py `profile` logs a method calls inside a file that
can be used to generate a graph of method calls.

The odoo/tools/profiler.py `profile` logs a method lines calls, queries
and time spend inside the log.

fixes #31278
opw-2038941
closes #35074

Signed-off-by: Nicolas Lempereur (nle) <nle@odoo.com>
2019-07-22 13:15:23 +00:00
Jorge Pinna Puissant fb9caab7c1 [FIX] website_quote: negative discounts are always included in the display price
Before this commit, negative discounts (surcharges) were shown in the
sales order when the price list have the option : "Show public price &
discount to the customer".

Now,  the negative discounts are included in the display price. This
issue was already been addressed in the sales module (see https://github.com/odoo/odoo/blob/ac170e8a8238a9b0aa468f83b11aabc4cd9493de/addons/sale/models/sale.py#L1046)

Fine-tunning of : cae506f0ed

opw-2039071

closes odoo/odoo#35065

Signed-off-by: Jorge Pinna Puissant (jpp) <jpp@odoo.com>
2019-07-22 12:31:53 +00:00
Goffin Simon b6e7af37eb [FIX] account: Incorrect due date for credit notes
Fine tuning of this commit: d0f3e896d4

To ensure that the date_invoice is a date object because a comparison is
made with date_due

opw:2033438

closes odoo/odoo#35058

Signed-off-by: Simon Goffin (sig) <sig@openerp.com>
2019-07-22 12:02:55 +00:00
Martin Trigaux 06f8f04699 [MERGE] Forward port of 11.0 to saas-11.3 up to eb4700f17f
closes odoo/odoo#35054

Signed-off-by: Martin Trigaux (mat) <mat@odoo.com>
2019-07-22 09:47:11 +00:00
Luis Torres 9b921dae5e [FIX] hr_expense: Correct states are used in the payment_mode field
The states for the expense are:
- draft
- reported
- approved
- done
- refused

So in the definition of the `payment_mode` field, these states must be used.

Before this fix, wrong states were used in the definition of the field
`payment_mode`.

opw:2038715

closes odoo/odoo#35051

Signed-off-by: Simon Goffin (sig) <sig@openerp.com>
2019-07-22 08:42:39 +00:00
Goffin Simon d18336bcd7 [FIX] product_margin: Product margin
Steps to reproduce the bug:
- Install accounting.
- Go to Accounting Settings and activate multi-currencies and margin analysis.
- Company currency in EUR
- Currency rate for EUR is 1.0 and 1.5 for USD
- Create two invoices, one in USD and the other in EUR. Both for 30 and for product P.
- Confirm and register payment to make them fully payed.
- Go to Accounting > Reporting > Product Margins > Open Margins.

Bug:

The average sale unit price for P was 60 instead of 25

opw:2035968

closes odoo/odoo#34998

Signed-off-by: Simon Goffin (sig) <sig@openerp.com>
2019-07-22 11:13:59 +00:00
Nimesh Jethva a9819b0f20 [FIX] point_of_sale: Customer display choose image
You are not able to choose an image for the customer display because of
the bold tag, so we removed it and applied a css class instead.

closes odoo/odoo#34854

Signed-off-by: pimodoo <pimodoo@users.noreply.github.com>
2019-07-22 09:49:12 +00:00
Nimesh Jethva de61fc0c99 [FIX] point_of_sale: Customer display snippets issue
We were not able to choose the colors of customer display anymore.
2019-07-22 09:44:12 +00:00
Mohammed Shekha 0ac4055504 [IMP] web: do not set focus on form when lastActivatedFieldIndex is not set
When opening a dialog using mouse and closing it, form_dialog_discarded is
triggered, which tries to set focus on form while lastActivatedFieldIndex
is -1, as dialog is opened using mouse directly

do not set focus back to form widget if lastActivatedFieldIndex is -1

task-2031706

closes odoo/odoo#34684

Signed-off-by: VincentSchippefilt <VincentSchippefilt@users.noreply.github.com>
2019-07-22 10:23:29 +00:00
Martin Trigaux 324d3fc93a [MERGE] Forward port of saas-11.3 to 12.0 up to 06f8f04699
closes odoo/odoo#35064

Signed-off-by: Martin Trigaux (mat) <mat@odoo.com>
2019-07-22 11:43:54 +00:00
Romain Derie ac170e8a82 [FIX] web_editor, website: stop snippet animations before cloning
Before this commit, when a snippet was cloned, its animation was not destroyed
first. The flow was:
1. Clone the snippet (DOM) - web_editor trigger `snippet_cloned`
2. Start cloned snippet animation - website listen `snippet_cloned`

This was causing bugs, eg facebook snippet for which the animation is to create
an iframe containing the facebook widget.
When cloning this snippet, its iframe would be cloned to, then its animation
would be started, creating another iframe.

To fix such flows, the snippet cloning flow should be:
1. Strop the snippet animation
2. Clone the snippet (DOM) - web_editor trigger `snippet_cloned`
3. Start cloned snippet animation - website listen `snippet_cloned`
4. Restart the original snippet animation

task-1951466

closes odoo/odoo#35029

Signed-off-by: Quentin Smetz (qsm) <qsm@odoo.com>
2019-07-22 08:30:21 +00:00
Goffin Simon f58fa65c2b [FIX] hr_expense: Encoding negative amount in expense
Before this commit: 15fa0c23d9
It was possible to encode negative amount for an hr.expense.

Before the fix, it raised a Error saying:

"Cannot create unbalanced journal entry."

opw:2036620

closes odoo/odoo#34953

Signed-off-by: Simon Goffin (sig) <sig@openerp.com>
2019-07-22 07:38:53 +00:00