
    LMi4                     N    d dl  d dl d dlmZ  G d dej                        Zy)    )*)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                  }|r[|r:|j                  j                  dk(  r!|j                    d| j                   | _        ny|j                  j                         }|rZyy)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   sk    II	&&{00;;?RR*//0DII;?	%11668K     c                 *    t         |          ddgz   S )Nr
   r	   )supersave_preload_fields)r   	__class__s    r   r   z%CmfTestplanFolder.save_preload_fields   s    w*,v/FFFr   Nr   is_task_transition_rundepthc                H    | j                          t        |   |||d|S )Nr   )r   r   save)r   r   r   argskwargsr   s        r   r   zCmfTestplanFolder.save   s*    w|T:PX]haghhr   c                     fd |       S )u   
        Рекурсивный вывод тест-планов из папки и всех подпапок.
        Возвращает плоский список только тест-планов (без папок).
        c                     g }t         j                  j                  |       }|j                  |       t         j                  j                  |       }|D ]  }|j                   |              |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   sr    F **//v/>IMM)$  116666JJ' ?	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G 26Q i*r   r   N)cmf.include
cmf.fieldsmodules.evatest.fieldsr   r   r)   r   r   <module>r2      s!      6(*+== (*r   