o
    ç²QeÂ  ã                   @   s´   d dl mZmZ d dlmZmZ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mZ d d	lmZ d
d„ Ze
ddddd„ƒZedddde
dddd„ ƒƒZdS )é    )ÚrenderÚredirect)ÚauthenticateÚloginÚlogout)ÚUser)Úlogin_required)Úmessages)ÚVoterN)Úcache_control)ÚHttpResponseRedirectc                 C   sì   d}| j jr
tdƒS | jdkrl| j d¡ ¡  dd¡ ¡ }| j d¡}z	t	j
j|d}W n
   t | d	¡ Y t| ||d
}|d urft| |ƒ | j jjdkrXt | d¡ tdƒS t| ƒ t | d¡ tdƒS t | d¡ d|i}t| d|ƒS )NÚpresiding_loginÚgenerate_tokenÚPOSTÚusernameú Ú Úpassword)r   zUser does not exist)r   r   TzLogged in as Presiding OfficerzYou are not authorizedz"Username OR password does not exitÚpagezpresiding/login.html)ÚuserÚis_authenticatedr   Úmethodr   ÚgetÚlowerÚreplaceÚstripr   Úobjectsr	   Úerrorr   r   ÚuserprofileÚis_presidingÚsuccessr   r   )Úrequestr   r   r   r   Úcontext© r#   ú)/var/www/alumnievoting/presiding/views.pyr      s,   

r   )Ú	login_urlr   c                 C   s  d}| j dkrüd}d}d}t|ƒD ]}t |d¡t |d¡ }d |¡}	q| j d¡ ¡  ¡ }
| j d	¡ ¡  ¡ }| j d
¡ ¡  ¡ }| j d¡ ¡  ¡ }| j d¡ ¡  ¡ }| j d¡ ¡  ¡ }| j d¡ ¡  ¡ }| j d¡ ¡  ¡ }t	|
ƒt	|ƒ t	|ƒ t	|ƒ t	|ƒ t	|ƒ t	|ƒ t	|ƒ }| 
dd¡}| 
dd¡}| 
dd¡}| 
dd¡}tjj|drÆt | d¡ |dddœ}t| d|ƒS tjj|	drßt | d¡ ||ddœ}t| d|ƒS tjj||	dd t | d| ¡ |||	dœ}t| d|ƒS |||dœ}t| d|ƒS )NÚtokenr   Ú
CDHKPQRVXYÚ	123456789é   é   r   ÚfirstÚsecondÚthirdÚfourthÚfifthÚsixthÚseventhÚeighthú,ú(ú)ú')Úvoter_roll_numberz"Roll Number is already registered.)r   ÚrlÚuczpresiding/token.html)Úvoter_token_numberz0Token Number is not generated. Please try again.F)r7   r:   Úvoter_token_flagzToken Generated for : )r   ÚrangeÚrandomÚsampleÚjoinr   r   Úupperr   Ústrr   r
   r   Úfilterr	   r   r   Úcreater    )r!   r8   r9   r   ÚcharsÚnumsÚtotalÚiÚselectsÚunique_coder+   r,   r-   r.   r/   r0   r1   r2   Úroll_numberr"   r#   r#   r$   r   .   sN   
@ýr   T)Úno_cacheÚmust_revalidateÚno_storec                 C   s   t | ƒ t | d¡ tdƒS )NzYou are logged outzpresiding-officer-login)r   r	   r   r   )r!   r#   r#   r$   Úpresiding_logoutc   s   rN   )r   r   )Údjango.shortcutsr   r   Údjango.contrib.authr   r   r   Údjango.contrib.auth.modelsr   Údjango.contrib.auth.decoratorsr   Údjango.contribr	   Úpresiding.modelsr
   r=   Údjango.views.decorators.cacher   Údjango.httpr   r   r   rN   r#   r#   r#   r$   Ú<module>   s    "4