
    adeS                     <   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 d d
lmZ d dlZd dl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 Z&d Z'd Z(d Z)d Z*d Z+d Z,d Z-d Z.d Z/d Z0d Z1d Z2dS )    )renderN)redirect)messages)authenticateloginget_user_modellogout)JsonResponse)HttpResponse)get_article_data)get_machine_data)get_operator_datac                 ~   | j         dk    r"| j                            d          }| j                            d          }d}d}t          |d          5 }t	          j        |                                                              d          }d d d            n# 1 swxY w Y   || j        d<   |dk    rt          j
        | d	           nb|dk    rt          j
        | d
           nE||d}ddi}t          j        d||          }|j        dk    r\|                                }|d         }	g }
g }g }g }g }|	d         }t          t!          |                    D ]%}||         d         }|                    |           &g }g }g }g }|| j        d<   t          t!          |                    D ]x}||         d         }|dk    r|                    |           n7|dk    r|                    |           n|dk    r|                    |           |                    |           y|| j        d<   || j        d<   || j        d<   t%          |          | j        d<   g }g }g }g }g }g }|	d         d         }t'          j                    }|                    |                    d                     |                                } g }!	 t0          j                            |          }"|"                    |            |"                                 n7# t0          j        $ r% t0          j                            |||            }"Y nw xY wt=          | |"           	 |	d!         | j        d"<   |	d#         d$         d%n|	d#         d$         | j        d&<   |	d#         d'         d%n|	d#         d'         | j        d(<   |	d#         d)         d%n|	d#         d)         | j        d*<   |	d#         d+         d%n|	d#         d+         | j        d,<   |	d#         d+         d%n|	d#         d+         | j        d-<   || j        d.<   || j        d/<   || j        d0<   || j        d1<   || j        d2<   || j        d3<   |	d4         | j        d4<   t?          |	d4                    |	d         | j        d<   t          t!          |	d                             D ]G}|	d         |         d         d         dk    r'|!                    |	d         |         d                    H|!| j        d5<   t?          |!           |	d6         | j        d6<   |	d7         d8         |	d7         d9         z
  }#|	d7         d8         | j        d:<   |	d7         d9         | j        d;<   |	d7         d<         | j        d=<   |	d>         | j        d?<   |	d@         | j        dA<   |	d>         |	d@         z  dBz  }$tA          |$          | j        dC<   |	dD         d%n|	dD         | j        dE<   |	dF         | j        dG<   |	dD         r4|	dF         ,|	dD         |	dF         z  dBz  }%tA          |%          | j        dH<   n
d%| j        dH<   |	dI         | j        dJ<   |	dK         | j        dK<   |	dL         | j        dL<   g }&|&| j        dM<   n# tB          tD          f$ r d%| j        dN<   d%| j        d"<   d%| j        dO<   d%| j        d#<   g | j        d6<   d%| j        d;<   d%| j        d:<   d%| j        dP<   d%| j        dQ<   d%| j        d?<   d%| j        dA<   d%| j        dE<   d%| j        dG<   g | j        dM<   g | j        d4<   i | j        dK<   g | j        dL<   tF          j$        j%        | j        dR<   Y nw xY wtM          dS          S |                                }|d         }'|'dTk    rt          j
        | dU           n|'dVk    rt          j
        | dW           ni|'dXk    rt          j
        | dY           nM|'dZk    rt          j
        | d[           n1|'d\k    rt          j
        | d]           nt          j
        | d]           tO          | d^          S )_NPOSTemailpassword zZC:\Users\Lenovo\Downloads\rfid_django_1\rfid_django_1\core\static\img\thingzxcess-logo.pngrbzutf-8entered_emailzPlease enter emailzPlease enter passwordr   r   zContent-Typezapplication/jsonz2https://thingsaccess.com/rfid/index.php/Api/login/)headersjson   responseoperatorsInfooperator_dataoperator_info_data	status_id123total_operator	active_op
