Here is my method from models fashion.order
defaction_submit_order(self):
forrecordinself:
record.state = 'ordered'
view_ordered = self.env.ref('foodstore.action_fashion_order').read()[0]
view_ordered['domain'] = [('state', '=', 'ordered')]
view_ordered['target'] = 'main'
order_rec = {'invoice_customer': self.customer_name.customername,'totalinvoice_price': self.totalorder_price,'state': self.state,'invoice_lines': [(6, 0, record.order_line.mapped('product_id').ids)]}
order = self.env['fashion.invoice'].create(order_rec)
returnview_ordered
and here is my code from models fashion.invoice
fromemail.policyimportdefault
fromattrimportfields
from odoo import models, fields, api
classFashionInvoice(models.Model):
_name = 'fashion.invoice'
_rec_name = 'invoice_name'
invoice_name = fields.Char("Invoice Name", default="INVOICE-NAME-")
invoice_code = fields.Char("Invoice Code", default="INVOICE-ID")
invoice_customer = fields.Char("Customer", default="INVOICE-ID")
totalinvoice_price = fields.Float("Total Invoice Price")
invoice_lines = fields.One2many('fashion.invoice.line','invoice_id', string="Invoice Line")state = fields.Selection([ ('ordered', 'Ordered'), ('paid', 'Paid') ], default='ordered', string="Status", required=True)
classInvoiceLine(models.Model):
_name = 'fashion.invoice.line'
product_id = fields.Many2one('fashion.product', string="Product Name")
product_qty = fields.Integer(string = "Quantity", default="1")
invoice_id = fields.Many2one('fashion.invoice', string="Invoice ID")
order_code = fields.Char("Order Code", default="ORDER-")
price_id = fields.Float(related='product_id.price', string="Price")
sale_price = fields.Float(related='price_id', string="Sale Price", readonly=False)
total_price = fields.Float("Total Price", store=True, compute="action_calculate_price")
@api.depends('sale_price','product_qty')
defaction_calculate_price(self):
total_prices = self.total_price
total_prices = self.sale_price * self.product_qty
self.total_price = total_prices
I already put a similar field from order_line to invoice_line but nothing happen, none of product in order_line is appear in invoice_lines when i submit order? any idea how to solve it?