Files
Client-Billing-software/app/routes/__pycache__/main.cpython-313.pyc

114 lines
28 KiB
Plaintext
Raw Normal View History

2026-04-15 10:32:46 +05:30
<EFBFBD>
<00>|<7C>hlP<00><00><><00>SSKJrJrJrJrJrJrJr SSKJ r J
r
J r J r SSK JrJrJr SSKJrJr SSKrSSKJr SSKrSSKJr SSKJr SS KJr SS
KJr SS KJr SS KJ r J!r!J"r" \"S \#5r$\$RKSSS/S9S5r&\$RKS5\ S55r'\$RKS5\ S55r(\$RKSS/S9\ S55r)\$RKSS/S9\ S55r*\$RKS5\ S55r+\$RKS5\ S55r,\$RKS5\ S 55r-\$RKS!5\ S"55r.S#r/\$RKS$S/S9\ S%55r0\$RKS&S/S9\ S'55r1S,S(jr2SS)KJr SS KJr \$RKS*SS/S9\ S+55r3g)-<2D>)<07> Blueprint<6E>render_template<74>request<73>redirect<63>url_for<6F>flash<73>jsonify)<04>
login_user<EFBFBD> logout_user<65>login_required<65> current_user)<03>func<6E>cast<73>Float)<02>Task<73>
WorkDetailN)<01>generate_password_hash)<01>LDAPUser)<01> current_app)<01>datetime)<01>db)<01>User)<03>Server<65>
Connection<EFBFBD>ALL<4C>mainz/login<69>GET<45>POST)<01>methodsc<00><><00>[R(a[[S55$[R
S:Xa<>[R RSS5R5n[R RSS5nU(aU(d[SS5 [S5$S US
3n[S S [S 9n[X2US9nUR5(a9[X 0S9n[!U5 [SUS3S5 [[S55$[SS5 [S5$!["an[SU3S5 SnAN)SnAff=f)Nzmain.dashboardr<00>username<6D><00>passwordz#Username and password are required.<2E>dangerz
login.htmlzuid=z,ou=users,dc=lcepl,dc=org<72>openldapi<70>)<02>port<72>get_info)<02>userr#)<03>dnr!<00>dataz Welcome, <20>!<21>successzInvalid LDAP credentialszLDAP connection error: )r <00>is_authenticatedrrr<00>method<6F>form<72>get<65>striprrrrr<00>bindrr
<00> Exception)r!r#<00> ldap_user_dn<64>server<65>connr(<00>es <20>0C:\Users\admin\client-billing\app\routes\main.py<70>loginr9s*<00><00><14>$<24>$<24><17><07> 0<>1<>2<>2<><0E>~<7E>~<7E><16><1F><1A><<3C><<3C>#<23>#<23>J<EFBFBD><02>3<>9<>9<>;<3B><08><1A><<3C><<3C>#<23>#<23>J<EFBFBD><02>3<><08><17>x<EFBFBD> <11>7<><18> B<>"<22><<3C>0<> 0<><1D>h<EFBFBD>Z<EFBFBD>'@<40>A<> <0C> ;<3B><1B>J<EFBFBD>S<EFBFBD>3<EFBFBD>?<3F>F<EFBFBD><1D>f<EFBFBD>(<28>K<>D<EFBFBD><13>y<EFBFBD>y<EFBFBD>{<7B>{<7B><1F><<3C><12>L<><04><1A>4<EFBFBD> <20><15> <09>(<28><1A>1<EFBFBD>-<2D>y<EFBFBD>9<><1F><07>(8<> 9<>:<3A>:<3A><15>0<>(<28>;<3B> <1B><<3C> (<28>(<28><> <19> ;<3B> <11>+<2B>A<EFBFBD>3<EFBFBD>/<2F><18> :<3A> :<3A><> ;<3B>s<00>8A&D7<00> D7<00>7
E<03>E<03>Ez/logoutc<00>><00>[5 [[S55$)Nz
main.login)r rr<00><00>r8<00>logoutr=7s<00><00><10>M<EFBFBD> <13>G<EFBFBD>L<EFBFBD>)<29> *<2A>*r<z /upload_excelc<00>N<00>[[RSS5 [S5$)Nz Page LoadzUpload Excel page accessedz upload.html)<04> log_activityr r!rr;r<r8<00> upload_excelr@@s"<00><00><11><1C>&<26>&<26> <0B>5Q<35>R<> <1A>=<3D> )<29>)r<z/uploadc <00>L<00>S[R;ag[RSnURS:XagU(Ga][RR [ RSUR5nURU5 [[RSSUR35 [R"USSS 9nURS
URS URS URS URSURSURSURSURSURSURSS. nUR5VVs0sH%upEU[R "U5(aSOU_M' nnn[#S40UD6n[$R&R)U5 [R"USS9nUR+[,5R/SSSS.5n/SQnUR0S[3U5:XaX<>lOUSUR0SUlSn Sn
UR75H<>up<>U S(a[-U S5OSn U SnU(aUn U n
SnOU n[9S40SUR;S5_SUS_S US!_SU_SU _S"U S"_S#U S#_S$U S$_S%U S%_S&U S&_S'U S'_S(U S(_S)U S)_S*U S*_S+U S+_S,U S,_S-U S-_S.U_S/U(dU
OS_S0U S0_6n[$R&R)U5 M<> [$R&R=5 [[RS1S2UR35 [?[AS355$gs snnf)5N<35>filez No file partr"zNo selected file<6C> UPLOAD_FOLDERz File UploadzUploaded file: <20> )<02>nrows<77>header)r<00>)rGrG)<02>rG)<02>rG)<02>rG)<02>rG)<02>rG)<02>rG)<02>rG)<02> rG)<02>
rG) <0B> name_of_work<72>cover_agreement_no<6E>name_of_contractor<6F>name_of_tpi_agency<63>name_of_division<6F>name_of_village<67>block<63> scheme_id<69>date_of_billing<6E>measurement_book<6F>districtrP)<01>skiprows)<03>nan<61>NaT<61>None)<0F> serial_number<65> task_name<6D>unit<69>qty<74>rate<74>
boq_amount<EFBFBD>previous_billed_qty<74>previous_billing_amount<6E>in_this_ra_bill_qty<74>in_this_ra_billing_amount<6E>cumulative_billed_qty<74>cumulative_billed_amount<6E> variation_qty<74>variation_amount<6E>remarkrGrar`r[<00>
block_namerW<00> village_namerVrbrcrdrerfrgrhrirjrkrlrm<00> parent_id<69>parent_task_namernzDatabase Insertz%Inserted work details and tasks from zmain.display_tasksr;)!r<00>files<65>filename<6D>os<6F>path<74>joinr<00>config<69>saver?r r!<00>pd<70>
read_excel<EFBFBD>iloc<6F>items<6D>isnarr<00>session<6F>add<64>astype<70>str<74>replace<63>shape<70>len<65>columns<6E>iterrowsrr0<00>commitrr)rB<00>filepath<74>work_details_data<74>work_details_dict<63>key<65>value<75> work_detailr*<00>expected_columns<6E>current_main_task_serial<61>current_main_task_name<6D>_<>rowrar`rq<00>tasks r8<00>uploadr<64>Ms<><00><00><0E>W<EFBFBD>]<5D>]<5D>"<22><1D> <12>=<3D>=<3D><16> <20>D<EFBFBD> <0B>}<7D>}<7D><02><1A>!<21> <0B><15>7<EFBFBD>7<EFBFBD><<3C><<3C> <0B> 2<> 2<>?<3F> C<>T<EFBFBD>]<5D>]<5D>S<><08> <0C> <09> <09>(<28><1B><14>\<5C>*<2A>*<2A>M<EFBFBD>_<EFBFBD>T<EFBFBD>]<5D>]<5D>O<EFBFBD>;\<5C>]<5D><1F>M<EFBFBD>M<EFBFBD>(<28>"<22>T<EFBFBD>J<><19>.<2E>2<>2<>4<EFBFBD>8<>"3<>"8<>"8<><14>"><3E>"3<>"8<>"8<><14>"><3E>"3<>"8<>"8<><14>"><3E> 1<> 6<> 6<>t<EFBFBD> <<3C>0<>5<>5<>d<EFBFBD>;<3B>&<26>+<2B>+<2B>D<EFBFBD>1<>*<2A>/<2F>/<2F><04>5<>0<>5<>5<>d<EFBFBD>;<3B> 1<> 6<> 6<>t<EFBFBD> <<3C>)<29>.<2E>.<2E>u<EFBFBD>5<>
<EFBFBD><19> Yj<01>Xo<58>Xo<58>Xq<58>r<>Xq<58>*<2A>#<23>S<EFBFBD>2<EFBFBD>7<EFBFBD>7<EFBFBD>5<EFBFBD>><3E>><3E>4<EFBFBD>u<EFBFBD>D<>Xq<58><19>r<> <20>5<>#4<>5<> <0B>
<EFBFBD>
<EFBFBD>
<EFBFBD><0E><0E>{<7B>#<23><12>}<7D>}<7D>X<EFBFBD><02>3<><04><13>{<7B>{<7B>3<EFBFBD><1F>'<27>'<27><04>T<EFBFBD>4<EFBFBD>(P<>Q<><04>
<EFBFBD><18> <10>:<3A>:<3A>a<EFBFBD>=<3D>C<EFBFBD> 0<>1<> 1<>+<2B>L<EFBFBD>+<2B>N<EFBFBD>T<EFBFBD>Z<EFBFBD>Z<EFBFBD><01>]<5D>;<3B>D<EFBFBD>L<EFBFBD>#'<27> <20>!%<25><1E><1A>m<EFBFBD>m<EFBFBD>o<EFBFBD>F<EFBFBD>A<EFBFBD>14<31>[<5B>1A<31><03>C<EFBFBD> <0B>,<2C>-<2D>r<EFBFBD>I<EFBFBD><1F><0F>0<>M<EFBFBD><1C>+8<>(<28>)2<>&<26> <20> <09>4<> <09><17><0E>*<2A>.<2E>.<2E>z<EFBFBD>:<3A><0E>,<2C>W<EFBFBD>5<><0E>/<2F>/@<40>A<><0E>,<2C> <0E>
$<24> <0E> <19><16>[<5B> <0E><18><05>J<EFBFBD><0E><19><16>[<5B><0E><1F>|<7C>,<2C><0E>%(<28>(=<3D>$><3E><0E>),<2C>,E<>(F<><0E>%(<28>(=<3D>$><3E><0E>+.<2E>.I<>*J<><0E>'*<2A>*A<>&B<><0E>*-<2D>-G<>)H<><0E> "<22>/<2F>2<>!<0E>""%<25>%7<>!8<>#<0E>$$<24>%<0E>&@M<01>!7<>RV<52><56>'<0E>(<1B>8<EFBFBD>}<7D>)<0E>D<EFBFBD>, <0F>J<EFBFBD>J<EFBFBD>N<EFBFBD>N<EFBFBD>4<EFBFBD> <20>C&<26>F <0B>
<EFBFBD>
<EFBFBD><19><19><1B><14>\<5C>*<2A>*<2A>,=<3D>Af<41>gk<67>gt<67>gt<67>fu<66>?v<>w<><17><07> 4<>5<>6<>6<>i <0C><>.ss<00><,N z /update_tasksc <00>l<00>[R"5nSnUR5H<>up#SU;aM URSS5upEUR 5(dM8[ U5n[ RR[5RUS9R5nU(dM<>[XtS5nX<>:wdM<>[XtU5 US- n[[R SSUR"SUSU35 M<> US:<3A>aM[ RR%5 [[R S US
35 ['S S US 305$['S S05$![(a@n [[R SS[+U 535 ['SS05S4sSn A $Sn A ff=f)Nrr<>rG)<01>idz Task UpdatezTask ID z - z changed to zDatabase Commitz task field(s) updated<65>messagezcount: z field(s) updated.zNo fields were updated.<2E>ErrorzUpdate tasks error: <20>errorz'An error occurred while updating tasks.i<>)r<00>get_jsonr}<00>rsplit<69>isdigit<69>intrr<00>queryr<00> filter_by<62>first<73>getattr<74>setattrr?r r!r<>r<>r r3r<>)
<EFBFBD>updates<65> update_countr<74><00> new_value<75>
field_name<EFBFBD> task_id_str<74>task_idr<64><00> current_valuer7s
r8<00> update_tasksr<73><00>s<><00><00>R<01><19>"<22>"<22>$<24><07><18> <0C>%<25>m<EFBFBD>m<EFBFBD>o<EFBFBD>N<EFBFBD>C<EFBFBD><12>#<23>~<7E><18>&)<29>j<EFBFBD>j<EFBFBD><13>a<EFBFBD>&8<> #<23>J<EFBFBD><1E>&<26>&<26>(<28>(<28><18><19>+<2B>&<26>G<EFBFBD><15>:<3A>:<3A>#<23>#<23>D<EFBFBD>)<29>3<>3<>w<EFBFBD>3<>?<3F>E<>E<>G<>D<EFBFBD><13>t<EFBFBD> '<27><04>$<24> ?<3F> <0A> <20>-<2D><1B>D<EFBFBD>i<EFBFBD>8<> <20>A<EFBFBD>%<25>L<EFBFBD> <20><1C>!6<>!6<> <0A><18>RV<52>RY<52>RY<52>QZ<51>Z]<5D>^h<>]i<>iu<69>v<76>vA<02>HB<02>C<02>!.<2E>$ <18>!<21> <1B> <0E>J<EFBFBD>J<EFBFBD> <1D> <1D> <1F> <18><1C>.<2E>.<2E>0A<30>l<EFBFBD>^<5E>Si<53>Cj<43> k<><1A>I<EFBFBD><17><1C><0E>>P<>'Q<>R<>S<> S<><1A>I<EFBFBD>'@<40>A<>B<> B<><42> <14>R<01><14>\<5C>*<2A>*<2A>G<EFBFBD>7K<37>C<EFBFBD>PQ<50>F<EFBFBD>8<EFBFBD>5T<35>U<><16><07>!J<>K<>L<>c<EFBFBD>Q<>Q<><51>R<01>s1<00>B-E)<00>3E)<00>BE)<00> E)<00>)
F3<03>35F.<03>(F3<03>.F3z/tasksc<00><><00>[RR[RR 55R 5nU(d[ [RSS5 g[RRURURURS9R[RR 55R5n/nSnUGH n0SUR_SUR _SUR"_SUR$_S UR&_S
UR(_S UR*_S UR,_S UR._SUR0_SUR2_SUR4_SUR6_SUR8_SUR:_SUR_nUR<(a/US'UR?U5 UnGMU(dGM USR?U5 GM# [ [RSSURSUR35 [ASXS9$)Nz
Tasks ViewzNo work details available)zNo work details available.i<>)r[rpror<>rarbrcrdrerfrgrhrirjrkrlrmrnr[<00>subtaskszDisplayed tasks for z, ztasks_display.html)<02> work_details<6C> grouped_tasks)!rr<><00>order_by<62> uploaded_at<61>descr<63>r?r r!rr<>r[rVrW<00>allr<6C>rarbrcrdrerfrgrhrirjrkrlrmrnr`<00>appendr)r<><00>tasksr<73><00>current_main_taskr<6B><00> task_datas r8<00> display_tasksr<73><00>sY<00><00><1E>#<23>#<23>,<2C>,<2C>Z<EFBFBD>-C<>-C<>-H<>-H<>-J<>K<>Q<>Q<>S<>L<EFBFBD> <17><14>\<5C>*<2A>*<2A>L<EFBFBD>:U<>V<>0<> <10>J<EFBFBD>J<EFBFBD> <20> <20><1D>&<26>&<26>!<21>1<>1<><1F>%<25>%<25> !<21> <06><0F>h<EFBFBD>t<EFBFBD><1F><1F>$<24>$<24>&<26>'<27><03><03><05> 
<EFBFBD> <17>M<EFBFBD><1C><15><15><04>
<EFBFBD> <10>$<24>'<27>'<27>
<EFBFBD> <17><14><1E><1E>
<EFBFBD> <13>D<EFBFBD>I<EFBFBD>I<EFBFBD>
<EFBFBD> <12>4<EFBFBD>8<EFBFBD>8<EFBFBD> 
<EFBFBD>
<13>D<EFBFBD>I<EFBFBD>I<EFBFBD> 
<EFBFBD> <19>$<24>/<2F>/<2F> 
<EFBFBD> "<22>4<EFBFBD>#;<3B>#;<3B>
<EFBFBD> &<26>t<EFBFBD>'C<>'C<>
<EFBFBD> "<22>4<EFBFBD>#;<3B>#;<3B>
<EFBFBD> (<28><14>)G<>)G<>
<EFBFBD> $<24>T<EFBFBD>%?<3F>%?<3F>
<EFBFBD> '<27><04>(E<>(E<>
<EFBFBD> <1C>T<EFBFBD>/<2F>/<2F>
<EFBFBD> <1F><04> 5<> 5<>
<EFBFBD> <15>d<EFBFBD>k<EFBFBD>k<EFBFBD>
<EFBFBD> <17><04> <0A> <0A>!
<EFBFBD> <09>& <10> <1D> <1D>$&<26>I<EFBFBD>j<EFBFBD> !<21> <19> <20> <20><19> +<2B> )<29> <1D> <1E> <1E> <1D>j<EFBFBD> )<29> 0<> 0<><19> ;<3B>3<16>6<11><1C>&<26>&<26> <0C>8L<38>\<5C>Mi<4D>Mi<4D>Lj<4C>jl<6A>my<6D>m<6D>m<6D>mA<02>7B<02>C<02> <1A>/<2F>l<EFBFBD> h<>hr<<00>/c<00>*<00>[RRSS5n[[R
[ 5n[[R[ 5n[RR[RRS5[RRS5[R"[[R [ 55RS5[R"[[R"[ 55RS5[R"[[R$[ 55RS5[R"[[R&[ 55RS5[R"[[R&[ 5[[R
[ 5-5RS5[R"U5RS 5[R"X-5RS
55 nU(a4S U;a.UR)[RR+U55nUR-[R[R5nUR/5n/nUH<>nUR1URURUR2=(d S S UR4=(d S UR6=(d S UR&=(d S UR8=(d S UR=(d S [;UR<=(d S S5S.
5 M<> [RR[R5R?5R/5nS /UVs/sHo<>S PM sn-n [ASXYUS9$s snf)Nzblock[]rorp<00>total_boq_amount<6E>prev_billed_amount<6E>total_variation_amountrjrkrh<00>to_be_claimed_amount<6E>Allr<00>-rH)
rorpr<>rdr<>r<>rjrkrhr<>z
index.html)<03>villages<65>blocks<6B>selected_block)!r<00>args<67>getlistrrrdrrhrrr<>ro<00>labelrpr<00>sumrergrmrj<00>filter<65>in_<6E>group_byr<79>r<>r<>r<>r<>rk<00>roundr<64><00>distinctr)
r<EFBFBD><00>rate_col<6F>qty_colr<6C>r<><00> village_data<74>villager<65>rW<00>
block_lists
r8<00> dashboardr<64>s<><00><00><1D>\<5C>\<5C>)<29>)<29>)<29>T<EFBFBD>:<3A>N<EFBFBD><13>D<EFBFBD>I<EFBFBD>I<EFBFBD>u<EFBFBD>%<25>H<EFBFBD><12>4<EFBFBD>+<2B>+<2B>U<EFBFBD>3<>G<EFBFBD> <0E>J<EFBFBD>J<EFBFBD> <1C> <1C> <0C><0F><0F><1D><1D>l<EFBFBD>+<2B> <0C><19><19><1F><1F><0E>/<2F> <0C><08><08><14>d<EFBFBD>o<EFBFBD>o<EFBFBD>u<EFBFBD>-<2D>.<2E>4<>4<>5G<35>H<> <0C><08><08><14>d<EFBFBD>2<>2<>E<EFBFBD>:<3A>;<3B>A<>A<>BV<42>W<> <0C><08><08><14>d<EFBFBD>+<2B>+<2B>U<EFBFBD>3<>4<>:<3A>:<3A>;S<>T<> <0C><08><08><14>d<EFBFBD>0<>0<>%<25>8<>9<>?<3F>?<3F>@W<>X<> <0C><08><08><14>d<EFBFBD>0<>0<>%<25>8<>4<EFBFBD><04> <09> <09>5<EFBFBD>;Q<>Q<>R<>X<>X<>Ys<59>t<> <0C><08><08><17><19><1F><1F> 5<>6<> <0C><08><08><18>#<23>$<24>*<2A>*<2A>+A<>B<>
<06>E<EFBFBD><16>%<25>~<7E>5<><15> <0C> <0C>T<EFBFBD>_<EFBFBD>_<EFBFBD>0<>0<><1E>@<40>A<><05> <11>N<EFBFBD>N<EFBFBD>4<EFBFBD>?<3F>?<3F>D<EFBFBD>,=<3D>,=<3D> ><3E>E<EFBFBD><14>y<EFBFBD>y<EFBFBD>{<7B>H<EFBFBD><15>L<EFBFBD><1B><07><14><1B><1B>!<21>,<2C>,<2C>#<23>0<>0<> '<27> 8<> 8<> =<3D>A<EFBFBD><17>")<29>"<<3C>"<<3C>"A<><01>&-<2D>&D<>&D<>&I<><01>%,<2C>%B<>%B<>%G<>a<EFBFBD>(/<2F>(H<>(H<>(M<>A<EFBFBD>#*<2A>#><3E>#><3E>#C<>!<21>$)<29>'<27>*F<>*F<>*K<>!<21>Q<EFBFBD>$O<> 
<EFBFBD> <0B><1C><10>Z<EFBFBD>Z<EFBFBD> <1D> <1D>d<EFBFBD>o<EFBFBD>o<EFBFBD> .<2E> 7<> 7<> 9<> =<3D> =<3D> ?<3F>F<EFBFBD><17><17>&<26>9<>&<26><15>!<21>H<EFBFBD>&<26>9<>9<>J<EFBFBD> <1B><<3C>,<2C>bp<62> q<>q<><71>:s<00>2Pz/generate_report_pagec<00><><00>[RR[R5R 5R 5nUVs/sHoRPM nn[RRS5nU(Ga[RR[R5R[RRS5[RU:H5R 5R 5nUVs/sH|oDRR5RSS5RSS5RSS5RSS5RSS5RSS5PM~ nnO<>[RR[R5R[RRS55R 5R 5nUVs/sH|oDRR5RSS5RSS5RSS5RSS5RSS5RSS5PM~ nn[!["R$S S
US35 ['S X0S 9$s snfs snfs snf) NrW<00>,r"<00>(<28>)<29>.<2E>&<26>
z Report Pagez'Report generation page accessed (block=ztask_report.html)<02>
main_tasksr<EFBFBD>)rrr<>rror<>r<>rr<>r0rar<>r`<00>isnotr1r<>r?r r!r)r<>rWr<>r<>r<>s r8<00>generate_report_pager<65>5s<><00><00><10>Z<EFBFBD>Z<EFBFBD> <1D> <1D>d<EFBFBD>o<EFBFBD>o<EFBFBD> .<2E> 7<> 7<> 9<> =<3D> =<3D> ?<3F>F<EFBFBD>,2<> 3<>F<EFBFBD>5<EFBFBD><1E><1E>F<EFBFBD>F<EFBFBD> 3<><1C>\<5C>\<5C>%<25>%<25>g<EFBFBD>.<2E>N<EFBFBD><15><17>Z<EFBFBD>Z<EFBFBD>%<25>%<25>d<EFBFBD>n<EFBFBD>n<EFBFBD>5<><<3C><<3C> <10> <1E> <1E> $<24> $<24>T<EFBFBD> *<2A> <10>O<EFBFBD>O<EFBFBD>~<7E> -<2D>
<EFBFBD> <13>(<28>*<2A>S<EFBFBD>S<EFBFBD>U<EFBFBD> <13>ak<02>l<02>ak<02>Y]<02>n<EFBFBD>n<EFBFBD>*<2A>*<2A>,<2C>4<>4<>S<EFBFBD>"<22>=<3D>E<>E<>c<EFBFBD>2<EFBFBD>N<>V<>V<>WZ<57>\^<5E>_<>g<>g<>hk<68>mo<6D>p<>x<>x<>y|<7C>A<02>B<02>J<02>J<02>KO<02>QS<02>T<02>ak<02>
<EFBFBD>l<02>
<EFBFBD><17>Z<EFBFBD>Z<EFBFBD>%<25>%<25>d<EFBFBD>n<EFBFBD>n<EFBFBD>5<><<3C><<3C>T<EFBFBD>=O<>=O<>=U<>=U<>VZ<56>=[<5B>\<5C>e<>e<>g<>k<>k<>m<>
<EFBFBD>ak<02>l<02>ak<02>Y]<02>n<EFBFBD>n<EFBFBD>*<2A>*<2A>,<2C>4<>4<>S<EFBFBD>"<22>=<3D>E<>E<>c<EFBFBD>2<EFBFBD>N<>V<>V<>WZ<57>\^<5E>_<>g<>g<>hk<68>mo<6D>p<>x<>x<>y|<7C>A<02>B<02>J<02>J<02>KO<02>QS<02>T<02>ak<02>
<EFBFBD>l<02><10><1C>&<26>&<26> <0A>9`<60>ao<61>`p<>pq<70>7r<37>s<> <1A>-<2D>*<2A> T<>T<><54>4<><34>l<02><>ls<00>K<04>BK <04>BKz/get_tasks_by_blockc<00><><00>[RRS5nU(d [S/05$[R
R [R5R[RU:H5R5R5nUVs/sHvnUSR5RSS5RSS5RSS5RSS5RS S5RS
S5PMx nn[[ R"S S U35 [SU05$s snf) NrWr<>rr<>r"r<>r<>r<>r<>r<>z Fetch TaskszFetched tasks for block )rr<>r0r rrr<>rrar<>ror<>r<>r1r<>r?r r!)rWr<>r<><00> task_lists r8<00>get_tasks_by_blockr<6B>Js<00><00> <14>L<EFBFBD>L<EFBFBD> <1C> <1C>W<EFBFBD> %<25>E<EFBFBD> <10><16><07><12>}<7D>%<25>%<25> <0E>J<EFBFBD>J<EFBFBD> <1C> <1C>T<EFBFBD>^<5E>^<5E> ,<2C><1D>v<EFBFBD>d<EFBFBD>o<EFBFBD>o<EFBFBD><15>6<>7<><1F>x<EFBFBD>z<EFBFBD><1A>s<EFBFBD>u<EFBFBD>
<EFBFBD>16<31> 7<> 16<31><04> <16>a<EFBFBD><17><1D><1D><1F><19>'<27>#<23>r<EFBFBD>"<22><19>'<27>#<23>r<EFBFBD>"<22><19>'<27>#<23>r<EFBFBD>"<22><19>'<27>#<23>r<EFBFBD>"<22><19>'<27>#<23>r<EFBFBD>"<22><19>'<27>$<24><02>#<23> $<24> 16<31> <0E>7<><11><1C>&<26>&<26> <0A>9Q<39>RW<52>QX<51>7Y<37>Z<> <12>G<EFBFBD>Y<EFBFBD>'<27> (<28>(<28><>7s<00>!A=E c<00>Z<00>[RR[R5R [R U:H5R5R[R5R5nUVs/sHo"S(dMUSPM sn$s snf)Nr)
rrr<>rrVr<>rWr<>r<>r<>)ror<><00>vs r8<00>get_villages_for_blockr<6B>bsv<00><00>
<EFBFBD>
<EFBFBD>
<EFBFBD><18><18><1A>3<>3<>4<> <0F><16>
<EFBFBD> <20> <20>J<EFBFBD>.<2E> /<2F> <11><18><1A> <11><18>*<2A>,<2C>,<2C> -<2D> <0C><13><15>  <0A>#<23> +<2B>(<28>Q<EFBFBD><01>d<EFBFBD>D<EFBFBD>A<EFBFBD>a<EFBFBD>D<EFBFBD>(<28> +<2B>+<2B><> +s <00> B(<04> B(z/get_villages_by_blockc<00><><00>[RRS5n[U5n[ [
R SSU35 [SU05$)NrWzFetch VillageszFetched villages for block r<>)rr<>r0r<>r?r r!r )rWr<>s r8<00>get_villages_by_blockr<6B>msO<00><00> <14>L<EFBFBD>L<EFBFBD> <1C> <1C>W<EFBFBD> %<25>E<EFBFBD>%<25>e<EFBFBD>,<2C>H<EFBFBD><10><1C>&<26>&<26>(8<><W<>X]<5D>W^<5E>:_<>`<60> <12>J<EFBFBD><08>)<29> *<2A>*r<z /filter_tasksc<00><><00>[RRS5n[RRS5n[RRS5n[RR [ R5R5Vs/sHo3SPM nnU(an[RR [ R5R[ RU:H5R5Vs/sHoUSPM nnO/nU(a<>U(a<>[RR [ R5R[ RU:H[ RU:H5R5Vs/sHowSPM nnO/n/n U(GaU(Ga<>U(Ga<>[RR [5R[ [R[ R:H5R[ RU:H[ RU:H[ RU:H5n
U
R[R R#55R%5n Sn U H<>n U R&U R(U R*U R,U R.U R0U R2U R4U R6U R8U R:U R<U R>U R@U RBS.nU RD(a/US'U RGU5 Un M<>U (dM<>U SRGU5 M<> [I[JRLSSUS US
U35 [OS U UUUUUUS 9$s snfs snfs snf) Nr[rWr<>r)r<>rarbrcrdrerfrgrhrirjrkrlrmrnr<>z Filter TaskszFiltered tasks for district=z, block=z
, village=zfilter_tasks.html)r<><00> districtsr<73>r<><00>selected_districtr<74><00>selected_village)(rr<>r0rrr<>rr[r<>rWr<>rVrrwrpr<>r<>r<>r<>r<>rarbrcrdrerfrgrhrirjrkrlrmrnr`r<>r?r r!r)r[rWr<><00>dr<64><00>br<62>r<>r<>r<>r<>r<>r<>r<>r<>s r8<00> filter_tasksr<73>us,<00><00><17>|<7C>|<7C><1F><1F>
<EFBFBD>+<2B>H<EFBFBD> <13>L<EFBFBD>L<EFBFBD> <1C> <1C>W<EFBFBD> %<25>E<EFBFBD><15>l<EFBFBD>l<EFBFBD><1E><1E>y<EFBFBD>)<29>G<EFBFBD> "<22>z<EFBFBD>z<EFBFBD>/<2F>/<2F>
<EFBFBD>0C<EFBFBD>0C<EFBFBD>D<>M<>M<>O<>P<>O<>!<21>1<EFBFBD><14>O<>I<EFBFBD>P<><10> "<22>
<EFBFBD>
<EFBFBD> 0<> 0<><1A>1A<31>1A<31> B<><19>6<EFBFBD>*<2A>-<2D>-<2D><18>9<>:<3A>8<EFBFBD>8<EFBFBD>:<3A>!F<01>G<01>!F<01>1<EFBFBD>A<EFBFBD>$<24>!F<01><06>G<01><06><14><06><10>E<EFBFBD>"$<24>*<2A>*<2A>"2<>"2<>:<3A>3M<33>3M<33>"N<><1B>V<EFBFBD>J<EFBFBD>/<2F>/<2F>8<EFBFBD>;<3B>&<26>,<2C>,<2C><05>5<>7<><1D>X<EFBFBD>Z<EFBFBD># <20>!<21># <20>Q<EFBFBD>a<EFBFBD>D<EFBFBD># <20><08>!<21><08>
<16><08><16>M<EFBFBD><10>E<EFBFBD>g<EFBFBD><13><1A><1A>!<21>!<21>$<24>'<27><16>$<24>z<EFBFBD>4<EFBFBD>#4<>#4<>
<EFBFBD>8R<EFBFBD>8R<EFBFBD>#R<>S<><18>&<26><1A>,<2C>,<2C><08>8<>#<23>)<29>)<29>U<EFBFBD>2<>#<23>3<>3<>w<EFBFBD>><3E>@<01> <0E> <16><0E><0E>t<EFBFBD>/<2F>/<2F>4<>4<>6<>7<>;<3B>;<3B>=<3D><05> <20><19><19>D<EFBFBD><1A>g<EFBFBD>g<EFBFBD>!<21>^<5E>^<5E><1C> <09> <09><1B>x<EFBFBD>x<EFBFBD><1C> <09> <09>"<22>o<EFBFBD>o<EFBFBD>'+<2B>'?<3F>'?<3F>+/<2F>+G<>+G<>'+<2B>'?<3F>'?<3F>-1<>-K<>-K<>)-<2D>)C<>)C<>,0<>,I<>,I<>!%<25>!3<>!3<>$(<28>$9<>$9<><1E>+<2B>+<2B><0E>I<EFBFBD>&<14>!<21>!<21>(*<2A> <09>*<2A>%<25><1D>$<24>$<24>Y<EFBFBD>/<2F>$-<2D>!<21>"<22>"<22>!<21>*<2A>-<2D>4<>4<>Y<EFBFBD>?<3F>3<1A>6 <15>\<5C>*<2A>*<2A>N<EFBFBD>3<>H<EFBFBD>:<3A>X<EFBFBD>e<EFBFBD>W<EFBFBD>J<EFBFBD>W^<5E>V_<56>`<60> b<01> <1B><1B>#<23><1B><15><19>"<22><1C> <20> <06> <06><>}Q<01><>G<01><>!s<00>O<04>O<04>Oc <00>|<00>[RR[RS5n[
R "5RS5n[US5nURSUSUSUSUS3 5 SSS5 g!,(df  g=f![an[S U35 SnAgSnAff=f)
N<EFBFBD> activity.log<6F>%Y-%m-%d %H:%M:%S<>az Timestamp: z | User: z | Action: z | Details: r<>zLogging failed: ) rurvrwr<00> root_pathr<00>now<6F>strftime<6D>open<65>writer3<00>print)r(<00>action<6F>details<6C>log_file<6C> timestamp<6D>fr7s r8r?r?<00>s<><00><00>&<26><15>7<EFBFBD>7<EFBFBD><<3C><<3C> <0B> 5<> 5<>~<7E>F<><08><1C>L<EFBFBD>L<EFBFBD>N<EFBFBD>+<2B>+<2B>,?<3F>@<40> <09> <11>(<28>C<EFBFBD> <20>A<EFBFBD> <0A>G<EFBFBD>G<EFBFBD>k<EFBFBD>)<29><1B>I<EFBFBD>d<EFBFBD>V<EFBFBD>;<3B>v<EFBFBD>h<EFBFBD>l<EFBFBD>[b<>Zc<5A>ce<63>f<> g<>!<21> <20> <20><> <14>&<26> <0A> <20><11><03>$<24>%<25>%<25><>&<26>s6<00>AB<00> B<03>?B<00>
B<07>B<00>B<00>
B;<03>#B6<03>6B;)rz /activity_logc <00><><00>/n[RR[RS5n[RR U5(a<>[ US5nUH<>nUR5RS5n[U5S:XdM3URUSRSS5R5USRS S5R5US
RS S5R5US RS S5R5S.5 M<> SSS5 [RRS5n[RRS5n[RRS5nUnU(dU(a<>U(a[R "US5n O[R"n U(a[R "US5n
O[R$n
UV s/sH?n U [R "U SS5s=::aU
RSSSS9::dM9O M=U PMA nn U(a8UV s/sH+o<>SR+5UR+5:XdM)U PM- nn [-SUUUUS9$!,(df  GNs=fs sn f![&an [)SU 5 Sn A N~Sn A ff=fs sn f)Nr<4E><00>rz | rJrz
Timestamp:r"rGzUser:rHzAction:rIzDetails:)r<>r(r<>r<><00>
start_date<EFBFBD>end_dater!z%Y-%m-%dr<64>r<><00><00>;)<03>hour<75>minute<74>secondzDate filter error:r(zactivity_log.html)<04>logsr<73>r<>r!)rurvrwrr<><00>existsr<73>r1<00>splitr<74>r<>r<>rr<>r0r<00>strptime<6D>min<69>maxr3r<><00>lowerr) rr<>r<><00>line<6E>partsr<73>r<>r!<00> filtered_logs<67>start_dt<64>end_dt<64>logr7s r8<00> activity_logr<00>sw<00><00> <0E>D<EFBFBD><11>w<EFBFBD>w<EFBFBD>|<7C>|<7C>K<EFBFBD>1<>1<>><3E>B<>H<EFBFBD> <09>w<EFBFBD>w<EFBFBD>~<7E>~<7E>h<EFBFBD><1F><1F> <11>(<28>C<EFBFBD> <20>A<EFBFBD><19><04><1C>
<EFBFBD>
<EFBFBD> <0C>*<2A>*<2A>5<EFBFBD>1<><05><16>u<EFBFBD>:<3A><11>?<3F><18>K<EFBFBD>K<EFBFBD>%*<2A>1<EFBFBD>X<EFBFBD>%5<>%5<>l<EFBFBD>B<EFBFBD>%G<>%M<>%M<>%O<> %<25>a<EFBFBD><08> 0<> 0<><17>"<22> =<3D> C<> C<> E<>"'<27><01>(<28>"2<>"2<>9<EFBFBD>b<EFBFBD>"A<>"G<>"G<>"I<>#(<28><11>8<EFBFBD>#3<>#3<>J<EFBFBD><02>#C<>#I<>#I<>#K<> !<16><17> <1A>!<21><19><1C><1C>!<21>!<21>,<2C>/<2F>J<EFBFBD><16>|<7C>|<7C><1F><1F>
<EFBFBD>+<2B>H<EFBFBD><16>|<7C>|<7C><1F><1F>
<EFBFBD>+<2B>H<EFBFBD><18>M<EFBFBD><12>X<EFBFBD> +<2B><19>#<23>,<2C>,<2C>Z<EFBFBD><1A>D<><08>#<23><<3C><<3C><08><17>!<21>*<2A>*<2A>8<EFBFBD>Z<EFBFBD>@<40><06>!<21><1C><1C><06> -<2D><0E>,<2C><03><1B>x<EFBFBD>0<>0<><13>[<5B>1A<31>CV<43>W<>I<02>[a<>[i<>[i<>oq<6F>z|<7C>FH<02>[i<>\I<02>I<02><14>I<02><14>}<7D> <1A><0E><10>(5<>a<> <0A><13>V<EFBFBD><1B>9J<39>9J<39>9L<39>PX<50>P^<5E>P^<5E>P`<60>9`<60><13> <0A> <0A>a<> <1A><1B> <1A><1D><19><19>  <06><06>W!<21> <20><>@<0E><><19> +<2B> <11>&<26><01> *<2A> *<2A><> +<2B><>
bsV<00>!2J!<03>BJ!<03>+A"J8<00> 8J3<04> J3<04> J3<04>J8<00> (K<04> K<04>!
J0<07>3J8<00>8
K<03> K<03>K)r")4<>flaskrrrrrrr <00> flask_loginr
r r r <00>
sqlalchemyrrr<00>
app.modelsrr<00>pandasrz<00>werkzeug.securityrru<00>apprrrrr<00>ldap3rrr<00>__name__r<00>router9r=r@r<>r<>r<>r<>r<>r<>r<>r<>r<>r?rr;r<r8<00><module>rsE<00><01>W<>W<>W<>M<>M<>(<28>(<28>&<26><13>4<> <09><18><1D><1D><12><1B>)<29>)<29><10><16><18>"<22><04><05><1A><1A>H<EFBFBD>u<EFBFBD>f<EFBFBD>o<EFBFBD><1A>.<2E>!)<29>/<2F>!)<29>J<06><1A><1A>I<EFBFBD><16><0F>+<2B><10><17>+<2B><06><1A><1A>O<EFBFBD><1C><0F>*<2A><10><1D>*<2A><06><1A><1A>I<EFBFBD><06>x<EFBFBD><1A>(<28><0F>Z7<><10>)<29>Z7<>|<06><1A><1A>O<EFBFBD>f<EFBFBD>X<EFBFBD><1A>.<2E><0F> R<01><10>/<2F> R<01>H<06><1A><1A>H<EFBFBD><15><0F>,i<01><10><16>,i<01>^<06><1A><1A>C<EFBFBD><1F><0F>+r<01><10><11>+r<01>\<06><1A><1A> #<23>$<24><0F>U<01><10>%<25>U<01>&<06><1A><1A> !<21>"<22><0F>)<29><10>#<23>)<29>,,<2C><06><1A><1A> $<24>u<EFBFBD>g<EFBFBD><1A>6<><0F>+<2B><10>7<>+<2B> <06><1A><1A>O<EFBFBD>e<EFBFBD>W<EFBFBD><1A>-<2D><0F>M<06><10>.<2E>M<06>d&<26><1A><1D><05><1A><1A>O<EFBFBD>e<EFBFBD>V<EFBFBD>_<EFBFBD><1A>5<><0F>6<06><10>6<>6r<