
    u|hZ                        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  S SKJrJr  S SKJr  S SKrS S	KJr  S S
KJr  S SKJrJrJr  SSKJrJrJrJrJ r   S SK!J"r"J#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- " S# S$\\5      r. " S% S&\\5      r/g)'    )renderredirect)View)messages)LoginRequiredMixin)F
FloatFieldCount)CastRound)JsonResponseN)datetime)Team)Csr_PartnersPartner_OrganizationsUsers   )DeliverablesProgram_TypesProgressProjectsPrograms)States	Districtsc                        \ rS rSrS rS rSrg)ProgramTypeView   c                 t    [        5       nUR                  S   Ul        UR                  5         [	        S5      $ )Nprogram_typeuserDepartmentView)r   POSTr   saver   selfrequestr   s      ./var/www/html/DEMO/program_department/views.pypostProgramTypeView.post   s2    $$+LL$@!,--    c                 4    [         R                  R                  UR                  S   S9nUR	                  5         [
        R                  " US5        [        S5      $ ! [         R                   a%    [
        R                  " US5        [        S5      s $ f = f)Nidr+   z"Program type deleted successfully.r    zProgram type doesn't exists.)
r   objectsgetGETdeleter   successr   DoesNotExisterrorr#   s      r&   r.   ProgramTypeView.get   s    	2(0044D8I4JL!W&JK011)) 	2NN7$BC011	2   AA 6BB N__name__
__module____qualname____firstlineno__r'   r.   __static_attributes__r6   r)   r&   r   r      s    .2r)   r   c                        \ rS rSrS rS rSrg)ProjectView$   c                     [        5       nUR                  S   Ul        UR                  S   Ul        UR	                  5         [        S5      $ )Nr   projectr    )r   r!   program_type_idrA   r"   r   r$   r%   rA   s      r&   r'   ProjectView.post&   s?    *"),,~">!,,y1,--r)   c                 4    [         R                  R                  UR                  S   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Project deleted successfully.r    zProject doesn't exists.)r   r-   r.   r/   r0   r   r1   r   r   r2   r3   rC   s      r&   r.   ProjectView.get.   s    	2&&**gkk$.?*@GNNW&EF011)) 	2NN7$=>011	2r5   r6   Nr7   r6   r)   r&   r>   r>   $   s    .2r)   r>   c                        \ rS rSrS rS rSrg)ProgramView9   c           
      P   [         R                  R                  5       n[        R                  R                  5       n[        R                  R                  5       n[
        R                  R                  5       n[        R                  R                  5       n[        USX#XEUS.5      $ )Nzadd-program.html)program_typesstatescsr_partnerspartner_organizationsmembers)r   r-   allr   r   r   r   r   )r$   r%   rK   rL   rM   rN   rO   s          r&   r.   ProgramView.get;   s    %--113##%#++//1 5 = = A A C,,""$g1]  yE  DK  4L  M  	Mr)   c                 v   [        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        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R+                  UR                  R-                  S5      5      Ul        SR+                  UR                  R-                  S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RI                  5         [J        RL                  " US!5        [O        S"5      $ )#Nr   rA   statedistrictcsr_partnerpartner_organization	from_dateteambeneficiary_nameagegendercastemobilereligion
occupationfamily_incomedifferently_abledcategory,document_applyscheme_applysupportdescribe_supportareasession_typengo organisation_representative_nameorganisation_typeworking_periodno_of_membersworking_areaorganisation_supportProgram added successfully.programs)(r   r!   r.   rB   
project_idstate_iddistrict_idcsr_partner_id
partner_idrW   team_idrY   rZ   r[   r\   r]   r^   r_   r`   ra   rb   joingetlistrd   re   rf   rg   rh   ri   rj   rk   rl   rm   rn   ro   rp   r"   r   r1   r   )r$   r%   programs      r&   r'   ProgramView.postC   s
   *"),,"2"2>"B$\\--i8"<<++G4%ll..z:!(!1!1-!@$\\--.DE#LL,,[9!,,**62#*<<#3#34F#G ll&&u- ))(3((1 ))(3"<<++J7$\\--l; ' 0 0 A$+LL$4$45H$I!"<<++J7!$',,*>*>?O*P!Q"xx(<(<^(LM!,,**95#*<<#3#34F#G ||''/&||//?ll&&u-3:<<3C3CDf3g0$+LL$4$45H$I!!(!1!12B!C ' 0 0 A&||//?'.||'7'78N'O$"?@
##r)   r6   Nr8   r9   r:   r;   r.   r'   r<   r6   r)   r&   rH   rH   9   s    M$$r)   rH   c                        \ rS rSrS rS rSrg)EditProgramViewj   c                    [         R                  R                  US9n[        R                  R	                  5       n[
        R                  R	                  5       n[        R                  R	                  5       n[        R                  R	                  5       n[        R                  R	                  5       n[        USXEXgXS.5      $ )Nr,   zedit-program.html)rK   rL   rM   rN   rO   r{   )
r   r-   r.   r   rP   r   r   r   r   r   )	r$   r%   r+   r{   rK   rL   rM   rN   rO   s	            r&   r.   EditProgramView.getl   s    ""&&B&/%--113##%#++//1 5 = = A A C,,""$g2m  zF  EL  5b  c  	cr)   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        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R-                  UR                  R/                  S5      5      Ul        SR-                  UR                  R/                  S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RK                  5         [L        RN                  " US"5        [Q        S#5      $ )$Nr,   r   rA   rS   rT   rU   rV   rW   rX   rY   rZ   r[   r\   r]   r^   r_   r`   ra   rb   rc   rd   re   rf   rg   rh   ri   rj   rk   rl   rm   rn   ro   rp   rq   rr   ))r   r-   r.   r!   rB   rs   rt   ru   rv   rw   rW   rx   rY   rZ   r[   r\   r]   r^   r_   r`   ra   rb   ry   rz   rd   re   rf   rg   rh   ri   rj   rk   rl   rm   rn   ro   rp   r"   r   r1   r   r$   r%   r+   r{   s       r&   r'   EditProgramView.postv   s   ""&&B&/"),,"2"2>"B$\\--i8"<<++G4%ll..z:!(!1!1-!@$\\--.DE#LL,,[9!,,**62#*<<#3#34F#G ll&&u- ))(3((1 ))(3"<<++J7$\\--l; ' 0 0 A$+LL$4$45H$I!"<<++J7!$',,*>*>?O*P!Q"xx(<(<^(LM!,,**95#*<<#3#34F#G ||''/&||//?ll&&u-3:<<3C3CDf3g0$+LL$4$45H$I!!(!1!12B!C ' 0 0 A&||//?'.||'7'78N'O$"?@
##r)   r6   Nr}   r6   r)   r&   r   r   j   s    c#$r)   r   c                       \ rS rSrS rSrg)DeleteProgramView   c                     [         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,   zProgram deleted successfully.rr   zProgram doesn't exists.)	r   r-   r.   r0   r   r1   r   r2   r3   r   s       r&   r.   DeleteProgramView.get   su    	(&&***3GNNW&EFJ''$$ 	(NN7$=>J''	(   AA 6B
	B
r6   Nr8   r9   r:   r;   r.   r<   r6   r)   r&   r   r      s    (r)   r   c                       \ rS rSrS rSrg)ProgramsView   c                    [         R                  R                  5       n[        R                  R                  5       nSUR                  ;   a?  UR                  S   S:w  a,  UR                  UR                  S   S9nUR                  S   nOSnSUR                  ;   a?  UR                  S   S:w  a,  UR                  UR                  S   S9nUR                  S   nOSnSUR                  ;   a@  UR                  S   (       a,  UR                  UR                  S   S9nUR                  S   nOSnS	UR                  ;   a@  UR                  S	   (       a,  UR                  UR                  S	   S
9nUR                  S	   nOSnUR                  R                  S:X  a$  UR                  UR                  R                  S9nO=UR                  R                  S:X  a#  UR                  UR                  R                  S9n[        USX2XEXgS.5      $ )Nr   AllrB   rA   rs   
start_datecreated_at__date__gte end_datecreated_at__date__lte   csr_partner__user__id   partner__user__idzprograms.html)rr   rK   r   rA   r   r   )
r   r-   rP   r   r/   filteruseruser_type_idr+   r   )r$   r%   rK   rr   r   rA   r   r   s           r&   r.   ProgramsView.get   s   %--113##'')W[[(W[[-HE-Q^9TUH";;~6L L#I(>%(GGKK	4JKHkk),GG7;;&7;;|+Dw{{<?XYH \2JJ$Z)@w{{:?VWH{{:.HH<<$$)w||OH\\&&!+7<<??KHgh  {G  mw  1O  P  	Pr)   r6   Nr   r6   r)   r&   r   r      s    !Pr)   r   c                       \ rS rSrS rSrg)ProgramsChartView   c                 
   [         R                  R                  5       nSUR                  ;   a/  UR                  S   S:w  a  UR	                  UR                  S   S9nSUR                  ;   a/  UR                  S   S:w  a  UR	                  UR                  S   S9nSUR                  ;   a0  UR                  S   (       a  UR	                  UR                  S   S9nSUR                  ;   a0  UR                  S   (       a  UR	                  UR                  S   S	9nUR
                  R                  S
:X  a$  UR	                  UR
                  R                  S9nO=UR
                  R                  S:X  a#  UR	                  UR
                  R                  S9nUR                  S5      R                  [        S5      S9R                  S5      nU Vs/ s H  nUS   =(       d    SUS   S.PM     nnUR                  S5      R                  [        S5      S9R                  S5      nU Vs/ s H  nUS   =(       d    SUS   S.PM     nnUR                  S5      R                  [        S5      S9R                  S5      nU Vs/ s H  nUS   =(       d    SUS   S.PM     n	nUR                  S5      R                  [        S5      S9R                  S5      n
U
 Vs/ s H  nUS   =(       d    SUS   S.PM     nnUR                  S5      R                  [        S5      S9R                  S5      nU Vs/ s H  nUS   =(       d    SUS   S.PM     nnUR                  S5      R                  [        S5      S9R                  S5      nU Vs/ s H  nUS   =(       d    SUS   S.PM     nnUR                  S5      R                  [        S5      S9R                  S5      nU Vs/ s H  nUS   =(       d    SUS   S.PM     nnUR                  S5      R                  [        S5      S9R                  S5      nU Vs/ s H  nUS   =(       d    SUS   S.PM     nnUR                  S5      R                  [        S5      S9R                  S5      nU Vs/ s H  nUS   =(       d    SUS   S.PM     nnUR                  S5      R                  [        S5      S9R                  S5      nU Vs/ s H  nUS   =(       d    SUS   S.PM     nn[        UUU	UUUUUUUS.
SS9$ s  snf s  snf s  snf s  snf s  snf s  snf s  snf s  snf s  snf s  snf ) Nr   r   r   rA   r   r   r   r   r   r   r   r   r   state__stater+   )countUnknownr   )nameydistrict__districtprogram_type__program_type
team__namerZ   r\   r^   r[   r_   r`   )
by_stateby_districtby_project_typeby_teamby_ageby_casteby_religion	by_genderby_occupationby_family_incomeF)safe)r   r-   rP   r/   r   r   r   r+   valuesannotater
   order_byr   )r$   r%   rr   state_countsitemstate_resultdistrict_countsdistrict_resultproject_type_countsproject_type_resultteam_countsteam_result
age_counts
age_resultcaste_countscaste_resultreligion_countsreligion_resultgender_countsgender_resultoccupation_countsoccupation_resultincome_countsincome_results                           r&   r.   ProgramsChartView.get   s}   ##'') W[[(W[[-HE-Q^9TUH #I(>%(GGKK	4JKH7;;&7;;|+Dw{{<?XYH $Z)@w{{:?VWH <<$$)w||OH\\&&!+7<<??KH OON+XE$KX(Xn% 	 %
$ .)6YT']K$ 	 
 OO01XE$KX(X*+ 	 (
' ./<94=Q' 	 
 OO89XE$KX(X23 	 ,
+ 67D94PW=Y+ 	 
 OOL)XE$KX(Xl# 	 $
# ,'494=I# 	 
 OOE"XE$KX(Xe_ 	 #
" %[-IDMB" 	 
 OOG$XE$KX(Xg 	 %
$ ']/id7mD$ 	 
 OOJ'XE$KX(Xj! 	 (
' *%2gG' 	 
 OOH%XE$KX(Xh 	 &
% (^0ytG}E% 	 
 OOL)XE$KX(Xl# 	 *
) ,'494=I) 	 
 OOO,XE$KX(Xo& 	 &
% /*7id7mL% 	 

 $*2" $*&. -
  	Q









s<   T1,T6T; U :UU
.UU"U<Ur6   Nr   r6   r)   r&   r   r      s    Sr)   r   c                       \ rS rSrS rSrg)ProjectsViewiq  c                 Z    [         R                  R                  US9n[        USSU05      $ )Nr   zprojects.htmlprojects)r   r-   r   r   )r$   r%   r+   r   s       r&   r.   ProjectsView.gets  s/    ##**R*@gX0FGGr)   r6   Nr   r6   r)   r&   r   r   q  s    Hr)   r   c                        \ rS rSrS rS rSrg)DeliverablesViewix  c           
         [         R                  R                  5       n[        R                  R                  5       R	                  [        [        [        S5      [        5       5      [        [        S5      [        5       5      -  S-  S5      S9nSUR                  ;   a?  UR                  S   S:w  a,  UR                  UR                  S   S9nUR                  S   nOSn[        US	X2US
.5      $ )Nachievedtargetd   r   )
completionrA   r   r   zdeliverables.html)deliverablesr   rA   )r   r-   rP   r   r   r   r   r   r	   r/   r   r   )r$   r%   r   r   rA   s        r&   r.   DeliverablesView.getz  s    ##'')#++//1::Qz]JL1D8jl4SSVYY[\ ; 
 #I(>%(G'..GKK	<R.SLkk),GGg2lw~4  A  	Ar)   c                     UR                   S   n[        R                  " USS9nUR                  5        Hg  u  pE[	        5       nUR
                  R                  S5      Ul        US   Ul        US   Ul	        US   Ul
        US   Ul        UR                  5         Mi     [        R                  " US	5        [        S
5      $ ! [          a7  n[#        U5        [        R$                  " US5        [        S
5      s S nA$ S nAff = f)Nr   openpyxlenginers   zKey IndicatorTargetAchievedRemarks Deliverables added successfully.r   ,Something went wrong. Please try again later)FILESpd
read_exceliterrowsr   r!   r.   rs   key_indicatorr   r   remarksr"   r   r1   r   	Exceptionprintr3   )r$   r%   
excel_filedfidxrowdeliverablees           r&   r'   DeliverablesView.post  s    	0 ~6Jz*=BKKM*n)0)9)9,)G&,/,@)%(]"'*:$&))n#  " * W&HI.// 	0!HNN7$RS.//	0s   C C 
D,C?9D?Dr6   Nr}   r6   r)   r&   r   r   x  s    A$0r)   r   c                       \ rS rSrS rSrg)ProgressViewi  c                 
    UR                   S   n[        R                  " USS9nUR                  5        He  u  pE[	        5       nUS   Ul        US   Ul        US   Ul        US   Ul        US   Ul	        US	   Ul
        US
   Ul        UR                  5         Mg     [        R                  " US5        [        S5      $ ! [          a7  n[#        U5        [        R$                  " US5        [        S5      s S nA$ S nAff = f)Nprogressr   r   DateLocationActivityzSHGs CoveredzMembers EnrolledzSchemes FacilitatedzLegal Docs ProcessedzProgress added successfully.rr   r   )r   r   r   r   r   datelocationactivityshg_coveredmembers_enrolledschemes_facilitatedlegal_docs_processedr"   r   r1   r   r   r   r3   )r$   r%   r   r   r   r   r   r   s           r&   r'   ProgressView.post  s    	( z2Jz*=BKKM#: #F$'
O!$'
O!'*>':$,/0B,C)/23H/I,034J0K- * W&DEJ'' 	(!HNN7$RSJ''	(s   B>C 
D,C=7D=Dr6   Nr8   r9   r:   r;   r'   r<   r6   r)   r&   r   r     s    (r)   r   c                       \ rS rSrS rSrg)ProgramsImportViewi  c                 "	    UR                   S   n[        R                  " USS9nUR                  5        GH  u  pE [        R
                  R                  US   S9n [        R
                  R                  US   S9n [        R
                  R                  US   S	9n	 [        R
                  R                  US
   S9n
 [        R
                  R                  US   S9n [        R
                  R                  US   S9n [        R
                  R                  US   S9n[        5       nUb  UR                  Ul        OSUl        Ub  UR                  Ul        OSUl        U	b  U	R                  Ul        OSUl        U
b  U
R                  Ul        OSUl        Ub  UR                  Ul        OSUl        Ub  UR                  Ul        OSUl        Ub  UR                  Ul        OSUl        [.        R0                  " US   S5      R3                  S5      Ul        US   Ul        US   Ul        US   Ul        US   Ul        US   Ul        US   Ul         US   Ul!        US   Ul"         [        R
                  R                  UR                   UR"                  UR$                  UR&                  UR(                  UR*                  UR4                  UR,                  UR8                  UR:                  UR<                  UR>                  UR6                  UR@                  URB                  URD                  S9  GM	     [J        RL                  " US5        [O        S5      $ ! [         a  nS n S nAGNS nAff = f! [         a  nS n S nAGNS nAff = f! [         a  nS n	 S nAGN
S nAff = f! [         a  nS n
 S nAGNS nAff = f! [         a  nS n S nAGNS nAff = f! [         a  nS n S nAGNS nAff = f! [         a  nS n S nAGNS nAff = f! [         a'  n[G        U5        URI                  5          S nAGM  S nAff = f! [         a7  n[G        U5        [J        RP                  " US 5        [O        S5      s S nA$ S nAff = f)!Nrr   r   r   zProgram Type)r   Project)rA   State)rS   District)rT   zDonor Organisation)company_namezSupport PartnerzTeam Member)r   r   z	From Datez%d/%m/%Yz%Y-%m-%dMobilezBeneficiary NameAgeGenderCasteReligion
OccupationzFamily Income)rB   rs   rt   ru   rv   rw   rW   rX   rY   rZ   r[   r\   r]   r^   r_   r`   r   r   r   ))r   r   r   r   r   r-   r.   r   r   r   r   r   r   r   r   r+   rB   rs   rt   ru   rv   rw   rx   r   strptimestrftimerW   r]   rY   rZ   r[   r\   r^   r_   r`   r   r"   r   r1   r   r3   )r$   r%   r   r   r   r   r   r   rA   rS   rT   rU   rV   rX   rr   s                  r&   r'   ProgramsImportView.post  s   x	0 z2Jz*=BKKM(#0#8#8#<#<CP^L_#<#`L#&..22S^2LG!"NN..s7|.DE$(0044J4PH'"."6"6":":#NbJc":"dK0+@+H+H+L+L\_`q\r+L+s( <<++3}3E+FD $:+/;H,/1H, &*1**H'*,H' $(-H%(*H% '+3;;H(+-H( *.9nnH+.0H+ (3*>*A*AH'*,H' #'+wwH$')H$ &.%6%6s;7G%T%]%]^h%i""%h-,/0B,C)"5z"%h-!$W$'
O!&),&7#),_)=& $$$((8;S;Sbjbubu  CK  CT  CT  dl  dx  dx  KS  Kb  Kb  qy  qD  qD  RZ  Rd  Rd  mu  m}  m}  RZ  Rk  Rk  s{  s  s  JR  JY  JY  ck  cq  cq  |D  |K  |K  X`  Xi  Xi  x@  xK  xK  ]e  ]s  ]s(  tU *^ W&HI.//Y ! (#'L(
 ! #"G#
 ! ! E!
 ! $#H$
 ! '"&K'
 ! 0+/(0
 !  D R ! $!HMMOO$  	0!HNN7$RS.//	0sJ  :Q  M# M=? N  N1 O" O% O?#EQ 0CP<&Q #
M:-M5/Q 5M::Q =
NN	Q NQ 
N.!N)#Q )N..Q 1
O;O=Q OQ 
O"OQ O""Q %
O</O71Q 7O<<Q ?
P	PQ PQ 
Q
#Q>Q Q

Q 
R,R	R	Rr6   Nr
  r6   r)   r&   r  r    s    y0r)   r  c                       \ rS rSrS rSrg)DeleteDeliverableViewi9  c                     [         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,   z!Deliverable deleted successfully.r   zDeliverable doesn't exists.)	r   r-   r.   r0   r   r1   r   r2   r3   )r$   r%   r+   r   s       r&   r.   DeleteDeliverableView.get;  sy    	0&..222;K W&IJ.//(( 	0NN7$AB.//	0r   r6   Nr   r6   r)   r&   r  r  9  s    0r)   r  )0django.shortcutsr   r   django.viewsr   django.contribr   django.contrib.auth.mixinsr   django.db.modelsr   r	   r
   django.db.models.functionsr   r   django.httpr   pandasr   r   hr_department.modelsr   users.modelsr   r   r   modelsr   r   r   r   r   country.modelsr   r   r   r>   rH   r   r   r   r   r   r   r   r  r  r6   r)   r&   <module>r+     s    -  # 9 1 1 2 $   % C C M M ,2($ 2(2$d 2*.$$d .$b/$($ /$d
(*D 
(#P%t #PNU*D UBH%t H%0)4 %0P(%t (2{0+T {0@
0. 
0r)   