B
    Gc                 @   s   d dl mZ d dlmZ d dlmZ d dlmZ d dl	m
Z
 d dlZd dlmZ d dlmZ G d	d
 d
ee
ZejfddZejfddZejfddZdS )    )	exception)models)gettext_lazy)	BaseModel)AbstractCloudN)settings)cachec               @   sH   e Zd ZejedddZeedZG dd dZ	G dd dZ
d	S )
SystemSettingZsystemSetting_field_name   )Z
max_lengthZsystemSetting_field_valuec               @   s   e Zd ZdZedZeZdS )zSystemSetting.MetabaseZbase_model_systemSettingN)__name__
__module____qualname__Z	app_label_Zverbose_nameZverbose_name_plural r   r   7G:\easytimepro\master/mysite/base\models\sys_setting.pyMeta   s   r   c               @   s   e Zd Zedd ZdS )zSystemSetting.Adminc              C   s   t jjdd} | s&t dddjdd t jjdd}|sPt ddd}|jdd t jjd	d} | stjd
 }tj|rt	|d}|
 }|  t d	|djdd d S )NZ
db_version)nameZ100000)r   valueT)force_insertzklicense_emailaD  {"smtp_server": "smtp.office365.com", "smtp_server_port": 587, "enable_ssl": false,                         "enable_tls": true, "email_account": "intelligenttime@zkteco.in",                          "email_password": "5b1dec9f4922f350cd92ec0dc3a712e3",                           "email_address": "intelligenttime@zkteco.in"}Zinstall_datez_sys.datr)r	   objectsfiltersaver   ZADDITION_FILE_ROOTospathexistsopenreadclose)Zobjsr   fnfZauth_code_resultr   r   r   initial_data   s"    

z SystemSetting.Admin.initial_dataN)r   r   r   staticmethodr#   r   r   r   r   Admin   s   r%   N)r   r   r   r   Z	CharFieldr   r   Z	TextFieldr   r   r%   r   r   r   r   r	      s   r	   c             C   s   | sdS dt j| t|f }t|d}|r0|S |dk	r<dS tjj| |d }d}|rd|j	rd|j	}yt
|}W n   |}Y nX t||d |r|S dS )z
    Depracated

    get param from SystemSetting

    :param p_name: Parameter Name
    :param companyId: Parameter Company id 
    :return: value
    Nz%s_%s_%s)r   
company_idz{}iQ )r   UNITstrr   getr	   r   r   firstr   Zjsonloadsset)Zsetting_namer&   Z	cache_keyZsys_settingobjZ
db_settingr   r   r   get_setting_value5   s(    


r.   c          
   C   s   yFt jj| |d }|r.||_|jdd nt | ||djdd W n" tk
rh } zW dd}~X Y nX tdt	j
|| f | dS )za set param

    :param p_name: 
    :param p_value:
    :param companyId: 
    :return: None
    )r   r&   T)Zforce_update)r   r   r&   )r   Nz%s_%s_%s)r	   r   r   r*   r   r   	Exceptionr   r,   r   r'   )p_nameZp_value
commpanyIdZfound_paramer   r   r   set_setting_value[   s    
r3   c             C   s   t dtj|| f  d S )Nz%s_%s_%s)r   deleter   r'   )r0   r1   r   r   r   del_setting_valueu   s    r5   )Zloggingr   Z	django.dbr   Zdjango.utils.translationr   r   Zmysite.admin.modelsr   Z!mysite.admin.abstract_cloud_modelr   r   Zdjango.confr   Zdjango.core.cacher   r	   ZDEFAULT_COMPANY_IDr.   r3   r5   r   r   r   r   <module>   s   &&