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

125 lines
13 KiB
Plaintext
Raw Normal View History

2026-04-15 10:32:46 +05:30
a
ǭ<>h<EFBFBD>O<00>@s0ddlmZmZmZmZmZmZmZddlm Z m
Z
m Z m Z ddl mZmZmZddlmZmZddlZddlmZddlZddlmZddlmZdd lmZdd
lmZdd lmZdd lm Z m!Z!m"Z"ed e#<23>Z$e$j%dddgd<11>dd<13><00>Z&e$<24>%d<14>e dd<16><00><01>Z'e$<24>%d<17>e dd<19><00><01>Z(e$j%ddgd<11>e dd<1C><00><01>Z)e$j%ddgd<11>e dd<1F><00><01>Z*e$<24>%d <20>e d!d"<22><00><01>Z+e$<24>%d#<23>e d$d%<25><00><01>Z,e$<24>%d&<26>e d'd(<28><00><01>Z-e$<24>%d)<29>e d*d+<2B><00><01>Z.d,d-<2D>Z/e$j%d.dgd<11>e d/d0<64><00><01>Z0e$j%d1dgd<11>e d2d3<64><00><01>Z1d;d5d6<64>Z2dd7lmZdd lmZe$j%d8ddgd<11>e d9d:<3A><00><01>Z3dS)<<3C>)<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
Cs<>tjrttd<01><01>Stjdkr<>tj<06>dd<04><02><08>}tj<06>dd<04>}|rD|sVt dd<07>t
d<08>Sd |<00>d
<EFBFBD>}zVt d d t d <0A>}t |||dd<0F>}|jr<>t||id<10>}t|<05>ttd<01><01>WSt dd<07>Wn4ty<>}zt d|<06><00>d<07>WYd}~n
d}~00t
d<08>S)Nzmain.dashboardr<00>username<6D><00>passwordz#Username and password are required.Zdangerz
login.htmlzuid=z,ou=users,dc=lcepl,dc=org<72>openldapi<70>)<02>port<72>get_infoT)<03>userr!<00> auto_bind)<03>dnr<00>datazInvalid LDAP credentialsz LDAP error: )r <00>is_authenticatedrrr<00>method<6F>form<72>get<65>striprrrrr<00>boundrr <00> Exception)rr!Z ldap_user_dn<64>server<65>connr%<00>e<>r3<00>/app/app/routes/main.py<70>logins( 

 &r5z/logoutcCst<00>ttd<01><01>S)Nz
