Code Monkey home page Code Monkey logo

odoo-product-configurator's Introduction



โš ๏ธ This project is now archived and has been transferred to https://github.com/oca/product-configurator



Odoo Product Configurator

Odoo modules enabling dynamic product configuration

The product configurator modules suite prevents automatic generation of variants in Odoo and provides on-demand generation through friendly user interfaces.

Upgrades & Roadmap

  • Product configurator is now an app and has a root main menu.

Menu-Root

  • Wizard is now integrated with product_configurator module (product_configurator_wizard removed).
  • Wizard is now a generic extensible object ( _inherit / _inherits ) which can create derivatives (sale, mrp, stock etc) configurators or adapt the base one.

New-Wizard

  • New configurator modules:
    • product_configurator_purchase
    • product_configurator_stock
  • Specify default values for configurable templates

Default Values

  • Configurations can now be made directly from the configurable template.
  • Sessions now store the configuration step you were in the last incomplete configuration (useful for long configuration processes).
  • MRP Wizard can offer subconfigurable products (nested configurable products & nested configuration sessions).

Subconfiguration

  • Quantities can now be specified inside the mrp configuration wizard.
  • Multiple session/configuration related methods moved from product.template to product.config.session (eases a lot of convoluted designs to obtain configuration data since the configuration session is the heart of any configuration option not the product.template).
  • Dynamic field value are now stored as class property (less overhead for obtaining the values).
  • Price computation can use the standard

Credits

Investors

  • initOS
  • Firma Casper Francke
  • WilldooIT
  • Camptocamp
  • Madsack Media Store
  • OpenIndustry.it
  • Asphalt Zipper
  • Access Windows and Doors Inc
  • BIG Consulting GmbH
  • Ursainfosystems
  • IT IS AG

Maintainer

Pledra Logo

odoo-product-configurator's People

Contributors

auneor avatar bizzappdev avatar herczegp avatar luc-demeyer avatar matt454357 avatar max3903 avatar pcatinean avatar tv-openbig avatar yostashiro avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

odoo-product-configurator's Issues

KeyError: 'product_uom'

Impacted versions:
9.0 and 10.0

Steps to reproduce:

  • Install the sale_margin module
  • Configure a product through the configuration wizard on a sales order
  • Click Next on the last step

Current behavior:

Traceback (most recent call last):
  File "/home/mchambreuil/odoo/10.0/env/lib/python2.7/site-packages/odoo/http.py", line 638, in _handle_exception
    return super(JsonRequest, self)._handle_exception(exception)
  File "/home/mchambreuil/odoo/10.0/env/lib/python2.7/site-packages/odoo/http.py", line 675, in dispatch
    result = self._call_function(**self.params)
  File "/home/mchambreuil/odoo/10.0/env/lib/python2.7/site-packages/odoo/http.py", line 331, in _call_function
    return checked_call(self.db, *args, **kwargs)
  File "/home/mchambreuil/odoo/10.0/env/lib/python2.7/site-packages/odoo/service/model.py", line 119, in wrapper
    return f(dbname, *args, **kwargs)
  File "/home/mchambreuil/odoo/10.0/env/lib/python2.7/site-packages/odoo/http.py", line 324, in checked_call
    result = self.endpoint(*a, **kw)
  File "/home/mchambreuil/odoo/10.0/env/lib/python2.7/site-packages/odoo/http.py", line 933, in __call__
    return self.method(*args, **kw)
  File "/home/mchambreuil/odoo/10.0/env/lib/python2.7/site-packages/odoo/http.py", line 504, in response_wrap
    response = f(*args, **kw)
  File "/home/mchambreuil/odoo/10.0/env/lib/python2.7/site-packages/odoo/addons/web/controllers/main.py", line 882, in call_button
    action = self._call_kw(model, method, args, {})
  File "/home/mchambreuil/odoo/10.0/env/lib/python2.7/site-packages/odoo/addons/web/controllers/main.py", line 870, in _call_kw
    return call_kw(request.env[model], method, args, kwargs)
  File "/home/mchambreuil/odoo/10.0/env/lib/python2.7/site-packages/odoo/api.py", line 681, in call_kw
    return call_kw_multi(method, model, args, kwargs)
  File "/home/mchambreuil/odoo/10.0/env/lib/python2.7/site-packages/odoo/api.py", line 672, in call_kw_multi
    result = method(recs, *args, **kwargs)
  File "/home/mchambreuil/odoo/10.0/src/odoo-product-configurator/product_configurator_wizard/wizard/product_configurator.py", line 728, in action_next_step
    return self.action_config_done()
  File "/home/mchambreuil/odoo/10.0/src/odoo-product-configurator/product_configurator_wizard/wizard/product_configurator.py", line 804, in action_config_done
    'name': variant.display_name
  File "/home/mchambreuil/odoo/10.0/env/lib/python2.7/site-packages/odoo/addons/mail/models/mail_thread.py", line 274, in write
    result = super(MailThread, self).write(values)
  File "/home/mchambreuil/odoo/10.0/env/lib/python2.7/site-packages/odoo/models.py", line 3550, in write
    self._write(old_vals)
  File "/home/mchambreuil/odoo/10.0/env/lib/python2.7/site-packages/odoo/models.py", line 3668, in _write
    field.write(self.with_context(rel_context), vals[name])
  File "/home/mchambreuil/odoo/10.0/env/lib/python2.7/site-packages/odoo/fields.py", line 2172, in write
    comodel.create(act[2])
  File "/home/mchambreuil/odoo/10.0/env/lib/python2.7/site-packages/odoo/addons/sale_margin/models/sale_order.py", line 50, in create
    product_uom_id = self.env['product.uom'].browse(vals['product_uom'])
KeyError: 'product_uom'

Expected behavior:

  • The configured variant is added to the sales order

Qweb error: unknown field "config_ok" on creation of a usual sale order

If i want to create a sale order without using the configuration wizard to create a quotation for a usual product i get the Qweb error: unknown field "config_ok".

To reproduce the error the user needs the technical setting "Properties on lines".
Without this setting the error doesn't pop up.

bildschirmfoto 2017-01-12 um 12 12 19

Price Calculation

