From 9e85e053ccc3dde73ebceb7fe778b39ba847b66b Mon Sep 17 00:00:00 2001 From: Flatlogic Bot Date: Tue, 27 Jan 2026 20:44:04 +0000 Subject: [PATCH] Ver.09 --- core/__pycache__/models.cpython-311.pyc | Bin 16520 -> 16651 bytes core/__pycache__/views.cpython-311.pyc | Bin 26856 -> 26938 bytes ...0006_fleetunit_contract_number_and_more.py | 23 ++++++++++++++++++ ...t_contract_number_and_more.cpython-311.pyc | Bin 0 -> 1149 bytes core/models.py | 3 ++- core/templates/core/fleet_detail.html | 8 ++++-- core/templates/core/fleet_form.html | 16 +++++++++--- core/views.py | 5 ++-- 8 files changed, 47 insertions(+), 8 deletions(-) create mode 100644 core/migrations/0006_fleetunit_contract_number_and_more.py create mode 100644 core/migrations/__pycache__/0006_fleetunit_contract_number_and_more.cpython-311.pyc diff --git a/core/__pycache__/models.cpython-311.pyc b/core/__pycache__/models.cpython-311.pyc index 1ab4b3e91ac1aef36712f97d67aea9ac393ba235..aa20da2fcc89e9b51f28fee0770fc252be2a15a2 100644 GIT binary patch delta 635 zcmeBZWbAHY#z6%>Kc3#+VVW;NghsMU6 z)!ElFGJcty&muYb9Y>Yy2L^^1MmHuPCGO7j5lnsolMVhKSSHtTicRk03}oE3`2pu5 zrh3j4Rv=Vb!?%oufnhZeLqL=q6GJLX7AuUO!UR^QjG;~*tWFfJ4rH3j8mVQ>K+}L2 z0-_YasuW@T6jiWkYHNhW(5zJgD^#8=$SYS5v|kyngLRF@GDe`8KnwvvT8EjVoOXe$=uw-`-f@rRW|v}?E)c;jBbJMsL;^vlcPDM zH*c0Z%f{FpJ!!U0u&RO{6Ua&@>Ja&j4LMl>D^(Ryjfd6 zot1GPSZcY+8pcDDLrm{6uHI~HwuXiA8d&&?)ltScoy1*rX@0|JNMLR$BuU5pi`$V z5O)XM)3};R@A1=Q=qa?6Fp6dImawKkq1EJ^ne@-vr?_37f=HHSV{A+MOQx={pgNZO zv-83jR}^tss^p}`^`Kz(E~?kvIf|&$&m5R1)$@o&@$6{;#)Z!~w_}~& z%Pz4&7v(qd1Gg(i>^Pu|nnN7XRn09n#a?Yh#U%xrqKHyU^R?qxK4Zd9m4+@FTaFcf YFHrf!{?8@HO7e5;?)5h@NLB685B%qS`2YX_ diff --git a/core/__pycache__/views.cpython-311.pyc b/core/__pycache__/views.cpython-311.pyc index 05fa63209df29f54e6b2fe63d3f5b1c8fd4543c2..84a3babaa3e4c7d76774e374c28bba8960a3059f 100644 GIT binary patch delta 1453 zcmZ{kdrXsO6vlf#puk5jQmAy)0xg%(Q7AYFDh3U5QCHeka9mue9cv5*TK7@rwm6;J z+|A9AoMmCcE+#WdGNR^92yuzgY)1Eo8=7S^WNc%L(PfyGgzOJzww?1y!VuS{znu4Z z-k#^YZ`1GARXBSM^e6OsSwk;p{_{P1zqoS6D<hnSbZ@`Xh-Esvq%@#M_dc}aue!n%Q-*w9XBzb3h4jpncmged)~&>8Lza|e!UlaV zm@usJkjmqFJ1Ljc`liZcLp~`b1_#k=;QbMmM-2H%)GfXW(+oM1&4k|>atm3=)97=C z4h#*995}seV*g~7cQV&^HP`oTt}kw9-+^}w*+uzOzLCst#l?r|BzQ*?l~P`mG28^4 zG@H?9%qh!GlH;1?m}6~znIVRahapR;=Qiq9HF33>;C0G)Fle^>S=h!{!Dt~&$qjv> zp585yJp(bN1CIqWWFATh5-M>d{j+3sMrDU;1=wOdioK?-5WrK(o5eq-SKtvfa4Xv! zs656{^F3U789sv7sl&k!|qpWy00m+=g(o3Yz+c}Z-PcQHJ|_mD%%{{L7! zY_&QcbYwMBJ+d0Pci+!krIK zgCA>)z3_r~r`VVPh#!`GK~l(7Asx}6J&=hfT|ba;sI*>tlp6KB@L+icj=59C@1>Oh z$1%^niTtPC<=Ri!uU_y^keJtHlfNWUVVuN$sUZ8q&gDabt^Hg1^x0IlC~{ zZBME;2dHZvA4(XTCjg4YW$!5fw|MUHVt}=H%-=}6Z}~SuzHn|E0I0=}TM9`!-)X_= zmQ+}eH(S0^8x}#GxZXN0fk(XC<_CHJ&9oPgqwT1HCQ;YX1oSs~tFub|vK@AaUphwt z!ua-+A(BF_V%bH*D2$z$7l>=ss|euAu5#FoOP};Im+R-u?RG=+vgjWl!6hQWQTd#m~7+nW0T$O~Z9g2T3SP zSj3ft32gqXpfV_%QeLc^?+xX; zLi(DpzGhip6OmChBA4)~L3=Q3%09nm!4`7VhYX&u!Lw}eMB1GV54Ertg@%1?N74qn%3VsUTY^;#a7B&Vu1>REY@KWMlTdItUNOog`)i!qttG7BJh7{ojc z?5UB#N8z(7alK5Jxg$v%(~mH;GjuXUg&CsjN^IBN+!kh#?P73}>Xe6I-Vs4`-)0Q$ zk2Yrau;tmoo}!GOqiZjIr2lf8@hIEH&_Lcx&5#-%Z;Y#HY1T*0Dq4!Oik3SEet|ak zqtmz<;-kwyzj1HY3J6rfKol zepA8?S`-*ANKk!LgAQ9P-gnGWHBgWXbC_PC$K`@c3F4&hu+8tYp9`KVRLC#0hGtwU z(30zgxl;I;JUDny3O7iom;>73ZiySN5=-eczzQyw)kHNJ#6`Oa^U4+SFl$mwo9MBv zd}b>Z_cJqM_>QDkEJ$GuZ#(~lRdTB`B8A^^@z5&#My6dsdE7tj_$QY*ffiAjY-WwB%UhRe)?_X!-!aM!ss!0s3zHqotPGm$gm|lV2Bywzn&w98248?&@#uP{^yd`m^hBb-XKu26C^n1)viT_%mtaE`K@Hl1YCZ z&_CDr-9=H2xg2^_VCW_XpPB_YfonYj^h{N60raEL8`;|2gD3kOFpOvWzJO62=zmST ouKh4hl8$~x+me-m3Td7J=xb*;0`AGC4OZX$Uo0Wc6aU8k2Uv8m!T8JT=tmb@PVf^sQDo^ zJkzC>9B7Cxq!MVr9?vh@)FHf(rOu}Q9c^L?B7bPTjCbO%m4%AN3r6bBFt}zwMT9vN z_<&(NVWuNO2#L@J^$7JWn}&gSFT5~I$ZZii5S`=d+>#ljGS_CEh-Tbx(C!O*iw;2% z9qZL4-=$SnV_w9nbd_2x@`LI#KUfJHrbVlwAJv~PuL_;H_De%f-EprGR~l=90s&GG zBzz6f?9D_$>O4+z(vZ@;muN^GeWA4rBc0)LXRzEUmDew~OXaPhoyqUF;zvДанные по снабжению и поставщику
+
+

