U
    {ydC                     @   sR   d dl Z d dlZd dlT d dlmZ d dlmZ d dlmZ G dd dej	Z	dS )    N)*)fields)cmf_plugin_smsgate)quotec                       sJ   e Zd Zedd Zdd Z fddZdd fd	d

Zdd Z  Z	S )CmfPluginSMSGatec                 C   s   | j ddgdS )NTplugin.ext_url)systemr   )get)cls r   %./common/models/cmf_plugin_smsgate.pyget_local_smsgate   s    z"CmfPluginSMSGate.get_local_smsgatec                 C   s    | j r
d S tj| jdd| _ d S )NZsmsgate)nametype)pluginZmodelsZ	CmfPluginr   selfr   r   r   _process_plugin   s    z CmfPluginSMSGate._process_pluginc                    s   t   dg S )Nr   )supersave_preload_fieldsr   	__class__r   r   r      s    z$CmfPluginSMSGate.save_preload_fieldsr   )depthc                   s   |    t j|d|i|S )Nr   )r   r   save)r   r   argskwargsr   r   r   r      s    zCmfPluginSMSGate.savec              
   O   s   t d| d|  tjs:ttdd dkr:t d d S | dg t|dkrdt d| d	 | jjj	j
t|t|d
}ztj|dd}|  W nT tjjk
r } z2td| d| d td| d W Y dS d }~X Y nX dS )Nu   Отправка sms: phone=z
, message=ZAPP_FQDNzbcrm.carbonsoft.ruuZ   Отправка sms отменена, т.к. сервер не в production-режимеr   F   ur   Предупреждение отправки SMS. Длина текста SMS больше 70 символов: ``)phonetext   )timeoutzCmfPluginSMSGate.send_message(z, )u9   Ошибка отправки SMS уведомления .FT)gdebugZconfigZ
PRODUCTIONgetattrZload_fieldslenr   Zext_urlvalueformatr   requestsr	   Zraise_for_status
exceptionsZRequestExceptionloggingZ	exceptionZ	cmf_alert)r   r   messager   r   Zget_urlreser   r   r   send_message   s&    

 zCmfPluginSMSGate.send_message)
__name__
__module____qualname__classmethodr   r   r   r   r0   __classcell__r   r   r   r   r      s   
r   )
r,   r*   Zcmf.includeZcmfr   Zcommon.fieldsr   Zurllib.parser   r   r   r   r   r   <module>   s   