This question has been flagged
1 Reply
5931 Views

Hello,


I have product line in website Form.Product Line Have 3 fields(product_id, Quantity, Specification).

Problem is how to create record of product line and attach same with current model from website form.


AFAIK One2many in website form accept only ids in list format, not (0, _, {..}) format.

Can I am missing somewhere or need to be customize the code.

Thanks!

Avatar
Discard
Best Answer

yes in /website_form  One2many return a list of ids. so if you archive this type of functionality then you want to override extract_data().

like,
 

def extract_data(self, model, **kwargs):

product_ids = kwargs.pop('product_id[]', '').split(',')

quantity = kwargs.pop('quantity[]', '').split(',')

model_record = request.env['ir.model'].search([('model', '=', 'product.line')])

product_line_ids = []

line = {}

for index, product in enumerate(product_ids):

line = {

'product_id': product,

'quantity': quantity[index]

}

product_line_ids.append((0, 0, line))

data = super(Website, self).extract_data(model, * * kwargs)

if data['record']:

data['record']['product_ids'] = product_line_ids

return data


Suppose you have a multiple line on form view for product, add this list in form, for ex.

<input type="text" name="product_id[]"/>

try this it will help you. Thanks ;)

Avatar
Discard