main.login)r
rrr3r3r3r4<00>logout4sr6z /upload_excelcCsttjdd<02>td<03>S)Nz Page LoadzUpload Excel page accessedz upload.html)<04> log_activityr rrr3r3r3r4<00> upload_excel=sr8z/uploadcCshdtjvrdStjd}|jdkr&dS|<00>rdtj<04>tjd|j<02>}|<00>|<01>t t
j dd|j<02><00><02>t j |ddd <09>}|jd
|jd |jd |jd |jd|jd|jd|jd|jd|jd|jdd<15> }dd<17>|<03><0F>D<00>}tfi|<03><01>}tj<12>|<04>t j |dd<19>}|<05>t<15><01>dddd<1A><03>}gd<1B>}|jdt|<06>k<02>rF||_n|d|jd<00>|_d}d}|<05><1A>D]<5D>\} }
|
d<00>r<>t|
d<00>nd} |
d} | <0C>r<>| }| }d} n|} t|<03>d<1F>|d |d!| | |
d"|
d#|
d$|
d%|
d&|
d'|
d(|
d)|
d*|
d+|
d,|
d-| | <0C>s|nd|
d.d/<2F>}tj<12>|<0E><00>qjtj<12><1D>t t
j d0d1|j<02><00><02>ttd2<64><01>SdS)3N<33>filez No file partr zNo selected file<6C> UPLOAD_FOLDERz File UploadzUploaded file: <20> )Znrows<77>header)r<00>)r=r=)<02>r=)<02>r=)<02>r=)<02>r=)<02>r=)<02>r=)<02>r=)<02> r=)<02>
r=) Z name_of_workZcover_agreement_noZname_of_contractorZname_of_tpi_agencyZname_of_division<6F>name_of_village<67>blockZ scheme_idZdate_of_billingZmeasurement_book<6F>districtcSs$i|]\}}|t<00>|<02>rdn|<02>qS)N)<02>pdZisna)<03>.0<EFBFBD>key<65>valuer3r3r4<00>
<dictcomp>i<00>zupload.<locals>.<dictcomp>rF)Zskiprows)<03>nanZNaT<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>remarkr=rSrRrIrHrGrTrUrVrWrXrYrZr[r\r]r^r_r`)rI<00>
block_name<EFBFBD> village_namerRrSrTrUrVrWrXrYrZr[r\r]r^r_<00> parent_idZparent_task_namer`zDatabase Insertz%Inserted work details and tasks from zmain.display_tasks) r<00>files<65>filename<6D>os<6F>path<74>joinr<00>config<69>saver7r rrJZ
read_excelZiloc<6F>itemsrr<00>session<6F>addZastype<70>str<74>replace<63>shape<70>len<65>columns<6E>iterrowsrr,<00>commitrr)r9<00>filepathZwork_details_dataZwork_details_dictZ work_detailr(Zexpected_columnsZcurrent_main_task_serialZcurrent_main_task_name<6D>_<>rowrSrRrc<00>taskr3r3r4<00>uploadJs<>



<08>  <06>
ryz /update_tasksc
CsT<00>z<>t<00><01>}d}|<00><02>D]<5D>\}}d|vr*q|<02>dd<03>\}}|<05><04>sDqt|<05>}tj<07>t <09>j
|d<04><01> <0B>}|rt ||d<00>}||krt |||<03>|d7}ttjdd|j<11>d|<04>d|<03><00><06>q|dkr<>tj<07><12>ttjd |<01>d
<EFBFBD><02>td d |<01>d <0A>i<01>WStd di<01>WSWnNt<14>yN} z4ttjddt| <09><01><00><02>tddi<01>dfWYd} ~ Sd} ~ 00dS)Nrrvr=)<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_jsonrk<00>rsplit<69>isdigit<69>intrrl<00>queryr<00> filter_by<62>first<73>getattr<74>setattrr7r rrzrtrr/rn)
ZupdatesZ update_countrL<00> new_value<75>
field_nameZ task_id_strZtask_idrx<00> current_valuer2r3r3r4<00> update_tasks<6B>s2  $
r<>z/taskscCstj<01>tj<03><04><00><01><05>}|s,ttjdd<02>dSt jj
|j |j |j d<04><03>t j<03><04><00><01><0E>}g}d}|D]z}|j|j|j|j|j|j|j|j|j|j|j|j|j|j|j|j d<05>}|jr<>g|d<|<02>|<05>|}q`|r`|d<00>|<05>q`ttjdd|j <0C>d|j <0A><00><04>t d ||d
<EFBFBD>S) Nz
Tasks ViewzNo work details available)zNo work details available.i<>)rIrbra)rzrSrTrUrVrWrXrYrZr[r\r]r^r_r`rI<00>subtaskszDisplayed tasks for z, ztasks_display.html)<02> work_details<6C> grouped_tasks)!rr<><00>order_by<62> uploaded_at<61>descr<63>r7r rrr<>rIrGrH<00>allrzrSrTrUrVrWrXrYrZr[r\r]r^r_r`rR<00>appendr)r<><00>tasksr<73><00>current_main_taskrx<00> task_datar3r3r4<00> display_tasks<6B>sN<04><08><04>
r<><00>/c Cs<>tj<01>dd<00>}ttjt<06>}ttjt<06>}tj <09>
tj <0B> d<02>tj <0A> d<03>t<0E>ttjt<06><02><01> d<04>t<0E>ttjt<06><02><01> d<05>t<0E>ttjt<06><02><01> d<06>t<0E>ttjt<06><02><01> d<07>t<0E>ttjt<06>ttjt<06><00><01> d<08>t<0E>|<02><01> d <09>t<0E>||<00><01> d
<EFBFBD><01> }|r<>d |vr<>|<03>tj <0B>|<00><01>}|<03>tj tj <0A>}|<03><17>}g}|D]h}|<05>|j |j |j<19>p6d d |j<1A>pBd |j<1B>pLd |j<13>pVd |j<1C>p`d |j<07>pjd t|j<1E>pvd d<0E>d<0F>
<EFBFBD><00>qtj <09>
tj <0B><01><1F><00><17>}d gdd<11>|D<00>}t d|||d<13>S)Nzblock[]rarb<00>total_boq_amount<6E>prev_billed_amount<6E>total_variation_amountr\r]rZ<00>to_be_claimed_amount<6E>Allr<00>-r>)
rarbr<>rVr<>r<>r\r]rZr<>cSsg|] }|d<00>qS<00>rr3<00>rKrHr3r3r4<00>
<listcomp>,rOzdashboard.<locals>.<listcomp>z
index.html)<03>villages<65>blocks<6B>selected_block)!r<00>args<67>getlistrrrVrrZrrlr<>ra<00>labelrbr <00>sumrWrYr_r\<00>filter<65>in_<6E>group_byr<79>r<>r<>r<>r<>r]<00>roundr<64><00>distinctr) r<>Zrate_colZqty_colr<6C>r<>Z village_data<74>villager<65>Z
block_listr3r3r4<00> dashboardsF  