Impacted versions:
10
Steps to reproduce:
Have your odoo configured for B2C, especially set the default tax as "Included in Price".
Then go ahead and configure a product on a sales order via the configuration wizard.
Current behavior:
The configured variant's unit price will be a tax excluded price.
Expected behavior:
The unit price should depend on the default tax setting of tax inclusion.

First of all, let me thank you for this module. For us, it is heaven-sent. We are a reseller for refurbished PCs, laptops etc, and our customers can customize quite a few aspects of the product like RAM, HDD, OS and so on. How dreadful (and probably a big strain for the database in the long run) it would have been if we were to manage this with only the default variant functionality. You, sir, are a life-saver. ๐Ÿ˜ƒ
As another burden, since we sell used hardware, base units might come in any number of different pre-configurations. We can have basically the same product, but one might have 4 GB RAM, a 320 GB HDD and Win 7, another might have 8 GB RAM, a 256 GB SSD and Win 10. All those would have to be a base product with all possible variants and we would have to setup (beforehand or on the fly) all the BoMs... This is due to the fact that all variations of the base product will have different by-products for all the possible configurations, and that will in turn influence the price for an option. If we have a unit with 1x 4 GB and the customer wants 1x 4 GB, there won't be a surcharge (still has to be configurable to have that, of course). If he wants 1x 8 GB, there will be a surcharge but with a reduction, as we get 4 GB back.
<TL;DR>
Back to the issue at hand. I'm not a 100% sure, if it wasn't even a complete mixup of tax incl/excl prices.
I modified get_cfg_price() in product.py by replacing

        prices = {
            'vals': [
                ('Base', self.name, total_excluded)            ],
            'total': total_included,
            'taxes': total_included - total_excluded,
            'currency': currency.name
        }

with

        prices = {
            'vals': [
                ('Base', self.name, total_excluded if product.taxes_id.sudo().price_include == False else total_included)
            ],
            'total': total_included,
            'taxes': total_included - total_excluded,
            'currency': currency.name
        }

With that, the price of the base product was correct again.
I've modified _compute_product_price_extra() in product.py by replacing

            product.price_extra = prices['total'] - prices['taxes'] - lst_price

with

            product.price_extra = prices['total'] - lst_price

