Send SMS on customer warranty register / update #540
This commit is contained in:
parent
17669e0831
commit
fff5b46eda
3 changed files with 50 additions and 6 deletions
|
|
@ -13,6 +13,7 @@ use Symfony\Component\HttpFoundation\JsonResponse;
|
||||||
use Symfony\Component\Dotenv\Dotenv;
|
use Symfony\Component\Dotenv\Dotenv;
|
||||||
use Symfony\Component\HttpFoundation\RequestStack;
|
use Symfony\Component\HttpFoundation\RequestStack;
|
||||||
use Symfony\Component\HttpKernel\KernelInterface;
|
use Symfony\Component\HttpKernel\KernelInterface;
|
||||||
|
use Symfony\Contracts\Translation\TranslatorInterface;
|
||||||
|
|
||||||
use CrEOF\Spatial\PHP\Types\Geometry\Point;
|
use CrEOF\Spatial\PHP\Types\Geometry\Point;
|
||||||
|
|
||||||
|
|
@ -2978,7 +2979,7 @@ class APIController extends Controller implements LoggedController
|
||||||
return $serial . '/' . $filename;
|
return $serial . '/' . $filename;
|
||||||
}
|
}
|
||||||
|
|
||||||
public function warrantyRegister($serial, EntityManagerInterface $em, Request $req, KernelInterface $kernel)
|
public function warrantyRegister($serial, EntityManagerInterface $em, Request $req, KernelInterface $kernel, RisingTideGateway $rt, TranslatorInterface $trans)
|
||||||
{
|
{
|
||||||
// check required parameters and api key
|
// check required parameters and api key
|
||||||
$required_params = [
|
$required_params = [
|
||||||
|
|
@ -3008,14 +3009,14 @@ class APIController extends Controller implements LoggedController
|
||||||
// $cust = $this->updateCustomerInfo($req, $em);
|
// $cust = $this->updateCustomerInfo($req, $em);
|
||||||
|
|
||||||
// update warranty
|
// update warranty
|
||||||
$res = $this->updateWarranty($res, $em, $req, $serial, $inv_filename, $wcard_filename);
|
$res = $this->updateWarranty($res, $em, $trans, $req, $serial, $inv_filename, $wcard_filename);
|
||||||
|
|
||||||
$em->flush();
|
$em->flush();
|
||||||
|
|
||||||
return $res->getReturnResponse();
|
return $res->getReturnResponse();
|
||||||
}
|
}
|
||||||
|
|
||||||
protected function updateWarranty($res, $em, $req, $serial, $inv_filename = null, $wcard_filename = null)
|
protected function updateWarranty($res, $em, $trans, $req, $serial, $inv_filename = null, $wcard_filename = null)
|
||||||
{
|
{
|
||||||
// get serial
|
// get serial
|
||||||
$warr_serial = $em->getRepository(WarrantySerial::class)->find($serial);
|
$warr_serial = $em->getRepository(WarrantySerial::class)->find($serial);
|
||||||
|
|
@ -3051,10 +3052,12 @@ class APIController extends Controller implements LoggedController
|
||||||
return $res;
|
return $res;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
$sms_msg = $trans->trans('warranty_update_confirm');
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
$warr = new Warranty();
|
$warr = new Warranty();
|
||||||
|
$sms_msg = $trans->trans('warranty_register_confirm');
|
||||||
}
|
}
|
||||||
|
|
||||||
// get sap battery
|
// get sap battery
|
||||||
|
|
@ -3121,6 +3124,10 @@ class APIController extends Controller implements LoggedController
|
||||||
// set data to retrun to user
|
// set data to retrun to user
|
||||||
$res->setData($data);
|
$res->setData($data);
|
||||||
|
|
||||||
|
// send sms
|
||||||
|
error_log('sending sms to - ' . $this->session->getPhoneNumber());
|
||||||
|
$rt->sendSMS($this->session->getPhoneNumber(), 'MOTOLITE', $sms_msg);
|
||||||
|
|
||||||
return $res;
|
return $res;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -5,12 +5,15 @@ namespace App\Controller\CAPI;
|
||||||
use Symfony\Bundle\FrameworkBundle\Controller\Controller;
|
use Symfony\Bundle\FrameworkBundle\Controller\Controller;
|
||||||
use Symfony\Component\HttpFoundation\Request;
|
use Symfony\Component\HttpFoundation\Request;
|
||||||
use Symfony\Component\HttpKernel\KernelInterface;
|
use Symfony\Component\HttpKernel\KernelInterface;
|
||||||
|
use Symfony\Contracts\Translation\TranslatorInterface;
|
||||||
use Doctrine\ORM\Query;
|
use Doctrine\ORM\Query;
|
||||||
use Doctrine\ORM\EntityManagerInterface;
|
use Doctrine\ORM\EntityManagerInterface;
|
||||||
use Doctrine\DBAL\Exception\UniqueConstraintViolationException;
|
use Doctrine\DBAL\Exception\UniqueConstraintViolationException;
|
||||||
|
|
||||||
use Catalyst\APIBundle\Controller\APIController;
|
use Catalyst\APIBundle\Controller\APIController;
|
||||||
use Catalyst\APIBundle\Response\APIResponse;
|
use Catalyst\APIBundle\Response\APIResponse;
|
||||||
|
|
||||||
|
use App\Service\RisingTideGateway;
|
||||||
|
|
||||||
use App\Entity\WarrantySerial;
|
use App\Entity\WarrantySerial;
|
||||||
use App\Entity\Warranty;
|
use App\Entity\Warranty;
|
||||||
|
|
@ -266,7 +269,7 @@ class CustomerWarrantyController extends APIController
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
public function register($serial, EntityManagerInterface $em, Request $req, KernelInterface $kernel)
|
public function register($serial, EntityManagerInterface $em, Request $req, KernelInterface $kernel, RisingTideGateway $rt, TranslatorInterface $trans)
|
||||||
{
|
{
|
||||||
error_log('HERE - register');
|
error_log('HERE - register');
|
||||||
// check required parameters
|
// check required parameters
|
||||||
|
|
@ -290,7 +293,7 @@ class CustomerWarrantyController extends APIController
|
||||||
$wcard_filename = $this->handlePictureUpload($warr_card, $upload_dir, $serial, 'wcard');
|
$wcard_filename = $this->handlePictureUpload($warr_card, $upload_dir, $serial, 'wcard');
|
||||||
|
|
||||||
// do actual registering
|
// do actual registering
|
||||||
$res = $this->updateWarranty($em, $req, $serial, $inv_filename, $wcard_filename);
|
$res = $this->updateWarranty($em, $rt, $trans, $req, $serial, $inv_filename, $wcard_filename);
|
||||||
|
|
||||||
// flush to db
|
// flush to db
|
||||||
$em->flush();
|
$em->flush();
|
||||||
|
|
@ -331,7 +334,7 @@ class CustomerWarrantyController extends APIController
|
||||||
return $serial . '/' . $filename;
|
return $serial . '/' . $filename;
|
||||||
}
|
}
|
||||||
|
|
||||||
protected function updateWarranty($em, $req, $serial, $inv_filename = null, $wcard_filename = null)
|
protected function updateWarranty($em, $rt, $trans, $req, $serial, $inv_filename = null, $wcard_filename = null)
|
||||||
{
|
{
|
||||||
$plate_num = $this->cleanPlateNumber($req->request->get('plate_num'));
|
$plate_num = $this->cleanPlateNumber($req->request->get('plate_num'));
|
||||||
|
|
||||||
|
|
@ -348,6 +351,7 @@ class CustomerWarrantyController extends APIController
|
||||||
|
|
||||||
// skip warranty if it already exists
|
// skip warranty if it already exists
|
||||||
$cust = null;
|
$cust = null;
|
||||||
|
$sms_message = '';
|
||||||
if ($warr != null)
|
if ($warr != null)
|
||||||
{
|
{
|
||||||
$warr_plate_num = $this->cleanPlateNumber($warr->getPlateNumber());
|
$warr_plate_num = $this->cleanPlateNumber($warr->getPlateNumber());
|
||||||
|
|
@ -359,10 +363,13 @@ class CustomerWarrantyController extends APIController
|
||||||
|
|
||||||
// get customer
|
// get customer
|
||||||
$cust = $warr->getCustomer();
|
$cust = $warr->getCustomer();
|
||||||
|
|
||||||
|
$sms_message = $trans->trans('warranty_update_confirm');
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
$warr = new Warranty();
|
$warr = new Warranty();
|
||||||
|
$sms_message = $trans->trans('warranty_register_confirm');
|
||||||
}
|
}
|
||||||
|
|
||||||
error_log('sap battery check');
|
error_log('sap battery check');
|
||||||
|
|
@ -463,7 +470,33 @@ class CustomerWarrantyController extends APIController
|
||||||
// TODO: check if we need to do anyting else
|
// TODO: check if we need to do anyting else
|
||||||
$data = [];
|
$data = [];
|
||||||
|
|
||||||
|
|
||||||
|
// send sms confirmation
|
||||||
|
$this->sendSMSConfirmation($rt, $req->request->get('contact_num'), $sms_message);
|
||||||
|
|
||||||
return new APIResponse(true, 'Warranty registered.', $data);
|
return new APIResponse(true, 'Warranty registered.', $data);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
protected function sendSMSConfirmation($rt, $num, $message)
|
||||||
|
{
|
||||||
|
$clean_num = trim($num);
|
||||||
|
|
||||||
|
// check if number is valid
|
||||||
|
// number should have 11 to 12 characters
|
||||||
|
if (strlen($clean_num) < 11 || strlen($clean_num) > 12)
|
||||||
|
return false;
|
||||||
|
|
||||||
|
// check if numeric
|
||||||
|
if (!is_numeric($clean_num))
|
||||||
|
return false;
|
||||||
|
|
||||||
|
// number should begin with 0 or 6
|
||||||
|
if ($clean_num[0] != '0' && $clean_num[0] != '6')
|
||||||
|
return false;
|
||||||
|
|
||||||
|
error_log('sending sms to - ' . $clean_num);
|
||||||
|
|
||||||
|
$rt->sendSMS($clean_num, 'MOTOLITE', $message);
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -26,3 +26,7 @@ image_jo_pdf: /public/assets/images/logo-resq.png
|
||||||
default_lat: 14.6091
|
default_lat: 14.6091
|
||||||
default_long: 121.0223
|
default_long: 121.0223
|
||||||
default_region: ph
|
default_region: ph
|
||||||
|
|
||||||
|
# warranty text
|
||||||
|
warranty_register_confirm: Congratulations! Your warranty has been successfully registered! Read about Motolite's privacy policy at https://www.motolite.com/privacy/.
|
||||||
|
warranty_update_confirm: Congratulations! Your warranty has been successfully updated! Read about Motolite's privacy policy at https://www.motolite.com/privacy/.
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue