From a4ec7373345b1990e7ca38cfa62e86736d60e1af Mon Sep 17 00:00:00 2001 From: Egor fureunoir Gorbunov Date: Wed, 1 Oct 2025 16:30:29 +0300 Subject: [PATCH] Features: 1) Set `address_line_1` as a required field in the serializer; Fixes: 1) Update Russian locale translation for "order" and "orders"; Extra: 1) Adjust minor formatting in Russian locale files. --- core/crm/amo/gateway.py | 11 ++++++++--- core/locale/ru_RU/LC_MESSAGES/django.mo | Bin 78734 -> 78728 bytes core/locale/ru_RU/LC_MESSAGES/django.po | 2 +- core/models.py | 2 +- core/serializers/utility.py | 2 +- vibes_auth/locale/ru_RU/LC_MESSAGES/django.mo | Bin 11060 -> 11054 bytes vibes_auth/locale/ru_RU/LC_MESSAGES/django.po | 2 +- 7 files changed, 12 insertions(+), 7 deletions(-) diff --git a/core/crm/amo/gateway.py b/core/crm/amo/gateway.py index 19ee2585..4fff14a5 100644 --- a/core/crm/amo/gateway.py +++ b/core/crm/amo/gateway.py @@ -82,9 +82,14 @@ class AmoCRM: def _get_customer_name(self, order: Order) -> str: if not order.attributes.get("business_identificator"): - return order.user.get_full_name() or ( - f"{order.attributes.get('customer_name')} | " - f"{order.attributes.get('customer_phone_number') or order.attributes.get('customer_email')}" + return ( + order.user.get_full_name() + if order.user + else None + or ( + f"{order.attributes.get('customer_name')} | " + f"{order.attributes.get('customer_phone_number') or order.attributes.get('customer_email')}" + ) ) try: business_identificator = order.attributes.get("business_identificator") diff --git a/core/locale/ru_RU/LC_MESSAGES/django.mo b/core/locale/ru_RU/LC_MESSAGES/django.mo index a4b0facc627473b42114714d07c5c37f59739f50..4bf7a31ff6b2aaeb999d2a815c41bff30d347949 100644 GIT binary patch delta 1952 zcmXZddrX&Q6u|Lw3P=GJ^@oB#E(*xiP;QGx7bQjK7}ktSrp!vTG@3fdXpJ}51!qoj zE$|Y}(R4Itvna>hjJ2pg+)OrGt1T%0XxKsxL<+^|dw$RR*XKFsd4KQwJmGJjZXaq?7j@$7zmf+?|ku`V}+i(zzvGI;8 z?PvHg@gzQD&)s$XV`%TonQ}|I5?2!MKwIiAY{!gybmwfNw%k*c9%467$$@mkt;siG1yQ;FE?@Rc7Dj$+)!D>vrUu7LO z;!gY;mtj_zN)=Y&3wRcpfy@ne`6jeY*YC%{2$ffe_oDr7$hY_bl?vikEa&?&NaGmh z%+Sy=`3_GI7tB;Sh*x|!MY{M8e3ks}DEIs@enngvtb<(uME_7IO?Io8IjJc(!GJ(W!~rbyIa^&$;j6z6aYaYE2l;B~Ygev4MAm;{xl zu>x%XpZIZHqI<3$ZEsw_k1!=kL-$56MiLL8U0l~Z8bvgwuoUx?HMH9s(JFEZtrF*P zAO7a|S1(ril(+>KVcrtANz1X5xCx)fgcOyH=;3pC6>VvXQZ;m(z4vIuk?2D^HUpT4 z>(ks1-@vDc`_TrNvecEd4sC!xqwSSH(T=O8tK?$VzhHziZ;;wX#L$-i&t(1V<|f>bw^x3Q1(A(*);tC delta 1958 zcmXZddrX#f6u|Lwkc$Dy?G=PqMXmyJHJT8M!X=TBnPF)HLuFZ_Ewf>h#bbukHK=SM zW0AA?2d85iU935CGuER1(3xzuW?NYNQ9z;zp+(>GKF?pDbI$L1pXYaf4~+)DJsNy! zq2GxXk=uWYq+-~Z$WqL~MYs-=@nw7w-^GV;22=2Xagju<#T;zL68s1w@h42jQQV1< z6K?xnTt+@HA&#^X{6ZlU>;DqTzys*R6SxA;V=+$S3z&Dq{lF27Bkx7)&=+_Rui|Rl zJSnmPPht~>+~nQ33oCKzrX$itP=3oD@h}#W-@>_=@wZ4U=3_Wkpv_D*+DvUn>+pMM zBR_-IksDq;?zWqkqM!OEoR51j4LckHo2t`TfalPbVjQg_F;gN9xDstCdNCR=U_Snc z*1@OY+^PK( zkCM;gMtkm#+dhr7Lzx5`7zIno+2tcXfMQa{1B7zXM6|mVk@?*${T!NB7#&pDRkhom^MeH3R`eH zeuKGK5UlbH*5XziKt>=5A#UA4+jPTTo)W6^68URrzZ>-|4^vq~-ig(GU#=5$W6@j< z9Fy)RNlfXo(vM%x?bu?MpjYvA4(L>u`C+Ql{Q5Zq4?l&rE6OVD$^9 zp#p79F5?DF&r)f}*U>g#c(#gNt(j=&x(cnM2hrNU#Cp7f4OpC`at1rmPRp8QDs4E3 zwzR8rZH731eFU~UBl0wG18zmTAcpWsd@P^cts>oMKkO?|c?3fXRrcZISc^ZP9pmgG y_k9=82IOC^fq%^%XiI$(EAUsVM-rspr;?401Kp|HhC(l%y0rgN`zK?ED*p#ry*AVU diff --git a/core/locale/ru_RU/LC_MESSAGES/django.po b/core/locale/ru_RU/LC_MESSAGES/django.po index e5bb3e2e..2e934903 100644 --- a/core/locale/ru_RU/LC_MESSAGES/django.po +++ b/core/locale/ru_RU/LC_MESSAGES/django.po @@ -2133,7 +2133,7 @@ msgstr "человекочитаемый идентификатор" #: core/models.py:1261 msgid "order" -msgstr "Заказать" +msgstr "Заказ" #: core/models.py:1282 msgid "a user must have only one pending order at a time" diff --git a/core/models.py b/core/models.py index e5e2303f..8924c846 100644 --- a/core/models.py +++ b/core/models.py @@ -1306,7 +1306,7 @@ class Order(ExportModelOperationsMixin("order"), NiceModel): # type: ignore [mi def add_product( self, product_uuid=None, - attributes: list | None = None, + attributes: list | dict | None = None, update_quantity=True, ): if attributes is None: diff --git a/core/serializers/utility.py b/core/serializers/utility.py index ff68a104..e7be7054 100644 --- a/core/serializers/utility.py +++ b/core/serializers/utility.py @@ -62,7 +62,7 @@ class AddressCreateSerializer(ModelSerializer): write_only=True, max_length=512, ) - address_line_1 = CharField(write_only=True, max_length=128, required=False) + address_line_1 = CharField(write_only=True, max_length=128, required=True) address_line_2 = CharField(write_only=True, max_length=128, required=False) class Meta: diff --git a/vibes_auth/locale/ru_RU/LC_MESSAGES/django.mo b/vibes_auth/locale/ru_RU/LC_MESSAGES/django.mo index 914d76fb54c764759d16074f3d059bcb18734470..4d3253d2a9ff3ca41e1aecfb1b4c49959ca9b99e 100644 GIT binary patch delta 344 zcmW;H&k8|76vy#jLXonOlq9bIDW%IovXLY#l&mOwOH0L4$<`BC+2|H8pscKU1+tJ= z@EtYHXXebAnRCvgakyA3Gc{}+$Wzm9o^dr F{||=6C$sGj{BAn9m$vd?88kB}`?|Xv7`JD4S&pGEgZ|=gKe;$mFB^7c~9GjR$2N~)!o#P8O@B_=Z z#R4YIq!YA}kb0QHA(}cL?{SGY7|Tnq_<$MQQd$__8eq+ayN_bk7I3ou= z9H4pN7h9O7=n3!8#swzv2TkLL6nF6g&4-@x5|`y`sm)?f;1L^iVGd5wbQoZOU-