Files
ups-infra/ups_management/ups_manager/__pycache__/views.cpython-311.pyc

76 lines
18 KiB
Plaintext
Raw Normal View History

2026-04-28 17:11:19 +08:00
<EFBFBD>
h<>
j<EFBFBD>,<00><00><00>ddlZddlmZmZddlmZmZmZmZddl m
Z
ddl m Z ddl mZmZmZmZmZddlmZmZeje<17><00>ZGd <09>d
e<05><00>ZGd <0B>d e<05><00>ZGd <0A>de<06><00>ZGd<0F>de<07><00>ZGd<11>de<08><00>ZGd<13>de<05><00>ZGd<15>de<06><00>ZGd<17>de<07><00>Z Gd<19>de<08><00>Z!Gd<1B>de<05><00>Z"Gd<1D>de<06><00>Z#Gd<1F>d e<07><00>Z$Gd!<21>d"e<08><00>Z%Gd#<23>d$e<05><00>Z&Gd%<25>d&e<06><00>Z'Gd'<27>d(e<07><00>Z(Gd)<29>d*e<08><00>Z)Gd+<2B>d,e<05><00>Z*Gd-<2D>d.e<06><00>Z+Gd/<2F>d0e<06><00>Z,Gd1<64>d2e<07><00>Z-Gd3<64>d4e<08><00>Z.dS)5<>N)<02>render<65>redirect)<04>ListView<65>
2026-04-28 17:11:19 +08:00
CreateView<EFBFBD>
UpdateView<EFBFBD>
DeleteView)<01> reverse_lazy)<01>messages<65>)<05>UPSHost<73>Battery<72>Contact<63>Supplier<65>MaintenanceRecord)<02>BatteryFormSet<65> UPSHostFormc<00>,<00><00>eZdZdZdZd<03>Z<05>fd<04>Z<06>xZS)<05> DashboardViewzups_manager/index.html<6D>dashboard_datac<00><00>dS)N<>)<01>selfs <20>9H:\selftool\ups-infra\ups_management\ups_manager\views.py<70> get_querysetzDashboardView.get_querysets<00><00><13>t<EFBFBD>c <00>
2026-04-28 17:11:19 +08:00
<00><01>t<00><00>jdi|<01><01>}tj<00><00><00>|d<t
j<00><00><00>|d<t j<00><00><00>|d<tj<00><00><00>|d<tj<00><00><00>|d<tj<00> d<06><00>dd<07>|d<t
j<00> d <09><00>dd<07>|d
<g}tj<00>
d <0B><00><00> <00><00>D]<5D>}|j <00> <00><00>}|rL|D]H}|<03> |j|j|j|j|j|j|j|jd <0C><08><00><00>I<EFBFBD>i|<03> |j|j|jd |jd d d d <0C><08><00><00><>||d<i}tj<00> <00><00>D]<5D>}|j|vrdddgd<10>||j<||jdxx|jz cc<||jd<00> |j<00>d|j<00><00><03><00>|j <00> <00><00>D]J}||jdxx|jz cc<||jdxx|j|jzz cc<<00>K<EFBFBD><4B>t'|<07><00><00>d<14><00><15><00>|d<|S)N<> ups_count<6E> battery_count<6E> contact_count<6E>supplier_count<6E>maintenance_count<6E>-maintenance_date<74><00>recent_maintenances<65> -created_at<61>recent_batteries<65> battery_set)<08> ups_brand<6E> ups_model<65> ups_quantity<74> battery_brand<6E>battery_location<6F> battery_model<65>battery_weight<68>battery_quantity<74>-<2D>ups_with_batteriesr)rr<00> total_weight<68>
ups_modelsr3<00> r2c<00><00>|dS)Nrr)<01>xs r<00><lambda>z0DashboardView.get_context_data.<locals>.<lambda>Is <00><00>a<EFBFBD>PQ<50>d<EFBFBD>r)<01>key<65>location_summaryr)<15>super<65>get_context_datar <00>objects<74>countr rrr<00>order_by<62>prefetch_related<65>allr'<00>append<6E>brand<6E>model<65>quantity<74>location<6F>weight<68>sorted<65>items) r<00>kwargs<67>contextr1<00>ups<70> batteries<65>battery<72> locations<6E> __class__s <20>rr;zDashboardView.get_context_datas><00><><00>*<2A>%<25>'<27>'<27>*<2A>4<>4<>V<EFBFBD>4<>4<><07>&<26><EFBFBD>4<>4<>6<>6<><07> <0B><1C>#*<2A>?<3F>#8<>#8<>#:<3A>#:<3A><07><0F> <20>#*<2A>?<3F>#8<>#8<>#:<3A>#:<3A><07><0F> <20>$,<2C>$4<>$:<3A>$:<3A>$<<3C>$<<3C><07> <20>!<21>'8<>'@<40>'F<>'F<>'H<>'H<><07>#<23>$<24>):<3A>)B<>)K<>)K<>L_<4C>)`<60>)`<60>ac<61>bc<62>ac<61>)d<><07>%<25>&<26>&-<2D>o<EFBFBD>&><3E>&><3E>}<7D>&M<>&M<>b<EFBFBD>q<EFBFBD>b<EFBFBD>&Q<><07>"<22>#<23><1F><1A><1A>?<3F>3<>3<>M<EFBFBD>B<>B<>F<>F<>H<>H<> <13> <13>C<EFBFBD><1B><0F>+<2B>+<2B>-<2D>-<2D>I<EFBFBD><18> <13>(<28>
2026-04-28 17:11:19 +08:00
<17>
<17>G<EFBFBD>&<26>-<2D>-<2D>%(<28>Y<EFBFBD>%(<28>Y<EFBFBD>(+<2B> <0C>)0<><1D>,3<>,<<3C>)0<><1D>*1<>.<2E>,3<>,<<3C> /<16> /<16> <17> <17> <17> <17>
<17>#<23>)<29>)<29>!$<24><19>!$<24><19>$'<27>L<EFBFBD>%(<28>(+<2B> <0C>%(<28>&)<29>(+<2B> +<12> +<12> <13> <13> <13> <13>);<3B><07>$<24>%<25><16> <09><1A>?<3F>&<26>&<26>(<28>(<28> ]<01> ]<01>C<EFBFBD><12>|<7C>9<EFBFBD>,<2C>,<2C>!"<22>%&<26>$%<25>"$<24> +<12>+<12> <09>#<23>,<2C>'<27> <16>c<EFBFBD>l<EFBFBD> #<23>K<EFBFBD> 0<> 0<> 0<>C<EFBFBD>L<EFBFBD> @<40> 0<> 0<> 0<> <15>c<EFBFBD>l<EFBFBD> #<23>L<EFBFBD> 1<> 8<> 8<>C<EFBFBD>I<EFBFBD>9S<39>9S<39><03> <09>9S<39>9S<39> T<> T<> T<><1E>?<3F>.<2E>.<2E>0<>0<> ]<01> ]<01><07><19>#<23>,<2C>'<27><0F>8<>8<>8<>G<EFBFBD><L<>L<>8<>8<>8<><19>#<23>,<2C>'<27><0E>7<>7<>7<>7<EFBFBD>><3E>G<EFBFBD>L\<5C>;\<5C>\<5C>7<>7<>7<>7<> ]<01>'-<2D>Y<EFBFBD>_<EFBFBD>_<EFBFBD>-><3E>-><3E>N<EFBFBD>N<EFBFBD>&S<>&S<>&S<><07>"<22>#<23><16>r)<08>__name__<5F>
__module__<EFBFBD> __qualname__<5F> template_name<6D>context_object_namerr;<00> __classcell__<5F>rOs@rrr sR<00><><00><00><00><00><00>,<2C>M<EFBFBD>*<2A><17><14><14><14>7<17>7<17>7<17>7<17>7<17>7<17>7<17>7<17>7rrc<00>.<00><00>eZdZeZdZdZdZ<07>fd<04>Z<08>xZ S)<05>UPSHostListViewzups_manager/ups_list.html<6D>ups_list<73>
c<00>L<00><01>t<00><00><00><00><00><00>d<01><00>}|jj<00>d<02><00>}|jj<00>d<03><00>}|jj<00>d<04><00>}|jj<00>d<05><00>}|r|<01>|<02><06><00>}|r|<01>|<03><07><00>}|r|<01>|<04><08><00>}|r|<01>|<05> <09><00>}|<01>d
<EFBFBD><00>S) Nr'rBrCrE<00>contact<63><01>brand__icontains<6E><01>model__icontains<6E><01>location__icontains)<01>contact__name__icontainsr%)r:rr?<00>request<73>GET<45>get<65>filterr>)r<00>querysetrBrCrEr\rOs <20>rrzUPSHostListView.get_querysetSs<00><><00><18>7<EFBFBD>7<EFBFBD>'<27>'<27>)<29>)<29>:<3A>:<3A>=<3D>I<>I<><08><14> <0C> <20>$<24>$<24>W<EFBFBD>-<2D>-<2D><05><14> <0C> <20>$<24>$<24>W<EFBFBD>-<2D>-<2D><05><17><<3C>#<23>'<27>'<27>
<EFBFBD>3<>3<><08><16>,<2C>"<22>&<26>&<26>y<EFBFBD>1<>1<><07> <10> ?<3F><1F><EFBFBD><EFBFBD><05><EFBFBD>><3E>><3E>H<EFBFBD> <10> ?<3F><1F><EFBFBD><EFBFBD><05><EFBFBD>><3E>><3E>H<EFBFBD> <13> E<01><1F><EFBFBD><EFBFBD>8<EFBFBD><EFBFBD>D<>D<>H<EFBFBD> <12> I<01><1F><EFBFBD><EFBFBD><07><EFBFBD>H<>H<>H<EFBFBD><17> <20> <20><1D>/<2F>/<2F>/r)
rPrQrRr rCrSrT<00> paginate_byrrUrVs@rrXrXMsM<00><><00><00><00><00><00> <13>E<EFBFBD>/<2F>M<EFBFBD>$<24><17><14>K<EFBFBD>0<>0<>0<>0<>0<>0<>0<>0<>0rrXc<00>0<00>eZdZeZdZeZed<02><00>Z dS)<04>UPSHostCreateView<65>ups_manager/ups_form.htmlrYN)
rPrQrRr rCrSr<00>
form_classr <00> success_urlrrrrkrkfs,<00><00><00><00><00><00> <13>E<EFBFBD>/<2F>M<EFBFBD><1C>J<EFBFBD><1E>,<2C>z<EFBFBD>*<2A>*<2A>K<EFBFBD>K<EFBFBD>Krrkc<00>P<00><00>eZdZeZdZeZed<02><00>Z <09>fd<03>Z
d<04>Z <0B>fd<05>Z <0C>xZ S)<06>UPSHostUpdateViewrlrYc <00><><00><01>t<00><00>jdi|<01><01>}|jjr$t |jj|j<00><01><00>|d<nt |j<00><01><00>|d<|S)N<><01>instance<63>battery_formsetr)r:r;rd<00>POSTr<00>object)rrIrJrOs <20>rr;z"UPSHostUpdateView.get_context_datassn<00><><00>*<2A>%<25>'<27>'<27>*<2A>4<>4<>V<EFBFBD>4<>4<><07> <0F><<3C> <1C> N<01>)7<><04> <0C>8I<38>TX<54>T_<54>)`<60>)`<60>)`<60>G<EFBFBD>%<25> &<26> &<26>)7<><14><1B>)M<>)M<>)M<>G<EFBFBD>%<25> &<26><16>rc<00>4<00>t<00>d|jj<00><00><02><00>t<00>d|j<00><00><02><00>t<00>d|j<00>d<04><00><00><00><02><00>|<01><00><00>|_|jjrHt|jj|j<00><05><00>}|<02> <00><00>r|<02><00><00>tj |jd<06><00>t|j <00><00>S)Nz POST data: z Form data: zlast_maintenance_date value: <20>last_maintenance_daterru!UPS主机和电池信息已更新)<0E>logger<65>infordru<00> cleaned_datarf<00>savervr<00>is_validr
<00>successrrn)r<00>formrts r<00>
form_validzUPSHostUpdateView.form_valid{s<><00><00><0E> <0B> <0B>5<>$<24>,<2C>"3<>5<>5<>6<>6<>6<><0E> <0B> <0B>5<>$<24>"3<>5<>5<>6<>6<>6<><0E> <0B> <0B>d<>D<EFBFBD>4E<34>4I<34>4I<34>Ja<4A>4b<34>4b<34>d<>d<>e<>e<>e<><1A>i<EFBFBD>i<EFBFBD>k<EFBFBD>k<EFBFBD><04> <0B> <0F><<3C> <1C> '<27>,<2C>T<EFBFBD>\<5C>-><3E><14><1B>U<>U<>U<>O<EFBFBD><1E>'<27>'<27>)<29>)<29> '<27><1F>$<24>$<24>&<26>&<26>&<26><10><18><14><1C>'J<>K<>K<>K<><17><04>(<28>)<29>)<29>)rc<00><><00><01>t<00>d|j<00><00><02><00>t<00><00><00>|<01><00>S)Nz Form errors: )ry<00>error<6F>errorsr:<00> form_invalid<69>rrrOs <20>rr<>zUPSHostUpdateView.form_invalid<69>s8<00><><00><0E> <0C> <0C>2<>T<EFBFBD>[<5B>2<>2<>3<>3<>3<><14>w<EFBFBD>w<EFBFBD>#<23>#<23>D<EFBFBD>)<29>)<29>)r)rPrQrRr rCrSrrmr rnr;r<>r<>rUrVs@rrprpms~<00><><00><00><00><00><00> <13>E<EFBFBD>/<2F>M<EFBFBD><1C>J<EFBFBD><1E>,<2C>z<EFBFBD>*<2A>*<2A>K<EFBFBD><17><17><17><17><17> *<2A> *<2A> *<2A>*<2A>*<2A>*<2A>*<2A>*<2A>*<2A>*<2A>*<2A>*rrpc<00>,<00>eZdZeZdZed<02><00>ZdS)<04>UPSHostDeleteViewz#ups_manager/ups_confirm_delete.htmlrYN)rPrQrRr rCrSr rnrrrr<>r<><00>s'<00><00><00><00><00><00> <13>E<EFBFBD>9<>M<EFBFBD><1E>,<2C>z<EFBFBD>*<2A>*<2A>K<EFBFBD>K<EFBFBD>Krr<>c<00>.<00><00>eZdZeZdZdZdZ<07>fd<04>Z<08>xZ S)<05>BatteryListViewzups_manager/battery_list.html<6D> battery_listrZc<00><><00><01>t<00><00><00><00><00>}|jj<00>d<01><00>}|jj<00>d<02><00>}|jj<00>d<03><00>}|r|<01>|<02><04><00>}|r|<01>|<03><05><00>}|r|<01>|<04><06><00>}|<01>d<07><00>S)NrCrBrEr_r]rar%<00>r:rrdrerfrgr>)rrhrCrBrErOs <20>rrzBatteryListView.get_queryset<65>s<><00><><00><18>7<EFBFBD>7<EFBFBD>'<27>'<27>)<29>)<29><08><14> <0C> <20>$<24>$<24>W<EFBFBD>-<2D>-<2D><05><14> <0C> <20>$<24>$<24>W<EFBFBD>-<2D>-<2D><05><17><<3C>#<23>'<27>'<27>
<EFBFBD>3<>3<><08> <10> ?<3F><1F><EFBFBD><EFBFBD><05><EFBFBD>><3E>><3E>H<EFBFBD> <10> ?<3F><1F><EFBFBD><EFBFBD><05><EFBFBD>><3E>><3E>H<EFBFBD> <13> E<01><1F><EFBFBD><EFBFBD>8<EFBFBD><EFBFBD>D<>D<>H<EFBFBD><17> <20> <20><1D>/<2F>/<2F>/r)
rPrQrRr rCrSrTrirrUrVs@rr<>r<><00>sM<00><><00><00><00><00><00> <13>E<EFBFBD>3<>M<EFBFBD>(<28><17><14>K<EFBFBD> 0<> 0<> 0<> 0<> 0<> 0<> 0<> 0<> 0rr<>c<00>4<00>eZdZeZdZgd<02>Zed<03><00>ZdS)<05>BatteryCreateView<65>ups_manager/battery_form.html<6D>rBrCrFrDrE<00> install_daterx<00>ups_hostr<74>N<> rPrQrRr rCrS<00>fieldsr rnrrrr<>r<><00><00>2<00><00><00><00><00><00> <13>E<EFBFBD>3<>M<EFBFBD> v<> v<> v<>F<EFBFBD><1E>,<2C>~<7E>.<2E>.<2E>K<EFBFBD>K<EFBFBD>Krr<>c<00>4<00>eZdZeZdZgd<02>Zed<03><00>ZdS)<05>BatteryUpdateViewr<77>r<>r<>Nr<4E>rrrr<>r<><00>r<>rr<>c<00>,<00>eZdZeZdZed<02><00>ZdS)<04>BatteryDeleteViewz'ups_manager/battery_confirm_delete.htmlr<6C>N)rPrQrRr rCrSr rnrrrr<>r<><00><00>'<00><00><00><00><00><00> <13>E<EFBFBD>=<3D>M<EFBFBD><1E>,<2C>~<7E>.<2E>.<2E>K<EFBFBD>K<EFBFBD>Krr<>c<00>.<00><00>eZdZeZdZdZdZ<07>fd<04>Z<08>xZ S)<05>ContactListViewzups_manager/contact_list.html<6D> contact_listrZc<00>J<00><01>t<00><00><00><00><00>}|jj<00>d<01><00>}|jj<00>d<02><00>}|r|<01>|<02><03><00>}|r|<01>|<03><04><00>}|<01>d<05><00>S)N<>name<6D>phone)<01>name__icontains)<01>phone__icontainsr%r<>)rrhr<>r<>rOs <20>rrzContactListView.get_queryset<65>s<><00><><00><18>7<EFBFBD>7<EFBFBD>'<27>'<27>)<29>)<29><08><13>|<7C><1F>#<23>#<23>F<EFBFBD>+<2B>+<2B><04><14> <0C> <20>$<24>$<24>W<EFBFBD>-<2D>-<2D><05> <0F> =<3D><1F><EFBFBD><EFBFBD>t<EFBFBD><EFBFBD><<3C><<3C>H<EFBFBD> <10> ?<3F><1F><EFBFBD><EFBFBD><05><EFBFBD>><3E>><3E>H<EFBFBD><17> <20> <20><1D>/<2F>/<2F>/r)
rPrQrRrrCrSrTrirrUrVs@rr<>r<><00>sM<00><><00><00><00><00><00> <13>E<EFBFBD>3<>M<EFBFBD>(<28><17><14>K<EFBFBD>
2026-04-28 17:11:19 +08:00
0<>
0<>
0<>
0<>
0<>
0<>
0<>
0<>
0rr<>c<00>4<00>eZdZeZdZgd<02>Zed<03><00>ZdS)<05>ContactCreateView<65>ups_manager/contact_form.html<6D>r<>r<><00>emailr<6C>N<> rPrQrRrrCrSr<>r rnrrrr<>r<><00><00>2<00><00><00><00><00><00> <13>E<EFBFBD>3<>M<EFBFBD> '<27> '<27> '<27>F<EFBFBD><1E>,<2C>~<7E>.<2E>.<2E>K<EFBFBD>K<EFBFBD>Krr<>c<00>4<00>eZdZeZdZgd<02>Zed<03><00>ZdS)<05>ContactUpdateViewr<77>r<>r<>Nr<4E>rrrr<>r<><00>r<>rr<>c<00>,<00>eZdZeZdZed<02><00>ZdS)<04>ContactDeleteViewz'ups_manager/contact_confirm_delete.htmlr<6C>N)rPrQrRrrCrSr rnrrrr<>r<><00>r<>rr<>c<00>.<00><00>eZdZeZdZdZdZ<07>fd<04>Z<08>xZ S)<05>SupplierListViewzups_manager/supplier_list.html<6D> supplier_listrZc<00>J<00><01>t<00><00><00><00><00>}|jj<00>d<01><00>}|jj<00>d<02><00>}|r|<01>|<02><03><00>}|r|<01>|<03><04><00>}|<01>d<05><00>S)N<> company_name<6D>contact_person)<01>company_name__icontains)<01>contact_person__icontainsr%r<>)rrhr<>r<>rOs <20>rrzSupplierListView.get_queryset<65>s<><00><><00><18>7<EFBFBD>7<EFBFBD>'<27>'<27>)<29>)<29><08><1B>|<7C>'<27>+<2B>+<2B>N<EFBFBD>;<3B>;<3B> <0C><1D><1C>)<29>-<2D>-<2D>.><3E>?<3F>?<3F><0E> <17> M<01><1F><EFBFBD><EFBFBD>|<7C><EFBFBD>L<>L<>H<EFBFBD> <19> Q<01><1F><EFBFBD><EFBFBD><1E><EFBFBD>P<>P<>H<EFBFBD><17> <20> <20><1D>/<2F>/<2F>/r)
rPrQrRrrCrSrTrirrUrVs@rr<>r<><00>sM<00><><00><00><00><00><00> <14>E<EFBFBD>4<>M<EFBFBD>)<29><17><14>K<EFBFBD>
2026-04-28 17:11:19 +08:00
0<>
0<>
0<>
0<>
0<>
0<>
0<>
0<>
0rr<>c<00>4<00>eZdZeZdZgd<02>Zed<03><00>ZdS)<05>SupplierCreateView<65>ups_manager/supplier_form.html<6D>r<>r<>r<>r<><00>address<73>remarkr<6B>N<> rPrQrRrrCrSr<>r rnrrrr<>r<><00><00>2<00><00><00><00><00><00> <14>E<EFBFBD>4<>M<EFBFBD> V<> V<> V<>F<EFBFBD><1E>,<2C><EFBFBD>/<2F>/<2F>K<EFBFBD>K<EFBFBD>Krr<>c<00>4<00>eZdZeZdZgd<02>Zed<03><00>ZdS)<05>SupplierUpdateViewr<77>r<>r<>Nr<4E>rrrr<>r<>r<>rr<>c<00>,<00>eZdZeZdZed<02><00>ZdS)<04>SupplierDeleteViewz(ups_manager/supplier_confirm_delete.htmlr<6C>N)rPrQrRrrCrSr rnrrrr<>r<>s'<00><00><00><00><00><00> <14>E<EFBFBD>><3E>M<EFBFBD><1E>,<2C><EFBFBD>/<2F>/<2F>K<EFBFBD>K<EFBFBD>Krr<>c<00>.<00><00>eZdZeZdZdZdZ<07>fd<04>Z<08>xZ S)<05>MaintenanceListViewz!ups_manager/maintenance_list.html<6D>maintenance_listrZc<00>J<00><01>t<00><00><00><00><00>}|jj<00>d<01><00>}|jj<00>d<02><00>}|r|<01>|<02><03><00>}|r|<01>|<03><04><00>}|<01>d<05><00>S)Nr<4E><00>
technician)<01>ups_host__model__icontains)<01>technician__icontainsr"r<>)rrhr<>r<>rOs <20>rrz MaintenanceListView.get_querysets<><00><><00><18>7<EFBFBD>7<EFBFBD>'<27>'<27>)<29>)<29><08><17><<3C>#<23>'<27>'<27>
<EFBFBD>3<>3<><08><19>\<5C>%<25>)<29>)<29>,<2C>7<>7<>
<EFBFBD> <13> L<01><1F><EFBFBD><EFBFBD>(<28><EFBFBD>K<>K<>H<EFBFBD> <15> I<01><1F><EFBFBD><EFBFBD>Z<EFBFBD><EFBFBD>H<>H<>H<EFBFBD><17> <20> <20>!4<>5<>5<>5r)
rPrQrRrrCrSrTrirrUrVs@rr<>r<> sM<00><><00><00><00><00><00> <1D>E<EFBFBD>7<>M<EFBFBD>,<2C><17><14>K<EFBFBD>
6<>
6<>
6<>
6<>
6<>
6<>
6<>
6<>
6rr<>c<00>D<00><00>eZdZeZdZgd<02>Zed<03><00>Z<08>fd<04>Z <09>xZ
S)<05>HostMaintenanceCreateViewz&ups_manager/host_maintenance_form.html)r<><00>supplier<65>maintenance_dater<65><00>contentr<74>c<00>^<00><01>d|j_t<00><00><00>|<01><00>S)N<>host<73>rs<00>maintenance_typer:r<>r<>s <20>rr<>z$HostMaintenanceCreateView.form_valid&s%<00><><00>)/<2F><04> <0A>&<26><14>w<EFBFBD>w<EFBFBD>!<21>!<21>$<24>'<27>'<27>'r<00> rPrQrRrrCrSr<>r rnr<>rUrVs@rr<>r<> s]<00><><00><00><00><00><00> <1D>E<EFBFBD><<3C>M<EFBFBD> R<> R<> R<>F<EFBFBD><1E>,<2C>1<>2<>2<>K<EFBFBD>(<28>(<28>(<28>(<28>(<28>(<28>(<28>(<28>(rr<>c<00>D<00><00>eZdZeZdZgd<02>Zed<03><00>Z<08>fd<04>Z <09>xZ
S)<05>BatteryMaintenanceCreateViewz)ups_manager/battery_maintenance_form.html<6D>r<>rMr<>r<>r<>r<>r<>c<00>^<00><01>d|j_t<00><00><00>|<01><00>S)NrMr<>r<>s <20>rr<>z'BatteryMaintenanceCreateView.form_valid1s%<00><><00>)2<><04> <0A>&<26><14>w<EFBFBD>w<EFBFBD>!<21>!<21>$<24>'<27>'<27>'rr<>rVs@rr<>r<>+s]<00><><00><00><00><00><00> <1D>E<EFBFBD>?<3F>M<EFBFBD> ]<5D> ]<5D> ]<5D>F<EFBFBD><1E>,<2C>1<>2<>2<>K<EFBFBD>(<28>(<28>(<28>(<28>(<28>(<28>(<28>(<28>(rr<>c<00>4<00>eZdZeZdZgd<02>Zed<03><00>ZdS)<05>MaintenanceUpdateViewz!ups_manager/maintenance_form.htmlr<6C>r<>N) rPrQrRrrCrSr<>r rnrrrr<>r<>6s3<00><00><00><00><00><00> <1D>E<EFBFBD>7<>M<EFBFBD> ]<5D> ]<5D> ]<5D>F<EFBFBD><1E>,<2C>1<>2<>2<>K<EFBFBD>K<EFBFBD>Krr<>c<00>,<00>eZdZeZdZed<02><00>ZdS)<04>MaintenanceDeleteViewz+ups_manager/maintenance_confirm_delete.htmlr<6C>N)rPrQrRrrCrSr rnrrrr<>r<>=s(<00><00><00><00><00><00> <1D>E<EFBFBD>A<>M<EFBFBD><1E>,<2C>1<>2<>2<>K<EFBFBD>K<EFBFBD>Krr<>)/<2F>logging<6E>django.shortcutsrr<00>django.views.genericrrrr<00> django.urlsr <00>django.contribr
<00>modelsr r rrr<00>formsrr<00> getLoggerrPryrrXrkrpr<>r<>r<>r<>r<>r<>r<>r<>r<>r<>r<>r<>r<>r<>r<>r<>r<>r<>rrr<00><module>r<>sj<00><01><0E><0E><0E><0E>-<2D>-<2D>-<2D>-<2D>-<2D>-<2D>-<2D>-<2D>M<>M<>M<>M<>M<>M<>M<>M<>M<>M<>M<>M<>$<24>$<24>$<24>$<24>$<24>$<24>#<23>#<23>#<23>#<23>#<23>#<23>J<>J<>J<>J<>J<>J<>J<>J<>J<>J<>J<>J<>J<>J<>.<2E>.<2E>.<2E>.<2E>.<2E>.<2E>.<2E>.<2E> <1A><17> <1A>8<EFBFBD> $<24> $<24><06>><17>><17>><17>><17>><17>H<EFBFBD>><17>><17>><17>B0<>0<>0<>0<>0<>h<EFBFBD>0<>0<>0<>2+<2B>+<2B>+<2B>+<2B>+<2B>
<EFBFBD>+<2B>+<2B>+<2B>*<2A>*<2A>*<2A>*<2A>*<2A>
<EFBFBD>*<2A>*<2A>*<2A>D+<2B>+<2B>+<2B>+<2B>+<2B>
2026-04-28 17:11:19 +08:00
<EFBFBD>+<2B>+<2B>+<2B> 0<>0<>0<>0<>0<>h<EFBFBD>0<>0<>0<>,/<2F>/<2F>/<2F>/<2F>/<2F>
<EFBFBD>/<2F>/<2F>/<2F>/<2F>/<2F>/<2F>/<2F>/<2F>
<EFBFBD>/<2F>/<2F>/<2F>/<2F>/<2F>/<2F>/<2F>/<2F>
<EFBFBD>/<2F>/<2F>/<2F> 0<>0<>0<>0<>0<>h<EFBFBD>0<>0<>0<>&/<2F>/<2F>/<2F>/<2F>/<2F>
<EFBFBD>/<2F>/<2F>/<2F>/<2F>/<2F>/<2F>/<2F>/<2F>
<EFBFBD>/<2F>/<2F>/<2F>/<2F>/<2F>/<2F>/<2F>/<2F>
<EFBFBD>/<2F>/<2F>/<2F> 0<>0<>0<>0<>0<>x<EFBFBD>0<>0<>0<>&0<>0<>0<>0<>0<><1A>0<>0<>0<>0<>0<>0<>0<>0<><1A>0<>0<>0<>0<>0<>0<>0<>0<><1A>0<>0<>0<> 6<>6<>6<>6<>6<>(<28>6<>6<>6<>&(<28>(<28>(<28>(<28>(<28>
<EFBFBD>(<28>(<28>(<28>(<28>(<28>(<28>(<28>(<28>:<3A>(<28>(<28>(<28>3<>3<>3<>3<>3<>J<EFBFBD>3<>3<>3<>3<>3<>3<>3<>3<>J<EFBFBD>3<>3<>3<>3<>3r