
    /i                     V    d dl T d dlT d dlmZ d dlmZ  G d deej                  ZdS )    )*)cmf_testcycle)EvaTestCodeMixinc                   l     e Zd Zej        j        dgz   Zd Zd Z fdZd Z	e
d fd	            Z xZS )	CmfTestcyclecompletec                 h    | j         rd S t          j                            dddg          | _         d S )Nztestcycle.base:defaultTsave_eval_code)codecache_inmemoryfields)workflowmodelsCmfWorkflowget)selfs    )./modules/evatest/models/cmf_testcycle.py_calc_workflowzCmfTestcycle._calc_workflow
   s:    = 	F*..4L]ak{j|.}}    c                     | j         j        sd S t          j                            dd| gg dg          D ]"}| j         |_        |                                 #d S )Nparent==)responsibler   N)filter)default_responsible
is_changedr   CmfTestcaseRunlistr   save)r   test_case_runs     r   _apply_responsiblezCmfTestcycle._apply_responsible   s    '2 	F#277$PT@U@[@[@[@]7 ^ ^ 	! 	!M&*&>M%    	! 	!r   c                     | j         r"| j        r| j                            |            |                                   t	                      j        |i |S )N)	testcycle)is_newtestplanrunr!   superr   )r   argskwargs	__class__s      r   r   zCmfTestcycle.save   sg    ; 	4= 	M     	!!!uww|T,V,,,r   c                     | j                                                             d          | _        |                                  d S )NCLOSED)status_type)r   loadget_default_statusstatusr   )r   r(   r)   s      r   r   zCmfTestcycle.complete   s9    m((**==(=SS		r   Nc                 t    |dk    r | j         |f||||d|S  t                      j        ||||||fi |S )Nrelease)object_fieldsr   r   order_by)releases_options_listr'   field_options_list)	clsrelation_field_namemodels_filtersr   r3   r   r4   r)   r*   s	           r   r6   zCmfTestcycle.field_options_list#   s    )++,3,-@  ZP]flu{  GO  Z  Z  SY  Z  Z  Z)uww)*=~vWdflnv  B  B  {A  B  B  	Br   )NNNNN)__name__
__module____qualname__r   r   api_methodsr   r!   r   r   classmethodr6   __classcell__)r*   s   @r   r   r      s        ,8J<GK~ ~ ~
! ! !- - - - -   B B B B B [B B B B Br   r   N)cmf.include
cmf.fieldsmodules.evatest.fieldsr   -modules.evatest.models.cmf_evatest_code_mixinr   r    r   r   <module>rE      s            0 0 0 0 0 0 J J J J J J B  B  B  B  B#]%?  B  B  B  B  Br   