present_opimg_baseuserInfopassword_hash)username)r(   r   r   articlesInfoarticleinfobundlesInfo	completedr   complete_bundletotaltotalBundle
inProgressprogress_bundlequalityErrorfaulty_bundlefaulty_bundle1machine_info_statetotal_machineidle_machineactive_machinefault_machinepowerdown_machinefailedBundlesWRTarticles	absent_opmachinesInfoarticlesStatesCounttotalArticlesinProgressArticlestotal_article_countactive_article_countcompletedArticlescompleted_articleactiveOperatorsactive_operators_countoperatorsTotalCounttotal_operators_countd   operator_percentactiveMachinesactive_machine_countmachineTotalCounttotal_machine_countmachine_percentcompletedAndIncompletedBundlesbundleGraphDataactiveOperatorsCountMonthlycompletedBundlesWRTarticlesoperatorActiveInactiveTimearticle_percentoperators_infoactive_bundle_counttotal_bundle_count
today_datehomeizIncorrect passwordizUser account blockedizEmail not verifiedizEmail not foundizMissing informationlogin/login.html)(methodr   getopenbase64	b64encodereaddecodesessionr   errorrequestspoststatus_coder   rangelenappendstrhashlibmd5updateencode	hexdigestUserobjectsset_passwordsaveDoesNotExistcreate_userr   printroundKeyError
IndexErrordatetimedatetodayr   r   )(requestr   r   
image_data
image_path
image_filedatar   r   data_dashboardr-   r/   r1   r3   r   operator_info_stateioperator_infor"   r#   r$   r<   joperator_statusr6   r7   r8   r9   r:   r5   hashed_password
md5_hasherplain_password
op_abesentusercompleted_articlesrJ   rO   	dataArrayrd   s(                                           IC:\Users\Lenovo\Downloads\rfid_django_1\rfid_django_1\core\login\views.py
login_pager   %   s4
   ~  ))<##J//
s
:t$$ 	M
)*//*;*;<<CCGLLJ	M 	M 	M 	M 	M 	M 	M 	M 	M 	M 	M 	M 	M 	M 	M
 ,1(B;;^G$89999^^N7#:;;;;!x884$&897m$Xbiptuuu8"c))==??D!*-N OK OM "$"0"A323344 ; ;"5a"8"I-$++M::::NIJI4FGO01 312233 7 7"4Q"7"D"c))$$_5555$++%%o6666$++$$_555%%o6666 1?GO,-+4GOK(,6GOL)*-j//GOJ'MLNM "!# -Z8IO Jo44W==>>>'1133NJf|'''77!!.111		$ f f f|//eVd/eef
 '4   eD1?1O.:H:WXc:d:lQQ  sA  BO  sP  Q\  s] 126D]6ST[6\6eky  {H  lI  JQ  lR.:H:WXd:e:mQQ  tB  CP  tQ  R^  t_ 128F}8UVd8e8m11  tB  CP  tQ  R`  ta09G9VWe9f9nAA  uC  DQ  uR  Sa  ub 018J 453@02>/4B 013@07H 34?MNh?i!;<n%?@AAA3A/3R0s>/#BCCDD _ _A%o6q9/J;W[^^^")).*I!*L_*]^^^/9,j!!! 3A2P/%34I%J?%[^l  nC  _D  EY  _Z  &Z"9GH]9^_n9o 56:HI^:_`t:u 677EF[7\]p7q 344 >LL]=^!9:<JK`<a!89#12C#D^TiEj#jkn#n 7<=M7N7N!34@NO_@`@h11n|  ~N  oO!78:HI\:]!67!"23 <GZ8[8g&45E&F~ViGj&jkn&nO:?:P:PGO%677:;GO%676DEe6f!23BPQnBo!>?BPQnBo!>? 	AJ!=>>j) D D D67!2312.45 0112.24/;<!78:;!67:;!679:!56=>!9:<=!89;<!78:;!67AC!=>?A!;<BD!>?BD!>?080C---)D, F###==??D$E}})=>>>>#w'=>>>>#w';<<<<$w'89999#w'<====w'<=== '-...s9   :BB"BA	L 1MM L(Z	 	C] ] c           	          | j                             d          }| j                             d          }| j                             d          }| j                             d          }t          | d||||d          S )Nr*   rV   r+   r=   zhome/index.html)r*   rV   r+   r=   )rc   r]   r   )r~   r*   rV   r+   r=   s        r   rZ   rZ     s    /%%m44K_(()9::N/%%m44K?&&~66L',k]k  }H  Zf  /g  /g  h  h  h    c                    | j         dk    rI| j                            d          }t          | j                            d                    }d}|                    d          r
|dd          }|dz   |z   }| j                            d          | j                            d          | j                            d	          | j                            d
          || j                            d          d}t          j        d|          }|j        dk    r|| j        d<   t          d          S t          j        | d           t          d          S t          | d          S )Nr   r   phone00920    