"<12> 





<10> r<>z/generate_report_pagecCs<>tj<01>tj<04><01><05><00><06>}dd<02>|D<00>}tj<08> d<03>}|rptj<01>tj
<EFBFBD><01> tj <0C> d<00>tj|k<02><02><05><00><06>}dd<02>|D<00>}n2tj<01>tj
<EFBFBD><01> tj <0C> d<00><01><01><05><00><06>}dd<02>|D<00>}ttjdd|<01>d<08><03>td ||d
<EFBFBD>S) NcSsg|]
}|j<00>qSr3)rar<>r3r3r4r<>6rOz(generate_report_page.<locals>.<listcomp>rHcSsFg|]>}|j<00><01><00>dd<01><02>dd<01><02>dd<01><02>dd<01><02>dd<01><02>dd<01><02>qS<00><07>,r <00>(<28>)<29>.<2E>&<26>
<EFBFBD>rSr-ro<00>rKrxr3r3r4r<>>rOcSsFg|]>}|j<00><01><00>dd<01><02>dd<01><02>dd<01><02>dd<01><02>dd<01><02>dd<01><02>qSr<>r<>r<>r3r3r4r<>ArOz Report Pagez'Report generation page accessed (block=r<>ztask_report.html)<02>
main_tasksr<EFBFBD>)rrlr<>rrar<>r<>rr<>r,rSr<>rR<00>isnotr7r rr)r<>r<>r<>r3r3r4<00>generate_report_page2s 
<08> $r<>z/get_tasks_by_blockcCsltj<01>d<01>}|stdgi<01>Stj<05>tj<08><01> tj
|k<02><01> <0B><00> <0C>}dd<04>|D<00>}t tjdd|<00><00><02>td|i<01>S)NrHr<>cSsHg|]@}|d<00><00><00>dd<02><02>dd<02><02>dd<02><02>dd<02><02>dd<02><02>dd<02><02>qS)rr<>r r<>r<>r<>r<>r<>)r-ror<>r3r3r4r<>Ss<02> <04><04><04><04><04><04>z&get_tasks_by_block.<locals>.<listcomp>z Fetch TaskszFetched tasks for block )rr<>r,rrrlr<>rrSr<>rar<>r<>r7r r)rHr<>Z task_listr3r3r4<00>get_tasks_by_blockGs  <08> <02>r<>cCs8tj<01>tj<04><01>tj|k<02><01><07><00>tj<04><01> <09>}dd<02>|D<00>S)NcSsg|]}|dr|d<00>qSr<>r3<00>rK<00>vr3r3r4r<>grOz*get_villages_for_block.<locals>.<listcomp>)
rrlr<>rrGr<>rHr<>r<>r<>)rar<>r3r3r4<00>get_villages_for_block_s<08><04><06>r<>z/get_villages_by_blockcCs4tj<01>d<01>}t|<00>}ttjdd|<00><00><02>td|i<01>S)NrHzFetch VillageszFetched villages for block r<>)rr<>r,r<>r7r rr)rHr<>r3r3r4<00>get_villages_by_blockjs r<>z /filter_tasksc Cs<>tj<01>d<01>}tj<01>d<02>}tj<01>d<03>}dd<05>tj<04>tj<07><01><08>D<00>}|rndd<05>tj<04>tj <09><01>
tj|k<02><01><08>D<00>}ng}|r<>|r<>dd<05>tj<04>tj <0B><01>
tj|ktj |k<02><02><08>D<00>}ng}g}|<00>r<>|<01>r<>|<02>r<>tj<04>t <0C><01> tt jtj k<02><02>
tj|ktj |ktj |k<02>}|<07>t j<10><11><00><01><12>}d} |D]|}
|
j|
j|
j|
j|
j|
j|
j|
j|
j|
j|
j|
j|
j|
j |
j!d<08>} |
j"<22>r<>g| d <|<06>#| <0B>| } n| <09>r| d <00>#| <0B><00>qt$t%j&d
d |<00>d |<01>d |<02><00><06>t'd|||||||d<0F>S)NrIrHr<>cSsg|] }|d<00>qSr<>r3)rK<00>dr3r3r4r<>zrOz filter_tasks.<locals>.<listcomp>cSsg|] }|d<00>qSr<>r3)rK<00>br3r3r4r<>~rOcSsg|] }|d<00>qSr<>r3r<>r3r3r4r<><00>rO)rzrSrTrUrVrWrXrYrZr[r\r]r^r_r`r<>z Filter TaskszFiltered tasks for district=z, block=z
, village=zfilter_tasks.html)r<><00> districtsr<73>r<>Zselected_districtr<74>Zselected_village)(rr<>r,rrlr<>rrIr<>rHr<>rGrrhrbr<>r<>r<>r<>rzrSrTrUrVrWrXrYrZr[r\r]r^r_r`rRr<>r7r rr) rIrHr<>r<>r<>r<>r<>r<>r<>r<>rxr<>r3r3r4<00> filter_tasksrs|   <08><08>  <0C><08><04>
<14><02>r<EFBFBD>r c Cs<>zptj<01>tjd<01>}t<05><06><00>d<02>}t|d<03><02>4}|<05> d|<04>d|<00>d|<01>d|<02>d<08> <09>Wd<00>n1sd0YWn2t
y<EFBFBD>}zt d |<06><00><02>WYd}~n
d}~00dS)
N<EFBFBD> activity.log<6F>%Y-%m-%d %H:%M:%S<>az Timestamp: z | User: z | Action: z | Details: r<>zLogging failed: ) rfrgrhr<00> root_pathr<00>now<6F>strftime<6D>open<65>writer/<00>print)r%<00>action<6F>details<6C>log_file<6C> timestamp<6D>fr2r3r3r4r7<00>s Fr7)rz /activity_logc s<>g}tj<01>tjd<01>}tj<01>|<01>r<>t|d<02><02><>}|D]r}|<03><07><00>d<03>}t |<04>dkr0|<00>
|d<00> dd<07><02><07>|d<00> d d<07><02><07>|d
<00> d d<07><02><07>|d <00> d d<07><02><07>d<0E><04>q0Wd<00>n1s<>0Yt j <0A>d<0F>}t j <0A>d<10>}t j <0A>d<11><01>|}|s<>|<06>rrzL|<05>r
t<0F>|d<12><02>ntj<11>|<06>r$t<0F>|d<12><02>ntj<12><00><00>fdd<14>|D<00>}Wn0t<13>yp}ztd|<08>WYd}~n
d}~00<00><02>r<><72>fdd<14>|D<00>}td|||<06>d<18>S)Nr<4E><00>rz | r@rz
Timestamp:r r=zUser:r>zAction:r?zDetails:)r<>r%r<>r<><00>
start_date<EFBFBD>end_daterz%Y-%m-%dcs@g|]8}<01>t<00>|dd<01>kr4<72>jdddd<04>krnq|<01>qS)r<>r<><00><00>;)<03>hour<75>minute<74>second)r<00>strptimero<00>rK<00>log)<02>end_dt<64>start_dtr3r4r<><00>s0<>z activity_log.<locals>.<listcomp>zDate filter error:cs$g|]}|d<00><00><00><00><00>kr|<01>qS)r%)<01>lowerr<72>)rr3r4r<>rOzactivity_log.html)<04>logsr<73>r<>r)rfrgrhrr<><00>existsr<73>r-<00>splitrqr<>rorr<>r,rr<><00>min<69>maxr/r<>r) r<>r<>r<><00>line<6E>partsr<73>r<>Z filtered_logsr2r3)r<>r<>rr4<00> activity_log<6F>sN   <12>(   
 <02>
 <02>r<EFBFBD>)r )4<>flaskrrrrrrr<00> flask_loginr r
r r <00>
sqlalchemyr rrZ
app.modelsrrZpandasrJZwerkzeug.securityrrf<00>apprrrrr<00>ldap3rrr<00>__name__r<00>router5r6r8ryr<>r<>r<>r<>r<>r<>r<>r<>r7r<>r3r3r3r4<00><module>sh$      

!   ^ $ / .     R