Commit Graph
62 Commits
Author SHA1 Message Date
Alexis de Lattre 7e1a523fbf [FIX] product: missing string on field
Closes #16640
2017-04-26 15:37:20 +02:00
amoyaux 834b38a84d [FIX] stock : traceback pivot view for stock moves
Use case when it can happens (non deterministic):
- Enable product variant
- Have different stock moves with the product variant
- Click on the stock moves in the section reports
- Switch to pivot view
-> Traceback : can't find path of null

This happens in the js in the function find_path_in_tree,
this function try to find path for children object. There is
a condition root.children[i].path[l] === path[l] (2 strings
comparaison).

With product variant this condition can be overpass when it should
have been triggered. The product path string is represented as follow
[Ref]Name(variants) -> Sometime the variants in the string do not have
the same order and thus the condition is never true and the function
return null instead of the correct root.

This commit corrects the name_get function for product product
in order to always return the variants in the same order.
2017-04-24 09:26:54 +02:00
Christophe Matthieu 6ecbbf8b96 [FIX] models.py, account, calendar, product: lang in context can be None
Different method use self._context.get('lang', 'en_US') to get the lang
value but, the lang in the context can be set to None (eg: copy method).
When the context is used with a lang=None, the method can have a
unexpected behavior or crashed (eg: if you try to format a datetime with a
locale=None)
2017-04-20 10:47:43 +02:00
bluesoft83 3513151e57 [FIX] product: wrong default datetime
On model product.price.history the default value for datetime field was evaluated at server start

Closes #15707
2017-03-03 14:14:25 +01:00
qdp-odoo 807751aece [FIX] base: fix mixing currency in company/pricelist
A company should have at least a pricelist having the same currency, that's common sense.
This was causing problems in tests on 10.0-nightly, where the main pricelist was created
in EUR, then the localization module was setting the right currency on the company without
any reflection on the pricelist.
To avoid this problem, when we write the currency on a company, we reflect that change on
the main pricelist if it's the only company in the system. Otherwise as we can't decide
which pricelist modify, we just create a new one, which should be ok.
2017-02-24 17:57:36 +01:00
Florent de Labarre 942d8a2c3f [FIX] product: complete name_search
The name_search was not working properly if limit=None is specified (e.g.
searching for the search bar on a many2one field to product.template).

As `any int > None` is true, the condition is always validated as soon as the
search returns at least one result.
The product.product search has no limit parameter and use the default 100.
If the 100 first products have only a few templates (a lot of variants), the
result will be incomplete as stopping after the first iteration.

Closes #15477
2017-02-17 14:11:28 +01:00
Nicolas Martinelli 3b42773e83 [FIX] product: crash on product search
- Go to Sales > Product Variants
- In the search field, type a letter (e.g. 'p'), then select a
  corresponding pricelist ('Public Pricelist' in demo data)

=> Crash

This is because `name_search` returns a list of tuple, not a browse
record.

Fixes #15443
2017-02-13 13:22:02 +01:00
Miku Laitinen 321cc715d8 [FIX] product: correct name_create method
name_create returns a tuple (id, name), not a recordset

Closes #15276
2017-01-30 16:56:17 +01:00
norlinhenrik 47c60db4a0 [FIX] product: set the correct company in property
`set_multi` uses the company of the current user.
As the property is created in sudo, the company of the admin may be different
than the one of the current user.

