
    h	                     D    d dl  d dlmZ  G d dej                        Zy)    )*)cmf_task_form_datac                        e Zd Zej                  j
                  g dz   Z fdZ fdZedddd       Z	eddd       Z
d	 Z xZS )
CmfTaskFormData)	sdesk_get
sdesk_listsdesk_updatec                 *    t         |          g dz   S )N)ztask_form.textdatatext_render)supersave_preload_fields)self	__class__s    +./modules/task/models/cmf_task_form_data.pyr   z#CmfTaskFormData.save_preload_fields   s    w*,/XXX    c                    | j                   rB| j                  r6| j                  j                  | _        | j                  j                  | _        | j                  j
                  rj| j                  r^d| j                   d| j                  xs d d| j                   d}t        j                  | j                  |d      j                          t        | (  di |S )	Nu<   
            <p> Обновлены данные формы z</p>
             u8   
            <p>Данные JSON:</p>
            <pre>z</pre>
               )parenttext	log_level )is_new	task_formnamer   r   
is_changedr   r   models
CmfCommentsaver   )r   kwargsmessager   s      r   r    zCmfTaskFormData.save   s    ;;4>>++DI++DI99DKK<<@II; G#$ %)) 	G T[[w!LQQSw|%f%%r   Nfieldsr   c                    |st        d      t        j                  |ddg      }|r|j                         sg S g d} | j                  |||d|}t        j                  |d       |S )NuP   Необходимо передать id задачи в параметр parentr   projectidr$   r   r   r   	parent_idr#   read)
ValueErrorcmfutilget_obj_by_id_sdesk_check_accesslistacl_set_policy)clsr$   r   argsr!   taskress          r   r   zCmfTaskFormData.sdesk_list    sq    opp$$)7L$M4335I=chhVFEfEsF+
r   )r$   c                    g d} | j                   |d|i|}|rTt        j                  |j                  j                  ddg      }|j                         sy t        j                  |d       |S )Nr)   r$   r   r&   r'   r+   )getr-   r.   r   r(   r/   r1   )r2   r$   r3   r!   r5   r4   s         r   r   zCmfTaskFormData.sdesk_get-   sj    =cggt5F5f5((CJJMM8YBW(XD++-""3/
r   c                     | j                   j                         st        dd       ddh}|D ]!  }|| j                  v s||vst	        d|       t
        j                  | d        | j                  di |S )Nu   Нет доступа!T)abortr   r   writer   )r   r/   	cmf_alertr$   KeyErrorr-   r1   update)r   r!   allowed_fieldskwargs       r   r	   zCmfTaskFormData.sdesk_update8   s    {{..0.d; -0 	@E#^(C7??	@ 	tW-t{{$V$$r   )__name__
__module____qualname__r   r   api_methodsr   r    classmethodr   r   r	   __classcell__)r   s   @r   r   r      s_    $44@@ D
 
KY&  &*4 
 
 %)  	%r   r   N)cmf.includemodules.task.fieldsr   r   r   r   r   <module>rH      s     2;%(88 ;%r   