Номер договора (техника)

+

{{ unit.contract_number|default:"-" }}

+
+ {% if unit.supplier %}

Поставщик / Контрагент

{{ unit.supplier.name }}

-

Договор №{{ unit.supplier.contract_number|default:"-" }}

Представитель

{{ unit.supplier.representative_name|default:"-" }}

@@ -292,4 +296,4 @@
-{% endblock %} \ No newline at end of file +{% endblock %} diff --git a/core/templates/core/fleet_form.html b/core/templates/core/fleet_form.html index d82f33e..277f2d4 100644 --- a/core/templates/core/fleet_form.html +++ b/core/templates/core/fleet_form.html @@ -76,9 +76,19 @@
Снабжение
- + {{ form.supplier }} -
Выберите поставщика из списка. Создать нового можно в разделе "Снабжение".
+
Выберите поставщика из списка или создайте нового (откроется в новой вкладке).
+
+
+ + {{ form.contract_number }} +
Номер договора по данной единице техники.
@@ -109,4 +119,4 @@
-{% endblock %} +{% endblock %} \ No newline at end of file diff --git a/core/views.py b/core/views.py index 7257a88..1bd9b94 100644 --- a/core/views.py +++ b/core/views.py @@ -26,7 +26,7 @@ class FleetUnitForm(forms.ModelForm): 'name', 'category', 'model_name', 'vin', 'plate_number', 'year', 'photo', 'status', 'commissioning_date', 'notes', 'insurance_company', 'insurance_policy_number', 'insurance_start_date', 'insurance_end_date', - 'supplier', 'vehicle_documents' + 'supplier', 'contract_number', 'vehicle_documents' ] widgets = { 'name': forms.TextInput(attrs={'class': 'form-control'}), @@ -44,6 +44,7 @@ class FleetUnitForm(forms.ModelForm): 'insurance_start_date': forms.DateInput(attrs={'type': 'date', 'class': 'form-control'}), 'insurance_end_date': forms.DateInput(attrs={'type': 'date', 'class': 'form-control'}), 'supplier': forms.Select(attrs={'class': 'form-select'}), + 'contract_number': forms.TextInput(attrs={'class': 'form-control'}), 'vehicle_documents': forms.FileInput(attrs={'class': 'form-control'}), } @@ -372,4 +373,4 @@ class SupplierUpdateView(UpdateView): class SupplierDeleteView(LoginRequiredMixin, StaffRequiredMixin, DeleteView): model = Supplier - success_url = reverse_lazy('supply_list') + success_url = reverse_lazy('supply_list') \ No newline at end of file