B
    bEfU                 @   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 )NTz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_fields)r   )	__class__r
   r   r      s    z$CmfPluginSMSGate.save_preload_fieldsr   )depthc               s   |    t j|d|i|S )Nr   )r   r   save)r   r   argskwargs)r   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
}yt j|dd}|  W nN tjjk
r } z,td| d| d td| d dS d }~X Y nX dS )Nu   Отправка sms: phone=z
, message=ZAPP_FQDNzbcrm.carbonsoft.ruuZ   Отправка sms отменена, т.к. сервер не в production-режимеzplugin.ext_urlF   ur   Предупреждение отправки SMS. Длина текста SMS больше 70 символов: ``)phonetext   )ZtimeoutzCmfPluginSMSGate.send_message(z, )u9   Ошибка отправки SMS уведомления .FT)gdebugZconfigZ
PRODUCTIONgetattrZload_fieldslenr   Zext_urlvalueformatr   ZcmfutilZrequests_sessionr   Zraise_for_statusrequests
exceptionsZRequestExceptionloggingZ	exceptionZ	cmf_alert)r   r   messager   r   Zget_urlZreser
   r
   r   send_message   s"    

zCmfPluginSMSGate.send_message)
__name__
__module____qualname__classmethodr   r   r   r   r+   __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   