U
    oe                     @   s:   d dl T d dlmZmZ d dlmZ G dd dejZdS )    )*)ListDict)cmf_relation_optionc                       s2   e Zd ZdZ fddZdd Zd	ddZ  ZS )
CmfRelationOptionuN    Класс для соединения задач и типов связей c                    s   |  ddg | jr@| jjr@| jjjjdkr@| jjjd| jd | jrr| jjrr| jjjjdkrr| jjjd| jd t j||S Nzout_link.parentzin_link.parent
CmfProjectzPPP-TSK-LINK)obj)	load_fieldsout_linkparentvalue
class_namecheck_project_role_accessin_linksuperdelete)selfargskwargs	__class__ ,./modules/task/models/cmf_relation_option.pyr   	   s    zCmfRelationOption.deletec                 C   sv   |  ddg | jr@| jjr@| jjjjdkr@| jjjd| jd | jrr| jjrr| jjjjdkrr| jjjd| jd d S r   )r
   r   r   r   r   r   r   )r   r   r   r   _check_project_perm   s
    z%CmfRelationOption._check_project_permupdatec              	   C   s
  |  ddg tjsd S | jr| jjr| jjjjdkrtjtjjjdgd| jjjdgtj	| jjjjd}t
d|d	  ||d	 |d	 gd
 | jr| jjr| jjjjdkrtjtjjjdgd| jjjdgtj	| jjjjd}t
d|d	  ||d	 |d	 gd
 d S )Nzout_link.parent.idzin_link.parent.idr   project_notifyr   Zin_tasks)ZinitiatorSessionTabIdZinitiatorCurrentPersonactionZinitiatorActionZinitiatorObjIdZinitiatorObjChangedFieldsu   initiatorСomponentId	projectIdzproject_notify-r   )ZroomZevent_personsZ	out_tasks)r
   gZsession_tab_idr   r   r   r   Zcurrent_personidZcomponent_idZcmf_emit_eventr   )r   Zinitiator_actionZeventr   r   r   r      s4    

$$

z CmfRelationOption.project_notify)r   )__name__
__module____qualname____doc__r   r   r   __classcell__r   r   r   r   r      s   r   N)Zcmf.includetypingr   r   Zmodules.task.fieldsr   r   r   r   r   r   <module>   s   