From 9e0824de6d98f0c1f882fa057afcfd62abbc827a Mon Sep 17 00:00:00 2001 From: Marwan Alwali Date: Wed, 11 Dec 2024 22:04:21 +0300 Subject: [PATCH] add car location --- .../migrations/0013_merge_20241211_1847.py | 14 ++++ .../0014_alter_carfinance_options_and_more.py | 70 ++++++++++++++++++ .../0015_carlocation_delete_carshowroom.py | 33 +++++++++ ...ter_carfinance_car_alter_customcard_car.py | 24 ++++++ locale/ar/LC_MESSAGES/django.mo | Bin 117261 -> 118769 bytes templates/inventory/car_location_form.html | 10 +++ 6 files changed, 151 insertions(+) create mode 100644 inventory/migrations/0013_merge_20241211_1847.py create mode 100644 inventory/migrations/0014_alter_carfinance_options_and_more.py create mode 100644 inventory/migrations/0015_carlocation_delete_carshowroom.py create mode 100644 inventory/migrations/0016_alter_carfinance_car_alter_customcard_car.py create mode 100644 templates/inventory/car_location_form.html diff --git a/inventory/migrations/0013_merge_20241211_1847.py b/inventory/migrations/0013_merge_20241211_1847.py new file mode 100644 index 00000000..07ee968c --- /dev/null +++ b/inventory/migrations/0013_merge_20241211_1847.py @@ -0,0 +1,14 @@ +# Generated by Django 5.1.4 on 2024-12-11 15:47 + +from django.db import migrations + + +class Migration(migrations.Migration): + + dependencies = [ + ('inventory', '0005_alter_carfinance_options_remove_carfinance_total'), + ('inventory', '0012_remove_salequotationcar_price'), + ] + + operations = [ + ] diff --git a/inventory/migrations/0014_alter_carfinance_options_and_more.py b/inventory/migrations/0014_alter_carfinance_options_and_more.py new file mode 100644 index 00000000..8bbe1c3d --- /dev/null +++ b/inventory/migrations/0014_alter_carfinance_options_and_more.py @@ -0,0 +1,70 @@ +# Generated by Django 5.1.4 on 2024-12-11 15:50 + +import django.db.models.deletion +from decimal import Decimal +from django.conf import settings +from django.db import migrations, models + + +class Migration(migrations.Migration): + + dependencies = [ + ('inventory', '0013_merge_20241211_1847'), + migrations.swappable_dependency(settings.AUTH_USER_MODEL), + ] + + operations = [ + migrations.AlterModelOptions( + name='carfinance', + options={'verbose_name': 'Car Financial Details', 'verbose_name_plural': 'Car Financial Details'}, + ), + migrations.AlterModelOptions( + name='carreservation', + options={'ordering': ['-reserved_at'], 'verbose_name': 'Car Reservation', 'verbose_name_plural': 'Car Reservations'}, + ), + migrations.RemoveField( + model_name='carfinance', + name='vat_rate', + ), + migrations.AddField( + model_name='carfinance', + name='total', + field=models.DecimalField(blank=True, decimal_places=2, default=Decimal('0.00'), max_digits=14, null=True), + ), + migrations.AlterField( + model_name='carreservation', + name='car', + field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='reservations', to='inventory.car', verbose_name='Car'), + ), + migrations.AlterField( + model_name='carreservation', + name='reserved_at', + field=models.DateTimeField(auto_now_add=True, verbose_name='Reserved At'), + ), + migrations.AlterField( + model_name='carreservation', + name='reserved_by', + field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='reservations', to=settings.AUTH_USER_MODEL, verbose_name='Reserved By'), + ), + migrations.AlterField( + model_name='carreservation', + name='reserved_until', + field=models.DateTimeField(verbose_name='Reserved Until'), + ), + migrations.CreateModel( + name='CarShowroom', + fields=[ + ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), + ('description', models.TextField(blank=True, null=True, verbose_name='Description')), + ('created_at', models.DateTimeField(auto_now_add=True, verbose_name='Created At')), + ('updated_at', models.DateTimeField(auto_now=True, verbose_name='Last Updated')), + ('car', models.OneToOneField(on_delete=django.db.models.deletion.CASCADE, related_name='showroom', to='inventory.car', verbose_name='Car')), + ('owner', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='owned_cars', to='inventory.dealer', verbose_name='Owner')), + ('showroom', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='showroom_cars', to='inventory.dealer', verbose_name='Showroom')), + ], + options={ + 'verbose_name': 'Car Showroom', + 'verbose_name_plural': 'Car Showrooms', + }, + ), + ] diff --git a/inventory/migrations/0015_carlocation_delete_carshowroom.py b/inventory/migrations/0015_carlocation_delete_carshowroom.py new file mode 100644 index 00000000..7d0777e9 --- /dev/null +++ b/inventory/migrations/0015_carlocation_delete_carshowroom.py @@ -0,0 +1,33 @@ +# Generated by Django 5.1.4 on 2024-12-11 16:05 + +import django.db.models.deletion +from django.db import migrations, models + + +class Migration(migrations.Migration): + + dependencies = [ + ('inventory', '0014_alter_carfinance_options_and_more'), + ] + + operations = [ + migrations.CreateModel( + name='CarLocation', + fields=[ + ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), + ('description', models.TextField(blank=True, help_text='Optional description about the showroom placement.', null=True, verbose_name='Description')), + ('created_at', models.DateTimeField(auto_now_add=True, verbose_name='Created At')), + ('updated_at', models.DateTimeField(auto_now=True, verbose_name='Last Updated')), + ('car', models.OneToOneField(on_delete=django.db.models.deletion.CASCADE, related_name='location', to='inventory.car', verbose_name='Car')), + ('owner', models.ForeignKey(help_text='Dealer who owns the car.', on_delete=django.db.models.deletion.CASCADE, related_name='owned_cars', to='inventory.dealer', verbose_name='Owner')), + ('showroom', models.ForeignKey(help_text='Dealer where the car is displayed (can be the owner).', on_delete=django.db.models.deletion.CASCADE, related_name='showroom_cars', to='inventory.dealer', verbose_name='Showroom')), + ], + options={ + 'verbose_name': 'Car Location', + 'verbose_name_plural': 'Car Locations', + }, + ), + migrations.DeleteModel( + name='CarShowroom', + ), + ] diff --git a/inventory/migrations/0016_alter_carfinance_car_alter_customcard_car.py b/inventory/migrations/0016_alter_carfinance_car_alter_customcard_car.py new file mode 100644 index 00000000..24d6449d --- /dev/null +++ b/inventory/migrations/0016_alter_carfinance_car_alter_customcard_car.py @@ -0,0 +1,24 @@ +# Generated by Django 5.1.4 on 2024-12-11 17:02 + +import django.db.models.deletion +from django.db import migrations, models + + +class Migration(migrations.Migration): + + dependencies = [ + ('inventory', '0015_carlocation_delete_carshowroom'), + ] + + operations = [ + migrations.AlterField( + model_name='carfinance', + name='car', + field=models.OneToOneField(on_delete=django.db.models.deletion.CASCADE, related_name='finances', to='inventory.car'), + ), + migrations.AlterField( + model_name='customcard', + name='car', + field=models.OneToOneField(on_delete=django.db.models.deletion.CASCADE, related_name='custom_cards', to='inventory.car', verbose_name='Car'), + ), + ] diff --git a/locale/ar/LC_MESSAGES/django.mo b/locale/ar/LC_MESSAGES/django.mo index 7eac67fca58842514fe8c700904cc1745255586f..bebe4a2245b88bed1c3f690af74ad0dfd2cdfb27 100644 GIT binary patch delta 31552 zcmZ|X2Yiip|NrrG2(kBGIm8~Z_ujL%wrU2kB_#GbHbu=6qtvEaGu0HWtwvjls)TA) zRVj)NEj9kH_xXO(+x@#A|LgI%^8D_7UFRfq-*3Gg{P5ji|94q}mUy_rQ+Pc2uy84l zr)sdrQ~FhsyM}7#SJa90u003SQ>Lp za9h|I3lX1-dTMsy2K*b<{wn`O_xNl;9|=b=2mXjE@C1vamw}eWl9(FbK<#xO)G3d_ zoH!b_6$>yAZa|%pgQykx%Hr2i{rG<;pbBXwxxFlaDp(4&6}3@I)fTlvucPw&qLy|v z>I}>>m!Qh6Lv7Vg)BulL{4}cF?=iQY|KA8`57Y6iXsL6eW*CY}FJtM|EZzup7TQ?6 zzvaiE2Ifa?=|a?2tU#^g3Dnk}K@IS0ETHHAI)TC@c&B(g6|pF)!W*c8gkuN}LPqSF zgKA(SYGvY3E3hBy;z=xtsiwMiDxwBd168jfw!(JUnEpMh31|Q}umGl><_1z6YZC8@ zI%LbR96rSISZKOCj2*Eu@x|C2Pho4!I>WWw3w4HOVl&){D*qV$p#;j#^mtle2dsdr z(TC?O{WmN^y!I?tu{Q=2UyeEhYf)RW3zOq%)K;EBovq8L_sp-T6%2aQ<0*y(-emm? z5@;1Cms!4qazVhodnyPDkzWeDq-~7R8TI4SbJUp&TY>CmC~5%ZEnW+? zA}x^i{hn?FG_nZHfP+y>G!E0^eAJ6%C2Hn7Q6oQu=`j)2;LoV7dx9A--F#OsFRENQ zRJ(OhXQn;o*7HA*fEt))#-bY9irT|ZP)mIt1FvROgHKQ^lxl%niA<=8X?mqL%tc%!GF_BR)e7H2p%iA|a@mRkL_o z)Wim$R&YG3{e`G@SEFBn4+yBiedcM@nYe5|Hghd)o} z8I2mi1WR9p+KTmySbq&5o&k676E)Fim<`kVm$+A<4}BywL(OymYG5N!4Nkz!IL*?RVlm>YQ5}4S zUGN($ffbgz0d_?Va3-q5Wmp`ynf`AG=-vJTRk28{JFRW7H1Xl)S}a5S4658yix*wy z8tjOrNS|Q7XXzJF?L0>fxYTlI2dtpyf1C?=wqsce{D2iP^9pBU3?n`UwWnK9Gd_+v z@FMDv-9?@5hp4T5jyfAbE8SLRM6F~li-%w_J^#fCXo=dQ8Vy7O!V^#9XBJ$2>S0RsS8#haaN0<{YY>Td0+Kik&g@dR7|;t!Mo; zl21sG=TQya!lJ0}%7LXrrB_BR@hhmM?19?T{-}XRp&mQGIS;k6t58qXR`Vm&#E$6e zu>u!K&>6Ue>fo^zNW0O+3!pkEhw7jn>P6HBL$I@@k3kJ|7HVK?P%E(+^Wy>3z`sSc z^OK)|X8s4NgEX65hk4LPyflX5D_9I_W4NSues@foH>@B3~AQlT2igj%sYsCp&P zhc)mG?1GxuN7xbfV;ao#fg4a>%t`;AVg$6bbuk4tMa}pX)Y67yIvj>+aUyCavn_oM zs{A(8Ko4UJJZbT)+uUB~K@F(5SqA-Dq6!2wvPPEC2GbGmXog#QBzE`m^%>tJ|NM3i z6n5R=Uey_Px(PHuJ@3s>6X=GSa0qJP6D|Gio%Z~1AVEvI54EJnPy@PPeutTe-$ph3 z1a%fN(!0(`Axw|eQRSMVR_b-kjD4^ejzq2WYAlGGcCr422%IEABfW!a;2+d!O}E>n zXGb+y1e;-bY>Z=3&-)=%{RC`?w@}Y}={Wazwm`kAN1_HChpKnlZw0QS_AJAPu0m(j zicH7MI3Lx)TGR^dLJjng<)6cB#DBE(zp*^=)O*}aYoglghI(51nf^%xv?R+>BU+2u zaWCp!ein5W?xL3XF=_z8AG!1#sPs@&dU@2q>REa_OYdRvNYp^bJN=%81S*iQ3AN;j zsJ*|A8u2~zFVh?EK0ec;X42T~j{4F%3iau?6zk(fEQ2{ecBj8FY5*-Tt)BlL1k~Xm zREHx28GIaLHR5xzEFQ-!_$O+`Qtfp!&xG2V0{AM1S^9KTM~lrZs87pJQD-gzE9?3H zhk#a~{606rKIQ<_`ydiEz~QJZ@mu~osI##ab7CB70-vL{>>}pC>!>Yxj2dW~{VqKZ z`t`ynZwb{<9kfC1>0s21$6{`L3)SFe)YEVP)zN9JgqJKm-6t+R7v>?o2v)&*<|uRf zC#-*UGJYaKhJ5Ni_d8=7;*(HI{T1fI1k@RMh#J5X%TIa0ty~6FepXa|KGXz@qh?+f zOJZHr1P2~q{k3$XNzhU+K)oWDqAIRL<*&n1xDVCAP1H)<$H0fzLDykg)W>yBRQ;N` z7#pA_@(rr~cc>Np*-tMu6e zVRquXP#vE@4g4!qIseZDG_yyjPrE{gUBRNLB`k{?c}>)e8lnc=0#&}PrFXRSE*M67 zIBH-Euqm#^(s&z-VU8n#t?+y55YWg6pgJ6hI&@P|9V|gD@p8*wjd~ikqGq%QwITfTlk4|G&Ohg~vLk%>;arbU7 zh#F8s)LwVA_(0S^#$iodg!%Cd>cw;y{c6bjnX8x$l~EG&VO>;yS5ya4sFj#xF2Yda z8&G?C5;fxom;#@o>LokjRv;_-i08wUSo;L)A55ST30m@2sG0V`VmKO$;~Lb;oU-&s zs5f1KlWu^;&6;LwtU!J^Y9Mc8Fs?wokk+9F@aaj`Uj>elpglZ|+M7$Lfm}zucpjk+ zS;kXtOY)=2mqx8fbyWG5mfyqjBT?;-!x}glwbh@P2mJ(6lW+vJ*I%GUdIeMAkEoH} zMJ?^`m>OST2&O*m22uj`eyD=#s0ph4WDLT$EWQX;e>Lg_c@?a4)9C&#(cW z$0nHl3->3Nt{6r9Ei8%8Q00n$=|0~Fp$4)XOJN+g!0)jcmOSGI7=s$ftU#RoUr0bB z-h_Hw;!#U>237C^Y74%_^!OucMh{V2*rOUuN;`=+}}R zC6E!XB75SwhlMcpIX9EisI94t>Zm?yMjcQc^|bg%EKPhWroo-4H|Bm+`v)--o<*(n zwR7x$aRPslphM_8?>ef8TEe=hip?-HzK)vVK#Pw-4P=hRm!Ue?idxbAsQRZ+^%7AN zxrN%AKhE3p|C9tZlI-t%%KTD5B z4QLEz*YiJ}Kw}bCVpIG9i(!dx+yL642G#@B@BmbYLs0`AZB9qcXc3mim8b!pM4gEr zFdP1cI`qMpRG$4WNI-j15(6^{WbmP6@mI`Fn1gcNFeeU24Qwvzsac9;aW`t^uA^4= zfyMts4KR6v+lq9UOV58^0%fog>eblG3iL81+?`NRen~i=oxX=o$vW$(Wjz2)<@5P*W95u76sDa)=&F~?r!AIsZ zGw8A#SXvArzXa;3X^tgv@MYFNj6f_2mGCpHhyP#)taZih*#ZnDz7gBtDO7&$Z`~gr zhG2Q(Yf*cB0c+z8%!h@px&hZkO{_8I$M#oQ|GWf-l8^`IqGq}o_2M{)dcM!1mhK^H z5C25X{5h(_<7fRK-WA0Vn_7&7=VOh}S|5yc=q(hM)#A4%OZwi*Lc)#Qg^?ArU*0@Bp<(jjy>q z?ThWrVYM?EuVkfgRYAd=~yf5ky4m5|Eqp=a`epLI%FmOgNNYDQb0_x~CYNo%V zmhc6tV8-k2@${k6TccK@J1Rd0wY1YPKdwMMZXcrtbO^N-Cs5@tqPF^`^6B66kbp+^ zH&(^qAKhNpMJ;UyRL4D0do~ocw6jrXVil_4U8sQ^K@BhgRqr0EooA?i(%f+7M!y;; zPC$pG7HXs&P%{We&0qj_#-XT=Pop}#ib41*s{Ze&S9zMB_~RwE#lWFPweucot9N2@ zJoyvruMvMiLQ%Yqnqlgju0kkk#3fM!tB%^Dre+6A?_mx>J@4bpW#%5#gwCS|d>QBA z_cvL8?S16Wu7lC2f-}r{s1BE68C-|z;49Q#-^0R~_Lh4=l|yyV5!G&I)WCb=5*&uX z7<}8UOh!KeEkzzwg#xG!i=&ph66!f`irUj&r~!??_)Qs*MPQOhrf z)rnWK^hi|s(SdySetkt$EG7fhvE?{0+6| zPcg8f_noORxt{+F3Sbu0-seDdPzW{BQm7RuZ~4_w4K>2_*c?^=HM0w5h|?`&397;>OJ9$w7-#t(qXu-yJb@a(8H=CC5aNlbdXF&!KDYez z58ME=Jz)PefP5sVU}4mZN?<0eidu^~Rt&nu%J;rIx=ARev+; zvHcJW;rR!we_;ZDlF%OWJam7<9fA?Wk6||~`I~bV4kLaOJL2oVyYGD4uqg4XSOSCo zaEC4oD-!RIHSitON?pPwUVhE@6VOr)d*tz~!O_?ibN}U@`;n;UeIYi$?br|>Vk4}~ z!>pwqi=nszi{JrEzk$Vw2R(LQWJ;srtuZV5M_OREx!T-qeukwfco{YF;3vF9FfHng zq(?1%R&0U=QRVuho~ps9LpTaE;aJpG%t0pR_belzk?g^oc*^|2(jTKfT+;vJ$`!^1 z#H-;NmACYPPu+LGiKzB=;t)KBBe23V_Yau2U?<{vpKFEL|6v5QgmY0N`~dUfr^DpeQ_f3r>IjuE`{?TMiEb*((9>*F*p`KMEdlU4R#Z#kjf3HF4iP}1ZpLA zp$3wW%I_NZk%Z196i)4yW+E0KKGWixusrb{<_}nlc-A!Dz<(oZi=~LaiCT$0sPYMx zpC+wKZ-|vh?~7G%rJsP7`aJ6S{T}svCQs+~zLZ%PwNf3hAV#6KY$0l?<53-+M3sAj z8c>e(-oQ7i23VYUS5*FV)4!I0_UKd804}1I=rQI-Uj}Cl3?beTbvTEkmUISc0!L5- zIg2{1*HC9EZAQ03HBeg^gIfA{z7bXaR~&%Nb9w{6gvQ}`;tx?zTVyV8;Irln)Ia0) zgyeRIa4fbbz8|&38S=O-@u8No5$dstLG9rbOJ9vz@-IEXPe7fGt*95y87z-CP|tgg{4U-KwYL+|hi{?= zx)t>%{LJEaQ2hiK;Q7~#au@IhUXjI74U|RgWewDbJEG3UL`#1M^_YExYB+{9ey20;ha-cnZ3P2V-^8=VKe?V;;<1$Q$_Bt%Mrr7}QLr zp(e5vHRFw_fgMI4-n8`KP**S14D%DvV^kfr)FV(cUuOkAK|KX0Ed7f4C+Y>2v9Q~c zFw|q*2(@)xQIF+x)Ib-Z+F6D9a2Kk){|o^iftyw!xQJVUyr>FwP!-x+dK9YSBJ|-_ zOaB~I?pM@{DQ!{rA}fzd?~EGoNQ*B)R@Cp=O+cS|Us}dZRL9ASxs}L?*@%}%&8P|L z71{x{)U&V=Zm|5@s29~E)Jo(i?pC-i79>6nOX4als^|YC0X2Ldwe(L>r#wdqH`CIn zy=;U!bOX$}s6)8}HIOe+D{~vwj<=*UFKR-SQTfeL0}IE(dj4ly!Vc6SN2JjG7E>9U3uZw+&_eZ_b&!PtC33C(3h!u$DLbca2jORZif!9e;h5pzH zm!qE7`=~vuUe@hd7feZf25L#)LM`c9)Z@7q)!x^rmAipq7*x&;up;Vd=!&Y}uN=?6 zUWMaG&~rQ&6<>|@aEBFqfHR2)m3N=pbFn({qo{h%%#0Phfq&Up5UY|NZEnQ|#IIvh zEK)F254$Y_vkH zP$cRwuEY*_2=(5`R@0R$foF-g#D6evEwAUOp8uS+y`Fm{T*35S-t~3ZQ@m8yeH`De z=k**UzgB(s`TZ1iNZ)ASI@)OlHS`94QF$HpLW@ETd=_e;n@|HfiFz!rVkrH49$P~G zM()*F9rZNyKz(j6KvjrG9jXhctxDV2HCzMLQCFOZV{sThw){a&+|s{gZbKd3FVU}t zgPXdBLQyY}#;B*D7wS2UL2b<>)E=%t4QwB3tA0Q|PLEM%Cw(*5PAKaAQqSy-KH@XX z&CPiJRp2BEIwW^czw700?hacy)JoJv4PYp0k7uJg-hnz~Cr~T%0Ckp%w{YbvqS}82 zHL#(m3C_UExV{C?zm_7AgtnNqr8{(ePUfAb6?+q3j(WvE^AjjbAX97i_|!Aoq8jXpTJk8=R?SDv=zUbZGpMD1j@qg$ zZCt$&)E0%IR-_Zo#h$40_fTiZ?``Xrv>d8~PN)utp(-v!E!jJ$ne0W)>?~?4Zlj+2 z4DFl+Q1!x4?N!HC*a>~O4iDo|WWfCQzxHnAi%=EcMU8MPs-pvD0_wZqZ#V(-b#M)? zz)8gSqgJL?NB2tZfqLAAp;l%FYM_fzzZtC$$n$rWfM)!UnYWWWR5ejE=!2T+Bus@H zaWZbVc)3?yes$CYx}#QV0IDNDrpNa&2=}4}asboOzvm1AFJ8f81g_#W;_F`bdiZmY zXKH8n!WsL9o5@$Gy}fD%b#d`hSd;YjsFj*w4pJA>>ecXP8TA6d$0w1AfR==CqQxDsji%=_a0ZZa-)Zxz7o#$Um zAKKlGtRW61-UH|0SEveId$|0W*p2vl)Y5u;y2rN+D!m`-O?Vvj;q@cx@l6}<4g8PS z+o3)MkD&(eBAn-6GtSV3-S5!w6 zP>1hh)W`5~)E4}Onm|^6AJ=eQR7MZf8*QA$H<*V|9e<13vOmlW5iVZbY=9bQSBsCw zI>eWvUg;N61GOEo$4p3y-VKLeL={I1&Q}YJ^#~DhiM&ZNl)Tyn4zEh`0a~o zcrof#z6Q0DXHWybfjVPP%}o6RzZLsEg$Z;ZV=b1&KT(fSkpb?Il|!BOmKcrEsOS7A zOHVb>y%)-&R<1LuohjG~cViQLfoiwOAZI(wpwIuV1hk}sP@U~`!=l_DE+(3%@eR^*4D|;7Ve&9k`I9&a(+#ud|1ARgUcMRi z_*_Ok|9_*FEPb>)EV)o;Bm^~(vZ%Au8g=MiLw$;lLQUYLc@MP`Sz_E7DT#_#jp6y% zW6*{KEzLO867R)Mcouc2iVSy$rveTp-UKzUIQ#|=pa!yJgnfNSosk`=^z*30cLg

