
    i-                     0    d dl  d dlmZ  G d de      Zy)    )*)CmfDatasourceFieldQueryc                   P    e Zd Zej                  dgz   Zd Zd Zd Zedd       Z	y)r   sql_query_previewc                 v    | j                  ddg       | j                  j                  | j                        }|S )N
datasourceoption_list_sql_text)load_fieldsr   sql_executer	   selfresults     9./modules/datasource/models/cmf_datasource_field_query.pyr   z#CmfDatasourceFieldQuery.sql_execute
   s5    ,(>?@,,T-F-FG    c                 "   ddl m} | j                  ddg        || j                  j                        } || j
                  j                        }g }|D ]6  }|j                  |j                  |      |j                  |      d       8 |S )Nr   )Templateoption_list_code_templateoption_list_name_template)row)codename)jinja2r   r
   r   valuer   appendrender)r   rowsr   code_templatename_templater   r   s          r   render_optionsz&CmfDatasourceFieldQuery.render_options   s    #57RST !?!?!E!EF !?!?!E!EF 	CMM%,,,5%,,,5 	 r   c                 R    | j                         }|r| j                  |d         }|S )Ndata)r   r   r   s     r   get_ext_options_listz,CmfDatasourceFieldQuery.get_ext_options_list    s,    !!#((8Fr   Nc                     d }| rBt         j                  j                  |      }t         j                  j                  || |      }|S )N)id)params)modelsCmfPluginDatasourcegetr   )sql_textdatasource_idr%   r   r   s        r   r   z)CmfDatasourceFieldQuery.sql_query_preview&   sF    3377=7IJ//;;JY_;`Fr   )NNN)
__name__
__module____qualname__r   api_methodsr   r   r"   staticmethodr    r   r   r   r      s=    )559 K
"  r   r   N)cmf.include4modules.datasource.fields.cmf_datasource_field_queryr   r0   r   r   <module>r3      s     X(5 (r   