
    a.i                     \    d dl  d dl d dlmZ d dlmZ  G d deej                        Zy)    )*)cmf_testcycle)EvaTestCodeMixinc                   z     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                 n    | j                   ry t        j                  j                  dddg      | _         y )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
   s1    ==**..4L]ak{j|.}    c                     | j                   j                  sy t        j                  j	                  dd| gg dg      D ]#  }| j                   |_        |j                          % y )Nparent==)responsibler   N)filter)default_responsible
is_changedr   CmfTestcaseRunlistr   save)r   test_case_runs     r   _apply_responsiblezCmfTestcycle._apply_responsible   sf    ''22#2277$PT@U@[@]7 ^ 	!M&*&>&>M% 	!r   c                     | j                   r(| j                  r| j                  j                  |        | j                          t	        |   |i |S )N)	testcycle)is_newtestplanrunr!   superr   )r   argskwargs	__class__s      r   r   zCmfTestcycle.save   sL    ;;4==MM   	!w|T,V,,r   c                     | j                   j                         j                  d      | _        | j	                          y )NCLOSED)status_type)r   loadget_default_statusstatusr   )r   r(   r)   s      r   r   zCmfTestcycle.complete   s-    mm((*==(=S		r   c                 h    |dk(  r | j                   |f||||d|S t        |   ||||||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#   sy    )+,3,,-@  ZP]flu{  GO  Z  SY  Z  Zw)*=~vWdflnv  B  {A  B  	Br   )NNNNN)__name__
__module____qualname__r   r   api_methodsr   r!   r   r   classmethodr6   __classcell__)r*   s   @r   r   r      sF    ,,88J<GK~
!- 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 J B#]%?%?  Br   