0{KR|5miSOY=;_11nLbq4mION<}TEXzrvdM05#Ckqg=<;Q8Vm{t#LSN zAV*Ozo-a@Xx#B0FCBK6@M5#x+0!7S9W<%7B+oN7M-LN9A!2Wm!>tfY0UQY~;LcM_Q zpguK=j&<#}MXh)b)MtQy4god13bkZgP&4@)^~Op-eVa`)&i#TBiYbmc{#6T%Z3T6WkUwLoHDR=D|qR626HV=~^=mspvUw`M+9v z%872ExlrZHqbAZ2gRm`XD>`90+<@8j{9h!XrM!b0aR_HZk6|ZN`gqiva3|`Q((|aZ zkZ+Rvt5{8Zjd%~#ip8S_cpFtO%Vc{`ptiaTDt`J|GNs$#Aw_NPxVR;$qa9I)K{JQ>ZODk2)haPy_mVI?sO<0y$^6 zy>5*v&=>WUX)Nm1JPY-hu0x%PgQ%HZGH+lr;tw$y)|lzqsg0`F4mFWT)M0(wjGxI~ zs=#F{_?MY&mYZRD)RIj^jd&C4`}=X!`=P{}Zl-lnE7Jm%-WS#3c+?iHv-BgV$1ef3 zLP7r7ZfP>23Km5DVo)E|aYu7J>P&1vb@Ul(rLLpS#3R%eq@UwfCO?J|FNrGG8Fl!E z;0&CD`ljX2GS_`5OvP9dPGEKH@s>C6KgU~+uMmG~wwUKW&6eRf(l4POJIr@a%LUZd z1TSy{&W3t_RIzv))R`HE4A}1(?E;=zsK;&@YNQ9vtEesd2X(r0Ep#2UHoKr^*xwwF zdh;znedGBYwPN4mGW;90MGF_H9z)+uK&O2_D&sWjIlhM4qb!SE1Nl))Tpcx_=BP8# z*PM=eac!{pLDX~p9qP~qzwK5o1gjD6j)Cw0u>>^24X6eWp_c4>^x@wY&%MO`(WnBd z!QrTZ&qbA6iE8H))MJ={RWbQemtGTfwq8R`bRY(P|DQxakJ&q@20lW)tIwl4_{;KB z#=4GusB+a%hqfbXMTVocVj-&DM$`&^h+3J0s4cmSTFE=HJpao0hXl<$$1*qb%BZu@ z8ub{BK+Sk1>hQ#&X0XrFzd}77x3D&*S?&hb41L7=qaM3AQ7fU8%+4R{FZ%{CXcVyjW*j+$ps15QLu;2Ns@->3qZ<6e(l4N9@-u2+Dc*7IWkJ2^N@7=h1^eJutcMv_xqUlns1=B^_(W8Pb5H}=X!(0_H1U&I8SAfh-}gshMU}%En24&E?Ok^^ilbJbvDppD z_j^WI!kbu+0&B4rUbpm+HLiiG*p2j#sHbB$>JWX7TFNV^m3WBS2p^*w%)HKZR19^x>!H%SVOxyBc6ba`KgW8v_n~GOs>AB2 zcAKI0zNZrb=+)=8`wb9 zN{zsBxCm?FQS$|Ai)y~-%5{FvzW6VxF*Vg7(x(tl7ZmS(FvY-Ld| zmVu}a#+l2pDe-tz`4?Co3%~E)jIX}$chCPk5;WqisDf8eBlmpZmb4b?i%Jyg>+~kn zA^Hj{;RDpS;v(Ce!%#1rPf=TX8;4@H?XLWE)ZyLdC!mp^M$PmJ>OJr$>d<7`;ZAdL zR6{jUhp;c|@fwd>sRgJNT#0ILi@6u|G@VAZ7rfIMg6hv-m4F&(hibSh>QgJ)(pRDy z-h`?Uhbs4_`6G@Z{uq5YY?qtBB2>L?sE+rc>YYcuId3`n_g}l+7mT8)0>e>*2?!&z8p+`2O$v&=shH%4m%~ z9APd+%{(5}!8z0!`2#~S_a1lXYNI;pV#Zkd9Q2X?o~55gZQXSY{QKWW1SXU43`?W` zBX@W{KrLYc>MPh!I0P%kyMOJn7WG)>``8Vz71k%-7uCTQ)Pz1ky^?=K9r6NuUAt{C z@b|y21hn)cQJ;o$%`K>gj-h6jfI1rwP%DsopZk(p2X*NBqCT8P;aZ%Cs^{D9+Np-x znpUVoK4?GBzdD#ff?lO7P;aoisK+hj6F0+GF-+x9Z^S*QEjfT1Py#+d@2BpC^b|F~ z0tei{8k!wZ1ByU>ub6Ov=U+>*o&+7budyONL?0G8=sw+=pbpb;)C~Qo51|>T!}l)g zc|L{RynOm$X{>sf0brja?u|O)s2liIOh);?`~>uA^#rvA>5sXk3Pp8P71ePavpMQa zbTq>)J<=RwPD8EKd~+G9-dc0J>ECaGlc*70M0J>8{%HP+YTz;I6`b<8i)Y8~#0#M& zG8r}Sw=I7qYGPYZ?H)j#l~c%B^Ls86P=k+9dz0cbS0F#CLYP_IY=mmC4XU9CRQ-{t z0Zum;p;q8sa|>#VcA@GY#=zhIE)mekZ=#;>$Ec3;op9;JPz~2Go1!}Ih(Q>EDnAgl zf+J8Jk48;svbh}9&n{H`V;G{(|BD2)WPhSg^;3)IIO#ghZMM#_x&$!~MI}QN7!K z67G;$mWr=&n)(p`8fPnwdme>qQsFFVb?|lWE8OAaC8unA!dm)n)UQLC1k#eOImF)~ z(wMxzEWH=;Gt}wHU6?j({(K1~qXh*=P*9%%`ui{6qytwijHg01?mC2z<8toiG{DXU zuI&!~&8P)nC1rvv-qNf`o!jKSMP9)a^q-pqUDff73kH53X7npb3$^^B4DK^3W#ev7 z+Gt9}aWAzx-%&o1yrSf7#vkZ#0{3jvcX5A8xm>iNtF5X3{uH><*yw6eIfn3AQgza+ za^EK{0nc$)vx-e8 z4%1OE6+f`XZxT)}-;h#FLz~hTIbpLsN z=a8orc_(QsKLtX$Q(6ZHNb5)Z5czN5M9Svn{*i{8Q06W2yWnWzy7CkMiTrt#Z%O)x zr1N$1KhM7_#(%XYaS(-TQfN7PRoF7Wqf&NmedD>$eeI=zS0X%}y1G8&ZbP|t)c=*V zpRHU=;`_K4lh&JjF2CoTRSHD;!FNVaUJA|P*0yW6YHt{czk8ICHC2(D)Y(6@;g`c9Xg53Ht(%9-&Cp{neJ&Bj1?ko6* zm5sv~;>o%0S{a)R)O`sd$V6&$&aXtm_JC;aHb)zj7yC_b4-%$gilYB(uLj z{!+?MwYu{yZ!>BA$eTxeKGsM&|Is9Lqw)l6_#xp86z)l5x}MO`9lU4xDXrl-_>A;q zl)YwYDqnUo{9${U_wEp@{C+R9q<~t1L9SZ1dd~XFOn;pn+ zO8Q;Ol%bQKNk2^G95&ESgnuDlS0+c`XLs^zQ70vL724nzERRopDEEC5KOyl8Zhk8c z{3@pOMZ|YgD3-KBIFEZi>5nO|?|okp*A-2i(>}VRfoHV zk)~^#nVZgs6W_|+(9)EjTw(S9DFsH;`3BsDYsol*LvSN$

YMzj2{za#eSDW>Tgf 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 diff --git a/templates/inventory/car_location_form.html b/templates/inventory/car_location_form.html new file mode 100644 index 00000000..4bdcfcb8 --- /dev/null +++ b/templates/inventory/car_location_form.html @@ -0,0 +1,10 @@ + + + + + $Title$ + + +$END$ + + \ No newline at end of file