While this seems to work for us, it surely isn't an elegant solution. Wouldn't it be better to just add up all the product prices as is and let the taxes/fiscal positions do their work?
On a side note: The module does not work at all if you use price lists (one or more, doesn't matter). Was it never intended to? Are you not aware of this? Would this be a feature for the roadmap, maybe?

How to Link Multiple Attributes to a Specific Product ?

Hi there,
My name is Samuel, from Sussex Campervans .
We are currently looking to integrate our sales and manufacturing process in Odoo.

We recently came across the Pledra Module and have been testing certain parts out.

My question is how do you link multiple attributes values to a specific product.
Example:
Let's say we sell Coke and Fanta:
The Configurable Template is called 'Drink'
'Drink' has the attributes 'Drink Type' and 'Drink Size'
'Drink Type' has values: 'Coke' or 'Fanta'
'Drink Size' has values: 'Large' or 'Small'
How would I link the the products; ' Large Coke', 'Large Fanta', 'Small Coke', 'Small Fanta' to the attributes.
So that if someone were to configure a Large Coke the product Large Coke would be added to the BoM and pricing.

Many Thanks
Samuel
Sussex Campervans Ltd

prices variants not load

hi i have a product with many variants. All variants has a price. the main Product have zero price. the normal website with no extension has price and show it. if i activate the configurator, the price in varaints are zero !! and on the website zero !!
what can i do?
(picture is example with mainprodukt 1 euro and every variant lot of more money - the second picture show the problem that different variants all have automatic price from mainproduct. not from variants!
unbenannt
unbenannt2

Related Product must be sellable and published for the website configurator (public user)

When you want to relate a product to an attribute in order to display configuration pictures, it is necessary for the related products to be sellable and to be published. Otherwise you get an access error (version 9.0: 403 forbidden error, version 10.0: 500 internal server error). Therefore all these related products are available in the webshop for no reasons.

The product should at least not be sellable so that it does not get displayed in the webshop.

Example: I have bicycles, a bicycle consists of a frame. The frame has a type (male/female) and a color.
Now I have to publish the product "Frame" and the product "Color" in order to make the website product configurator work for the public user.

See http://34.250.33.214:8069/shop?db=interbike

Traceback:

2017-03-16 14:25:17,558 25712 INFO bp_ch_configurator werkzeug: 178.194.239.84 - - [16/Mar/2017 14:25:17] "POST /configurator/testconfigurator-1/configurationstep1-1 HTTP/1.1" 302 -
2017-03-16 14:25:18,125 25712 WARNING bp_ch_configurator openerp.addons.website.models.ir_http: 403 Forbidden:

Traceback (most recent call last):
File "/usr/lib/python2.7/dist-packages/openerp/addons/website/models/ir_http.py", line 242, in _handle_exception
response = super(ir_http, self)._handle_exception(exception)
File "/usr/lib/python2.7/dist-packages/openerp/addons/base/ir/ir_http.py", line 158, in _handle_exception
return request._handle_exception(exception)
File "/usr/lib/python2.7/dist-packages/openerp/http.py", line 786, in _handle_exception
return super(HttpRequest, self)._handle_exception(exception)
File "/usr/lib/python2.7/dist-packages/openerp/addons/base/ir/ir_http.py", line 183, in _dispatch
result = request.dispatch()
File "/usr/lib/python2.7/dist-packages/openerp/http.py", line 845, in dispatch
r = self._call_function(**self.params)
File "/usr/lib/python2.7/dist-packages/openerp/http.py", line 321, in _call_function
return checked_call(self.db, *args, **kwargs)
File "/usr/lib/python2.7/dist-packages/openerp/service/model.py", line 118, in wrapper
return f(dbname, *args, **kwargs)
File "/usr/lib/python2.7/dist-packages/openerp/http.py", line 317, in checked_call
result.flatten()
File "/usr/lib/python2.7/dist-packages/openerp/http.py", line 1446, in flatten
self.response.append(self.render())
File "/usr/lib/python2.7/dist-packages/openerp/http.py", line 1439, in render
context=request.context)
File "/usr/lib/python2.7/dist-packages/openerp/api.py", line 250, in wrapper
return old_api(self, *args, **kwargs)
File "/usr/lib/python2.7/dist-packages/openerp/addons/website/models/ir_ui_view.py", line 166, in render
return super(view, self).render(cr, uid, id_or_xml_id, values=values, engine=engine, context=context)
File "/usr/lib/python2.7/dist-packages/openerp/api.py", line 250, in wrapper
return old_api(self, *args, **kwargs)
File "/usr/lib/python2.7/dist-packages/openerp/addons/web_editor/models/ir_ui_view.py", line 29, in render
return super(view, self).render(cr, uid, id_or_xml_id, values=values, engine=engine, context=context)
File "/usr/lib/python2.7/dist-packages/openerp/api.py", line 250, in wrapper
return old_api(self, *args, **kwargs)
File "/usr/lib/python2.7/dist-packages/openerp/addons/base/ir/ir_ui_view.py", line 1081, in render
return self.pool[engine].render(cr, uid, id_or_xml_id, qcontext, loader=loader, context=context)
File "/usr/lib/python2.7/dist-packages/openerp/api.py", line 250, in wrapper
return old_api(self, *args, **kwargs)
File "/usr/lib/python2.7/dist-packages/openerp/addons/base/ir/ir_qweb.py", line 254, in render
return self.render_node(element, qwebcontext, generated_attributes=qwebcontext.pop('generated_attributes', ''))
File "/usr/lib/python2.7/dist-packages/openerp/addons/base/ir/ir_qweb.py", line 297, in render_node
result = self.render_element(element, template_attributes, generated_attributes, qwebcontext)
File "/usr/lib/python2.7/dist-packages/openerp/addons/base/ir/ir_qweb.py", line 320, in render_element
generated_attributes= name == "t" and generated_attributes or ''))
File "/usr/lib/python2.7/dist-packages/openerp/addons/base/ir/ir_qweb.py", line 295, in render_node
result = self._render_tag[t_render](self, element, template_attributes, generated_attributes, qwebcontext)
File "/usr/lib/python2.7/dist-packages/openerp/addons/base/ir/ir_qweb.py", line 448, in render_tag_call
d[0] = self.render_element(element, template_attributes, generated_attributes, d)
File "/usr/lib/python2.7/dist-packages/openerp/addons/base/ir/ir_qweb.py", line 320, in render_element
generated_attributes= name == "t" and generated_attributes or ''))
File "/usr/lib/python2.7/dist-packages/openerp/addons/base/ir/ir_qweb.py", line 297, in render_node
result = self.render_element(element, template_attributes, generated_attributes, qwebcontext)
File "/usr/lib/python2.7/dist-packages/openerp/addons/base/ir/ir_qweb.py", line 320, in render_element
generated_attributes= name == "t" and generated_attributes or ''))
File "/usr/lib/python2.7/dist-packages/openerp/addons/base/ir/ir_qweb.py", line 297, in render_node
result = self.render_element(element, template_attributes, generated_attributes, qwebcontext)
File "/usr/lib/python2.7/dist-packages/openerp/addons/base/ir/ir_qweb.py", line 320, in render_element
generated_attributes= name == "t" and generated_attributes or ''))
File "/usr/lib/python2.7/dist-packages/openerp/addons/base/ir/ir_qweb.py", line 297, in render_node
result = self.render_element(element, template_attributes, generated_attributes, qwebcontext)
File "/usr/lib/python2.7/dist-packages/openerp/addons/base/ir/ir_qweb.py", line 320, in render_element
generated_attributes= name == "t" and generated_attributes or ''))
File "/usr/lib/python2.7/dist-packages/openerp/addons/base/ir/ir_qweb.py", line 297, in render_node
result = self.render_element(element, template_attributes, generated_attributes, qwebcontext)
File "/usr/lib/python2.7/dist-packages/openerp/addons/base/ir/ir_qweb.py", line 320, in render_element
generated_attributes= name == "t" and generated_attributes or ''))
File "/usr/lib/python2.7/dist-packages/openerp/addons/base/ir/ir_qweb.py", line 297, in render_node
result = self.render_element(element, template_attributes, generated_attributes, qwebcontext)
File "/usr/lib/python2.7/dist-packages/openerp/addons/base/ir/ir_qweb.py", line 320, in render_element
generated_attributes= name == "t" and generated_attributes or ''))
File "/usr/lib/python2.7/dist-packages/openerp/addons/base/ir/ir_qweb.py", line 295, in render_node
result = self._render_tag[t_render](self, element, template_attributes, generated_attributes, qwebcontext)
File "/usr/lib/python2.7/dist-packages/openerp/addons/base/ir/ir_qweb.py", line 485, in render_tag_set
qwebcontext[template_attributes["set"]] = self.eval_object(template_attributes["value"], qwebcontext)
File "/usr/lib/python2.7/dist-packages/openerp/addons/base/ir/ir_qweb.py", line 198, in eval_object
return self.eval(expr, qwebcontext)
File "/usr/lib/python2.7/dist-packages/openerp/addons/base/ir/ir_qweb.py", line 195, in eval
raise_qweb_exception(message="Could not evaluate expression %r" % expr, expression=expr, template=template)
File "/usr/lib/python2.7/dist-packages/openerp/addons/base/ir/ir_qweb.py", line 192, in eval
return qwebcontext.safe_eval(expr)
File "/usr/lib/python2.7/dist-packages/openerp/addons/base/ir/ir_qweb.py", line 104, in safe_eval
return eval(expr, None, locals_dict, nocopy=True, locals_builtins=True)
File "/usr/lib/python2.7/dist-packages/openerp/tools/safe_eval.py", line 298, in safe_eval
return eval(c, globals_dict, locals_dict)
File "", line 1, in
File "/usr/lib/python2.7/dist-packages/openerp/api.py", line 248, in wrapper
return new_api(self, *args, **kwargs)
File "/usr/lib/python2.7/dist-packages/openerp/custom/addons/product_configurator/models/product.py", line 209, in get_cfg_price
prices, value_ids, custom_values, pricelist)
File "/usr/lib/python2.7/dist-packages/openerp/api.py", line 248, in wrapper
return new_api(self, *args, **kwargs)
File "/usr/lib/python2.7/dist-packages/openerp/custom/addons/product_configurator/models/product.py", line 142, in get_components_prices
vals = self._get_option_values(value_ids, pricelist)
File "/usr/lib/python2.7/dist-packages/openerp/api.py", line 248, in wrapper
return new_api(self, *args, **kwargs)
File "/usr/lib/python2.7/dist-packages/openerp/custom/addons/product_configurator/models/product.py", line 134, in _get_option_values
lambda x: x.product_id.price)
File "/usr/lib/python2.7/dist-packages/openerp/models.py", line 5576, in filtered
return self.browse([rec.id for rec in self if func(rec)])
File "/usr/lib/python2.7/dist-packages/openerp/custom/addons/product_configurator/models/product.py", line 134, in
lambda x: x.product_id.price)
File "/usr/lib/python2.7/dist-packages/openerp/fields.py", line 830, in get
self.determine_value(record)
File "/usr/lib/python2.7/dist-packages/openerp/fields.py", line 930, in determine_value
record._prefetch_field(self)
File "/usr/lib/python2.7/dist-packages/openerp/api.py", line 248, in wrapper
return new_api(self, *args, **kwargs)
File "/usr/lib/python2.7/dist-packages/openerp/models.py", line 3316, in _prefetch_field
result = self.read([f.name for f in fs], load='_classic_write')
File "/usr/lib/python2.7/dist-packages/openerp/api.py", line 248, in wrapper
return new_api(self, *args, **kwargs)
File "/usr/lib/python2.7/dist-packages/openerp/models.py", line 3254, in read
values[name] = field.convert_to_read(record[name], use_name_get)
File "/usr/lib/python2.7/dist-packages/openerp/models.py", line 5769, in getitem
return self._fields[key].get(self, type(self))
File "/usr/lib/python2.7/dist-packages/openerp/fields.py", line 823, in get
return record._cache[self]
File "/usr/lib/python2.7/dist-packages/openerp/models.py", line 6149, in getitem
return value.get() if isinstance(value, SpecialValue) else value
File "/usr/lib/python2.7/dist-packages/openerp/fields.py", line 39, in get
raise self.exception
QWebException: (u'Der gew\xfcnschte Vorgang kann aufgrund Sicherheitsbeschr\xe4nkungen nicht ausgef\xfchrt werden. Bitte kontaktieren Sie den System Administrator.\n\n(Dokumenten Typ: product.product, Vorgang: read)', None)

