U
    ]d                     @   s0   d dl T d dlT d dlmZ G dd deZdS )    )*)CmfGanttBaselinec                       s6   e Zd Zdd fdd
Zdd Zedd Z  ZS )	r   Fallowed_methodc                   s"   |st ddd t j|| d S )Nul   CmfGanttBaseline можно создавать только через метод create_baseline_with_scopeTabort)	cmf_alertsupersave)selfr   argskwargs	__class__ ,./modules/gantt/models/cmf_gantt_baseline.pyr
      s    zCmfGanttBaseline.savec                 C   sF   t jj| |drd S |ddg t j||  |jrB| |j d S )N)parenttaskparent_taskr   )modelsCmfGanttTaskgetZload_fieldscreate_gantt_taskr   _create_op_gant_tasks_rec)r   r   r   r   r   r      s    z*CmfGanttBaseline._create_op_gant_tasks_recc                 C   st  t j|dddgd}|js.td| ddd t }||_|j|_d	|_|jdd
 |d	krtj	j
|jddgdD ]}tj|| qtn|dkr^|jdkr|| tj	j
|ddgdD ]}tj|| qn|jdkrtj	j
dd|ggddgdD ]}|| qnP|jdkrHtj	j
|j jddgdD ]}|| q4ntd|j dd ntd| dd |S )Nr   r   zparent.main_gantt_project)fieldsu   У объекта u    нет проектаTr   Zprojectr   )r   r   r   CmfTask)r   r   ZCmfListZlistsIN)filterr   ZCmfTaskFilterzUnknown obj_class=zUnknown scope_type=)ZcmfutilZget_obj_by_idr   r   r   r   nameZ
view_scoper
   r   listr   r   
class_namer   Zbqlloadvalue)clsr   Z
scope_typeZobj_idobjZbaseliner   r   r   r   create_baseline_with_scope   s2    


  z+CmfGanttBaseline.create_baseline_with_scope)__name__
__module____qualname__r
   r   classmethodr%   __classcell__r   r   r   r   r      s   
r   N)Zcmf.includeZ
cmf.fieldsZ'modules.gantt.fields.cmf_gantt_baseliner   r   r   r   r   <module>   s   