
    Ef                     b    d dl mZ d dlT d dlmZ d dlmZ  G d dej        j                  Z	dS )    )Decimal)*)fields)CmfActiveEntityc                   4     e Zd Zd Zdd fd
Z fdZ xZS )CmfPricec                 &   t          d          }| j        r
|| j        z  }| j        r
|| j        z  }| j        r
|| j        z  }| j        r|t          | j        dz            |z  z  }| j        r
|| j        z  }|r| j        j        s|| _        d S d S d S )Nr   d   )r   direct_costscostmargin
margin_pctprofitprice
is_changed)selfr   s     !./modules/crm/models/cmf_price.py_calc_pricezCmfPrice._calc_price
   s    

 	'T&&E9 	TYE; 	!T[ E? 	<WT_s233e;;E; 	!T[ E 	. 	DJJJ	 	 	 	    r   )depthc                $   | j         s't          j                            g d          | _         |                                   t          t          |           j        |ddi|}| j        j	        r| j
        j                                         |S )N)mainz==T)filterr   r   )currencymodelsCmfCurrencygetr   superr   saver   r   productvalue)r   r   argskwargsres	__class__s        r   r   zCmfPrice.save   s    } 	P".22:N:N:N2OODM(eHd##($BaB6BB:  	&L##%%%
r   c                 N    t                                                      g dz   S )N)r   r   r   r   r   r   r   r    )r   save_preload_fields)r   r%   s    r   r'   zCmfPrice.save_preload_fields"   s4    ww**,, 0D 0D 0D D 	Dr   )__name__
__module____qualname__r   r   r'   __classcell__)r%   s   @r   r   r   	   sx           !"       D D D D D D D D Dr   r   N)
decimalr   cmf.includecmfr   common.models.cmf_active_entityr   r   	CmfEntityr    r   r   <module>r2      s                    ; ; ; ; ; ;D D D D Dsz# D D D D Dr   