decimal separator issue with configurable products or product variants

If i have selected as a website buyer language like german the product price in ecommerce shop should be presented like 1.500,00 โ‚ฌ instead of 1500.00 โ‚ฌ due to the german de_DE language settings (thousands_sep => "." and decimal_point => ",")

In fact Odoo itself is affected by the same error if i would like to buy a product with standard odoo variants. There seems to be again another fix available
odoo-dev/odoo@154428f

Unfortunately there are many linked errors and fixes trying to solve that issue for product variants.
I don't know if there is any commit which would also fix the issue with decimal separator and language specific currency format for configurable products.

Error - Product Variants.

Impacted versions:

Steps to reproduce:

Click Create in the Configured Variants Screen

Current behavior:

ERROR - see attached image

Expected behavior:

No Error

Video/Screenshot link (optional):
Uploading 1.pngโ€ฆ
Uploading 1.pngโ€ฆ
Uploading 1.pngโ€ฆ

Uploading 1.pngโ€ฆ

[10.0] Error message when selecting variants

When creating a sales order, I can add the configured product, however at the configuration step (option to select variants) I get an error message when I select a variant. I can continue the process, however would like to know why the error message is appearing.

selection_107

v10 website_product_configurator

Using version 10, I have configured a desktop with different choice of memory.

Memory is a product with 4 variants and different prices:

Memory	Memory: 4 Gb	100.00 $
Memory	Memory: 8 Gb	110.00 $
Memory	Memory: 16 Gb	120.00 $
Memory	Memory: 32 Gb	130.00 $

On the website, when I set the memory to 4 Gb, I get 100 $ added to the total on the right.

If I decide to change to 8 Gb, the total is unchanged. The right column and the total should be updated with 110 $.

Can't create domains where attribute value is not set

This applies to attributes that are not required. We want to create a domain that matches the case where the user has not selected a value.

Example:
For the following attributes and values, only allow attr2/value2.1 if the user has not selected any values for attr1

  • attr1 (not required)
    • value1.1
    • value1.2
  • attr2
    • value2.1
    • value2.2

image

Leaving the Values field empty is not allowed:
image

I don't like using 'not in', and selecting all possible values, because when I add a new value to attr1, then I have to remember to also add the value to the domain:
image

I could make attr1 required, and include a ZERO value, but that could confuse the user, and it makes my variant name messy.

  • attr1 (required)
    • value1.1
    • value1.2
    • ZERO (or N/A, or something)
  • attr2
    • value2.1
    • value2.2

Is there any other solution?

Traceback when creating order

Impacted versions:
10.0

Steps to reproduce:
Create a template product

