
    d                        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mZmZmZmZmZ d dlmZ d dlZd dlmZ d d	lmZ d
 Z e
d          d             Z e
d          d             Z e
d          d             Z e
d          d             Z e
d          d             Z e
d          d             Z e
d          d             Z  eddd           e
d          d                         Z!dS )    )renderredirect)authenticateloginlogout)User)login_required)PostUserProfileCandidateProfileCandidatePostVoterVote)messagesN)cache_control)HttpResponseRedirectc                 ,   d}| j         j        rt          d          S | j        dk    rW| j                            d                                                              dd                                          }| j                            d          }	 t          j
                            |          }n#  t          j        | d	           Y nxY wt          | ||
          }|t          | |           | j         j        j        dk    r,t          j        | d|j        z              t          d          S t'          |            t          j        | d           t          d          S t          j        | d           d|i}t)          | d|          S )Nsu_logincreate_postPOSTusername  password)r   zUser does not exist)r   r   TzLogged in as zYou are not authorizedz"Username OR password does not exitpagezsu/login.html)useris_authenticatedr   methodr   getlowerreplacestripr   objectsr   errorr   r   userprofileis_superusersuccessr   r   r   )requestr   r   r   r   contexts         #C:\xampp\htdocs\evoting\su\views.pyr   r      s   	D|$ '&&&~<##J//5577??RHHNNPP<##J//	;<##X#66DD	;N7$9:::::GhJJJ'4   |'4<< /$-*GHHH...ww(@AAA
+++N7$HIII tnG'?G444s    B8 8Cr   )	login_urlc                    d}t           j                                        }| j        dk    rt           j                            | j                            d                                                                                     t          j
        | d| j                            d                                                              dd                                          z              ||d}t          | d	|          S )
Nr   r   	post_name)r-   zPost added: r   r   )r   	post_datasu/create-post.html)r
   r#   allr   creater   r   upperr"   r   r'   r!   r   )r(   r   r.   r)   s       r*   r   r   .   s    	D  ""I~((55;;==CCEE 	 	
 	
 	
 	.1A1A+1N1N1T1T1V1V1^1^_bdf1g1g1m1m1o1o"oppp)44G'0':::    c                    d}t           j                                        }t           j                            |          }| j        dk    r| j                            d                                                                          |_        |	                                 t          j        | d|j        z              t          d          S |||d}t          | d|          S )	Nupdate_postidr   r-   zPost updated : r   r   r.   post_single_datar/   )r
   r#   r0   r   r   r   r2   r"   r-   saver   r'   r   r   r(   pkr   r.   r9   r)   s         r*   r5   r5   =   s    	D  ""I|''2'..~&-l&6&6{&C&C&I&I&K&K&Q&Q&S&S""34D4N"NOOO&&&)IYZZG'0':::r3   c                 F   d}t           j                                        }t           j                            |          }| j        dk    r@|                                 t          j        | d|j        z              t          d          S |||d}t          | d|          S )Ndelete_postr6   r   zPost deleted : r   r8   r/   )r
   r#   r0   r   r   deleter   r'   r-   r   r   r;   s         r*   r>   r>   N   s    	D  ""I|''2'..~!!!"34D4N"NOOO&&& )IYZZG'0':::r3   c                    d}t           j                                        }t          j                                        }| j        dk    rt
          j                            | j                            d          	                                
                                | j                            d          	                                                    dd          
                                | j                            d          t          j                                        j                  }| j                            d	          	                                
                                D ]T}t          j                            |
          }|j                            | j                            d	                     Ut)          j        | d| j                            d          	                                                    dd          
                                z              |||d}t-          | d|          S )Nupload_candidatesr   candidate_full_namecandidate_roll_numberr   r   candidate_photo)rB   rC   rD   election_yearcandidate_post)candidate_profilezCandidate added: )r   r.   candidate_post_datasu/upload.html)r
   r#   r0   r   r   r   r1   r   r   r2   r"   r!   FILESdatetimedatetodayyearpostsetgetlistr   r'   r   )r(   r   r.   rH   candidate_profile_savedatacandidate_post_saver)   s           r*   rA   rA   ^   s   	D  ""I'/3355~!1!9!@!@"),"2"23H"I"I"O"O"Q"Q"W"W"Y"Y$+L$4$45L$M$M$S$S$U$U$]$]^ace$f$f$l$l$n$n%m//0ABB$M//116	 "A "
 "
 L$$%566<<>>DDFF 	Q 	QD"/"7">">$: #? # #  $(()=)=>N)O)OPPPP"5gl6F6FG\6]6]6c6c6e6e6m6mnqsu6v6v6|6|6~6~"~)L_``G'+W555r3   c                 (   d}t           j                                        }t          j                                        }t          j                            |          }|j                            dd          }|||||d}t          | d|          S )Nupdate_candidatesr6   r-   T)flat)r   r.   rH   candidate_post_single_data#candidate_post_single_relation_datarI   )r
   r#   r0   r   r   rO   values_listr   )r(   r<   r   r.   rH   rX   rY   r)   s           r*   rV   rV   w   s    	D  ""I'/3355!.!6!:!:b!:!A!A*D*I*U*UVajn*U*o*o')L_  @Z  Cf  g  gG'+W555r3   c                    d}t           j                                        }t          j                                        }t          j                            |          }| j        dk    rE|                                 t          j        | d|j	        j
        z              t          d          S ||||d}t          | d|          S )Ndelete_candidatesr6   r   zCandidate deleted : rA   )r   r.   rH   rX   rI   )r
   r#   r0   r   r   r   r?   r   r'   rG   rB   r   r   )r(   r<   r   r.   rH   rX   r)   s          r*   r\   r\      s    	D  ""I'/3355!.!6!:!:b!:!A!A~"))+++"89S9e9y"yzzz+,,, )L_  @Z  [  [G'+W555r3   c                 n    d}t           j                                        }||d}t          | d|          S )Nelection_result)r   	vote_datazsu/results.html)r   r#   r0   r   )r(   r   r_   r)   s       r*   r^   r^      s:    	D  ""I)44G',g666r3   T)no_cachemust_revalidateno_storec                 h    t          |            t          j        | d           t          d          S )NzYou are logged outsu)r   r   r$   r   )r(   s    r*   	su_logoutre      s0     7OOON70111%%%r3   )"django.shortcutsr   r   django.contrib.authr   r   r   django.contrib.auth.modelsr   django.contrib.auth.decoratorsr	   presiding.modelsr
   r   r   r   r   r   django.contribr   rK   django.views.decorators.cacher   django.httpr   r   r   r5   r>   rA   rV   r\   r^   re    r3   r*   <module>ro      sM   - - - - - - - - ; ; ; ; ; ; ; ; ; ; + + + + + + 9 9 9 9 9 9 \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ # # # # # #  7 7 7 7 7 7 , , , , , ,5 5 5D *%%%; ; &%; *%%%; ; &%;  *%%%; ; &%; *%%%6 6 &%60 *%%%6 6 &%6 *%%%6 6 &%6  *%%%7 7 &%7 dTBBB*%%%& & &% CB& & &r3   