
    ch                     H    d dl T d dlT d dlmZ  G d dej                  ZdS )    )*)cmf_testcase_runc                   h     e Zd Zej        j        g dz   Zd Zd Zd Z fdZ	d Z
 fdZd Z xZS )	CmfTestcaseRun)rungroup_changesgroup_changes_statusesc           
      *   |                      g d           | xj        dz  c_        t          j                            ddidd| g           t                              | | j        | j        | j        | j        | j	        d| j        	          | _
        d S )
N)testcaseresponsibleprioritytext   curFparent==)valuesfilterT)r   cache_testcaser   r   r   cache_estimate_timer   	iteration)load_fieldsr   modelsCmfTestcaseRunHistorybulk_updater   r   r   r   r   cur_history)selfargskwargss      ,./modules/evatest/models/cmf_testcase_run.pyr   zCmfTestcaseRun.run   s    ;;;	
 	
 	
 	!$00PXZ^`dOe0fff!77=(] $ 8n 8 	
 	
    c                     | j         j        sd S | j         j        r| j        xj        | j         j        z  c_        | j        xj        | j         j        z  c_        | j                                         d S N)r   
is_changedoldr   estimate_timenewsaver   s    r    _calc_estimate_timez"CmfTestcaseRun._calc_estimate_time   sv    '2 	F#' 	FK%%)A)EE%%!!T%=%AA!!r!   c                    | j         j        s| j        r| j        sd S | j        j        }| j         j        r&| j         j        r|| j         j        xx         dz  cc<   | j         j        |vrd|| j         j        <   n|| j         j        xx         dz  cc<   || j        _        | j        j        dk    r5| j         dk    r*| j        j        	                    d          | j        _         | j        j        dk    rj| j         dvrat          j                            dd	| j        gg d
dd| j        gg          }|s*| j        j        	                    d          | j        _         | j                                         d S )Nr   OPENopenIN_PROGRESS)status_typeCLOSEDr-   in_progressr   r   )statusINr1   idz!=)r   )r3   r$   is_newr   testcase_run_cacher%   r'   cache_status_typeworkflowget_default_statusr   r   countr5   r(   )r   	run_cachecnts      r    _cache_statuszCmfTestcaseRun._cache_status'   s   & 	$+ 	dk 	F K2	;? 	,t{5 	,dko&&&!+&&&;?)++)*Idko&&dko&&&!+&&&)2&;(F22t{f7L7L!%!5!H!HUb!H!c!cDK;(H44Lc9c9c'--xt{6S6_6_6_7;T476K6M- N NC  c%)[%9%L%LYa%L%b%b"r!   c                 N    t                                                      g dz   S )N)
ztestcase.estimate_timezparent.statusr3   zparent.testcase_run_cachezparent.workflowzparent.cache_status_typecur_history.responsibler   r   zparent.estimate_time)supersave_preload_fields)r   	__class__s    r    rB   z"CmfTestcaseRun.save_preload_fields@   s4    ww**,, 0` 0` 0` ` 	`r!   c                     | j         j        r| j         | j        j         k    rd S | j         | j        _         | j                                         d S r#   )r   r$   r   r(   r)   s    r    _calc_responsiblez CmfTestcaseRun._calc_responsibleD   sQ    * 	d.>$BRB^.^.^F'+'7$r!   c                    | j         j        | _        |                                  |                                  | j        r|                                  | j        r|                                   t                      j	        |i |S r#   )
r   namer*   r>   r   rE   r6   r   rA   r(   )r   r   r   rC   s      r    r(   zCmfTestcaseRun.saveJ   s    M&	  """ 	%""$$$; 	 HHJJJuww|T,V,,,r!   c                 :   |                      g d           | j        sdS | j        j        | _        | j        j        | _        | j        j        | _        | j        j        | _        | j        j        | _        | j        j        | _        |                                  dS )uC   Обновляем поля из текущего рана
        )	zcur_history.priorityzcur_history.statusr@   zcur_history.cmf_ownerzcur_history.test_configurationr   r   	cmf_ownertest_configurationN)	r   r   r   r   rJ   rI   r3   rG   r(   r)   s    r    recalc_fieldszCmfTestcaseRun.recalc_fieldsZ   s     	 = = = 	> 	> 	>  	F(1+7"&"2"E)3&-$)			r!   )__name__
__module____qualname__r   r   api_methodsr   r*   r>   rB   rE   r(   rK   __classcell__)rC   s   @r    r   r      s         	'3
<
<
<	= 

 
 
"    2` ` ` ` `     - - - - -       r!   r   N)cmf.include
cmf.fieldsmodules.evatest.fieldsr   r    r!   r    <module>rU      sq            3 3 3 3 3 3c c c c c#c c c c cr!   