first_name	last_namer   role)r   r   r   r   r   r   z2https://thingsaccess.com/rfid/index.php/Api/signupr   r   email_verifyzFailed to sign upsignup_pagezlogin/signup.html)r\   r   r]   rk   
startswithre   rf   rg   rc   r   r   rd   r   )r~   r   r   country_codefull_phone_numberr   r   s          r   r   r     s]   ~!!'**W\%%g..//S!! 
122YU)3.5	((11$\--l;;#L,,[99"<++J77)|''//  M"V]abbb C''*/ww'~... ^G%8999]+++ './//r   c                    | j                             d          }| j        dk    r| j                            d          }| j                            d          }| j                            d          }| j                            d          }||z   |z   |z   }|t	          |          d}t          j        d|	          }|j        d
k    rt          d          S t          d          S t          | dd|i          S )Nr   r   code1code2code3code4r   activation_code7https://thingsaccess.com/rfid/index.php/Api/verifyEmailr   r   r   r   zlogin/verifyemail.html
rc   r]   r\   r   intre   rf   rg   r   r   	r~   r   r   r   r   r   combiner   r   s	            r   r   r   6  s    O((E~  ))  ))  ))  ))+e#E)LL
 
 =!Zaefff3&&|,,,~...'3ge_EEEr   c                    | j         dk    rst          j        | j                  }d|                    d          i}t          j        d|          }|                                }|d         }t          d|i          S d S )Nr   r   ;https://thingsaccess.com/rfid/index.php/Api/verifyEmailOnlyr   r   resend_code)r\   r   loadsbodyr]   re   rf   r
   )r~   	data_jsonr   r   	data_sendr   s         r   resendr   L  s    ~Jw|,,	Y]]7++
 =!^eijjjMMOO	
+]K8999  r   c                     | j         dk    rX| j                            d          }d|i}t          j        d|          }|j        dk    r|| j        d<   t          d          S t          | d          S )Nr   r   r   r   r   forget_password_verifyzlogin/forgetpass.html)	r\   r   r]   re   rf   rg   rc   r   r   )r~   r   r   r   s       r   forgetr   X  s~    ~  ))=!^eijjj3&&*/ww'7888'2333r   c                    | j                             d          }| j        dk    r| j                            d          }| j                            d          }| j                            d          }| j                            d          }||z   |z   |z   }|t	          |          d}t          j        d|	          }|j        d
k    r|| j         d<   t          d          S t          d          S t          | dd|i          S )Nr   r   r   r   r   r   r   r   r   r   change_passwordr   zlogin/forgetpass_verify.htmlr   r   s	            r   r   r   c  s
   O((E~  ))  ))  ))  ))+e#E)LL
 
 =!Zaefff3&&*/ww'01117888'9GE?KKKr   c                 d   | j                             d          }| j        dk    r|| j                            d          }| j                            d          }||k    rB|t	          |          d}t          j        d|          }|j        dk    rt          d	          S t          | d
          S )Nr   r   r   zretype-passwordr   z:https://thingsaccess.com/rfid/index.php/Api/setNewPasswordr   r   r   zlogin/changepassword.html)
