U
    c                     @   s6   d dl mZ d dlT d dlmZ G dd dejZdS )    )
cmf_plugin)*)fieldsc                       sH   e Zd Zedd Zdd Zddddd fd	d

Z fddZ  ZS )	CmfPluginc                 C   s   t js
d S tjdr(tjdd }ntj}dg}t jD ]T}dd|gddddgdd|ggg}t j| D ]}||dtj| g qh|| q:t	d|  t
jj|d	}|S )
NzX-Forwarded-Forr   ORtypez==ext_ipz	0.0.0.0/0u   Ищем секрет )filter)ZconfigZPUB_ACCEPT_TYPESZrequestZheadersZgetlistZremote_addrappendargsgdebugZmodelsr   get)clsr   Z_filter	type_nameZ
sub_filterkeyZplugin r   ./models/cmf_plugin.pycheck_secret   s    
 zCmfPlugin.check_secretc                 C   s   | j r
d S | j| _ d S )N)nameext_urlselfr   r   r   
_calc_name   s    zCmfPlugin._calc_namer   TNdepthnotifyemitorderno_filterc                   s8   |    | jr| jj | _t j|||||d|S )Nr   )r   Z	ext_loginvaluestripsupersave)r   r   r   r   r   r   kwargs	__class__r   r   r"   #   s    zCmfPlugin.savec                    s   t   dg S )Nr   )r!   save_preload_fieldsr   r$   r   r   r&   )   s    zCmfPlugin.save_preload_fields)	__name__
__module____qualname__classmethodr   r   r"   r&   __classcell__r   r   r$   r   r      s
   
r   N)Z
cmf.fieldsr   Zcmf.includeZcmfr   r   r   r   r   r   <module>   s   