
    {1i                     p    d dl m Z  d dl d dlmZ d dlmZ  G d dej                  j                        Zy)    )copy)*)fields)Decimalc                   8     e Zd Zd Z fdZ fdZ fdZ xZS )CmfDealItemsc                    | j                   j                  sC| j                  j                  s-| j                  j                  s| j                  j                  sy | j                   xs d}|| j                  xs dz  }| j                  r|| j                  z  }| j                  r t        | j                  dz        }|||z  z  }|| _        y )Nr   d   )price
is_changed
item_countdiscountdiscount_pctr   total)selfr   r   s      './modules/sale/models/cmf_deal_items.py_calc_totalzCmfDealItems._calc_total	   s    

%%)C)Ct}}G_G_cgctctcc

a-A.==T]]"E"4#4#4s#:;L\E))E
    c                 .    g d}t         |          |z   S )N)	zproduct.prices.pricezproduct.taxzproduct.unitdealr   unitr   r   r   )supersave_preload_fields)r   _fields	__class__s     r   r   z CmfDealItems.save_preload_fields   s     Mw*,w66r   c                    | j                   j                  r^| j                   rR| j                   j                  D ]  }|j                  j                  | _         n | j                   j
                  | _        | j                          t        |    |i |}| j                  rK| j                  j                  r5d| j                  _
        | j                  j                  j                          |S )Nr   )productr   pricesr   valuer   r   r   saver   r   )r   argskwargsr   resr   s        r   r    zCmfDealItems.save   s    <<""t||,, "[[..
 ))DIglD+F+99..DIIOIIOO  "
r   c                     | j                  dg       t        |   |i |}| j                  j                  s$| j                  j
                  j                          |S )Nr   )load_fieldsr   deleter   is_nullr   r    )r   r!   r"   r#   r   s       r   r&   zCmfDealItems.delete'   sL    &"gnd-f-yy  IIOO  "
r   )__name__
__module____qualname__r   r   r    r&   __classcell__)r   s   @r   r   r      s    
7 r   r   N)	r   cmf.includecmfr   decimalr   models	CmfEntityr    r   r   <module>r2      s'       $3::'' $r   