Current behavior:
Odoo Server Error
Traceback (most recent call last):
File "/odoo/bva/odoo/odoo/http.py", line 638, in _handle_exception
return super(JsonRequest, self)._handle_exception(exception)
File "/odoo/bva/odoo/odoo/http.py", line 675, in dispatch
result = self._call_function(**self.params)
File "/odoo/bva/odoo/odoo/http.py", line 331, in _call_function
return checked_call(self.db, *args, **kwargs)
File "/odoo/bva/odoo/odoo/service/model.py", line 119, in wrapper
return f(dbname, *args, **kwargs)
File "/odoo/bva/odoo/odoo/http.py", line 324, in checked_call
result = self.endpoint(*a, **kw)
File "/odoo/bva/odoo/odoo/http.py", line 933, in call
return self.method(*args, **kw)
File "/odoo/bva/odoo/odoo/http.py", line 504, in response_wrap
response = f(*args, **kw)
File "/odoo/bva/odoo/addons/web/controllers/main.py", line 878, in call_kw
return self._call_kw(model, method, args, kwargs)
File "/odoo/bva/odoo/addons/web/controllers/main.py", line 870, in _call_kw
return call_kw(request.env[model], method, args, kwargs)
File "/odoo/bva/odoo/odoo/api.py", line 679, in call_kw
return call_kw_model(method, model, args, kwargs)
File "/odoo/bva/odoo/odoo/api.py", line 664, in call_kw_model
result = method(recs, *args, **kwargs)
File "/odoo/bva/odoo/odoo/models.py", line 4686, in search_read
result = records.read(fields)
File "/odoo/odoo-product-configurator/product_configurator_wizard/wizard/product_configurator.py", line 568, in read
custom_val = self.env.ref(custom_ext_id)
File "/odoo/bva/odoo/odoo/api.py", line 785, in ref
return self['ir.model.data'].xmlid_to_object(xml_id, raise_if_not_found=raise_if_not_found)
File "/odoo/bva/odoo/odoo/addons/base/ir/ir_model.py", line 1059, in xmlid_to_object
t = self.xmlid_to_res_model_res_id(xmlid, raise_if_not_found)
File "/odoo/bva/odoo/odoo/addons/base/ir/ir_model.py", line 1043, in xmlid_to_res_model_res_id
return self.xmlid_lookup(xmlid)[1:3]
File "", line 2, in xmlid_lookup
File "/odoo/bva/odoo/odoo/tools/cache.py", line 87, in lookup
value = d[key] = self.method(*args, **kwargs)
File "/odoo/bva/odoo/odoo/addons/base/ir/ir_model.py", line 1032, in xmlid_lookup
raise ValueError('External ID not found in the system: %s' % xmlid)
ValueError: External ID not found in the system: product_configurator.custom_attribute_value

v10 Wizard self._get_fields_type() not implemented

Hi,
I want to create an Attribute with an Custom Value. e.g. attachment.
When I get into the step in the backend wizard. I get following error:

Odoo Server Error

Traceback (most recent call last):
File "/vagrant/odoo/odoo/http.py", line 638, in _handle_exception
return super(JsonRequest, self)._handle_exception(exception)
File "/vagrant/odoo/odoo/http.py", line 675, in dispatch
result = self._call_function(**self.params)
File "/vagrant/odoo/odoo/http.py", line 331, in _call_function
return checked_call(self.db, *args, **kwargs)
File "/vagrant/odoo/odoo/service/model.py", line 119, in wrapper
return f(dbname, *args, **kwargs)
File "/vagrant/odoo/odoo/http.py", line 324, in checked_call
result = self.endpoint(*a, **kw)
File "/vagrant/odoo/odoo/http.py", line 933, in call
return self.method(*args, **kw)
File "/vagrant/odoo/odoo/http.py", line 504, in response_wrap
response = f(*args, **kw)
File "/vagrant/odoo/addons/web/controllers/main.py", line 862, in call_kw
return self._call_kw(model, method, args, kwargs)
File "/vagrant/odoo/addons/web/controllers/main.py", line 854, in _call_kw
return call_kw(request.env[model], method, args, kwargs)
File "/vagrant/odoo/odoo/api.py", line 679, in call_kw
return call_kw_model(method, model, args, kwargs)
File "/vagrant/odoo/odoo/api.py", line 664, in call_kw_model
result = method(recs, *args, **kwargs)
File "/vagrant/odoo/odoo/models.py", line 1328, in load_views
for [v_id, v_type] in views
File "/vagrant/odoo/odoo/models.py", line 1328, in
for [v_id, v_type] in views
File "/vagrant/addons_external/product_configurator_wizard/wizard/product_configurator.py", line 346, in fields_view_get
toolbar=toolbar, submenu=submenu
File "/vagrant/odoo/odoo/models.py", line 1407, in fields_view_get
xarch, xfields = View.postprocess_and_fields(self._name, etree.fromstring(result['arch']), view_id)
File "/vagrant/odoo/odoo/addons/base/ir/ir_ui_view.py", line 864, in postprocess_and_fields
fields = Model.fields_get(None)
File "/vagrant/addons_external/product_configurator_wizard/wizard/product_configurator.py", line 310, in fields_get
field_types = self._get_fields_type()
AttributeError: 'product.configurator' object has no attribute '_get_fields_type'

link product to attribute value

Hi

Can someone explain to me how to link product to attribute value in step by step in order to create dynamic price?

This is this phrase in the documentation but I dont know what it mean "As such if you want to compute an extra price for a certain attribute, create a regular product, set a price and link the product to the attribute value in the form view."

I have create the product and the attribute, but I don't know how to link the attribute value to the product

Thank you

[10.0] Sales > Configurable Products > Configuration Settings >> Create New = Traceback

Environment:

  • Ubuntu 14.04
  • Odoo 10.0c
  • PostgreSQL 9.6
  • Nginx

Steps to Reproduce:

  • Install product_configurator, product_configurator_wizard
  • Go to: Sales > Configurable Products > Configuration Settings >> Create New
  • The following traceback is produced:
    ``` Traceback (most recent call last): File "/odoo10/odoo10-server/odoo/http.py", line 638, in _handle_exception return super(JsonRequest, self)._handle_exception(exception) File "/odoo10/odoo10-server/odoo/http.py", line 675, in dispatch result = self._call_function(**self.params) File "/odoo10/odoo10-server/odoo/http.py", line 331, in _call_function return checked_call(self.db, *args, **kwargs) File "/odoo10/odoo10-server/odoo/service/model.py", line 119, in wrapper return f(dbname, *args, **kwargs) File "/odoo10/odoo10-server/odoo/http.py", line 324, in checked_call result = self.endpoint(*a, **kw) File "/odoo10/odoo10-server/odoo/http.py", line 933, in __call__ return self.method(*args, **kw) File "/odoo10/odoo10-server/odoo/http.py", line 504, in response_wrap response = f(*args, **kw) File "/odoo10/odoo10-server/addons/web/controllers/main.py", line 862, in call_kw return self._call_kw(model, method, args, kwargs) File "/odoo10/odoo10-server/addons/web/controllers/main.py", line 854, in _call_kw return call_kw(request.env[model], method, args, kwargs) File "/odoo10/odoo10-server/odoo/api.py", line 681, in call_kw return call_kw_multi(method, model, args, kwargs) File "/odoo10/odoo10-server/odoo/api.py", line 672, in call_kw_multi result = method(recs, *args, **kwargs) File "/odoo10/odoo10-server/odoo/models.py", line 5440, in onchange value = record[name] File "/odoo10/odoo10-server/odoo/models.py", line 5177, in __getitem__ return self._fields[key].__get__(self, type(self)) File "/odoo10/odoo10-server/odoo/fields.py", line 871, in __get__ self.determine_draft_value(record) File "/odoo10/odoo10-server/odoo/fields.py", line 989, in determine_draft_value self._compute_value(record) File "/odoo10/odoo10-server/odoo/fields.py", line 927, in _compute_value getattr(records, self.compute)() File "/odoo10/custom/pledra/10.0/odoo-product-configurator/product_configurator/models/product_config.py", line 280, in _get_cfg_price session.value_ids.ids, custom_vals) File "/odoo10/custom/pledra/10.0/odoo-product-configurator/product_configurator/models/product.py", line 119, in get_cfg_price self.ensure_one() File "/odoo10/odoo10-server/odoo/models.py", line 4789, in ensure_one raise ValueError("Expected singleton: %s" % self) ValueError: Expected singleton: product.template() ```

