U
    N~iy                     @   s6   d dl mZ d dlT ddlmZ G dd dejZdS )    )Decimal)*   )	cmf_pricec                       s6   e Zd Zdd Zdd fdd
Z fddZ  ZS )	CmfPricec                 C   sz   t d}| jr|| j7 }| jr(|| j7 }| jr8|| j7 }| jrT|t | jd | 7 }| jrd|| j7 }|rv| jjsv|| _d S )Nr   d   )r   direct_costscostmargin
margin_pctprofitprice
is_changed)selfr    r   !./modules/crm/models/cmf_price.py_calc_price   s    



zCmfPrice._calc_pricer   )depthc                   sV   | j stjjdddgd| _ |   tt| j|ddi|}| jj	rR| j
j  |S )Nmainz==T)filterr   r   )currencyZmodelsZCmfCurrencygetr   superr   saver   r   productvalue)r   r   argskwargsres	__class__r   r   r      s    zCmfPrice.savec              	      s   t   ddddddddg S )	Nr   r   r	   r
   r   r   r   r   )r   save_preload_fields)r   r   r   r   r!       s     zCmfPrice.save_preload_fields)__name__
__module____qualname__r   r   r!   __classcell__r   r   r   r   r      s   	r   N)decimalr   Zcmf.includeZfieldsr   r   r   r   r   r   <module>   s   