U
     hx                     @   s*   d dl T d dlmZ G dd dejZdS )    )*)cmf_commentc                       s   e Zd Zejjdddddddg Zedd	d
 fdd
Zed	dddZedd Z	dd Z
dd Zed	dddZed	dddZ  ZS )
CmfCommentsdesk_create	sdesk_get
sdesk_listsdesk_updatesdesk_deletesdesk_ux_check_permsdesk_create_dummyupdateNpermparentc                   sd   |rt j|dgd}nt j|d dgd}|j}| s<dS t |d t j|||d|}|S )Nprojectfieldsobjr   Fwriter   )cmfutilZget_obj_by_idr   _sdesk_check_accessacl_set_policysuperZux_check_perm)clsr   r   argskwargsr   res	__class__ +./modules/servicedesk/models/cmf_comment.pyr
      s    zCmfComment.sdesk_ux_check_permr   c                O   s4   |d }d|d< | j |d|i|}tjj||dS )N	parent_idTis_dummyr   idr   )r   modelsr   sget)r   r   r   r   r!   r   r   r   r    r      s    zCmfComment.sdesk_create_dummyc                O   st   t jj|dgd}t j|d|i|}|j s<tddd |jjd|d t	
|d	 t	
|jd	 |  |jS )
Nr   r#   r      Нет доступа!TabortPPP-COM-ADDr   r   )r%   ZCmfTaskgetr   r   r   	cmf_alertr   check_project_role_accessr   r   Zsaver$   )r   r   r   r   Ztaskr   r   r   r    r   (   s    
zCmfComment.sdesk_createc                 O   s   |  dddg | j s&tddd |dd}t| j}| jrX|sX|j	d| d	 n|j	d
| d	 t
| d t
| jd | j||S )Nr   
project_idr"   r'   Tr(   Fr*   r+   zPPP-COM-EDIT-OWNr   )load_fieldsr   r   r-   r,   APPget_cache_projectr/   r"   r.   r   r   r   )selfr   r   r"   r   r   r   r    r   6   s    

zCmfComment.sdesk_updatec                 O   sd   |  ddg | j s$tddd t| j}|jd| d t	| d t	| jd | j
||S )	Nr   r/   r'   Tr(   zPPP-COM-DELETE-OWNr+   r   )r0   r   r   r-   r1   r2   r/   r.   r   r   delete)r3   r   r   r   r   r   r    r	   H   s    
zCmfComment.sdesk_deletec                O   sV   |sg }d|kr| d | j||dd|}|rRttdd |}t|d |S )Nr   r   r   Z	log_levelc                 S   s
   | j  S )N)r   r   )cr   r   r    <lambda>_       z'CmfComment.sdesk_list.<locals>.<lambda>read)appendlistfilterr   r   r   r   r   r   r   r   r   r    r   S   s    
zCmfComment.sdesk_listc                O   sF   |sg }d|kr| d | j||dd|}|rB|j sBd S |S )Nr   r   r5   )r:   r,   r   r   r=   r   r   r    r   e   s    
zCmfComment.sdesk_get)__name__
__module____qualname__r   r   Zapi_methodsclassmethodr
   r   r   r   r	   r   r   __classcell__r   r   r   r    r      s*   

r   N)Zcmf.includeZmodules.crm.modelsr   r   r   r   r   r    <module>   s   