U
    Gd9                     @   s*  d dl mZ d dlZd dl mZ d dlmZ d dlmZmZm	Z	m
Z
 d dlZd dlZd dlmZ d dlmZ d dlmZ d d	lmZ e	 Zg Zg Zg Zg Zg Zg Zg Zg Zg Zg Zg Zg Z g Z!d
d Z"dd Z#dd Z$dd Z%dd Z&dd Z'dd Z(dd Z)dd Z*dd Z+dd Z,d d! Z-d"d# Z.dS )$    )renderN)redirect)messages)authenticateloginget_user_modellogout)JsonResponse)HttpResponse)get_article_data)get_machine_datac           $   	   C   sF  | j dkr<| jd}| jd}||d}ddi}t }d|d< d	|d
< d|d< | j dkrb|S tjd||d}|jdkr0| }|d }g }g }g }	g }
|d }tt	|D ]T}|| d }|dkr|
| n&|dkr|	
| n|dkr|

| |
| q|| jd< || jd< |	| jd< |
| jd< g }|d }tt	|D ]}|| d }|
| qHg }g }g }g }tt	|D ]\}|| d }|dkr|
| n*|dkr|
| n|dkr|
| |
| q|| jd< || jd< || jd < || jd!< || jd"< g }g }g }g }g }g }|d# }tt	|D ]r}|| d }|dkrd|
| n@|dkrz|
| n*|dkr|
| n|dkr|
| |
| q>|| jd$< || jd%< || jd&< || jd'< || jd(< || jd)< |d* d+ d, }|d* d+ d- }|| jd,< || jd-< |d. d/ } t }!|!| d0 |! }"z$tjj|d1}#|#|" |#  W n* tjk
r   tjj|||"d2}#Y nX t| |# z<|d3 | jd4< |d5 | jd6< |d7 | jd< |d8 | jd#< W nB ttfk
r&   d+| jd4< d+| jd6< d+| jd< d+| jd#< Y nX td9S t| d: t| d;S )<NPOSTemailpasswordr   r   zContent-Typezapplication/json*zAccess-Control-Allow-OriginzGET, POST, OPTIONSzAccess-Control-Allow-MethodszAccess-Control-Allow-HeadersOPTIONSz2https://thingsaccess.com/rfid/index.php/Api/login/)headersjson   responsebundlesInfostate324complete_bundletotalBundleprogress_bundlefaulty_bundleZoperatorsInfoZoperator_dataZ	status_id1operator_info_datatotal_operator	active_op
present_op	absent_opmachinesInfomachine_info_statetotal_machineidle_machineactive_machinefault_machinepowerdown_machineZarticlesInfor   total_productiontoday_productionZuserInfoZpassword_hashzutf-8)username)r/   r   r   ZarticleCountarticleinfoZoperatorsCountoperators_infoZbundleCountZmachineCounthomezfailed to loginlogin/login.html)methodr   getr
   requestspoststatus_coder   rangelenappendsessionhashlibmd5updateencode	hexdigestUserobjectsset_passwordsaveDoesNotExistcreate_userr   KeyError
IndexErrorr   r   errorr   )$requestr   r   datar   r   Zdata_dashboardr   r   r   r   Zbundle_info_stateiZtotal_bundler!   Zoperator_info_stateZoperator_infor"   r#   r$   r%   jZoperator_statusr(   r)   r*   r+   r,   r'   ZtotalMachiner-   r.   hashed_passwordZ
md5_hasherZplain_passworduser rQ   +/var/www/html/myproject/core/login/views.py
login_page"   s    

































	rS   c                 C   sF   | j d}| j d}| j d}| j d}t| d||||dS )Nr0   r1   r   r&   zhome/index.html)r0   r1   r   r&   )r<   r5   r   )rK   r0   r1   r   r&   rQ   rQ   rR   r2      s
    r2   c                 C   s   | j dkr| jd}t| jd}d}|dr@|dd  }|d | }| jd| jd| jd	| jd
|| jdd}tjd|d}|jdkr|| jd< t	dS t
| d t	dS t| dS )Nr   r   phoneZ00920    
first_name	last_namer   role)r   rX   rY   r   rT   rZ   z2https://thingsaccess.com/rfid/index.php/Api/signupr   r   email_verifyzFailed to sign upsignup_pagezlogin/signup.html)r4   r   r5   str
startswithr6   r7   r8   r<   r   r   rJ   r   )rK   r   rT   Zcountry_codeZfull_phone_numberrL   r   rQ   rQ   rR   r]      s*    








