From d1855a1af80d30ab529aba6424c03301698db864 Mon Sep 17 00:00:00 2001 From: trevor Date: Tue, 29 Oct 2024 16:13:58 +0900 Subject: [PATCH] renew commit --- .gitignore | 1 + smartsoltech/.gitignore | 1 + smartsoltech/comunication/telegram_bot.py | 36 +- smartsoltech/static/qr_codes/request_277.png | Bin 1073 -> 0 bytes smartsoltech/static/qr_codes/request_278.png | Bin 1166 -> 0 bytes smartsoltech/static/qr_codes/request_279.png | Bin 1076 -> 0 bytes smartsoltech/static/qr_codes/request_280.png | Bin 1099 -> 0 bytes smartsoltech/static/qr_codes/request_281.png | Bin 1160 -> 0 bytes smartsoltech/static/qr_codes/request_282.png | Bin 1164 -> 0 bytes smartsoltech/static/qr_codes/request_283.png | Bin 1048 -> 0 bytes smartsoltech/static/qr_codes/request_284.png | Bin 1124 -> 0 bytes smartsoltech/static/qr_codes/request_285.png | Bin 1098 -> 0 bytes smartsoltech/static/qr_codes/request_286.png | Bin 1117 -> 0 bytes smartsoltech/static/qr_codes/request_287.png | Bin 1041 -> 0 bytes smartsoltech/static/qr_codes/request_288.png | Bin 1115 -> 0 bytes smartsoltech/static/qr_codes/request_289.png | Bin 1158 -> 0 bytes smartsoltech/static/qr_codes/request_290.png | Bin 1116 -> 0 bytes smartsoltech/static/qr_codes/request_291.png | Bin 1112 -> 0 bytes smartsoltech/static/qr_codes/request_292.png | Bin 1128 -> 0 bytes smartsoltech/static/qr_codes/request_293.png | Bin 1153 -> 0 bytes smartsoltech/static/qr_codes/request_294.png | Bin 1158 -> 0 bytes smartsoltech/static/qr_codes/request_330.png | Bin 0 -> 1095 bytes smartsoltech/static/qr_codes/request_331.png | Bin 0 -> 1183 bytes smartsoltech/static/qr_codes/request_332.png | Bin 0 -> 1117 bytes smartsoltech/static/qr_codes/request_333.png | Bin 0 -> 1140 bytes smartsoltech/web/admin.py | 6 +- .../migrations/0006_order_service_request.py | 20 ++ ...ve_servicerequest_client_email_and_more.py | 32 ++ .../0008_alter_servicerequest_client.py | 19 + smartsoltech/web/models.py | 34 +- .../web/templates/web/modal_order_form.html | 188 +++++----- .../templates/web/modal_order_form_old.html | 339 ++++++++++-------- .../web/templates/web/service_detail.html | 3 +- smartsoltech/web/views.py | 242 ++++++++----- 34 files changed, 573 insertions(+), 348 deletions(-) create mode 100644 smartsoltech/.gitignore delete mode 100644 smartsoltech/static/qr_codes/request_277.png delete mode 100644 smartsoltech/static/qr_codes/request_278.png delete mode 100644 smartsoltech/static/qr_codes/request_279.png delete mode 100644 smartsoltech/static/qr_codes/request_280.png delete mode 100644 smartsoltech/static/qr_codes/request_281.png delete mode 100644 smartsoltech/static/qr_codes/request_282.png delete mode 100644 smartsoltech/static/qr_codes/request_283.png delete mode 100644 smartsoltech/static/qr_codes/request_284.png delete mode 100644 smartsoltech/static/qr_codes/request_285.png delete mode 100644 smartsoltech/static/qr_codes/request_286.png delete mode 100644 smartsoltech/static/qr_codes/request_287.png delete mode 100644 smartsoltech/static/qr_codes/request_288.png delete mode 100644 smartsoltech/static/qr_codes/request_289.png delete mode 100644 smartsoltech/static/qr_codes/request_290.png delete mode 100644 smartsoltech/static/qr_codes/request_291.png delete mode 100644 smartsoltech/static/qr_codes/request_292.png delete mode 100644 smartsoltech/static/qr_codes/request_293.png delete mode 100644 smartsoltech/static/qr_codes/request_294.png create mode 100644 smartsoltech/static/qr_codes/request_330.png create mode 100644 smartsoltech/static/qr_codes/request_331.png create mode 100644 smartsoltech/static/qr_codes/request_332.png create mode 100644 smartsoltech/static/qr_codes/request_333.png create mode 100644 smartsoltech/web/migrations/0006_order_service_request.py create mode 100644 smartsoltech/web/migrations/0007_remove_servicerequest_client_email_and_more.py create mode 100644 smartsoltech/web/migrations/0008_alter_servicerequest_client.py diff --git a/.gitignore b/.gitignore index 733b23c..c4da2ab 100644 --- a/.gitignore +++ b/.gitignore @@ -2,3 +2,4 @@ __pycache__ .venv .history +static/qr_codes \ No newline at end of file diff --git a/smartsoltech/.gitignore b/smartsoltech/.gitignore new file mode 100644 index 0000000..16a6505 --- /dev/null +++ b/smartsoltech/.gitignore @@ -0,0 +1 @@ +static/qr-qr_codes \ No newline at end of file diff --git a/smartsoltech/comunication/telegram_bot.py b/smartsoltech/comunication/telegram_bot.py index c28742a..d67cbc8 100644 --- a/smartsoltech/comunication/telegram_bot.py +++ b/smartsoltech/comunication/telegram_bot.py @@ -126,6 +126,7 @@ import telebot +from telebot import types from decouple import config from django.shortcuts import get_object_or_404 from web.models import Client, ServiceRequest, Order @@ -152,7 +153,10 @@ class TelegramBot: if match: self.handle_confirm_command(message, match) elif message.text.strip() == '/start': - self.bot.reply_to(message, "Ошибка: Некорректная команда. Пожалуйста, используйте ссылку, предоставленную на сайте для регистрации.") + kbd = types.InlineKeyboardMarkup() + url_btn = types.InlineKeyboardButton('Перейти на сайт', url=config("URL")) + kbd.add(url_btn) + self.bot.reply_to(message, "Здравствуйте! Данный бот предназначен для информирования клиентов SmartSolTech и регистрации на сайте. Пройдите на сайт для получения информации.", reply_markup = kbd) else: self.bot.reply_to(message, "Здравствуйте! Пожалуйста, используйте команду /start с корректными параметрами для подтверждения регистрации.") @@ -161,11 +165,14 @@ class TelegramBot: chat_id = message.chat.id client = Client.objects.filter(chat_id=chat_id).first() if client: - service_requests = ServiceRequest.objects.filter(client_email=client.email) + service_requests = ServiceRequest.objects.filter(chat_id=client.chat_id) if service_requests.exists(): response = "Ваши заявки:\n" for req in service_requests: - response += f"Номер заявки: {req.id}, Услуга: {req.service.name}, Дата создания: {req.created_at.strftime('%d-%m-%Y')}\n" + response += f"Номер заявки: {req.id}\n" \ + f"Услуга: {req.service.name}\n" \ + f"Дата создания: {req.created_at.strftime('%Y-%m-%d')}\n" \ + f"UID заявки: {req.token}\n" else: response = "У вас нет активных заявок." else: @@ -198,16 +205,14 @@ class TelegramBot: request_id = match.group(1) encoded_token = match.group(2) - # Декодируем токен из base64 + # Декодируем токен try: token = base64.urlsafe_b64decode(encoded_token + '==').decode('utf-8') - logging.info(f"Декодированный токен: {token}") except Exception as e: - logging.error(f"Ошибка при декодировании токена: {e}") self.bot.send_message(chat_id, "Ошибка: Некорректный токен. Пожалуйста, повторите попытку позже.") return - # Получаем заявку по ID и токену + # Получаем заявку service_request = ServiceRequest.objects.filter(id=request_id, token=token).first() if service_request: # Обновляем chat_id клиента @@ -215,12 +220,19 @@ class TelegramBot: service_request.client_name = message.from_user.first_name service_request.save() - response_message = ( - f"Здравствуйте, {message.from_user.first_name}!\n" - f"Ваш Telegram аккаунт успешно подтвержден. Пожалуйста, вернитесь на сайт для заполнения остальных данных." - ) + # Отправляем данные обратно на сервер для создания заявки + data = { + "service_request_id": request_id, + "client_name": message.from_user.first_name, + "client_chat_id": chat_id + } + response = requests.post('http://localhost:8000/service/send_telegram_notification/', json=data) + if response.status_code == 200: + self.bot.send_message(chat_id, "Ваш аккаунт успешно подтвержден! Вернитесь на сайт для продолжения.") + else: + self.bot.send_message(chat_id, "Ошибка при подтверждении. Пожалуйста, повторите попытку позже.") else: - response_message = "Ошибка: Неверная заявка или токен. Пожалуйста, проверьте ссылку." + self.bot.send_message(chat_id, "Ошибка: Неверная заявка или токен. Пожалуйста, проверьте ссылку.") self.bot.send_message(chat_id, response_message) else: diff --git a/smartsoltech/static/qr_codes/request_277.png b/smartsoltech/static/qr_codes/request_277.png deleted file mode 100644 index 299284100d527f617f7130456daf774ac852c403..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1073 zcmV-11kU@3P) zO>U$>427Quq%1+21LP=hv(_AGZU9Hg0V2V^(3?fMe(3CgQKpCIRsZm*(voGDpIsFr zPT2h83=IeuE?l^9;lhOrzZN&Q763Lg>jATVGaJ_yn9a442#mg`e;9a8G$gw5=ci`#$Wj~D)G zc#d^I%B!U3)o58Ij#9Dqb;7TzCME!0NOZo<0ay0=U?)Bt#!cUmTx-K_kQ>oxB z*aaxH2IBrNRUPs=;m53G*s4m%zP2kVQkhZh^49aQyOh5UnJ%3=@EII@RRu30`q$SayB*VH;Z!sSliSpL&NxXymEEn_rg=q zO7&_X{API7{r4IoCQ<;{m9LdvHvx)u!p~UJLGpPV29%u}@}$Xb`ULVi;b)A+ zrp^Ttx7Y{E`?`)_OkOAakk!@1Qd$tZS-O3gD?+loPWUma(r4~SRIloR;?kRtN-X?5 zZX-4WR*RJ@e_4ws(WD5;HcBNHe$G-23$G#awECAPyShQ93@iMErNSVf+&EEbE-kCkDCpRj$iAca1dKi}1v4uGXG_6b0>rK_xb9uK23TeZTM{b8>A%+r7cN}5aN)v*{}=cl_63bSD(Z-G00000NkvXXu0mjf*nJeQ diff --git a/smartsoltech/static/qr_codes/request_278.png b/smartsoltech/static/qr_codes/request_278.png deleted file mode 100644 index ca0f05c7ace5c564e55ea01c4a708b8134beec6a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1166 zcmV;91abR`P) zU5ey7426%b1M`?bFQAs<+CeXAm?hN?lBLuF2I9v8hjSk!CGH+B7b+RLi%2llNjV>` zfRL;odxY2_(?5G?An?Eg4?OU|0}nj#V{tL*ATlg=buAq*iHLrn*oVsXxY+|g8{X-k zJOV&@1As&U08W>OAQKSuvpy#Ima1MIGJD|X#*3S;eD6T=A#yE0h-m;gmJUF#`UVl{ z4xT;mbL0FqEUtg7s)WdVh{%x0@$b$a_&M<5llk@fJOMx(tY)h5Bx=OkR&y7Q1MU|SqDhud40V1 z+f0(sp6#H9W#62=fus{!Hpa8oTy8>u{RG(&VXA&>S%b_z;{Tiby$^ahC5Qd zT4hcjyzWcCd*EM%yZUT~46Civ2W-KoAD@&kv@Y8tvQ6=hSmlCtauFTeszQgvNr0@)x0jC$(68mfj=#lC7#|BFjHmDHh1akI^POrRWht4*u+-#LhAzGir$b28J!hwb9lL`ivc!S! z5wF8?jbXj#Bzu9@`a8Ft6GR<0@IB%SxguV8y;O)EEK%O7E#&$cl5ZU(-zE0`2mV)V zoeng;baPw7h|Edg$K~sq62z!u=4-7Yfz|6qe_i1Fq_JUG*K1AnpjK}0 z|9Mtt(XS4|4Lft`bij^NJZkp9&xx zTZ-FC5Qe`x63n9vX8~S{y@Ru)kex|O$pQvij{|Kg4}Fyr@*w%(aptcFqfz`J3x4X> z)g5yV*z(U28iWfME?l^9;lhPK7Po9;x@lK#W_G%nT>)6lSZqvJ$*zxky6~@tTU z+}%A4&Ls>ElRK9HFh#g{Ojqt<@Q#>Y`rU;;3ooh*z$FasUaw|If-5qMWKA+ib;1wW zczB5Br*tZmG!9Cov$}Zt%Fn#0 z3clD7Q#QvGN4xwO@#P#x18`R8`^qoK5LGvbm?*+O+A$C@JMbB zCU>9JIT3!$vgAVfb58dnl9&yAF!?? zQnhwhVRS=I-7u6?Cw#YMg_Q)AAe~hC{ms9{Z?wzIzhK_Zq!MW zR@{~ji&Q6kr=?k9hlnrdi06$G!1CYw2vfkA-bV-U<@)B%`+nVAJ~qwZ z-wfF)uM_?lymmr}5|_cJZoXKm6TZv3?r&b?zdK^0PCsdn znDB?<_ALOHALZz#<#aPxM}WauPIbPRo27%Du8(`V@UMo~)&I!d@Gz~on1OONc<1%x z>xA#JE}FJx9A%G0sVnMMY@nNnlIn!-vTdTanJNyOjbgQORShfrF?n4*t20N_b;Q4) zTjws~-|fwFuD6a`{NU4te^ETurh)9?mUGPKhb^a@v7DgWJki!LKF5z2{%ZLBS)Jux z+qX0H-4viZzf%!b_(SkE)yZ-i+|s$&_Li=)n_EZh`hPrK_}9SiPlz?95A)?ZL}wkN zFJ~ton3(39ZX-;wU@!gd!k>lTpTV97g~N6+wi_+p4z$1Yy9<97{+qKp>+b&0pA4|+ u;i+>X{D_(U_d4Oig$oxhT)6PR0{;n4%#|^%I!iGC0000 diff --git a/smartsoltech/static/qr_codes/request_280.png b/smartsoltech/static/qr_codes/request_280.png deleted file mode 100644 index 3490f31305a979b7ef452c4ebf0f7413e72f05c6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1099 zcmV-R1ho5!P) zOOB&R5Qe`Pki3K&)KStmE7i^5C_X?-uxu$&%pzad>Xo6?Q^Ow%WDK9OEQKO69vNlM z0h#|fLW6MO!i5VLE?l_qb8*Yk18a}n+0qxV_5fS?w3b)z=dCXMqIht3_XX@eM3~1e z-7+98EKISt@aXaR zBlZU1toi9Vs|&w0KAYvB;dANS?(5BAy*bdieLikZSUR^|aC_qF!Y_v7FEY_3U27Mg zhDh?T;pOEY{o95AEj(!*Vd>Jv-LrBLJmS;f4ufa?^ZGzqC;WZMR%?NzaL_qnft0Tc zOPBX?!L$DPRBokp!rzl@w1#Hza?*rk+?LLFesvlmgav7x@B@-!SPKs$=SBtx=%S@M z*brg1E*f;v!mB|>7har+f3d$?m*9kv}+dbJe_f~?i z&y*$JjPSTQA*GKyCp?rn5q?N=eRYT=yB0ha<*FOGoIYvhFlt{X{D71V+S+5mH-mLd zB?x8%ht7@RmpSCx1YyDLl+}e_6W`l9UrP8|gVqvZq%b3ASf)YwI^l<;R3wTvO(kEF zU1~}i*RsS?8t>#`g}*PQ+~7~Twv<#Ir8beDwymGEPWaoB9VwJL*ix&n^*d-Om6&T7 z(mLS>ad(gSSL!9%jNrem=-*~p%@%<5=4N(N2fOeiQsRbKeQgdON`ly{U#%?w3$k^> zkI23(0kz$v#;~Q+WY>M7I;`+xc$Ts;fEV8d5Zo)(L-0imj_bE08;#{7+4G zueYZ!%ewLgwf&(_16hMBriL)c4TL-W>5W1>U0u*&c3eB>dbYpwa354G7n%%lN6y0 z?9}`^;fG`&zV3>w)rYp)L~T5&7uh=D?@9BkyJ07_Ww>Z!eD40#zE1d=xKC`Bj>67k z8y$8_pK@HA24;W5>cX#q_b>Ox5PQ<-#I=t;e>izyB4AF zVr-c`;qtJ;kI7!S>JYJZ&fjak?qx2qq6y(|i|N1D2^TJ0xNzaZh5s+`e*x#nS3YuQ R1N#5~002ovPDHLkV1mG2H7Ni9 diff --git a/smartsoltech/static/qr_codes/request_281.png b/smartsoltech/static/qr_codes/request_281.png deleted file mode 100644 index 592425f2d6dda2c103595f7ccc7b756242aeccd5..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1160 zcmV;31b6$1P) zL2l$K5Qe`Rkg~+m93V%bZ!kxSa-`hAK1v@T5?;21RkHwWl9{(@`>ECAss$Ri`9v(0 z3izvFMA>1}k3BRPZn)uw8*aGah8un?F4a6D;$a#VsV{~_VD~fi6V*-h309d|ve)J!2_`iZruQy?O%`gqyZ(1hT|9y1BPl31a z6%?33;&qK^AtB(hLV1yu8G7G)>Tfsv!T2O1A_D+U4;Mu!>YsK%5UW%Ca1*{qj{a-`|+=_t~Dc0OK=+j2)P77)dYZfo#A_| zZWE^0j1V#sKNeBKrvNTX)Ws7&eA(OzK@mbaXmrERiMQRv>@)F0&`qTy+(elNsJ^B! zU3^wpydE;T;pfEH8J3!i9Ybr@1z+o0|D_}Aa`36Y-S9`@|FMTb@Q`5=k6eN()8Mq8pqPEBD(=GE@uM4lE_|I~b17qLb8Y{ko*-MxO$ga? z6Nc}xE;ms{llEf#OOYLG7hBgEe!ms31J?aQlj`EvWLVi!lzyfX8@|h$*EMapp0i#H zis_}gt&7Dv!*|%G*KK-nQ|_Gh%{I+itTX%oT;3AppcvEORQ2j9iT~;KCba|rr!c>i zb)8&}8{P1;;VmPUT%Y9EEd~2MExYQ)7V8Y(hi_Lml`uCA?Z`w-i)>dsu?9T395=e* zXT#U?u&pS4x;P}J1&LRo)!Ypz^MEo7#O+M%Q-8bRkHWh>>~<)u{uZ`Of2KRP7}t%5 z&9H{wW%|{q{^zvKu&z_{wkiQrP7J@_$_(39ZLTPE3O6C@;&mDj;>XbX&p&gy@#&D! z4L>K|SFm>nu-lZ{Rn@I|FspPj{HQ!Ee=XkJuA}n%5bApMCeb>SnD31y-q! zuL)Z7I>Ya^@0Y$x)J2Hb7ZoUyioiUe)2~lq8j^~w>kQwA|FN#CY1#hB#8z|HT@PS0 ztl@WCyIrU3VqLismZ*ytc+r}NW%2d0llf;B0!SPW7~Sx5;$r`Mo#BQXZn)uw8*cbN af&T_&unzDZb7^=00000 z!Hw%U42D0h1>|T0Q$R{lI+&8Crq_X8N(vajJ_fMCJ&2N(H@Dck9wX!-NbG!Y1Q4Qr zl2Sz3V8cIKXmH$d#~pXvamO8Zd|zD50t_9%BqFydz#t;_m2Q!ALqtSw`#s(9cf(Ot zRidh@j*SvWyQY1sTE9zo8?A``)MI!2C_H=J2*j~bXjOqme|$w}lIua^Ug!9(_!NNl zA;jd4jRK1>NcbO~?)W?6+P5>rdjKX8U=g`Zmo(S?*H3r+J@CKRbrwV087$0NG_Akl z>pI8xzy}c#=|FA(@qQ_5J+P=d1?0w(Bl@J$A>B!b`rcD2I`hmb1yNE!jL(T?wD-9N%D7^}$|dQkEoExnb;D$|1L| zVIALMb%c%gkX6If*)^sPiM;|e%5V#_LeU?m9=qd5;W=K8U{bZUDNTDU%;vjV)^m+V zSjRWxBG(z1E+$a>DR-KD=|j@pcn_&^q5aNJcl_P(CvA{is(C6wj3zGXbse5LaeR{{ z=Q62k8n)64Nl1*AuUj3{)r8}(Tdqw^VTN`_hwB`4_*{ZAeau3uFkBUhx(E=E3P1JO z9X|>$5!TjgYY8IVUOP?Jvh3On;B%ehFIm>GO>(_7;gyA43aL7hU)1w;j_+BUNZQoo z!&;zN)r4xDId-pe{8g*^gC*(`H0{;_B=!%{ICl1K5KveGRe$@b$L{!1caU$?F6fm8eS~DoLd#4IBFu zpZP^$_?&}4GYjo^AohDb-SPLt%k;H&)#ZF~oyfD=m{-Ic-vh6MW)Efg2G-~SX!HsN*%GCiRECOO33=U&hgi+_MvjoT1(c0P0G|)eRQvL{8iIuGhMNY zi!#HlIXvGt;rKSZRKx&i=3L(wly-#SYBQYBHY!XXPbWK_dhCuLh5tCysq73(x2rbJ z@{T;~`CRAtOO`vGrVipC$hC<@NON7+%naRkP?!U$EoHiRr<3Em;?qSfBX`e-UdItc zy0uiBPaOMoKi=_k;%Sc6HIg^Q{<0tM_&M+#VN(a4eMrh-=n#b& zT|;UdKV|`t)B2y=4CHb&fmkxZ{pH e?zrQ>1^*XxTmM#b0dmp+0000 zL2lzP3`IZ32C`Ic(4#mvD|)24fqj(RKwcJbz*&ft=yqpiCe7q?VKlWL90LTU|3xdJ z=!oT44-F6}PMkP#;>3v)zb`HpV>lynzKLAc5m-b7i;MtPzw~myyAyvk9IC2{NmW(z zpaA?ZWdKN9IH=}912I4KvlD+bzFPUxIc>nCpQ0aUKs5uZ*ORJVPbwDxu_peEFHijG z@pS~ST83dc10v^tc6Z{hh|9ZviWR)<|D5to0Nmtn-<|kt;67F+1+W6T$l%6t+D4hK zBXoJ&MgaiD3PfM|sh^$rgYiW~M9zS`XP_uotf!(Y)Cf%TOQU#J){%JkItRsFrN+JPfniSJ+ z%4V9BbOcb!9FV*m(yt?aJgjIXHCxy!+y<25mOaC?8p%^;))DUs*RZQVfo&`rcDkNa zidB*}V3A=Hpd3(EDeiK2;;)UT4I*+X$s`w`OzCu9M*!(lbWWeew9}9Cjq9+)d!h*h zJ5)(w3$H-a8n96pR1?H|!ZXZNf=Pc=|ZwsOd-Vt%UtgBx^ zJ|vBPof*WO*AeducYn<)F_*Y5!M5?Y7%8P3GV6$Uh1IYWg+w$>d@)v4O<^ENkEeci z;*Y{Zt@D|ipC|>d&G207(m5f1uUh8dX(>!J!@vg8m%LoQZIbmIOZkpII zy9;I=@k8NRH^j#D*lG8@$&Q^)#QX5rOWY*ISEpRolXu$TCPlBdt?O)uViCLKXMB0$PloS$PO52A zaxK+%JO3-nT-G|`M`Qf*S&+67%VpSP`aN#CyeS0hxGAuWGUeNjci~|h#5+Rx>vhD56DLlbIC0|t1^x#FTiB_c SNqztT0000 zU5=|b5QR?-Nd0J}SwNNoJGe_~^^)!mU@2KZB=Z;vbmqZjbhwf@?I(`9K50Eii=E#6yyyYN@xsAB^(L?8eAl85#rIllF` z3x5@!w5}3gzSS3wAqTSkAA{fe+l9XhcUxDi8A(?z^jyF(kU*g8AIk%2o$%+yJ!~>$ z3sR~iJ%~V3M*u|=Nzdj<>x4foZnT1H6PXOz0wm)W8&-Zb4T+G}3Ev}GpWK_e6bo0J zt6u^uCoHWK{+vA6u)MfSrZ1G>B5Y+b)Y>Vn6aJJutm{~rG$1UwB3mU*8j=x;CWP;i zP3t(qW7xEEtCA)~6Z;6Hd-AZtkHGDdcf-^*v;hDR?gq>s^j|=2`i`Dm_=)h^)-k$X zk@2CSsV{MDv32sW!uR9z)=Nj4UGCn?SxR6w%pbn$>#r?rIC6I3=faDvV-8;*im_X5 zBAdQCX)IeO{5i=9y1F)26=O?WyX8=nuM>U}!L z;b+6EPA88NV#B&3k@Lk5Ru8gu!uQCwuG{i;TcsbR)1+2CZZ4B^(YjN=Bp_qPjwE$-XCX1~~HTrHPnSK|oJ9Gm5xu{InxyYRE&bqt#- zT@lFZIskP;@#ch8{TIGV9@cgF-dK_*Y5A5jCtHC+>pI~(#Itl;3NGi1{dw+h+U%b< z2uSOMKP}l==GKzRkX1ozj$8rtoCrTk>o%8KdY+Q~OGCCCUapPF)(PJsxef+Y+g^d( z)wC7E`fL-mZ$kJn`MT+{w45$?Be0b8U4)-85pL$`J2W(eB_A2^*55AtRd^ju06Ba` zRi*Imr)@}X0g$Z|{;cp(9%^1?k4~t=+{DSl3V&WaUzen*a&sOz#HJ2p)6!3!PQs7C zQ>YLD^t}7|iHxh6b*u5KE5XIKdFQ~{g`X79XLZ^D&&Z`;-ed=_NcaiGX0C)k0F zInHrzVV_qse&yX_ewo{R*iOFp(_UWqo8aHh>O@#tPF=HDe{B~|7s4>N3xT__k86vm zJ8E{}=fuCC)%mL-`uI11u)qLA%GY_S?gj#D%R^=teop*f&g%4&OwzB?ky7^o0E%IS q?-0{}uM;j@xNzaZg$w^*;Qs)?MHZ^gXJ@eh0000 zO^Vzw5QSgGhF;o`1I$t68{|ksZe|~)4-k--4K^T)1%I!i5VLF8o^DV)WIYfVBq}GXt<2uv&P8n66u0_?zO6B|r-BN_hgy48ihDZa+^Wz%}2P3w(tem5-R;Q;_K6JEKx@b|*|)6WEU zBi1n}49Y@cVMAI&aa7L;oobMQv=z{71sZMx9u!@|+V*Ud-0|0_^oCF6zsuSK4 zDb2-wHEgqCUkxIRn`?ZemxD5;I^j>nIj=cp{T+AH>ikEkPWVN*O+)OthP`$f(PQs7M5+_s7N_1sU0eVNU9vepDi2wz6W)fKjk}qBJPgYS z0O*)H61&0q-E6|1?&#zO?LYC$3x83Zyx+)qz0oG@L3;fCu_0a*8{#+#0rSc(EsVI|nJXpm()*3q332%r}KBRh~Oq!I# z9dO8Xa*2gEMe*xm4$FP8^YoL?V^MO6g_<#Q73;zY*?!3pf64Duu-G&}|*z z?YQ%Mo@MGP{bBidSdv*sVC|EAeBtWC-wdzY4OQik#+{H`71g+>YFOcIc%ERd6&CyZ zshTKOUF=fmTqnFK@_pF7XS@L0ZE*f4;=Vc%z_9fMK)AaBt_+~O^k*0TUHG9a&6gs= zrNki*qwp~91K-qtFt`pu8=Wl&A=l7oBD`72uVJrZE%dbDiW%M*RU$wgM_r&X)iL9Ixpj?Vg zl`GPG(;(+WcvGBf*m&bL-`gqWE030nR44q|F#Yd!!i5VLE?l^9;r|8x7YNr;ZF<87 Q_5c6?07*qoM6N<$f<6HqI{*Lx diff --git a/smartsoltech/static/qr_codes/request_286.png b/smartsoltech/static/qr_codes/request_286.png deleted file mode 100644 index 820480efdc904953c7a83f69a10db756790f8b1f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1117 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 LNkvXXu0mjf;lclm diff --git a/smartsoltech/static/qr_codes/request_288.png b/smartsoltech/static/qr_codes/request_288.png deleted file mode 100644 index 49e13345f2924fd2d22ffa64af642477072f831d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1115 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 Y0U3nqX%s{>`2YX_07*qoM6N<$f)_ z&1vLJ5Qd-nB$%TH9KeLqlfi~$zL1=O6p8~_P#*^*-aYh>+FqY5Encsx4rVmd4=q7a z|7x4qA=7_*XmH$d#~pXvamO8Z{8-$w^q5^&16H$p>|sim0IUYFEWIDMyW=OtgCuDN zpvwuybbFXR&z+d8Cn+Ixk|e#wckb@^N%2_BS9tAVx`M`dQL%NaX&jcc)Xe&WcX#|; zc>nHN@GuyFARxS4M9|vX2k=+lyyO1}ZgvIf^&&Gf(+Jp|PB1Lk{m<_1__^>w(g;X1 znB5i#b0@RgBUw3(bY+Q_gLilQl=x(3W>>I#yeI{C0EE|zAokevYmePoQwn?N?v9@f zPujJ$#Y9|9(``Ypq)Vo22e6vjr3dWp_&IS>9VBc{Go`AX27gWFd*3a(vSL4G1L^EoYSSrDt-C51&78_SZRh_B`)^QJ*?w9L{)&Us?<^(=?q(hC(WHC_ppxdldN)cR|2`D zdL`BiMa^JXJg#&65WLA@i<(g^++5Zq(>GUQ&Ka(2o#UUAV(W6`R&3qUs$+JuHMy;r zYn|htl9Eldab2Ey8l*O)(^gH9+d9YhNH%G6jpk}LLFxH#E!a{e&O>&tb&h{Zaz|{s zJxoMHN!Q{Patmz5(iky7c*!3uj0f!Q_^I(Qcd}D4q^+E! z7Hrp!0ED7{$>9QcHsSa|9(L=4&5&Jc?8_%QF{Od_PU+>b`*FKFem1;#Si0O63r+XG zcwMR0$>s7hE1bX%_BTIcva`KZ&?&YaBovJ6AzLb7X}<2$5OPD(U4mMU>O-$d8y zpKG1t`|uBJ-8Qmbey9OoTHw72$M@mQ+d7;6ZH_eOuybqSO6AzK&hgL6=3%Lhbjw$p z^mVLO&nqX6AA)c7lId2*h@)A1*aWMU*_4M*Iyt^aO67!7Dw*4vljcRm=KL_Xb&em4 zrz2tC9w(O1!0v0)qMo1lm)*SM-vj^PgxIwgJWQ|}L0~~^FIanH_=$xV@BTZ!M~c=B z0wO?s64Q@4&6gb icieHu9e4bnz<&WjjUgTA)}Y-00000 zL5|}%3`HNu272iLb$}ejxxpN1&`0VU*hi@YG+-|S*x)QE$x5X$i`b2HCZ7uY& zKv4Q5r7~xSjeqT-LAY??!i5VLE?oGrxFu_`3v2#%T8;6v8sm0%&NnZ|jV}D%aNOOU z-re1&#-U4}(#03zM(^(Q@wZG2Fa7SqpN-EceEBf9qzHGu8qm1ec>(4Y9{@9J4<23k zd*gNipmV36fbj(GpDq6Ve9iOfZyR0sd*bdB(0`gSo&e?+=&oj$x#iCOtRFA@MeyuN zodYvKcQvPTj1G)$g7NRkVLsu^Q0J9j`rU;;3r}hySrdBUzb^SvsR`i^Tg1A%vRJp^ z;|WW_Z3f2kf`5JVrQconv+$fbnFxUzd65B#;8qeT&@J&dAG$@cPWTS16+-W8o0e~Y zkLLyYABMwfp)1Do)#yK!IT60g^1809+#&_Mq^Rfl6VP~4xKoLVFa7SqpM__a>O5x7 z>JlF2OMY%@vUg^Ol-CJ=%#!b@I97eT^0!LTfoaHmEIS! z;7DphUMGBqrKmMEpUHF^fH<=U9tGTkmV-u~h z%#)fBz8}Aj`r9W3Bw%V9`nRPY83V+#V~36|{H^f1(71JnySpQzgHq+x|06YC-^ zGQn2qucd0~G%keHgzz0!B~40jtCA+=bf>H^>RmnZI^lcp@wBFsOhPn7&8u;{bfpiV z9QFjOsWu^ehxx5#H33OEa#EX z?!upie_hw*0!8WD+&b+_TL9YoFMOX>X_0ytSbfCKmpW`Z1wdXW{82Og_d4Oig$oxh eT)6Q61^zDt7c?)n0000 zL5|}%3`IZ32E0^&IzWyh-(ZeZs3Y|a?4#rW4cN;7HvTLmN=nr(P9vSk=fahW^PmVI zDDjhWj5uKPKSyXlxNzaZg$oxhT=-*g%hm()X*bNL-ONtA*$4nw`*QJ*j*lB%_?zO9 zB)I^h#Se}y{LOGAABqcrxMY{&g!=CWlAC{c=?I`> z^3&<1=PvxO!DlnG&jrAI$`>;mNG=_1{KKOQe@{Fv0Kd*2|I%*GSJ*#3y70Ha`}{W$ zzzP`9ZHSkC<9xmvBR*$^&K)eiTU2XhtmP#!AnAO0QqFG!3PVh@ogoB5}M!8e0 z6Mna~Dlzktn#ADZf7$D*Xq-MQuM>W+d8FGs!UcN18pyQQL)gG6WQXGvw67C>9Jg^D zm}A}A1992S!`#&nF9WlX5=da}VdLXQ7yfRz@7!=xWGzc-dIfY$K`<_zS7{aNgx_u7 z@&(`Av8=0X6}q@otwmlZ{1_fDX23d-UpA0aT4n(oSIeSFWcEaq+Sp(6<%Pc*USgfg zA}LiZIc(980d(|iV$%vM{D67&A02`9gP6}7EdJV!Si24LzYEe0tRJa2z#8hM=PvwN zxckp)K%A}yguO?0t_~J2ebR*u;cA@6-3aVGA2Pb|_r$%(0Aw+)D0eq^J%`PWC+Z~@ z{wRDtXTP#Bz0omsKOt;L{lx&lN!f((W7g;(Ifv-l}KJ0X&BQY9E02 zcgpL8-)kP+${V4r{(Eq16IoJTC;XUImH0jjEdFRqxpPWXMsTdSwV zTs|p1cg&Tu+Tdp?*R-ngx@`Z-Jf{((sLL7Ec|;8TOZw&w{$=2 uu-exNKZu)ty-v7r;lhOr7cTsNf&T}U20j*Do5ZpJ0000 zO^%~T5Jq1NNM3?e2k=qw4eCgxK2qNRj^YEfL@q5Q`eu=tB(5dUs_{5tflQmHETqsE z89(VZalod3j?mz^W;q` z-hR6m;X@2_53ra3S-u4uexJI!NP9I$f25>tA2p@wdQ>)^!2`*f95K z`ux*s`kXOnq5y2Tw^0Px`rb>wyW>BMPi9HsSThIvy09)q&TqV|6nz62Rj_g>>)IEQaHj_>sVI4nU+fs>?cXO*Jl6(G*QmGiq z4$mX3>9*8M>ZG0O zkR6mc6xTY(_uJFHuI8|%K)iYJzCht3 z8^#k>cljWuCwf}b&l`1O@swD=fPMf?Q+sOXHWF*zvE|R6Zv9k zj6F0FLT?NsvSI#+Mkg5V217j)`_k|3_)pwq#)w>Bv9bCjPQbFFiHx9QpH zeCKAWv$o2HIx65^=lEVr5w;AZH$~^VKPFgU>M^C1HW&~-B80X)_tNj~_z&YLXwINt zef~Kev%Z{+CA8SBtM$5vpPO*}h&|1mtmh_5Al-aAF?sa4O=bBf1 z+t+Q!jos@UKLxk1;)G__BB?ZEM;2r1S10@%t2_Q4c+t8t?okz500000NkvXXu0mjfm_SQ5 diff --git a/smartsoltech/static/qr_codes/request_294.png b/smartsoltech/static/qr_codes/request_294.png deleted file mode 100644 index 3f39fb19b06f4de7662e4c9417b1ab317cb87823..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1158 zcmV;11bO?3P) zL2m0h3`GyW4P+<-T|k%O?BFk{=+3OAWB~>2VE`HT4t=(g-g-T5b;r+!BT1r{ zB#n(EC4fc{(&pEEcb{*m#PHI8yW@WwpQ`(c9Y{(@W24o>X$T1ofSI)iukQG{al6up z*a6X6G)yf(Bm20u*!5>ucl;c9`~5;c%q?K3AK%Kg*kM4E?BLZMKQ|sE4FF6R(XYXk zM&%>i^QNmuzXMly{FHb!vy#3p){l+sV+8sU@^*wdr?7{v?)b^@oTaV?K`Pq}$WBm7 zXb4NLyO`&&jz47^ZKNNmeyxfo8fdCY0+b*eTsd+42z+WGzALA%d9THMuA5DtT}^HY z31IdJ>-Zikv2ui}5-+Z=YQy>0q2?8?5<7lW4x2E0PaBm^pVk6Fvh3!VjeeXTvX0;J z@Q%M2UXO1%hiFvO2dNYz@)<6%$t%i-`#Q&;wQos7zBYuE<0{bP{g*S00oWw6zUv&{ zgNM82xT+EC<92z_Q1TB|FOIg<#(u}cJN{yLRZeQViH7XlivO#jckzE!xpQCV_ztTX zX`*hfdZf#RuO+x{k8}yoVIAL#>$59jTrPoSn_4tX7uBApHMllb7Ei+ zt&v4*Qn?lcy=D_rm+!WI?9g({-+p+NZ>As+L$A(ozw_vkAu!Qci{-mEal@b_Ixb5%InLb9I92 zEx+R79e+7|6F$FnpVT%^SnIH?EhwH%IR3nCcilR1BB*q$Z}QcL0hNytI}K)VSK$u_x>6i5_7cf8Lgf6OD}UWs3ifGQwBB zY6K9|n}}Bo0swQXLsobEocI!9*J4Cb?y8W-re!@Nz4zBSegIxXJEdh-Vx#q&24>4+ zPkJp1%W~9z4x3!CMci8HVpAG+WR_C{AoMHPucKH@+ z#Pta4_#V8@>a=UPZ>Ki(W9{YamGbN-VD`Dhjvt8UH~!1zJT3`*wy*5KeM{yr@*UT7X(Z|yf(?e5X>#H`@;HhhBC>i{&2|Z zj-L}R+b8B@T!ZD8!kAl_-m*$!rPE}@2w$!Bw-#549e>`;|Mxn_9e3Pu#~pXv@&5(> YAKpX&dXgc*2LJ#707*qoM6N<$g0_lF^8f$< diff --git a/smartsoltech/static/qr_codes/request_330.png b/smartsoltech/static/qr_codes/request_330.png new file mode 100644 index 0000000000000000000000000000000000000000..0b5e24f0bd8163d09de57661d152338fb90d6745 GIT binary patch literal 1095 zcmV-N1i1T&P) zO>W~z3`QSE0%lnT`T#zPe1kbsV~&&?NJsGvq-B5-*o*p;lAYv+WBB7DksUwC0tmAB zkySD0giZgPp+UHC;lhOr7cN}*V{yyY!(?V=m(}dH^e|mkgT;)=EL|nL{g^K={N-@m z-JQYR-RI63W?*o42=1G|j=`N_?so6J^s@_p7T)LI%LRrHfDn6N?R~oS(V&YCV8gwS z&H@Hqe9Ya23kP7bf8EEWhrvHBg+5q~>H2AZ{qDlw68AAg>_+ElT?eb#jm{bF{a5&> zeR<(8f)`H;4lKZMH+;HAe7bberc2GHAq&b|UHPS-UHFsnT)BeX=-htad+hfN3^U}Y zxAfSJHI=Xry}R%?!&9u=wZ&F*menA98n7CK67Oojd(7R1zbF1pIRPjFNlaJib0eJt zo%>iYDJQ}Y*(TQ6Fh)FyCfA4&W(Pj4gtyh4ezq`V5v;oQ^92r0t`d7bc6mc6dp-p$HYwYK1s*9kvt zIcS9(@N%qcagENC>k*oF=4PzCPWUlv8J3(r-CMnyJ#nT4w-CvmD6bQK*h=b*WS6Sd zL>fWy{4&SC67b}8!cSOWMDs?B{F zGM3i~KW;U{{=z3C4LJd8?SB^Nm248(%Xy!;a+l zkX|SJ9KM-3p$?Sf2F0c$0eSOI*{vh56Mn*4tn)Fn%3-h971zsS0qVmFKWE!gVJRF!XH&l zMDp%_k0t8)zI>RoPl7sP!q3^RRBi2k*iD}lhszp@loR2nEX6u@F4gAi(vP-fN9#J_ z55V{Hb!-CJW~yndLv~e2R)!UR!isW|E7x|g)2@*1cH)Yw4=enXZGEVXn`{zpwYC*o zu}=6o^SzZroa#cZ%6Gtid!oEf_$j=d)#?9Vw>7NUHImOc3GQVCrQhQx?=JjJ@u5k@ zOOM$#rmK8@SctgaEuVNYT|ad~tnf3o$*XC51Wh2xYrVFOCtFa46@JFPpM)4@3_7>r zqwJ6v?mb56oILK?M;pcm++Fy4;@@K3ewHo^#9vBU#X8~VY@?ib@w(Cs+n>Et)jTOD z!q4IRb56RiW9&2yWo!rV%<97mKV$W9xjnS- N002ovPDHLkV1f^xEsFpE literal 0 HcmV?d00001 diff --git a/smartsoltech/static/qr_codes/request_331.png b/smartsoltech/static/qr_codes/request_331.png new file mode 100644 index 0000000000000000000000000000000000000000..b78d908d89a84f0bcd0f2a8367477e2bfc3a0c51 GIT binary patch literal 1183 zcmV;Q1YrA#P) zTZ-&B3_y=2f%Bxu5%M~y3_`IU zc8Rh>#=rK^;JD+CJMOsSjyvx7vA85@u|q$Lh;*wkcIidw=kh>Aq(4r(;}^xFs;W*v z)CC;?)yGYV(<(5xb`NM&RaIZ{o!TA0C_X3mrN6sXL^@!+KLu!1ZdEiktbA2%gFT8NJp>1kAYRtsSd)$aJk zaPxKF%3|Ruj2)7k+YF5N1^xQ!smJd4yKpQI5+`!LL{%+I5~oHXsH)o8V)t|iOUktj zryjfG@4`!f&@2!>TbMiZXFA>&U>4M(iMdVLl=!%*9HQOvYvRedRSqwx`L*Qr@)^*m zJ&jZGiKiaBX5?O$`DQ9>Y4mL(05v6$qcLj(xKLYYQ}*d>!TvTcBBFyel5VI=(}y z1YO<6)Tj=5N>}?j)ttF=U+4IbWizv?wQdNis%jNkO%@h%B4yYt@zi5?{9X9BVnmz( zGs0;*lzW!fbE|WFm!t%-zT}3j1h%DxtM6*^b^e8Qd_O+7=rG@uu>GzwGq)vWgsVW-2+y22zDu&PWp7q05|x?RA!k$a!L82m zpGr>rmQWSgQY9A6TI8Bzh`Rgp)MI!2&3Js2)e;jVBed`pNR1~XCrDV3{y^=HUkp$2 z!+2lP%80SEUb-bM6r(|{)6NXDJ5syj*Tl=Zi6-|5=hYI`J)6=^U=OO`;?!ez{9Smd zh}Elbs$vA$;BvjzV_3(J%bYBvq)G8>DTXM4Y&qM+tKbvsWh1oH)Kq^i{Ad$yVQg>GXW*K5?sad>6j$)d{S&&N?TE zpY}jC@1F>G9oF$(lB0?IAuUT0^E6L$a66T*POpeLeh6On>eOi!9l}%O*R-b1iR0s@ zxerCs{+<1i+8w_(E^<%hF8$qs4s(n2;h8okR#n}0$o|uQyyGXqzi+>3U)VKoHeoBX z8-;ll;$Ztxcvq+6d*sW!F0TUHq{%tFvSh5by)9o xa(pK)`rq&TyZFD?IqtaQjyvwS zL5kx_42C~V8L})xA0S6@Zr04r?4$Gn9@xu38O=f^yE4owHZ=V#EsPWUqX-D8^h_o9|z&s{z6YvO-<9n&Kf0nn*W{#~C6P%oUgdf?Z@-RrUf3&=3{ z0{OoV@{B+#3?s-ef1oVT>dHU*w+H^s_#`4CJpjqd2l@Q!V3+}x>YVamwG#H!)dRm6 zZtk>)FJ;+O5WaK~)P3S}f|RYC&~QYFf+qqkntg z--Vmk>6l9++5t&*B$<4|Femj`SFl^c>jHn@wAxDyv$L7%VdR32xzt!^?igMd_}kWW z8U}U0vb;L)vCa=Q^%f72Kl--^{$03N6Q&J+XsgKOrzi_}4WYo&6$Mm=@r2a_zcMZl zK;-@u9Z4$UJ=c0zM3`(gV6`(H&s#n4tKnY5?uA6&>eZQT4_BIx4G|eO@FVylB69Z~ z-qeFUtcG0$mYYok$iuF#p%Mpv#M;P3vhvl=OikHDlfkNvq>V+a3;Zo>Rbq2JY}2+Y zclD4)TcwOM{S#`15Tl;$rVcB$RRkV^yWZ1yZz;gkXn=2>xQV%Sh z2`Lulrh7r;UQS*;@N401AC|ngV0TGn8%Ajgj_AV%e#n{(yXkeX7ZzJSR5))W%s=s@H{Pb6x$H7%asMv7 zF7WrveeGr3$%gFm=7d_dVH7seIJ_?KcTHc-r`5Mfr>%T7$81X4@Vda?HCIl6eS)*; z`2+iw&PR(Q!v=l=K6oLkI zU5e{C5QR^T19`L|3&>LBoef#i?7&`1FQ7qw4A`7`kV=;CWnN-m(w>}pXgYC!$bzCu z^`|yshm3#ip#kB-g$oxhT)1%I$Ksadg7l+L-(CE#CNt|Nv-F#pnf1r5F8o9BK$46A z2LK$V3xM{Sl*{Z+asXgG8j>Wp_|DaZe<(h=`3ig*0Dz1D#%?i$2$*$QCu<}4GhSZ! z$#Ju;p;-r**_GMqO&1_=hV_4Tb>Sb1hX`0Gi)(dq3>ug`W#=^T{pS zwJ)>eT!DrhrYiv~?s_>Nyt?qu!t)7jObXScPZs`ZW()B)TZlJUh&KS!jaF3enAL@U zCZ4pea-HKn8#0a^4C8$Ufu}J&Xt!SW)O#2HE*vQj5=bIM03kL6+BrSofF?c7DHQ-f zOaJcFdl&vL+_f$O>)|ddoQD(~S`tX9x*0$_Ls}<%hpZ+o2d!-}eXfq4K5qOYrFFu0 zNv<@sv*$~S5)NpXl`u9r!VSsR$-@fYC9Y-w8JpxtlU`*_BoUZ@bHyy$dFs6je;2+D z8p@$9mdIgqnsbBaBCQktl6d4m*0#bd^a9u`35 zYh~+%zb>Ayn^UTejNZ!>O5rPbz>&00F|6=I@Ud%{8tUvm!>sd~Yl>!5ZT3n&QqO0j z{yO1%B>T$f8M!rIhvY~%DU~&8EL$i1by?4K+0D9|<)^W!eJy}ZUhmX<7yd51s>6DL zBCA;{Rs33v@K{$`CwzxgwyvawH)*-m%$1^ex#v)*{0LB=vD_7h%S_~~%>oWJ+irKeTn9ZJ49>Rcy$KTh&# z810&!>!U*{i!GLtc0fb3E~iwiKW=s5pN9KAIn#}X_S-mi5kMOOOcxjc5Fj?g*UN>6 ztS6T%P01M{>FANLvdce$o`n66AyJ!ALB zRu}#exaaFy0+;}deKV)XA;jf^vHOOFxB&UWL<51vu~Y9|_`C35@9MNbfWTtJbR#fb zX}J$2!q9$S3~jk*@zi@4{x00~-|K`67cN}5aN)xL7x=%Fe+ED!cqR}40000 ×

Заполните заявку на услугу

-

QR-код для завершения регистрации:

- QR Code
-
- - -
-
- - -
@@ -81,71 +71,101 @@
- +
+
+

QR-код для завершения регистрации:

+ QR Code +
+ + + + + diff --git a/smartsoltech/web/templates/web/modal_order_form_old.html b/smartsoltech/web/templates/web/modal_order_form_old.html index e8d8323..ef8083a 100644 --- a/smartsoltech/web/templates/web/modal_order_form_old.html +++ b/smartsoltech/web/templates/web/modal_order_form_old.html @@ -1,161 +1,214 @@ - -