
    Ni4                     H    d dl T d dlT d dlmZ  G d dej                  ZdS )    )*)cmf_testplan_folderc                   <     e Zd Zd Z fdZddd fd
Zd Z xZS )CmfTestplanFolderc                     | j         | _        | j        }|rH|r'|j        j        dk    r|j          d| j         | _        ndS |j                                        }|FdS dS )uI   Рассчитать полное имя с учетом иерархииr   z / N)nametexttree_parentvalue
class_nameload)selfr
   s     /./modules/evatest/models/cmf_testplan_folder.py_calc_fullnamez CmfTestplanFolder._calc_fullname   s    I	& 	9 {0;?RRR*/??DI??		%16688K  	9 	9 	9 	9 	9    c                 N    t                                                      ddgz   S )Nr
   r	   )supersave_preload_fields)r   	__class__s    r   r   z%CmfTestplanFolder.save_preload_fields   s#    ww**,,v/FFFr   Nr   is_task_transition_rundepthc                d    |                                    t                      j        |||d|S )Nr   )r   r   save)r   r   r   argskwargsr   s        r   r   zCmfTestplanFolder.save   s:    uww|T:PX]hhaghhhr   c                 $    fd |           S )u   
        Рекурсивный вывод тест-планов из папки и всех подпапок.
        Возвращает плоский список только тест-планов (без папок).
        c                     g }t           j                            |           }|                    |           t           j                            |           }|D ] }|                     |                     !|S )uP   Рекурсивно получить все тест-планы из папки)folder)r
   )modelsCmfTestplanlistextendr   )r   result	testplans
subfolders	subfolderget_folder_testplanss        r   r(   z8CmfTestplanFolder.rec_list.<locals>.get_folder_testplans   s    F *//v/>>IMM)$$$  16666JJJ' ? ?	229==>>>>Mr    )r   r   r   r(   s      @r   rec_listzCmfTestplanFolder.rec_list   s/    
	 	 	 	 	  $#D)))r   )__name__
__module____qualname__r   r   r   r*   __classcell__)r   s   @r   r   r      s        	9 	9 	9G G G G G 26Q i i i i i i i* * * * * * *r   r   N)cmf.include
cmf.fieldsmodules.evatest.fieldsr   r   r)   r   r   <module>r2      sg            6 6 6 6 6 6(* (* (* (* (*+= (* (* (* (* (*r   