U
    z}c                     @   s>   d dl Z d dlmZ d dlT d dlmZ G dd dejZdS )    N)fields)*)cmf_global_settingsc                       sF   e Zd ZdZ fddZeeedddZeeddd	Z	  Z
S )
CmfGlobalSettingsuF   
    Глобальные настройки приложения
    c                    s$   | j jr| j rtd t j||S )Nu   Контроль работы включен. Система будет предупреждать и блокировать работу через 1 час в случае просроченных задачах.)Zstaff_control_enabledZ
is_changed	cmf_alertsupersave)selfargskwargs	__class__ 0./modules/settings/models/cmf_global_settings.pyr      s    zCmfGlobalSettings.save)namecontentc              	   O   s   t jjstd d S tjtjd}| dkr<tjtjd}t	j
|sRt	| tj|| }t|d }|t|dd  W 5 Q R X d S )NR   Только администратор может менять настройкиcustom/static/app/assets/imageszfavicon_e.pngzfavicon_notify_e.pngcustom/static/app/assetszwb+,   )gcurrent_personis_adminr   flaskhelpers	safe_joinconfigPROJECT_DIRospathexistsmakedirsopenwritebase64Z	b64decodesplit)r   r   r
   r   	file_pathfr   r   r   change_page_settings   s    
z&CmfGlobalSettings.change_page_settings)namesc                 C   sd   t jjstd d S | D ]F}tjtjd|}|dkrHtjtjd|}t	j
|rt	| qd S )Nr   r   r   r   )r   r   r   r   r   r   r   r   r   r    r!   r"   remove)r+   r   r(   r   r   r   reset_page_settings!   s    z%CmfGlobalSettings.reset_page_settings)__name__
__module____qualname____doc__r   staticmethodstrr*   listr-   __classcell__r   r   r   r   r      s   r   )r&   Zcmfr   Zcmf.includeZmodules.settings.fieldsr   r   r   r   r   r   <module>   s   