From 60c387378ac591b324d4a9044784b2a42f4358be Mon Sep 17 00:00:00 2001 From: Kendrick Chan Date: Fri, 5 Mar 2021 23:06:23 +0800 Subject: [PATCH] Add battery image_url to warranty check and other improvements #540 --- public/battery/generic.png | Bin 0 -> 2686 bytes src/Controller/APIController.php | 24 +++++++++++++++++++++++- 2 files changed, 23 insertions(+), 1 deletion(-) create mode 100644 public/battery/generic.png diff --git a/public/battery/generic.png b/public/battery/generic.png new file mode 100644 index 0000000000000000000000000000000000000000..9a9f71e64fe1753881f60dcb54f1513db95d7b77 GIT binary patch literal 2686 zcmb_eS5y<&7G)?AsRjawpg2}y4815FrAUzuN|*@J5~*V(fS@t~MFI$;BnG09-i!&N z3}Ao&N_j&IB>_f48IY2M=FkI@7r)<|pEvL0-u-dcz4xqr_SxrP-CXQtrH)96h=|BK zT(R*GV$Js@2@vk)y#PHC5h+^-8*8ulmrLXDDiw&($pJ5a**kTv|UD#!yHtP+CLP6JisRpu3WJ)iC751Q@G-D)jI zAY$Q&&7Qrz2UG05PQlBI^Y`M2q&u-^tlUAiB09h{jJV4oWPk();Pb!2d8GyW>|@w( zyIUDwz61jg9ST5Vu~?v*aTI92kEGbt)TE50e5iQB^a<1dZG2(BM7OBANcTOcU6j_) zfNyLx<5yGt9b;l@P@KWj5QA~hHR@09V+&RLJq*S*6H`;@Kr9DCC6he^gMz*d?+kSh z6x)XwPyTG5rT%n~ur}B0$>s4%>-@tC5)%{gX=##Rv8i)sU0>n;kVrMTJ^heL&&n;51Q0)cQkDst`a1{dEGrPJ0;(1s2WE?&Iov1<)0Ad|^ZT@f#%h|%L@HJO}O zucGqyORDjwuMev*!$+u`C~YtpNcN#9C@Lxj8p+2=9XtqZe(+5JkH=3BmAgg>$_fju z8W_i`ZGGGJYERM60<+BulCI)(WYo%Q4i*sm^%^=56lJtK95qa6|wLR{+V?e%`? zQvRp?rJxdTL||Z%Nr&E*5Ax$fLnryWyW>$1EiE5LpPjU{wBog@8!UEsVq$}DuOVro z+VjQb%a>&>#g7yh6`iOX6SC4q(DvUO-shBvCji~xo5xHHDcx4cS@3k!3+ zqcGi>tx?7bH=+cU*Lu9@Ei(2=2#PoZ&d51&@??7#9>Utq9g1!l`k2RLdJS<)^Yn@1 zMZT>`JoE+i@7GLX`3@kcI%;QaK07Tft^cK}q39EQLjs3>;Yqd3;DqNDS%Go?dZnD4 zoDuq23b%yz4PKR3ag}ORU;h~y>rW#SxHv=4G?i#kNZC)Q{&F03a?y+=Ggo*A86RH{ zMtt=>K>X+jheN}{!kCZdA|oTYVYIJbZ=+2w$qs$cl0-T{;E3|lQY@M`jAgTbs*W71 z6@0k&6i5-y3RaqDqa1Rj{!C_}m^Yfk_=aAswwr#7SEZtm9 zJx4pc)M|{yy=@(Uf^Ar#{mZ+bX4<-hKiJ&7S=gzjX&^z1p0s$1$CtWb2P0K`{`kc- z211D9J=oiJZ+!3#h9eL%`ube5?|XZDpZ;rYZA0)c&js`GUP&n_4=sQC`K6080ZB76 zGu)v7F)=ap`{y{^mudhIMoGB4yFZVgKDBD)T2$)H30aAS@RaErRB25aT01oMfglq-A)Y~yPR;mCqTJtIP0jX!4`Gvyk)*9 z>FHBUtGFiz-p7TSZh-rxRkYfW$(8GRq45Pj^vv<5lk)eqdqk4|Sa^Jr-lBTsx^)3Y zN&No;;1xb#he#y0J(5;2JJ!kH;I-%JBO>$zCD+w$T^Y?u0(xhMv9a;kx&Hbuxx$(( zY7En`|Wp`FmivPxOf-m=+_IJcdy+va;B6*ZlO#N-$9UeA30=x3}wm zzM#(ab6%>T({I$&)~5IOyH#bsQa*dPxVZQe*-%3(Cnx8GrskFVgb-)vOhKaOig_<= z#gBe_rsK_x6*imwX4e9t8nU%KUVHzR@zDkrKc^$!NHYkws|5xRu;1gHvVQ&bkSdG& zZmmIu62JJaqMZ3%YK_VDahLs_6R#xhk>S13;L!MOQZkf=cX$ZzK zBD1;;dNyG#$=VvTKC`OS+a&=2ylz(m0)a(jvJ-Q7IAM=xo1y%@hR{9){_lz-xm`44 zt<(KZ1T7_b4GWyRp;KqpQO|B?0|SG2LsouX9=NN!J8~$pKJ`^GJxQ?a{fXpKPBD?h zyeeK$_^2j;4+d%cJ-I^Sg&At@+w54GY>s4E$DeLjS5j6!^YPOs)*~C3bQ{uWAj)UP&87(oSOy+-sZ;9?z(NNkNK@XL| z0G$2`FR-_>`&CqjwYvItZh2#3ciOYS&(BYn81TBb)~I)!XHH<0TUp-yOT74C*f zy8vxNqtPdR{IPW@c3gkG@bY7WI&@rI2D~BmrcSF{dwVtk)M|+wd^o2E003g58CUI9Bch|X z_8w2%Bf?-Xvj+)oZawEI6v_?Kb`vdf{^tue-rh=m{>LRkviE1Vx}2$THyYy$d-5$c z5GRDrIXZg1w5%-j3~*zwbk*P7+}!cz%^v|u?aWJYW;7Zt^avyGz~|XMl4%#0Mb>?* znX3HwQz4sve{AG>LLA{TW2Q6P*4Fk>1%~#N2;LB0)Eo$06zI>7gv+_i{De zQ&R=P)(;YnKhwOCs*ju)E}aRSD{Hqw0EEe^(;j_Vi_u&D@7b^U2LeA0+Rm?LB9~Z literal 0 HcmV?d00001 diff --git a/src/Controller/APIController.php b/src/Controller/APIController.php index 15b979c1..75a73184 100644 --- a/src/Controller/APIController.php +++ b/src/Controller/APIController.php @@ -11,6 +11,7 @@ use Symfony\Component\HttpFoundation\Response; use Symfony\Bundle\FrameworkBundle\Controller\Controller; use Symfony\Component\HttpFoundation\JsonResponse; use Symfony\Component\Dotenv\Dotenv; +use Symfony\Component\HttpFoundation\RequestStack; use CrEOF\Spatial\PHP\Types\Geometry\Point; @@ -2758,9 +2759,11 @@ class APIController extends Controller implements LoggedController if ($res->isError()) return $res->getReturnResponse(); + /* // initialize data $data = [ 'is_valid' => false, + 'is_registered' => false, 'customer' => [ 'first_name' => '', 'last_name' => '', @@ -2772,6 +2775,7 @@ class APIController extends Controller implements LoggedController 'size' => '', ], ]; + */ // check if warranty serial is there $warr_serial = $em->getRepository(WarrantySerial::class)->find($serial); @@ -2779,6 +2783,13 @@ class APIController extends Controller implements LoggedController $batt = null; $is_registered = false; + if ($warr_serial == null) + { + $res->setError(true) + ->setErrorMessage('Invalid warranty serial code.'); + return $res->getReturnResponse(); + } + // if warranty serial is there if ($warr_serial != null) { @@ -2786,10 +2797,17 @@ class APIController extends Controller implements LoggedController if ($warr != null) { $is_registered = true; + + // null mobile number should be blank string instead + if ($warr->getMobileNumber() == null) + $mobile_num = ''; + else + $mobile_num = $warr->getMobileNumber(); + $customer = [ 'first_name' => $warr->getFirstName(), 'last_name' => $warr->getLastName(), - 'mobile_number' => $warr->getMobileNumber(), + 'mobile_number' => $mobile_num, 'plate_number' => $warr->getPlateNumber(), ]; } @@ -2805,11 +2823,14 @@ class APIController extends Controller implements LoggedController $sku = $warr_serial->getSKU(); $batt = $em->getRepository(SAPBattery::class)->find($sku); + // TODO: put this in a config file + $image_url = $req->getSchemeAndHttpHost() . '/battery/generic.png'; if ($batt != null) { $battery = [ 'brand' => $batt->getBrand()->getName(), 'size' => $batt->getSize()->getName(), + 'image_url' => $image_url, ]; } else @@ -2817,6 +2838,7 @@ class APIController extends Controller implements LoggedController $battery = [ 'brand' => '', 'size' => '', + 'image_url' => '', ]; }