configured variant is missing on sale order reports

If i want to print sale order quotation after i have created a sale order quotation for a customer by using the "Configure Product" wizard i don't get the specifications on the report (usually in brackets).

I think it is essential to show the product with all configured variants towards the customer also on reports, in my specific use case the sale order reports.

Here is the configured product sale order line:
bildschirmfoto 2017-01-06 um 13 30 02

Here is the report without the selected attribute values from the "Configure Product" wizard.
bildschirmfoto 2017-01-06 um 13 30 28

Values on future steps breaking current wizard view

Impacted versions:

Steps to reproduce:

Create a template:

  • Attribute 1: Colour: Blue / Green
  • Attribute 2: Size: S / M / L
  • Attribute 3: Width: A / B
  • Config Step 1: Colour
  • Config Step 2: Size
  • Config Step 3: Width
  • Config Restriction: Attribute Size, Value M, domain Colour == Blue

Current behavior:

  • Configure Product
  • Choose Template
  • Step 1: Choose Colour Blue
  • Step 2: Choose Size M
  • Step 3: Choose nothing but go back to 2 and back to 1
  • Step 1: Change Colour to Green

"Invalid Configuration" error displayed (due to step 2 size being incompatible)

Expected behavior:

Invalid or incompatible items on future steps should just be cleared out.

This is coming from /product_configurator/models/product_config.py from write:

valid = self.product_tmpl_id.validate_configuration(
            self.value_ids.ids, custom_val_dict, final=False)
Invalid Configuration" error displayed (due to step 2 size being incompatible)


Video/Screenshot link (optional):

Unable to configure product

Impacted versions:
9.0 Community
Steps to reproduce:
Quotations > Configure Product >Select template > Next
Current behavior:
Unable to proceed to configure product.