r]   c           	      C   s   | j d}| jdkr| jd}| jd}| jd}| jd}|| | | }|t|d}tjd|d	}|jd
krtdS tdS t	| dd|iS )Nr   r   code1code2code3code4r   Zactivation_code7https://thingsaccess.com/rfid/index.php/Api/verifyEmailr[   r   rS   r\   zlogin/verifyemail.html
r<   r5   r4   r   intr6   r7   r8   r   r   	rK   r   r`   ra   rb   rc   combinerL   r   rQ   rQ   rR   r\      s    

r\   c                 C   sR   | j dkrNt| j}d|di}tjd|d}| }|d }td|iS d S )Nr   r   ;https://thingsaccess.com/rfid/index.php/Api/verifyEmailOnlyr[   r   resend_code)r4   r   loadsbodyr5   r6   r7   r	   )rK   	data_jsonrL   r   	data_sendrk   rQ   rQ   rR   resend   s    
 rp   c                 C   sR   | j dkrH| jd}d|i}tjd|d}|jdkrH|| jd< tdS t| dS )Nr   r   rj   r[   r   forget_password_verifyzlogin/forgetpass.html)	r4   r   r5   r6   r7   r8   r<   r   r   )rK   r   rL   r   rQ   rQ   rR   forget  s    


rr   c           	      C   s   | j d}| jdkr| jd}| jd}| jd}| jd}|| | | }|t|d}tjd|d	}|jd
kr|| j d< tdS tdS t	| dd|iS )Nr   r   r`   ra   rb   rc   rd   re   r[   r   change_passwordrq   zlogin/forgetpass_verify.htmlrf   rh   rQ   rQ   rR   rq     s     


rq   c                 C   sn   | j d}| jdkrd| jd}| jd}||krd|t|d}tjd|d}|jdkrdtd	S t	| d
S )Nr   r   r   zretype-passwordr   z:https://thingsaccess.com/rfid/index.php/Api/setNewPasswordr[   r   rS   zlogin/changepassword.html)
r<   r5   r4   r   r^   r6   r7   r8   r   r   )rK   r   r   Zretype_passwordrL   r   rQ   rQ   rR   rs   &  s    

rs   c                 C   s   t |  t| dS )Nr3   )r   r   )rK   rQ   rQ   rR   logout_page7  s    rt   c           
   	   C   sv   | j dg }| j dg }| j dg }| j dg }t|}t|}t|}t|}t }	t| d|||||	dS )Nr   r   r   r   zhome/bundle_details.html)completetotalprogressfaultydata_artcile)r<   r5   r:   r   r   )
rK   Zcomplete_arrayZtotal_arrayZprogress_arrayZfaulty_arrayru   rv   rw   rx   ry   rQ   rQ   rR   bundle_details;  s    rz   c           	   
   C   s   | j dg }| j dg }| j dg }| j dg }| j dg }t|}t|}t|}t|}t| d||||t|dS )Nr"   r#   r$   r%   r!   zhome/operator_details.html)rv   r#   presentabsentr!   r<   r5   r:   r   r   dumps)	rK   r"   r#   r$   r%   r!   rv   r{   r|   rQ   rQ   rR   operator_detailsI  s    r   c                 C   s   | j dg }| j dg }| j dg }| j dg }| j dg }| j dg }t|}t|}t|}	t|}
t|}t| d|||	|
|t|dS )	Nr(   r)   r*   r+   r,   r'   zhome/machine_details.html)rv   idleactivefault	powerdownr'   r}   )rK   r(   r)   r*   r+   r,   r'   rv   r   r   r   r   rQ   rQ   rR   machine_detailsU  s    r   c                 C   sN   | j d}| j dg }| j dg }t }t|d t| d||||dS )Nr0   r-   r.   Zartcileinfozhome/article_details.html)total_articler-   r.   ry   )r<   r5   r   printr   )rK   r   r-   r.   ry   rQ   rQ   rR   article_detailsc  s    
r   )/django.shortcutsr   r6   r   django.contribr   django.contrib.authr   r   r   r   r   r=   django.httpr	   r
   articles.viewsr   machine.viewsr   rB   r   r   r   r   r"   r#   r$   r%   r(   r)   r*   r+   r,   rS   r2   r]   r\   rp   rr   rq   rs   rt   rz   r   r   r   rQ   rQ   rQ   rR   <module>   sL    	