
    fiy                     L    d dl mZ d dlT ddlmZ  G d dej                  ZdS )    )Decimal)*   )	cmf_pricec                   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fieldsr   r    r   r   <module>r0      sv                   D D D D Dy! D D D D Dr   