File "/odoo/odoo-server/openerp/api.py", line 250, in wrapper
return old_api(self, *args, **kwargs)
File "/odoo/odoo-server/openerp/addons/base/ir/ir_ui_view.py", line 900, in postprocess_and_fields
fields = Model.fields_get(cr, user, None, context=context)
File "/odoo/odoo-server/openerp/api.py", line 250, in wrapper
return old_api(self, *args, **kwargs)
File "/odoo/odoo-server/openerp/api.py", line 354, in old_api
result = method(recs, *args, **kwargs)
File "/home/odoo/odoo-product-configurator/product_configurator_wizard/wizard/product_configurator.py", line 301, in fields_get
value_ids = wiz.product_tmpl_id.values_available(
AttributeError: 'product.template' object has no attribute 'values_available'

Expected behavior:

Selection of variants

Video/Screenshot link (optional):

Attribute Values do not save price.

Impacted versions:
Current - Updated today.
Steps to reproduce:
Updating the price and save, price is always saved at $0.00
Current behavior:

Expected behavior:

Video/Screenshot link (optional):
see link below.
untitled2

Move to next step 403 access error (if not logged in as user)

Can you explain the reason why i get an 403 access error if i click on "Continue" button to move from one step to another to configure my custom website product before i login as regular user (anonymous user).

If i login as a regular user, i can proceed from one step to another as usual.
If i jump over the malicious step , f.e. from "step 1" to "step 3" i can proceed as expected also as a non-logged-in user.

If i login before as a regular user, i am able to "continue" as expected from one step to the next possible step without any error.

As options are selected, choices are not shown on the WebSite

Impacted versions: 10

Steps to reproduce: Create the product configurator and use the website to start the selection process....
snip20170502_10
snip20170502_11
snip20170502_12

Current behavior:

Expected behavior: As the product configurator options are selected, they should show up in the next step.

Video/Screenshot link (optional):

Wizard - fields_get and fields_view_get caching

Impacted versions:

10.0

Steps to reproduce:

Create a template:

  • Attribute 1: Colour: Blue / Green
  • Attribute 2: Size: S / M / L
  • Attribute 3: Width: A / B
  • Config Step 1: Colour
  • Config Step 2: Size
  • Config Step 3: Width
  • Config Restriction: Attribute Size, Value M, domain Colour == Blue

Current behavior:

Scenario 1:

  • Configure Product
  • Choose Template
  • Step 1: Choose Colour Blue
  • Step 2: Note on pull down domain is (correctly) S/M/L

Scenario 2:

  • Configure Product
  • Choose Template
  • Step 1: Choose Colour Green
  • Step 2: Note on pull down domain is (correctly) S/L

Scenario 3:

  • Configure Product
  • Choose Template
  • Step 1: Choose Colour Green
  • Step 2: Note on pull down domain is (correctly) S/L
  • Go back to Step 1
  • Choose Colour Blue
  • Step 3: Note on pull down domain is still (incorrectly) S/L

Putting debugs in fields_get and fields_view_get in product_configurator, I have determined that they are being called at the start of step 1, and the start of step 2, but not when going back, and not when going from 1 to 2 the second time. And interestingly, not when going from 2 to 3!!

Expected behavior:

Video/Screenshot link (optional):

Custom attribute can not be added to Sale Order line

Impacted versions: tested on v10

Steps to reproduce:

  • create a Configurable Template with only one attribute having no attribute_value and set as custom
  • create a new sale order
  • using button Configure Product, try to add a new line to the order
  • Select the new Configurable Template, and click Next
  • select the custom attribute
  • add text in the Char field Custom
  • click Next

Current behavior:

  • the wizard never ends and stay here

Expected behavior:

  • the wizard closes and adds a new line to the sale_order

Video/Screenshot link (optional):
N/A

website publish doesn't work as expected

How to recapture the problem:

  1. I am logged in as admin (with proper rights for pledra configurator and website editor)
  2. i have created a new configurable product in Odoo backend
  3. i click on the website_publish button
  4. In editor mode of website i see the start site of the configurable product.
  5. If i log out as admin, i click on the "Product Configurator" menu.
  6. Visible message is "No product defined".

I would expect:
On step 4 i would expect red/green button to publish/unpublish the
configurable product.

bildschirmfoto 2017-02-10 um 11 01 26

Attribute order

Impacted versions:
10
Steps to reproduce:
selezione_267
the web order is different, no criteria
selezione_268

Current behavior:

Expected behavior:

Video/Screenshot link (optional):

[10.0] Cannot select existing configurable variant in SO line

Impacted versions:

Checked on 10.0

Steps to reproduce:

  • Create a configurable variant through configuration steps for a sales order
  • Create a new sales order and try to select the configurable variant created in above step

Current behavior:

  • Cannot select the configurable variant due to domain=[('config_ok', '=', False)] here:
    product_id = fields.Many2one(domain=[('config_ok', '=', False)])
  • Because of this, you are forced to go through the same configuration steps, which creates another variant with the same attributes as the existing record

Expected behavior:

You can select an existing configurable variant in product_id field.

However, I am not sure why the current design applies domain=[('config_ok', '=', False)] to product_id field. There is high chance that I'm missing some side-effects of not doing so. Would appreciate explanation on the idea behind the design from someone more experienced with the configurator modules.

Video/Screenshot link (optional):

Documentation missing

Impacted versions: all

Steps to reproduce: Not relevant

Current behavior: Documentation is nonexistent. Needs to be generated from the source (Makefile). Of course, just invoking the Makefile with the make command fails miserably. I had to set-up a sandboxed python environment with sphinx and all its bells and whistles to generate a ridiculously incomplete documentation whose html version is enclosed as a zip-file.

Expected behavior: An updated snapshot of the documentation is available on-line. The documentation is exhaustive, up-to-date, human-readable and not ambiguous.

Video/Screenshot link (optional): See generated HTML doc in enclosed zip file.
html.zip

Sales Price $0 in Sales Order Line

Impacted versions:
Odoo 10.
Steps to reproduce:
Create a product
Setup pricelist based on Cost
Website configurator works just fine
product_configurator_wizard in the application shows price as $0.

Current behavior:
Price from the pricelist which is based on cost is set to $0.

Expected behavior:
Price from the pricelist should be setup correctly based on cost

Video/Screenshot link (optional):

Line 833: in product_configurator_wizard/wizard/product_configurator.py should look at price_unit
`- line_vals.update({'name': sale_line.name})

  •    line_vals.update({'name': sale_line.name,'price_unit': sale_line.price_unit or sale_line.product_id.lst_price})
    

`

syntax error on saving attachment from backend wizard

If i want to download an attached file from the backend configurator wizards corresponding step with custom attribute of type attachment i get an syntax error, if i click
on the "Save as" button to download the attached file.

Uncaught SyntaxError: Unexpected token T in JSON at position 0
http://configurator-v9.pledra.com/web#id=25&view_type=form&model=sale.order&menu_id=176&action=244:1
Traceback:
SyntaxError: Unexpected token T in JSON at position 0
at JSON.parse ()
at HTMLIFrameElement. (http://configurator-v9.pledra.com/web/content/755-23145ff/web.assets_common.js:2554:379)
at HTMLIFrameElement.dispatch (http://configurator-v9.pledra.com/web/content/755-23145ff/web.assets_common.js:740:451)
at HTMLIFrameElement.elemData.handle (http://configurator-v9.pledra.com/web/content/755-23145ff/web.assets_common.js:713:173)

bildschirmfoto 2017-01-12 um 13 47 02

Roadmap

  • enter the quantity of optional items during the product configuration - @PCatinean
  • Create a BOM with type Manufacture by default, instead of kit - @PCatinean
  • In the configuration wizard, use the first attribute value as the default value for required attributes - @PCatinean
  • In the configuration wizard, allow to choose the product variants (if the mouse is an option, then allow to choose the color) - @PCatinean
  • Set the routing on the configurable template to be used when creating BOM - @ursais
  • Change the sales order line description format to match: - @PCatinean
    [Base Product]
    [Configuration Step]
    [Attribute]: [Qty] - [Attribute Value] - $[Price]
  • Add the "Configure Product" button on the serial number screen - @PCatinean
  • Add a description field on the serial number. The product configuration wizard fills in the field with the same format as the SO line description. - @PCatinean
  • In the configuration wizard of product A, allow to configure product B. Customer wants some recursivity here. @PCatinean
  • Create root menu for configurator @PCatinean

Error: NameError: name 'name' is not defined

Impacted versions: Odoo 10

Steps to reproduce:
Configure product template
Order a few variants
Click on Configurable Variants
Click on a Variant

Post this behavior, the "Edit" Screen for Configurable Variants is not functioning at all.

Current behavior:
http://10.0.0.29:8069/web/content/679-bc345ce/web.assets_backend.js:1326
Traceback:
Error: NameError: name 'name' is not defined
at PY_ensurepy (http://10.0.0.29:8069/web/content/679-bc345ce/web.assets_backend.js:1326:65)
at Object.py.evaluate (http://10.0.0.29:8069/web/content/679-bc345ce/web.assets_backend.js:1441:8)
at Object.py.evaluate (http://10.0.0.29:8069/web/content/679-bc345ce/web.assets_backend.js:1450:194)
at Object.py.eval (http://10.0.0.29:8069/web/content/679-bc345ce/web.assets_backend.js:1454:284)
at http://10.0.0.29:8069/web/content/679-bc345ce/web.assets_backend.js:1593:110
at iterator (http://10.0.0.29:8069/web/content/673-2c0d588/web.assets_common.js:14:183)
at Function. (http://10.0.0.29:8069/web/content/673-2c0d588/web.assets_common.js:17:8)
at _.(anonymous function) [as reduce] (http://10.0.0.29:8069/web/content/673-2c0d588/web.assets_common.js:69:526)
at eval_contexts (http://10.0.0.29:8069/web/content/679-bc345ce/web.assets_backend.js:1591:136)
at http://10.0.0.29:8069/web/content/679-bc345ce/web.assets_backend.js:1593:253

Expected behavior:
Variant details should be visible in the next screen without this error.

Video/Screenshot link (optional):

snip20170724_7

Cannot get drop down view to show up

Impacted versions: 10

Steps to reproduce: Install on fresh Odoo 10 system

Current behavior: System shows only the "Image View" of the product in the various attributes.

Expected behavior: For the attributes, during setup, Radio-Thumbnail or Selection-Box was selected. The system always creates "Radio-Thumbnail" version. We would like to mimic the behavior shown in the demo video with the drop-downs.

Video/Screenshot link (optional):
snip20170502_9
snip20170502_8
snip20170502_7
snip20170502_6

compitability https://www.odoo.com/apps/modules/8.0/sale_order_line_variant_description/

Hi.

I don't know if this is the right place to post this issue, if not, please feel free to close without comment.
To be able to describe all my variants in quotations / sales orders etc, the sale_order_line_variant_description has been installed (only tested for 8.0).
Running Odoo 10.0, the above mentioned addon is leading the product configurator to misbehave when it comes to restrictions.

Regards
Fredrik

Could not find a way to display pictures into radio-thumbnails selectors

Impacted versions: at least v.9, probably all

Steps to reproduce: Not relevant

Current behavior: I want my user to display pictures for extra options, exactly the same way it is presented in the demonstration video (see screenshot) but could not figure out why.

Expected behavior: The procedure is explained somewhere in a clear and nonambiguous manner. A test database vor odoo v.9 is available as an example.

Video/Screenshot link (optional): I try have pictures in the radio thumbnails selectors like in the screenshot obtained from your teasing video without any sucess.
screen shot 2017-06-08 at 09 20 50

Adding Products to POS

Does this work with the Point of sale module? Ive added some products and they are added to the Website but not the POS even though the available in Point of Sale checkbox is checked.

Odoo 8 Error - new install

Impacted versions: Odoo 8

Steps to reproduce: New install, base MRP and requirements modules installed. Create a new product and got an Error 500 at the web configurator.

2017-05-03 09:50:41,754 18368 ERROR GP openerp.addons.website.models.ir_http: 500 Internal Server Error:

Traceback (most recent call last):
File "/opt/odoo/odoo-server/addons/website/models/ir_http.py", line 199, in _handle_exception
response = super(ir_http, self)._handle_exception(exception)
File "/opt/odoo/odoo-server/openerp/addons/base/ir/ir_http.py", line 145, in _handle_exception
return request._handle_exception(exception)
File "/opt/odoo/odoo-server/openerp/http.py", line 673, in _handle_exception
return super(HttpRequest, self)._handle_exception(exception)
File "/opt/odoo/odoo-server/openerp/addons/base/ir/ir_http.py", line 171, in _dispatch
result = request.dispatch()
File "/opt/odoo/odoo-server/openerp/http.py", line 691, in dispatch
r = self._call_function(**self.params)
File "/opt/odoo/odoo-server/openerp/http.py", line 317, in _call_function
return checked_call(self.db, *args, **kwargs)
File "/opt/odoo/odoo-server/openerp/service/model.py", line 118, in wrapper
return f(dbname, *args, **kwargs)
File "/opt/odoo/odoo-server/openerp/http.py", line 314, in checked_call
return self.endpoint(*a, **kw)
File "/opt/odoo/odoo-server/openerp/http.py", line 810, in call
return self.method(*args, **kw)
File "/opt/odoo/odoo-server/openerp/http.py", line 410, in response_wrap
response = f(*args, **kw)
File "/opt/odoo/custom/gp/website_product_configurator/controllers/main.py", line 649, in action_configure
cfg_vars = self.config_vars(product_tmpl, active_step=config_step)
File "/opt/odoo/custom/gp/website_product_configurator/controllers/main.py", line 158, in config_vars
'product_configurator.custom_attribute_value')
File "/opt/odoo/odoo-server/openerp/api.py", line 797, in ref
return self['ir.model.data'].xmlid_to_object(xml_id, raise_if_not_found=raise_if_not_found)
File "/opt/odoo/odoo-server/openerp/api.py", line 266, in wrapper
return new_api(self, *args, **kwargs)
File "/opt/odoo/odoo-server/openerp/api.py", line 508, in new_api
result = method(self._model, cr, uid, *args, **old_kwargs)
File "/opt/odoo/odoo-server/openerp/addons/base/ir/ir_model.py", line 923, in xmlid_to_object
t = self.xmlid_to_res_model_res_id(cr, uid, xmlid, raise_if_not_found)
File "/opt/odoo/odoo-server/openerp/api.py", line 268, in wrapper
return old_api(self, *args, **kwargs)
File "/opt/odoo/odoo-server/openerp/addons/base/ir/ir_model.py", line 909, in xmlid_to_res_model_res_id
return self.xmlid_lookup(cr, uid, xmlid)[1:3]
File "/opt/odoo/odoo-server/openerp/api.py", line 268, in wrapper
return old_api(self, *args, **kwargs)
File "", line 2, in xmlid_lookup
File "/opt/odoo/odoo-server/openerp/tools/cache.py", line 74, in lookup
value = d[key] = self.method(*args, **kwargs)
File "/opt/odoo/odoo-server/openerp/addons/base/ir/ir_model.py", line 899, in xmlid_lookup
raise ValueError('External ID not found in the system: %s' % (xmlid))
ValueError: External ID not found in the system: product_configurator.custom_attribute_value

Current behavior:

Expected behavior:

Video/Screenshot link (optional):

Loose Internal Reference

Impacted versions:
odoo10
Steps to reproduce:
I create some orders of a configurable template
first i have the internal reference
img1
after I loose it
img2
if I query the database also the Internal Reference is missed, but I need it.
Current behavior:
loose Internal reference
Expected behavior:
mantain Internal reference for all product template
Video/Screenshot link (optional):
img1
immagine 1
img2
immagine

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.