rc   r]   r\   r   rk   re   rf   rg   r   r   )r~   r   r   retype_passwordr   r   s         r   r   r   y  s    ##G,,>V##|''
33H%l../@AAO?** ]]  $=)elpqqq'3..#L111g:;;;r   c                 @    t          |            t          | d          S )Nr[   )r	   r   )r~   s    r   logout_pager     s    WoooG/000r   c           
      4   | j                             dg           }| j                             dg           }| j                             dg           }| j                             dg           }|}|}|}|}t                      }	t          | d|||||	d          S )Nr-   r/   r1   r4   zhome/bundle_details.html)completer.   progressfaultydata_artcile)rc   r]   r   r   )
r~   complete_arraytotal_arrayprogress_arrayfaulty_arrayr   r.   r   r   r   s
             r   bundle_detailsr     s    _(():B??N/%%mR88K_(():B??N?&&'7<<LHEHF#%%L'5(SXdlv|  MY  7Z  7Z  [  [  [r   c           
         | j                             dg           }| j                             dg           }| j                             dg           }| j                             dg           }| j                             dg           }|}|}t          |          }t          |          }t                      }	t	          d|           t          | d|||||	d          S )NrH   rF   r$   r<   r   zhome/operator_details.html)r.   r#   presentabsentr   )rc   r]   ri   r   rw   r   )
r~   r"   r#   r$   r<   r   r.   r   r   operatorDatas
             r   operator_detailsr     s    _(()@"EEN##$<bAAI$$\266J##K44I ,,-A"EEEI*ooG)nnF$&&L	
1222'7S\gnx~  Ua  9b  9b  c  c  cr   c                    | j                             dg           }| j                             dg           }| j                             dg           }| j                             dg           }| j                             dg           }| j                             dg           }| j                             dg           }g }g }	g }
g }t          |          dk    rt          t          |                    D ]}||         d	         d
k    r|                    |           ||         d	         dk    r|	                    |           ||         d	         dk    r|
                    |           ||         d	         dk    r|                    |           t          |          }t          |
          }t          |	          }	t          |          }t          |          }t          | d|||	||t          j        |          d          S )Nr6   r7   r8   r9   r:   r5   r=   r   
state_namez
Power downActiveIdleFaultzhome/machine_details.html)r.   idleactivefault	powerdownr5   )rc   r]   ri   rh   rj   r   r   dumps)r~   r6   r7   r8   r9   r:   r5   machineInfo
power_downr   IdlesFaultsr   r.   r   r   r   s                    r   machine_detailsr     s   O''<<M?&&~r::L_(()92>>NO''<<M++,?DD ,,-A2FF/%%nR88KJFEF
;s;''(( 	+ 	+A1~l+|;;!!+...1~l+x77k***1~l+v55[)))1~l+w66k***EZZD[[F[[EZI'6T[ajo  }F  \`  \f  gr  \s  \s  8t  8t  u  u  ur   c           	      
   | j                             d          }| j                             dg           }| j                             dg           }t                      }t          |d           t	          | d||||d          S )NrA   total_productiontoday_productionartcileinfozhome/article_details.html)total_articler   r   r   )rc   r]   r   rw   r   )r~   r   r   r   r   s        r   article_detailsr     s    ?&&'<==M**+=rBB**+=rBB#%%L	-&&&'6iy  N^  nz  8{  8{  |  |  |r   )3django.shortcutsr   re   r   django.contribr   django.contrib.authr   r   r   r	   r   rl   django.httpr
   r   articles.viewsr   machine.viewsr   operators.viewsr   r_   r{   rq   r-   r/   r1   r3   r"   r#   r$   r<   r6   r7   r8   r9   r:   r   rZ   r   r   r   r   r   r   r   r   r   r   r    r   r   <module>r      s   # # # # # #  % % % % % % # # # # # # J J J J J J J J J J J J   $ $ $ $ $ $ $ $ $ $ $ $ + + + + + + * * * * * * - - - - - -   ~	
	 h/ h/ h/Th h h0 0 0<F F F,	: 	: 	:	4 	4 	4L L L,< < <"1 1 1
[ 
[ 
[c c cu u u>| | | | |r   