U
    +f
                     @   s.   d dl T d dlmZ G dd dejjeZdS )    )*)ResponseMixinc                   @   s`   e Zd ZdZejjdd Zejjdd Zejjdd Z	ejjdd	 Z
ejjd
d ZdS )TwoFactorViewz/two-factorc                 C   sR   t jddddddg t jjjr6t jjjr6t jjjsHt jj}| dS | dS )	Ntwo_factor.phone_verifiedtwo_factor.email_verifiedtwo_factor.application_verifiedtwo_factor.applicationtwo_factor.phonetwo_factor.emailztwo_factor_settings.htmlztwo_factor.html)gcurrent_personload_fields
two_factorphone_verifiedemail_verifiedapplication_verifiedZrender)selfr    r   "./modules/auth/views/two_factor.pyget   s    
  

zTwoFactorView.getc                 C   s,   t j  t jr| dt jS | dt jS )Nfailok)r   sessionZtfa_send_codeZalert_error_okauthr   r   r   r   	send_code   s    
zTwoFactorView.send_codec                 C   s<   t jtjd tjdr*| dt jS | dt jS d S )Ncodemethodr   r   )r   r   Ztfa_check_coderequestjsonr   r   r   r   r   r   r   
check_code   s    zTwoFactorView.check_codec                 C   s   t jddddddg t jjjs6t jjjs6t jjjrB| ddS tj	
d	r`tj	
d	t jj_tj	
d
r~tj	
d
t jj_tj	
drtj	
dt jj_t jj  | dt jS )Nr   r   r   r   r	   r
   r   uK   Двухфакторная авторизация уже настроенаphoneemailapplicationr   )r   r   r   r   r   r   r   r   r    r!   r   r#   r$   r%   Zsaver   r   r   r   r   r   
update_2fa#   s     
  zTwoFactorView.update_2fac                 C   s2   t jddg t jjjr&| ddS t jj S )Nr   r   r   u0   Приложение уже подключено)r   r   r   r   r   r   Ztopt_qrcoder   r   r   r   
qrcode_2fa3   s    
zTwoFactorView.qrcode_2faN)__name__
__module____qualname__Z__url__cmfviewsactionr   r   r"   r&   r'   r   r   r   r   r      s   



r   N)Zcmf.includeZmodules.auth.views.responser   r+   r,   ZBaseViewr   r   r   r   r   <module>   s   