Before this commit, setting a different pricelist on a partner when logged in a
different company than the admin, the change had no apparent effect (was
creating a property for the admin's company).

Set `force_company` in the context to always set the one on the current user.
set_multi ignores if the same as the global rule to avoid bloating the table.

Closes #14984
2017-01-16 11:55:07 +01:00
Yenthe V.G 2e18f35c4e [FIX] product: Rename invalid context variable
The context uses an invalid name, which means it'll never work correctly.

fixes #15028

Bug coming from the module migration
2017-01-12 10:38:33 +01:00
Denis Vermylen (dve) 0c1348345e [FIX] product: return id instead of recordset (bis)
correct 3068afd85a .
2016-12-20 16:30:59 +01:00
Denis Vermylen (dve) 3068afd85a [FIX] product: return id instead of recordset
_get_partner_pricelist could return both a recordset or an ID.
While the ORM handles both where the method is called, a migration script
relies on an ID being returned.
( migrations/sale_contract/9.saas~13.1.1/pre-models.py", line 24 )

This commit ensures an ID is being returned every time.
2016-12-20 16:03:14 +01:00
Christophe Simonis 1a46fd4968 [MERGE] forward port branch saas-11 up to 995a58cc4b 2016-12-14 14:10:48 +01:00
Nicolas Martinelli a894fb33c1 [FIX] product: bigger ratio
- Create a new unit of measure with 'Bigger than the reference Unit of
  Measure'
- Save
- Edit and change the ratio ==> the ratio is set back to its value

opw-695507
2016-12-02 11:10:19 +01:00
Denis Ledoux 05010362d5 [FIX] product: remove currency rounding check against DP account
The decimal precision `Account` no longer exist.
This check is therefore pointless, and prevent
to change the rounding of the currency of the main company
2016-11-30 13:24:03 +01:00
Christophe Simonis e2a8f7c61c [FIX] product: ensure at least 1 item when computing price from pricelist 2016-11-25 12:06:54 +01:00
Denis Ledoux 483024d122 [FIX] product: _compute_currency_id multi-company
By default, the multi-company record rule on
`product.template` is disabled, meaning the products
are shared between the companies.
https://github.com/odoo/odoo/blob/10.0/addons/product/security/product_security.xml#L48

Nevertheless, the multi-company record rule on
`res.company` is well activated, and therefore
this might happen that you can see a `product.template`
for which you are not allowed to read the company.

If you attempt to read something from this company, you must
therefore do it as sudo :)

opw-693209
2016-11-16 18:38:46 +01:00
Christophe Simonis 3bb022d57c [MERGE] forward port branch saas-12 up to 6f8e40c 2016-10-27 18:17:59 +02:00
Olivier Dony 715860ea29 [FIX] mail, product: remove deprecated m2m params
`id1`, `id2`, `rel` are deprecated now that we switched to the
new API, and are simply ignored.
Keeping them is confusing because the default names are being
used instead.

@rco-odoo: We should add a warning in the m2m constructor if these
unsupported parameters are still passed.
2016-10-27 10:20:17 +02:00
Jeremy Kersten 28103a5f2c [FIX] product: fix duplicated creation variants
Move the code to manage the case of 'adding an attribute with only one value
should not recreate product' before to select the existing variants.

Before this commit,
When you create 1 new product.template, it create 1 variant.
When you add an attribute with only one value, it update the existing and
create a duplicate variant.

After this commit,
Only the existing variant is updated, and there are no more duplicated variant.

The fix:
We update the variant if only one value before to select the existing variant.
Thus, the updated variant is compared with the matrix and not duplicated.

This commit closes #13757
2016-10-12 12:38:38 +02:00
David Beal 1d6df46aba [IMP] product: add _variant_name() in product.attribute.value
To be possible to override the name_get of the variants
Closes #13053
2016-10-12 08:52:54 +02:00
Christophe Simonis 341bea8f88 [MERGE] forward port branch saas-12 up to 43cb4ac 2016-10-10 13:00:05 +02:00
Jeremy Kersten 7d5751f2c5 [IMP] product: remove default property for sale_pricelist 2016-09-29 15:46:27 +02:00
Denis Vermylen (dve) 789e9aa919 [IMP] product: add sql constraint to uom rounding
rounding field of product_uom now has sql constraint > 0. If set at 0 it rounds
any quantity to 0, which is never a desired result.

Allowing 0 made it so that some users that did not understand the rounding, set
it to 0 and complained that their quantities were messed up.

Also added translations to the error message.
2016-09-27 16:37:30 +02:00
tdi-odoo 8697fe7ad6 [FIX] account, invoice: fix typo
Add a space in auto-computed description of account_invoice_line when a product with a code is chosen.
2016-09-26 14:43:12 +02:00
Damien Bouvy 0cd34718bd Revert "[FIX] product: remove empty variant on first attribute add"
This reverts commit 20e19fdf85.

Already fixed by @fwi-odoo in 82b83ac
2016-09-23 15:02:08 +02:00
Laurent Smet 20e19fdf85 [FIX] product: remove empty variant on first attribute add
Adding the attributes leave all the old variants available.

While not completely intuitive, this behaviour is not inherently
wrong. However, on the first attribute addition, it leaves a variant
with 0 attributes that can cause problems in the ecommerce. This commit
make it so that this empty variant is archived.
2016-09-23 14:50:47 +02:00
Christophe Simonis de77992320 [FIX] product: correct import order 2016-09-22 17:01:54 +02:00
fwi-odoo 82b83ac7cd [FIX] product: delete unecessary product variants
Bug introduced by 1aa5bc0fdf
During migration to new api
2016-09-22 13:37:04 +02:00
Jeremy Kersten eb90e11134 [FIX] product: fallback on global partner property after the country groups matching
Default porperty was overriding localization filter.
2016-09-21 21:29:18 +02:00
Pierre Masereel 9deb7eb981 [FIX] product: error during migration
When we create a 'product.product', the 'lst_price' entered is
not saved. This is due to the 'inverse' function of the field
named '_set_product_price' which is shared with 'price' and
'lst_price' and uses 'price' to set the value, even if its called
by 'lst_price' field.

Before the migration in new API, it was possible to have the same
inverse fucntion for different fields because the value was passed as param
to the function. In the new API, we cannot because we have to get the
value from the field.

To fix this error, we had to duplicate function '_set_product_price'
in 'set_product_lst_price' to have on function by field, and use the
value correspondig to the field.

Introducied in rev: https://github.com/odoo/odoo/commit/1aa5bc0fdfa402ac7cccbc3a7203ec5050f6339b
2016-09-09 14:27:56 +02:00
Jeremy Kersten 93cc51a10b [FIX] product: fix default values for pricelist
Bad migration to new api... All values was resetted ith 'forumla'.
Why not formula as default value directly in product.pricelist.item ???
2016-09-06 13:59:35 +02:00
Jeremy Kersten 3db0fd7cf3 [IMP] product: make property_product_pricelit dynamic for res partner
Now the porperty product pricelist is computed automatically.

Based on the res_country of the res_partner, and the pricelist available
for this country.

It is always possible to force another value (property) that the computed.
2016-09-06 13:59:35 +02:00
Jeremy Kersten fb860c11b5 [IMP] product, website_sale: add field sequence on pricelist.
Now that property is computed automatically.
In some case, the compute will take the first on available.
So, the order (sequence) allow to specify the priority.

Test from point of sale are base on currency $,
So we force for the test to use a pricelist in dollard (My company, Chicago)
2016-09-06 13:59:35 +02:00
Jeremy Kersten 53abb4a277 [REF] sale,product,website_sale: merge website.pricelist and product.pricelist
Make it generic... It is not only a concept to website !

Update tests
2016-09-06 13:59:35 +02:00
Raphael Collet 0783318f97 [FIX] adapt logger names 2016-09-02 17:28:13 +02:00
Vipul Bhatt c3f81c527d [FIX] product: error during migration
Barcode, default_code (Internal Reference), standard_price,
volume, weight fields are not saved when we create a new product.

This is due to the fact that these fields need the product_variant_ids
field to be set, in order to compute their values.

Due to migration in rev https://github.com/odoo-dev/odoo/commit/1aa5bc0fdfa402ac7cccbc3a7203ec5050f6339b
2016-09-01 17:20:26 +02:00
Christophe Matthieu 166a9d26e3 [IMP] website_sale: create a new compute field to use prefetching and increase performance 2016-08-29 15:31:44 +02:00
Christophe Simonis f4738e7bb5 [MERGE] forward port branch saas-12 up to 78e9c7f 2016-08-26 18:06:17 +02:00
Thibault Delavallée 012270b59d [REV] "[FIX] product: avoid search returning two times the same product"
This reverts commit c34972a296.

Please check what you are doing or stop committing in official branches.
2016-08-26 13:11:07 +02:00
Fabien Pinckaers c34972a296 [FIX] product: avoid search returning two times the same product 2016-08-26 11:48:06 +02:00
Yannick Tivisse a765b3e643 [REM] product: Remove product_manager field
The product_manager field is existing since v6.0 and never displayed in any views. It is used in sale_timesheet module. A task created from a procurement_order (if it is a service and we track the service) is assigned to the product manager. It doesn't make a lot of sense as the value should be set directly in the database. We will remove the field and assign the current user to the task instead, which is the common behavior in Odoo.
2016-08-23 13:19:45 +02:00
Damien Bouvy b70f159f3a [FIX] product: avoid duplicates in name search
A typo probably introduced during the migration to the new api may have
caused duplicates to appear in the name search results since it added
the ids of the wrong recordset.

The previous fix, while effective, also removed a previous optimization
for databases with a lot of products. While the code may seem obscure
on first read, the comments should shed some light on the
implementation choice.

This commit therefore reintroduce the previous code with the exception
of the call to the wrong recordset (self instead of products).

Amends b02a85f
Courtesy of @rco-odoo
2016-08-22 17:27:25 +02:00
Martin Geubelle b94ddcbd70 [ADD] product,website_sale: attribute without variant
A new field `create_variant` has been added on `product.attribute`.
If unchecked, the attribute will not create variant.

These attributes will be added on the sale order description if bought from the shop.
The lines of a product with these attributes will be splitted to keep the description.
2016-08-22 13:39:41 +02:00
fwi-odoo e36db7a7af [IMP] product: only display attributes with multiple possible values 2016-08-22 13:39:41 +02:00
Fabien Pinckaers b02a85fcf1 [FIX] product: avoid search returning two times the same product 2016-08-21 17:13:26 -07:00
Fabien Pinckaers cd1da32dce [IMP] mrp: better kanban view for attachments 2016-08-21 13:54:51 -07:00
Fabien Pinckaers c2f5457d98 [FIX] product: traceback when name_search on template fixed 2016-08-21 13:06:07 -07:00
Srushti Patel 986b152f16 [IMP] product: ensure variant price is managed on the template
* variant prices should be read only on the variant
* added an help to explain how it works
* because variant prices are managed on the template via the Variant
  Prices button
2016-08-19 09:55:18 +02:00
Thibault Delavallée 665d1ec146 [FIX] various: fix digits_compute attribute changed to digits in new API 2016-08-09 11:03:12 +02:00