U
    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}t	j
|s:t	| tj|| }t|d }|t|dd  W 5 Q R X d S )NR   Только администратор может менять настройкиcustom/static/app/assets/imagesz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   sJ   t jjstd d S | D ],}t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    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   