
    bEf                     J    d dl T d dlmZ  G d dej        j                  ZdS )    )*)fieldsc                        e Zd Zi Ze                    ej                            e	j
        d          g          Zeed<    ej        di eZd Zd Zd Zd Z fdZ fdZed fd
	            Z xZS )CmfFormzmodules/crm/templatesloaderc                     t           j         d}t          j                            |          st                              |           |S )ui   
        Директория для хранения статики формы
        :return:
        z/common/static/forms/)configPROJECT_DIRospathexistsmakedirs)self
static_dirs      ./modules/crm/models/cmf_form.pyr   zCmfForm.static_dir   sC    
 *AAA
w~~j)) 	$KK
###    c                 >    |                                   | j         dS )Nz.html)r   id)r   s    r   static_filenamezCmfForm.static_filename   s"    //##3TW3333r   c                    |                                  }t          |d          5 }| j                            d          }|                    |                    |                      d d d            n# 1 swxY w Y   |S )Nzw+zwebform.html)form)r   open
_jinja_envget_templatewriterender)r   filenameftemplates       r   	dump_htmlzCmfForm.dump_html   s    ''))(D!! 	0Q33NCCHGGHOOO..///	0 	0 	0 	0 	0 	0 	0 	0 	0 	0 	0 	0 	0 	0 	0 s   AA55A9<A9c                     t                               | j        | j        | j                  }|                                 || _        dS )u3   
        Дает доступ из вне
        )nametypetokenN)models	CmfPlugincode
class_namer   saveplugin)r   secrets     r   _init_secretzCmfForm._init_secret!   s<     !!tytdg!VVr   c                 L    t                                                      dgz   S )Nzform_fields.*)supersave_preload_fields)r   	__class__s    r   r/   zCmfForm.save_preload_fields)   s!    ww**,,/@@@r   c                     | j         r|                                   t                      j        |i |}|                                  |S )N)is_newr,   r.   r)   r    )r   argskwargsresr0   s       r   r)   zCmfForm.save,   sN    ; 	 egglD+F++
r   Nc                 d    |dk    r|sg }|g dg}dg} t                      j        |f||d|S )Nparent)zstatus.status_typez!=CLOSEDCmfPipeline)filtermodels_list)r.   field_options_list)clsrelation_field_namer:   r;   r4   r0   s        r   r<   zCmfForm.field_options_list4   s\    (** DDDEF(/K)uww)*=pfZeppiopppr    )NN)__name__
__module____qualname___optionsjinja2FileSystemLoaderr   r   joinr	   r
   _loaderEnvironmentr   r   r   r    r,   r/   r)   classmethodr<   __classcell__)r0   s   @r   r   r      s       H%%rw||F4FH_'`'`&abbG HX##//h//J	 	 	4 4 4    A A A A A     q q q q q [q q q q qr   r   N)cmf.includecmfr   r%   	CmfEntityr   r?   r   r   <module>rN      sf             5q 5q 5q 5q 5qcj" 5q 5q 5q 5q 5qr   