
    chx                     D    d dl  d dlmZ  G d dej                        Zy)    )*)cmf_commentc                        e Zd Zej                  j
                  g dz   Zeddd fd
       Zeddd       Zed        Z	d	 Z
d
 Zeddd       Zeddd       Z xZS )
CmfComment)sdesk_create	sdesk_get
sdesk_listsdesk_updatesdesk_deletesdesk_ux_check_permsdesk_create_dummyupdateNpermparentc                    |rt         j                  |dg      }n't         j                  |d   dg      }|j                  }|j                         syt         j	                  |d       t        |   |||d|}|S )Nprojectfieldsobjr   Fwriter   )cmfutilget_obj_by_idr   _sdesk_check_accessacl_set_policysuperux_check_perm)clsr   r   argskwargsr   res	__class__s          +./modules/servicedesk/models/cmf_comment.pyr   zCmfComment.sdesk_ux_check_perm   s}    **69+*FF''uxj'ICZZF))+vw/g#TVNvN
    r   c                    |d   }d|d<    | j                   |d|i|}t        j                  j                  ||      S )N	parent_idTis_dummyr   idr   )r   modelsr   sget)r   r   r   r    r&   r!   s         r#   r   zCmfComment.sdesk_create_dummy   sN    ;'	!zcAYA&A  %%V%<<r$   c                   t         j                  j                  |dg      }t        j                  |d|i|}|j                  j                         st        dd       |j                  j                  d|       t        j                  |d	       t        j                  |j                  d	       |j                          |j                  S )
Nr   r(   r      Нет доступа!TabortPPP-COM-ADDr   r   )r*   CmfTaskgetr   r   r   	cmf_alertr   check_project_role_accessr   r   saver)   )r   r   r   r    taskr!   s         r#   r   zCmfComment.sdesk_create(   s    ~~!!VYK!@=d=f=zz--/.d;..}#.FsG,szz73
vvr$   c                    | j                  g d       | j                  j                         st        dd       |j	                  dd      }t
        j                  | j                        }| j                  r|s|j                  d|        n|j                  d	|        t        j                  | d
       t        j                  | j                  d
        | j                  |i |S )N)r   
project_idr'   r-   Tr.   r'   Fr0   r1   zPPP-COM-EDIT-OWNr   )load_fieldsr   r   r4   r3   APPget_cache_projectr9   r'   r5   r   r   r   )selfr   r    r'   r   s        r#   r
   zCmfComment.sdesk_update6   s    =>{{..0.d; ::j%0''8==--m-F--.@d-KtW-t{{G4t{{D+F++r$   c                 j   | j                  ddg       | j                  j                         st        dd       t        j                  | j                        }|j                  d|        t        j                  | d       t        j                  | j                  d        | j                  |i |S )	Nr   r9   r-   Tr.   zPPP-COM-DELETE-OWNr1   r   )r:   r   r   r4   r;   r<   r9   r5   r   r   delete)r=   r   r    r   s       r#   r   zCmfComment.sdesk_deleteH   s    (L12{{..0.d;''8))*>D)ItW-t{{G4t{{D+F++r$   c                    |sg }d|vr|j                  d        | j                  ||dd|}|r,t        t        d |            }t        j	                  |d       |S )Nr   r   r   	log_levelc                 6    | j                   j                         S )N)r   r   )cs    r#   <lambda>z'CmfComment.sdesk_list.<locals>.<lambda>_   s    !((668 r$   read)appendlistfilterr   r   r   r   r   r    r!   s        r#   r	   zCmfComment.sdesk_listS   sl     F6!MM(# chhVqCFCv8 C ""3/
r$   c                    |sg }d|vr|j                  d        | j                  ||dd|}|r|j                  j                         sy |S )Nr   r   rA   )rG   r3   r   r   rJ   s        r#   r   zCmfComment.sdesk_gete   sS     F6!MM(#cggtFaB6Bszz557
r$   )__name__
__module____qualname__r   r   api_methodsclassmethodr   r   r   r
   r   r	   r   __classcell__)r"   s   @r#   r   r      s    ((44 8
 
K -5d   .2 = =  ,$	, &*  " %) 	 	r$   r   N)cmf.includemodules.crm.modelsr   r    r$   r#   <module>rU      s     *k'' kr$   