
    1*)iF                     J    d dl T d dlmZ  G d dej        j                  ZdS )    )*)fieldsc                        e Zd Zdej        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 )CmfForm
autoescapez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                 N    t                                                      g dz   S )N)zform_fields.*
title_text
custom_csssubmit_text)supersave_preload_fields)r   	__class__s    r   r3   zCmfForm.save_preload_fields*   s%    ww**,,/l/l/lllr   c                     | j         r|                                   t                      j        |i |}|                                  |S )N)is_newr-   r2   r*   r!   )r   argskwargsresr4   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)r2   field_options_list)clsrelation_field_namer>   r?   r8   r4   s        r   r@   zCmfForm.field_options_list5   s\    (** DDDEF(/K)uww)*=pfZeppiopppr    )NN)__name__
__module____qualname__APPselect_jinja_autoescape_optionsjinja2FileSystemLoaderr   r   joinr
   r   _loaderEnvironmentr   r   r   r!   r-   r3   r*   classmethodr@   __classcell__)r4   s   @r   r   r      s       c9:H%%rw||F4FH_'`'`&abbG HX##//h//J	 	 	4 4 4    m m m m m     q q q q q [q q q q qr   r   N)cmf.includecmfr   r&   	CmfEntityr   rC   r   r   <module>rT      sf             6q 6q 6q 6q 6qcj" 6q 6q 6q 6q 6qr   