
    @i                     X    d dl  d dlmZ  G d dej                  j                        Zy)    )*)fieldsc                        e Zd Zi Zej                  ej                  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                  j	                  |      st        j                  |       |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   s:    
 **++@A
ww~~j)KK
#    c                 @    | j                          | j                   dS )Nz.html)r   id)r   s    r   static_filenamezCmfForm.static_filename   s    //#$TWWIU33r   c                     | j                         }t        |d      5 }| j                  j                  d      }|j	                  |j                  |              d d d        |S # 1 sw Y   |S xY w)Nzw+zwebform.html)form)r   open
_jinja_envget_templatewriterender)r   filenameftemplates       r   	dump_htmlzCmfForm.dump_html   se    '')(D! 	0Q33NCHGGHOOO./	0 	0 s   =A$$A.c                     t         j                  | j                  | j                  | j                        }|j                          || _        y)u3   
        Дает доступ из вне
        )nametypetokenN)models	CmfPlugincode
class_namer   saveplugin)r   secrets     r   _init_secretzCmfForm._init_secret!   s7     !!tyytdgg!Vr   c                 *    t         |          g dz   S )N)zform_fields.*
title_text
custom_csssubmit_text)supersave_preload_fields)r   	__class__s    r   r2   zCmfForm.save_preload_fields)   s    w*,/lllr   c                 ~    | j                   r| j                          t        |   |i |}| j	                          |S )N)is_newr,   r1   r)   r    )r   argskwargsresr3   s       r   r)   zCmfForm.save,   s8    ;;glD+F+
r   c                 N    |dk(  r|sg }|g dg}dg}t        |   |f||d|S )Nparent)zstatus.status_typez!=CLOSEDCmfPipeline)filtermodels_list)r1   field_options_list)clsrelation_field_namer=   r>   r7   r3   s        r   r?   zCmfForm.field_options_list4   sD    (*DEF(/Kw)*=pfZepioppr    )NN)__name__
__module____qualname___optionsjinja2FileSystemLoaderr   r   joinr	   r
   _loaderEnvironmentr   r   r   r    r,   r2   r)   classmethodr?   __classcell__)r3   s   @r   r   r      s    H%%rww||F4F4FH_'`&abG HX###/h/J	4m q qr   r   N)cmf.includecmfr   r%   	CmfEntityr   rB   r   r   <module>rQ      s#     5qcjj"" 5qr   