B
    Ef                 @   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kwargsZ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   