7 changed files with 93 additions and 11 deletions
			
			
		@ -0,0 +1,40 @@ | 
				
			|||||
 | 
					# -*- coding: utf-8 -*- | 
				
			||||
 | 
					############################################################################# | 
				
			||||
 | 
					# | 
				
			||||
 | 
					#    Cybrosys Technologies Pvt. Ltd. | 
				
			||||
 | 
					# | 
				
			||||
 | 
					#    Copyright (C) 2023-TODAY Cybrosys Technologies(<https://www.cybrosys.com>) | 
				
			||||
 | 
					#    Author: Cybrosys Techno Solutions(<https://www.cybrosys.com>) | 
				
			||||
 | 
					# | 
				
			||||
 | 
					#    You can modify it under the terms of the GNU LESSER | 
				
			||||
 | 
					#    GENERAL PUBLIC LICENSE (LGPL v3), Version 3. | 
				
			||||
 | 
					# | 
				
			||||
 | 
					#    This program is distributed in the hope that it will be useful, | 
				
			||||
 | 
					#    but WITHOUT ANY WARRANTY; without even the implied warranty of | 
				
			||||
 | 
					#    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the | 
				
			||||
 | 
					#    GNU LESSER GENERAL PUBLIC LICENSE (LGPL v3) for more details. | 
				
			||||
 | 
					# | 
				
			||||
 | 
					#    You should have received a copy of the GNU LESSER GENERAL PUBLIC LICENSE | 
				
			||||
 | 
					#    (LGPL v3) along with this program. | 
				
			||||
 | 
					#    If not, see <http://www.gnu.org/licenses/>. | 
				
			||||
 | 
					# | 
				
			||||
 | 
					############################################################################# | 
				
			||||
 | 
					from odoo import api, fields, models | 
				
			||||
 | 
					
 | 
				
			||||
 | 
					
 | 
				
			||||
 | 
					class ProductTemplate(models.Model): | 
				
			||||
 | 
					    """This class represents margin on products""" | 
				
			||||
 | 
					    _inherit = 'product.template' | 
				
			||||
 | 
					
 | 
				
			||||
 | 
					    margin_percent_product = fields.Float(string='Margin %', | 
				
			||||
 | 
					                                          compute='compute_margin', store=True, | 
				
			||||
 | 
					                                          help='Field to store the margin in' | 
				
			||||
 | 
					                                               ' percentage of the product') | 
				
			||||
 | 
					
 | 
				
			||||
 | 
					    @api.depends('list_price', 'standard_price') | 
				
			||||
 | 
					    def compute_margin(self): | 
				
			||||
 | 
					        """Method to compute the margin of the product.""" | 
				
			||||
 | 
					        self.margin_percent_product = 0 | 
				
			||||
 | 
					        for record in self: | 
				
			||||
 | 
					            if record.list_price and record.standard_price: | 
				
			||||
 | 
					                record.margin_percent_product = ( record.list_price - record.standard_price) / record.list_price | 
				
			||||
@ -0,0 +1,14 @@ | 
				
			|||||
 | 
					<?xml version="1.0" encoding="utf-8"?> | 
				
			||||
 | 
					<odoo> | 
				
			||||
 | 
					    <!--Inherited the product template form view--> | 
				
			||||
 | 
					    <record id="product_template_only_form_view" model="ir.ui.view"> | 
				
			||||
 | 
					        <field name="name">product.template.view.form.inherit.margin.product.sale.invoice</field> | 
				
			||||
 | 
					        <field name="model">product.template</field> | 
				
			||||
 | 
					        <field name="inherit_id" ref="product.product_template_only_form_view"/> | 
				
			||||
 | 
					        <field name="arch" type="xml"> | 
				
			||||
 | 
					            <xpath expr="//field[@name='detailed_type']" position="after"> | 
				
			||||
 | 
					                <field name="margin_percent_product" widget="percentage" groups="!product.group_product_variant"/> | 
				
			||||
 | 
					            </xpath> | 
				
			||||
 | 
					        </field> | 
				
			||||
 | 
					    </record> | 
				
			||||
 | 
					</odoo> | 
				
			||||
					Loading…
					
					
				
		Reference in new issue