o
    gl                     @   sD   d dl Z d dlmZmZ dd Zdd Zdd Zd	d
 Zdd ZdS )    N)LinksSiteSettingsc              
   C   s   i }t j  }|jrBz| jd}d}|j|d}tj	||ddd}|
 }W |S  tyA } zddi}W Y d }~|S d }~ww d|d< |S )	Nzg-recaptcha-responsez/https://www.google.com/recaptcha/api/siteverify)secretresponseF   )dataverifytimeoutsuccessT)r   objectsalllastuse_recaptchaPOSTgetrecaptcha_secret_keyrequestspostjson	Exception)requestresultsettsrecaptcha_responseurlvaluesre r   +/var/www/Entralon-Web-Backend/user/utils.pycheck_robot   s&   
r    c                 C   s$   |dv r| j S |dr| jS | j S )N)z/master/login/z/master/login/submit/z/master)main_theme_address
startswithmaster_theme_address)r   pathr   r   r   	get_theme   s
   
r%   c                 C   s(   | j j}z	tjj|djW S    Y dS )Nviews )resolver_match	view_namer   r   r   name)r   r+   r   r   r   get_page_name#   s   r,   c                 C   s^  | j }| jj}g }ttjj|djd djddd}|	dr|j
 }r|j D ]8}d}d}	d}
d }d }d }i }|jd u sQ|jre|d|jj reg }|j D ]}i }|jd u sp|jr)|d|jj r)g }|j D ]P}i }|jd u s|jr|d|jj r|j}||k}
|
s|j|v rd}
|
rd}	|j|d	< |j|d
< |j|d< |j|d< |j|d< ||d< |
|d< || qw|j}t|dks|jd u s|jr)|d|jj r)|	p||k}
|
s|j|v rd}
|
rd}|j|d	< |j|d
< |j|d< |j|d< |j|d< ||d< |
|d< t|dkr$||d< || qXt|dkre|j}|p:||k}
|j|d	< |j|d
< |j|d< |j|d< |j|d< ||d< |
|d< ||d< || q,t|dkrtdd |D sd|d d< d|d d d d< t|d d d dkrd|d d d v rd|d d d d d d< |S )Nr&   )related_linkr-   T)flatmaster_Fzauth.idr+   name_enlinkiconr'   activer   sub_menuc                 s   s    | ]}|d  V  qdS )r4   Nr   ).0itemr   r   r   	<genexpr>m   s    zget_menu.<locals>.<genexpr>)userr)   r*   listr   r   filterexcludevalues_listr"   master_menulinksr   
permissionhas_permcodename	sub_linksr'   r0   r+   r1   r2   r3   appendlenany)r   settingr9   r*   r?   link_relatedmenur2   	s1_active	s2_activer4   v1v2v3l1m2s1_linkl2m3s2_linkl3r   r   r   get_menu(   s   $(($






4












"0rV   c                 C   sL   | j }| j}tj  }|d ur$t| |}t||}||_||_	d|_
|S )Nr(   )r9   	path_infor   r   r   r   rV   r%   
theme_name
theme_menu	page_name)r   r9   r$   r   rI   themer   r   r   get_settingsu   s   

r\   )	r   main.modelsr   r   r    r%   r,   rV   r\   r   r   r   r   <module>   s   M