Merge branch '613-car-club-geofence-fix' into 'master-fix'

Resolve "Car club geofence fix"

See merge request jankstudio/resq!726
This commit is contained in:
Kendrick Chan 2021-08-12 10:33:54 +00:00
commit 9473da9f2a

View file

@ -2225,11 +2225,34 @@ class APIController extends Controller implements LoggedController
if ($res->isError()) if ($res->isError())
return $res->getReturnResponse(); return $res->getReturnResponse();
$long = $req->query->get('longitude'); $long = $req->query->get('longitude');
$lat = $req->query->get('latitude'); $lat = $req->query->get('latitude');
// NOTE: had to add this for promo tag
$cust = $this->session->getCustomer();
if ($cust == null)
{
$res->setError(true)
->setErrorMessage('No customer information found');
return $res->getReturnResponse();
}
$is_covered = false;
// check if customer still has promo
if (($cust->getCustomerTag('TAG_CAR_CLUB_OFFICER_PROMO')) ||
($cust->getCustomerTag('TAG_CAR_CLUB_MEMBER_PROMO')))
{
// if has customer tag, customer has not availed of promo
$is_covered = true;
}
else
{
// geofence
$is_covered = $geo->isCovered($long, $lat);
}
// geofence // geofence
$is_covered = $geo->isCovered($long, $lat); // $is_covered = $geo->isCovered($long, $lat);
$data = [ $data = [
'longitude' => $long, 'longitude' => $long,
@ -2636,8 +2659,30 @@ class APIController extends Controller implements LoggedController
$long = $req->request->get('long'); $long = $req->request->get('long');
$lat = $req->request->get('lat'); $lat = $req->request->get('lat');
// geofence // NOTE: had to move this up so we can check for promo before geofence
$is_covered = $geo->isCovered($long, $lat); // customer
$cust = $this->session->getCustomer();
if ($cust == null)
{
$res->setError(true)
->setErrorMessage('No customer information found');
return $res->getReturnResponse();
}
$is_covered = false;
// check if customer still has promo
if (($cust->getCustomerTag('TAG_CAR_CLUB_OFFICER_PROMO')) ||
($cust->getCustomerTag('TAG_CAR_CLUB_MEMBER_PROMO')))
{
// if has customer tag, customer has not availed of promo
$is_covered = true;
}
else
{
// geofence
$is_covered = $geo->isCovered($long, $lat);
}
if (!$is_covered) if (!$is_covered)
{ {
// TODO: put geofence error message in config file somewhere // TODO: put geofence error message in config file somewhere
@ -2690,13 +2735,13 @@ class APIController extends Controller implements LoggedController
->setStatusAutoAssign(AutoAssignStatus::NOT_ASSIGNED); ->setStatusAutoAssign(AutoAssignStatus::NOT_ASSIGNED);
// customer // customer
$cust = $this->session->getCustomer(); // $cust = $this->session->getCustomer();
if ($cust == null) // if ($cust == null)
{ // {
$res->setError(true) // $res->setError(true)
->setErrorMessage('No customer information found'); // ->setErrorMessage('No customer information found');
return $res->getReturnResponse(); // return $res->getReturnResponse();
} // }
$jo->setCustomer($cust); $jo->setCustomer($cust);
// validate service type // validate service type