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.
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
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.
* 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
* product.category: remove complete_name field as display_name can be used
where the field was used
* product.supplierinfo: remove computed qty field. This field originally
contained the min_qty computed into the product_uom. However commit
3c186c5807 broke that field without reason.
Since 2011 no one complained about this field being unnecessary, so let us
remove it.
* product.template: shorter and less spaghetti version of create_variant
method
* product_product._sellect_seller: fix use of default parameter in method
kwargs + use odoo standard datetime default value
A new API is introduced for price computing using pricelists. It is simplier
to use in most use cases, which is computing the product price in a given
pricelist. Old methods return dictionnaries and tuples, which are rarely
used in the code.
product_uom._compute_quantity is an ensure one multi method taking a browse
record as second paramter. It replaces _compute_qty and _compute_qty_obj
to have a single and standard computation method.
product_uom._compute_price() is now an ensure_one multi methods, taking
a browse record as second unit. This helps simplifying and unifying the
various calls and price computation methods.
Old price_get method is now replaced by price_compute and ready for migration.
Explicit parameters for unit of measure and currency have been added to ease
code understanding.
product.py and product_views.xml contained code related to several models.
This commit split those files to separate submodels :
* decimal_precision
* product_attribute: product.attribute, product.attribute.value,
product.attribute.line
* product_template: product.template
* product_uom: product.uom and product.uom.categ
* res_currency
Product now contains product.product model, along with some smaller
models (product.packaging, product.supplierinfo, product.category,
product.price.history)