
    ~nh5                     l   S SK r S SKJrJr  S SKJr  S SKJr  S SKJ	r	  S SK
JrJrJrJr  S SKJrJr  S SKJr  S SKr " S	 S
\	\5      r " S S\	\5      r " S S\	\5      r " S S\	\5      r " S S\	\5      r " S S\	\5      r " S S\	\5      r " S S\	\5      r " S S\	\5      r " S S\	\5      rg)    N)renderredirect)View)messages)LoginRequiredMixin)
AttendanceTeamVendorsTeam_Projects)User_Departments
User_Types)Projectsc                        \ rS rSrS rS rSrg)TeamRegistrationView   c                     [         R                  R                  5       n[        R                  R                  5       n[        R                  R                  5       n[        USX#US.5      $ )Nzteam-registration.html)departmentsdesignationsprojects)r   objectsallr   r   r   )selfrequestr   r   r   s        )/var/www/html/DEMO/hr_department/views.pygetTeamRegistrationView.get   sa    &..224!))--/##'')g7+  DL  :M  N  	N    c           
      
   [        5       nUR                  R                  S5      Ul        SR	                  S [        S5       5       5      Ul        UR                  R                  S5      Ul        UR                  R                  S5      Ul        UR                  R                  S5      Ul	        UR                  R                  S5      Ul
        UR                  R                  S	5      Ul        UR                  R                  S
5      Ul        UR                  R                  S5      Ul        UR                  R                  S5      Ul        UR                  R                  S5      Ul        UR                  R                  S5      Ul        UR                  R                  S5      Ul        UR                  R                  S5      Ul        UR                  R                  S5      Ul        UR                  R                  S5      Ul        UR                  R                  S5      Ul        UR                  R                  S5      Ul        UR                  R                  S5      Ul        UR                  R                  S5      Ul        UR                  R                  S5      Ul        UR                  R                  S5      Ul        UR                  R                  S5      Ul        UR                  R                  S5      Ul        UR:                  R                  S5      Ul        UR:                  R                  S5      Ul        UR:                  R                  S5      Ul         UR:                  R                  S5      Ul!        UR:                  R                  S5      Ul"        UR                  R                  S 5      Ul#        UR:                  R                  S!5      Ul$        UR                  R                  S"5      Ul%        UR                  R                  S#5      Ul&        UR                  R                  S$5      Ul'        UR                  R                  S%5      Ul(        S&UR:                  ;   a   UR:                  R                  S&5      Ul)        URU                  5         URV                  (       a  [Y        UR                  R[                  S'5      5      (       a[  [\        R^                  Ra                  UR                  R[                  S'5       Vs/ s H  n[]        URV                  US(9PM     sn5        [b        Rd                  " US)5        [g        S*5      $ s  snf )+Nemployment_type c              3   N   #    U  H  n[         R                  " S 5      v   M     g7f$1234567890ABCDEFGHIJKLMNOPQRSTUVWXYZNrandomchoice.0is     r   	<genexpr>,TeamRegistrationView.post.<locals>.<genexpr>         #lck^_FMM2X$Y$Yck   #%   positionnamefather_namemother_nameemailmobiledate_of_birthgenderqualification
university
experiencemarital_statusemergency_contact_nojoining_datedesignation
departmentpayment_typebasic_amount
ctc_amountepfesicpan_nophotoresumeaadharpan_card	marksheetaddressmessageassets	condition
issue_datereturn_datedeclarationr   	member_id
project_id$Team member registered successfully.TeamView)4r	   POSTr   r   joinrangeemployee_idr/   r0   r1   r2   r3   r4   r5   r6   r7   r8   r9   r:   r;   r<   designation_iddepartment_idr?   r@   rA   rB   rC   rD   FILESrE   rF   rG   rH   rI   rJ   rK   rL   rM   rN   rO   rP   saveidlengetlistr   r   bulk_creater   successr   )r   r   teamprojects       r   postTeamRegistrationView.post   s   v&||//0AB77#lchijck#lm((4LL$$V,	"<<++M:"<<++M:\\%%g.
ll&&x0$\\--o>ll&&x0$\\--o>!,,**<8!,,**<8%ll../?@$+LL$4$45K$L!#LL,,^<%ll..}=$\\--l;#LL,,^<#LL,,^<!,,**<8<<##E*LL$$V,	ll&&x0]]&&w/
mm''1mm''1))*5 **;7||''	2}}((3ll&&x0 ))+6!,,**<8"<<++M:GMM)&}}00?D		777<<''
344%%11ZaZfZfZnZnoyZz3ZzwMDGG'JZz3  	"HI
##	3s   !U( N__name__
__module____qualname____firstlineno__r   re   __static_attributes__rg   r   r   r   r      s    N.$r   r   c                        \ rS rSrS rS rSrg)rU   H   c                 \    [         R                  R                  5       n[        USSU05      $ )Nz	team.htmlmembers)r	   r   r   r   )r   r   rq   s      r   r   TeamView.getJ   s(    ,,""$g{Y,ABBr   c                 P    UR                   R                  S5      n[        R                  R                  US9nUR	                  5         [
        R                  " US5        [        S5      $ ! [        R                   a%    [
        R                  " US5        [        S5      s $ f = f)Nr^   r^   z!Team member deleted successfully.rU   zTeam member not found.)
rV   r   r	   r   deleter   rb   r   DoesNotExisterror)r   r   r^   rc   s       r   re   TeamView.postO   s    	(!!$'B<<##r#*DKKMW&IJJ''   	(NN7$<=J''	(   A)A, ,6B%$B%rg   Nrh   rg   r   r   rU   rU   H   s    C
	(r   rU   c                        \ rS rSrS rS rSrg)
MemberView[   c           
      z   [         R                  R                  US9n[        [        R                  R                  US9R                  SSS95      n[        R                  R                  5       n[        R                  R                  5       n[        R                  R                  5       n[        USX5XgUS.5      $ )Nrt   rR   rS   Tflatzedit-team.html)rc   r   r   r   project_list)r	   r   r   listr   filtervalues_listr   r   r   r   r   )r   r   r^   rc   r   r   r   r   s           r   r   MemberView.get\   s    ||R(M1188R8HTTUahlTmn&..224!))--/##'')g/4o{  fr  2s  t  	tr   c           
         [         R                  R                  US9nUR                  R                  S5      Ul        SR                  S [        S5       5       5      Ul        UR                  R                  S5      Ul        UR                  R                  S5      Ul	        UR                  R                  S5      Ul
        UR                  R                  S	5      Ul        UR                  R                  S
5      Ul        UR                  R                  S5      Ul        UR                  R                  S5      Ul        UR                  R                  S5      Ul        UR                  R                  S5      Ul        UR                  R                  S5      Ul        UR                  R                  S5      Ul        UR                  R                  S5      Ul        UR                  R                  S5      Ul        UR                  R                  S5      Ul        UR                  R                  S5      Ul        UR                  R                  S5      Ul        UR                  R                  S5      Ul        UR                  R                  S5      Ul        UR                  R                  S5      Ul        UR                  R                  S5      Ul        UR                  R                  S5      Ul        UR                  R                  S5      Ul        UR                  R                  S5      Ul        UR>                  R                  S5      Ul         UR                  R                  S5      Ul!        UR                  R                  S5      Ul"        UR                  R                  S 5      Ul#        UR                  R                  S!5      Ul$        S"UR>                  ;   a   UR>                  R                  S"5      Ul%        S#UR>                  ;   a   UR>                  R                  S#5      Ul&        S$UR>                  ;   a   UR>                  R                  S$5      Ul'        S%UR>                  ;   a   UR>                  R                  S%5      Ul(        S&UR>                  ;   a   UR>                  R                  S&5      Ul)        S'UR>                  ;   a   UR>                  R                  S'5      Ul*        URW                  5         [X        R                  R[                  UR\                  S(9R_                  5         [a        UR                  Rc                  S)5      5      (       a[  [X        R                  Re                  UR                  Rc                  S)5       Vs/ s H  n[Y        UR\                  US*9PM     sn5        [f        Rh                  " US+5        [k        S,5      $ s  snf )-Nrt   r   r    c              3   N   #    U  H  n[         R                  " S 5      v   M     g7fr"   r$   r'   s     r   r*   "MemberView.post.<locals>.<genexpr>h   r,   r-   r.   r/   r0   r1   r2   r3   r4   r5   r6   r7   r8   r9   r:   r;   r<   r=   r>   r?   r@   rA   rB   rC   rD   rJ   rK   rL   rM   rN   rO   rE   rF   rG   rH   rI   rP   r~   r   rQ   rT   rU   )6r	   r   r   rV   r   rW   rX   rY   r/   r0   r1   r2   r3   r4   r5   r6   r7   r8   r9   r:   r;   r<   rZ   r[   r?   r@   rA   rB   rC   rD   rJ   r\   rK   rL   rM   rN   rO   rE   rF   rG   rH   rI   rP   r]   r   r   r^   ru   r_   r`   ra   r   rb   r   )r   r   r^   rc   rd   s        r   re   MemberView.poste   sE   ||R(&||//0AB77#lchijck#lm((4LL$$V,	"<<++M:"<<++M:\\%%g.
ll&&x0$\\--o>ll&&x0$\\--o>!,,**<8!,,**<8%ll../?@$+LL$4$45K$L!#LL,,^<%ll..}=$\\--l;#LL,,^<#LL,,^<!,,**<8<<##E*LL$$V,	ll&&x0||''	2}}((3ll&&x0 ))+6!,,**<8"<<++M:gmm# **73DJw}}$!--++H5DKw}}$!--++H5DK&#MM--j9DM'--'$]]..{;DNGMM)&}}00?D		$$$9@@Bw||##J/00!!--V]VbVbVjVjkuVv/Vv7gFVv/  	"HI
##	/s   (W/rg   Nrh   rg   r   r   r{   r{   [   s    t3$r   r{   c                        \ rS rSrS rS rSrg)AttendanceView   c                    [         R                  R                  5       n[        R                  R	                  SSS9R                  5       R                  S5      nSUR                  ;   a  UR                  S   S:w  a  SUR                  ;   a|  UR                  S   S:w  ai  [        R                  R                  [        UR                  S   5      [        UR                  S   5      S9nUR                  S   nUR                  S   nOn[        R                  R                  S5      R                  5       nU(       a  UR                  nUR                  nOS nS n[        R                  R                  XeS9n/ nU GH?  n	[        R                  " U	R                  R                   5      n
U
S   R#                  5       R%                  5       nUR'                  S	S
5      nUR'                  SS
5      nUR'                  SS
5      nUR'                  SS
5      nU
S   R)                  5       nUR+                  U	R,                  U	R.                  R0                  U	R.                  R2                  U	R.                  R4                  U	R.                  R6                  UUUUU	R                  R8                  [;        US5      S.5        GMB     [=        USXX5US.5      $ )NyearTr   r    month)r   r   z-idStatusPresentr   AbsentLeaveHolidayzWorking Hours   )r^   rY   r3   r4   r0   presentabsentleaveholidayfiletotal_hourszattendance.html)
attendancerq   yearsr   r   )r	   r   r   r   r   distinctorder_byGETr   intfirstr   r   pd
read_excelr   pathvalue_countsto_dictr   sumappendr^   memberrY   r3   r4   r0   urlroundr   )r   r   rq   r   attendancesr   r   last_attendanceresultsattdfcountsr   r   r   r   r   s                    r   r   AttendanceView.get   sY   ,,""$""..vD.AJJLUUV\]W[[ W[[%8B%>7gkkCY^e^i^ijq^rvx^x$,,33#gkk'>R:SZ]^e^i^ijp^qZr3sK;;v&DKK(E(0099%@FFHO&++'--$,,33%3KKCsxx}}-B\..088:FjjA.GZZ!,FJJw*EjjA.G_-113KNNvv"zz55))**++

" #$[!4  * g0'jo  KP  3Q  R  	Rr   c                     [         R                  R                  UR                  R                  S5      UR                  R                  S5      UR                  R                  S5      S9nUR                  R                  S5      Ul        UR                  R                  S5      Ul        UR                  R                  S5      Ul        UR                  R                  S5      Ul	        UR                  5         [        R                  " US5        [        S5      $ ! [         R                   a    [        5       n Nf = f)NrR   r   r   )rR   r   r   r   zAttendance saved successfully.r   )r   r   r   rV   rv   rR   r   r   r\   r   r]   r   rb   r   )r   r   r   s      r   re   AttendanceView.post   s   	&#++//GLL<L<L[<Ycjcococscst{c|  FM  FR  FR  FV  FV  W]  F^/  _J  '||//<
"<<++G4
!,,**62
!--++F3
"BC()) && 	&#J	&s   A*D D?>D?rg   Nrh   rg   r   r   r   r      s    'RT*r   r   c                       \ rS rSrS rSrg)AttendanceDeleteView   c                 P    UR                   R                  S5      n[        R                  R                  US9nUR	                  5         [
        R                  " US5        [        S5      $ ! [        R                   a%    [
        R                  " US5        [        S5      s $ f = f)Nr^   rt   z Attendance deleted successfully.r   Vendor not found.)
rV   r   r   r   ru   r   rb   r   rv   rw   )r   r   r^   r   s       r   re   AttendanceDeleteView.post   s    	.!!$'B#++//R/8JW&HI,--&& 	.NN7$78,--	.ry   rg   N)ri   rj   rk   rl   re   rm   rg   r   r   r   r      s    	.r   r   c                       \ rS rSrS rSrg)MemberDetailView   c                 >    [         R                  R                  US9n[        [        R                  R                  US9R                  SSS95      nSR                  S U 5       5      n[        USX4S	.5      $ ! [         R                   a    [        S
5      s $ f = f)Nrt   r~   project__projectTr   z, c              3   8   #    U  H  n[        U5      v   M     g 7f)N)str)r(   rd   s     r   r*   'MemberDetailView.get.<locals>.<genexpr>   s     $NgS\\s   zmember.html)r   r   rU   )r	   r   r   r   r   r   r   rW   r   rv   r   )r   r   r^   r   r   s        r   r   MemberDetailView.get   s    	(\\%%2%.F 5 5 < < < L X XYkrv X wxL99$N$NNL'=f2dee   	(J''	(s   A7A: :BBrg   Nri   rj   rk   rl   r   rm   rg   r   r   r   r      s    (r   r   c                        \ rS rSrS rS rSrg)VendorRegistrationView   c                     [        US5      $ )Nzvendor-registration.html)r   )r   r   s     r   r   VendorRegistrationView.get   s    g9::r   c                 Z   [        5       nUR                  R                  S5      Ul        UR                  R                  S5      Ul        UR                  R                  S5      Ul        UR                  R                  S5      Ul        SUR                  ;   a   UR                  R                  S5      Ul        UR                  R                  S5      Ul	        UR                  R                  S5      Ul
        UR                  5         [        R                  " US5        [        S	5      $ )
Nr0   r3   r4   rD   rH   rJ   rK   zVendor registered successfully.
VendorView)r
   rV   r   r0   r3   r4   rD   r\   rH   rJ   rK   r]   r   rb   r   )r   r   vendors      r   re   VendorRegistrationView.post   s    ll&&v.||''0((2((2&%mm//
;FO )))4 **95"CD%%r   rg   Nrh   rg   r   r   r   r      s    ;&r   r   c                        \ rS rSrS rS rSrg)r   i  c                 \    [         R                  R                  5       n[        USSU05      $ )Nzvendors.htmlvendors)r
   r   r   r   )r   r   r   s      r   r   VendorView.get  s(    //%%'g~	G/DEEr   c                 P    UR                   R                  S5      n[        R                  R                  US9nUR	                  5         [
        R                  " US5        [        S5      $ ! [        R                   a%    [
        R                  " US5        [        S5      s $ f = f)Nr^   rt   zVendor deleted successfully.r   r   )rV   r   r
   r   ru   r   rb   r   r	   rv   rw   r   r   r^   r   s       r   re   VendorView.post  s    	*!!$'B__((B(/FMMOW&DEL))   	*NN7$78L))	*ry   rg   Nrh   rg   r   r   r   r     s    F
	*r   r   c                        \ rS rSrS rS rSrg)VendorMemberViewi  c                 Z    [         R                  R                  US9n[        USSU05      $ )Nrt   zedit-vendor.htmlr   )r
   r   r   r   r   s       r   r   VendorMemberView.get  s.    $$"$-g1Hv3FGGr   c                    [         R                  R                  US9nUR                  R                  S5      Ul        UR                  R                  S5      Ul        UR                  R                  S5      Ul        UR                  R                  S5      Ul        SUR                  ;   a   UR                  R                  S5      Ul	        UR                  R                  S5      Ul
        UR                  R                  S5      Ul        UR                  5         [        R                  " US	5        [        S
5      $ )Nrt   r0   r3   r4   rD   rH   rJ   rK   zVendor updated successfully.r   )r
   r   r   rV   r0   r3   r4   rD   r\   rH   rJ   rK   r]   r   rb   r   r   s       r   re   VendorMemberView.post  s    $$"$-ll&&v.||''0((2((2&%mm//
;FO )))4 **95"@A%%r   rg   Nrh   rg   r   r   r   r     s    H&r   r   c                       \ rS rSrS rSrg)VendorMemberDetailViewi-  c                      [         R                  R                  US9n[        USSU05      $ ! [         R                   a    [        S5      s $ f = f)Nrt   zvendor.htmlr   r   )r
   r   r   r   rv   r   r   s       r   r   VendorMemberDetailView.get.  sR    	*__((b(1F'=8f2EFF## 	*L))	*s   +. AArg   Nr   rg   r   r   r   r   -  s    *r   r   ) r%   django.shortcutsr   r   django.viewsr   django.contribr   django.contrib.auth.mixinsr   hr_department.modelsr   r	   r
   r   users.modelsr   r   program_department.modelsr   pandasr   r   rU   r{   r   r   r   r   r   r   r   rg   r   r   <module>r      s     -  # 9 I I 5 . 7$-t 7$x(!4 (&=$#T =$@7*' 7*r.-t .()4 (&/ &,*#T *&&)4 &,*/ *r   