o
    I@h                     @   s\   d dl mZ d dlmZ d dlmZmZmZmZ d dl	m
Z
 d dlmZ G dd deZdS )	    )time)	FlaskForm)StringFieldPasswordField	TimeFieldSubmitField)ValidationError)PlanfixTokenc                       st   e Zd ZedZedZeddedddZ	e
dZe
d	Ze
d
ZddedB f fddZdd Zdd Z  ZS )PlanfixSettingsFormz	API-loginz	API-tokenu   Час запускуz%H:%M   r   )formatdefaultu   Зберегтиu   Тест підключенняu   Запустити заразNobjc                    s   t  j|i | || _|rddi| j_|rG|  sI|j| j_z|j	 ^}}}t
t|t|| j_W dS  tyF   t
dd| j_Y dS w dS dS )uE  
        • При GET-запросе (когда formdata пустой) заполняем форму значениями из БД.
        • При POST-запросе ничего не трогаем – WTForms уже проставил данные,
          введённые пользователем.
        placeholderu   збереженоr   N)super__init__	_existing	api_token	render_kwis_submitted	api_logindata	cron_exprsplitr   intrun_time
ValueError)selfr   argskwargsmh_	__class__ /var/www/html/app/forms.pyr      s   
zPlanfixSettingsForm.__init__c                 C   (   | j jr|js| jstdd S d S d S )Nu"   API-login обовʼязковийsubmit_saver   r   r   r   fldr%   r%   r&   validate_api_login+      z&PlanfixSettingsForm.validate_api_loginc                 C   r'   )Nu"   API-token обовʼязковийr(   r*   r%   r%   r&   validate_api_token/   r-   z&PlanfixSettingsForm.validate_api_token)N)__name__
__module____qualname__r   r   r   r   r   r   r   r   r)   submit_test
submit_runr	   r   r,   r.   __classcell__r%   r%   r#   r&   r
      s    r
   N)datetimer   	flask_wtfr   wtformsr   r   r   r   Zwtforms.validatorsr   app.models.planfix_modelsr	   r
   r%   r%   r%   r&   <module>   s    