U
    /g                     @   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}| jrN|sN| jjd| d	 n| jjd
| d	 t	| d t	| jd | j
||S )Nr   r   r"   r'   Tr(   Fr*   r+   zPPP-COM-EDIT-OWNr   )load_fieldsr   r   r-   r,   r"   r   r.   r   r   r   )selfr   r   r"   r   r   r    r   6   s    

zCmfComment.sdesk_updatec                 O   sZ   |  ddg | j s$tddd | jjd| d t| d t| jd | j||S )	Nr   r   r'   Tr(   zPPP-COM-DELETE-OWNr+   r   )	r/   r   r   r-   r   r.   r   r   delete)r0   r   r   r   r   r    r	   G   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   Q   s    
zCmfComment.sdesk_listc                O   sF   |sg }d|kr| d | j||dd|}|rB|j sBd S |S )Nr   r   r2   )r7   r,   r   r   r:   r   r   r    r   c   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   