U
    \d                     @   sD   d dl mZ d dlT d dlmZ d dlmZ G dd dejjZ	dS )    )Decimal)*)fields)CmfActiveEntityc                       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   )currency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cmfr   Zcommon.models.cmf_active_entityr   r   Z	CmfEntityr   r   r   r   r   <module>   s   