Merge branch 'master' into 229-create-test-scripts
This commit is contained in:
commit
47589de2db
8 changed files with 246 additions and 18 deletions
|
|
@ -125,13 +125,18 @@ api_location_support:
|
||||||
controller: App\Controller\APIController:locationSupport
|
controller: App\Controller\APIController:locationSupport
|
||||||
methods: [GET]
|
methods: [GET]
|
||||||
|
|
||||||
|
api_activate_warranty:
|
||||||
|
path: /api/activate_warranty
|
||||||
|
controller: App\Controller\APIController:activateWarranty
|
||||||
|
methods: [POST]
|
||||||
|
|
||||||
api_service_list:
|
api_service_list:
|
||||||
path: /api/services
|
path: /api/services
|
||||||
controller: App\Controller\APIController:listServices
|
controller: App\Controller\APIController:listServices
|
||||||
methods: [GET]
|
methods: [GET]
|
||||||
|
|
||||||
api_partner_info:
|
api_partner_info:
|
||||||
path: /api/partner/{pid}
|
path: /api/partners/{pid}
|
||||||
controller: App\Controller\APIController:getPartnerInformation
|
controller: App\Controller\APIController:getPartnerInformation
|
||||||
methods: [GET]
|
methods: [GET]
|
||||||
|
|
||||||
|
|
@ -140,3 +145,7 @@ api_partner:
|
||||||
controller: App\Controller\APIController:getClosestPartners
|
controller: App\Controller\APIController:getClosestPartners
|
||||||
methods: [GET]
|
methods: [GET]
|
||||||
|
|
||||||
|
api_partner_review:
|
||||||
|
path: /api/partners/{pid}/review
|
||||||
|
controller: App\Controller\APIController:reviewPartner
|
||||||
|
methods: [POST]
|
||||||
|
|
|
||||||
|
|
@ -5,6 +5,7 @@ namespace App\Controller;
|
||||||
use Doctrine\ORM\Query;
|
use Doctrine\ORM\Query;
|
||||||
use Doctrine\ORM\QueryBuilder;
|
use Doctrine\ORM\QueryBuilder;
|
||||||
use Doctrine\DBAL\DBALException;
|
use Doctrine\DBAL\DBALException;
|
||||||
|
use Doctrine\ORM\EntityManagerInterface;
|
||||||
use Symfony\Component\HttpFoundation\Request;
|
use Symfony\Component\HttpFoundation\Request;
|
||||||
use Symfony\Component\HttpFoundation\Response;
|
use Symfony\Component\HttpFoundation\Response;
|
||||||
use Symfony\Bundle\FrameworkBundle\Controller\Controller;
|
use Symfony\Bundle\FrameworkBundle\Controller\Controller;
|
||||||
|
|
@ -38,6 +39,7 @@ use App\Entity\Promo;
|
||||||
use App\Entity\Battery;
|
use App\Entity\Battery;
|
||||||
use App\Entity\RiderRating;
|
use App\Entity\RiderRating;
|
||||||
use App\Entity\JOEvent;
|
use App\Entity\JOEvent;
|
||||||
|
use App\Entity\Warranty;
|
||||||
use App\Entity\Service;
|
use App\Entity\Service;
|
||||||
use App\Entity\Partner;
|
use App\Entity\Partner;
|
||||||
use App\Entity\Review;
|
use App\Entity\Review;
|
||||||
|
|
@ -676,6 +678,8 @@ class APIController extends Controller
|
||||||
if ($cv->getWarrantyExpiration() != null)
|
if ($cv->getWarrantyExpiration() != null)
|
||||||
$wty_ex = $cv->getWarrantyExpiration()->format('Y-m-d');
|
$wty_ex = $cv->getWarrantyExpiration()->format('Y-m-d');
|
||||||
|
|
||||||
|
$warranty = $this->findWarranty($cv->getPlateNumber());
|
||||||
|
|
||||||
$cv_list[] = [
|
$cv_list[] = [
|
||||||
'cv_id' => $cv->getID(),
|
'cv_id' => $cv->getID(),
|
||||||
'mfg_id' => $cv->getVehicle()->getManufacturer()->getID(),
|
'mfg_id' => $cv->getVehicle()->getManufacturer()->getID(),
|
||||||
|
|
@ -691,6 +695,7 @@ class APIController extends Controller
|
||||||
'curr_batt_id' => $battery_id,
|
'curr_batt_id' => $battery_id,
|
||||||
'is_motolite' => $cv->hasMotoliteBattery() ? 1 : 0,
|
'is_motolite' => $cv->hasMotoliteBattery() ? 1 : 0,
|
||||||
'is_active' => $cv->isActive() ? 1 : 0,
|
'is_active' => $cv->isActive() ? 1 : 0,
|
||||||
|
'warranty' => $warranty,
|
||||||
];
|
];
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -738,6 +743,7 @@ class APIController extends Controller
|
||||||
$batts = $vehicle->getBatteries();
|
$batts = $vehicle->getBatteries();
|
||||||
foreach ($batts as $batt)
|
foreach ($batts as $batt)
|
||||||
{
|
{
|
||||||
|
// TODO: Add warranty_tnv to battery information
|
||||||
$batt_list[] = [
|
$batt_list[] = [
|
||||||
'id' => $batt->getID(),
|
'id' => $batt->getID(),
|
||||||
'mfg_id' => $batt->getManufacturer()->getID(),
|
'mfg_id' => $batt->getManufacturer()->getID(),
|
||||||
|
|
@ -1641,11 +1647,16 @@ class APIController extends Controller
|
||||||
'status' => $status,
|
'status' => $status,
|
||||||
];
|
];
|
||||||
|
|
||||||
// customer vehicle
|
// customer vehicle and warranty
|
||||||
$cv = $jo->getCustomerVehicle();
|
$cv = $jo->getCustomerVehicle();
|
||||||
|
|
||||||
|
// get latest warranty using plate number
|
||||||
|
$warranty = $this->findWarranty($cv->getPlateNumber());
|
||||||
|
|
||||||
$jo_data['customer_vehicle'] = [
|
$jo_data['customer_vehicle'] = [
|
||||||
'id' => $cv->getID(),
|
'id' => $cv->getID(),
|
||||||
'plate_number' => $cv->getPlateNumber(),
|
'plate_number' => $cv->getPlateNumber(),
|
||||||
|
'warranty' => $warranty,
|
||||||
];
|
];
|
||||||
|
|
||||||
// rider
|
// rider
|
||||||
|
|
@ -1806,6 +1817,115 @@ class APIController extends Controller
|
||||||
return $res->getReturnResponse();
|
return $res->getReturnResponse();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public function activateWarranty(Request $req)
|
||||||
|
{
|
||||||
|
$required_params = ['plate_number'];
|
||||||
|
$em = $this->getDoctrine()->getManager();
|
||||||
|
$res = $this->checkParamsAndKey($req, $em, $required_params);
|
||||||
|
if ($res->isError())
|
||||||
|
return $res->getReturnResponse();
|
||||||
|
|
||||||
|
$plate_number = $req->request->get('plate_number');
|
||||||
|
|
||||||
|
// find warranty using plate number
|
||||||
|
$warranty_results = $em->getRepository(Warranty::class)->findBy(['plate_number' => $plate_number],
|
||||||
|
['date_create' => 'desc']);
|
||||||
|
|
||||||
|
// check if warranty_results is empty
|
||||||
|
if (empty($warranty_results))
|
||||||
|
{
|
||||||
|
$res->setError(true)
|
||||||
|
->setErrorMessage('No warranty found for plate number');
|
||||||
|
return $res->getReturnResponse();
|
||||||
|
}
|
||||||
|
|
||||||
|
// get first entry
|
||||||
|
$warranty = current($warranty_results);
|
||||||
|
if ($warranty->isActivated())
|
||||||
|
{
|
||||||
|
$res->setError(true)
|
||||||
|
->setErrorMessage('Warranty already activated');
|
||||||
|
return $res->getReturnResponse();
|
||||||
|
}
|
||||||
|
|
||||||
|
$warranty->setActivated();
|
||||||
|
|
||||||
|
$em->flush();
|
||||||
|
|
||||||
|
return $res->getReturnResponse();
|
||||||
|
}
|
||||||
|
|
||||||
|
protected function findWarranty($plate_number)
|
||||||
|
{
|
||||||
|
$em = $this->getDoctrine()->getManager();
|
||||||
|
// NOTE: Modify the search for the latest warranty. This seems hacky.
|
||||||
|
// get latest warranty using plate number
|
||||||
|
$warranty_results = $em->getRepository(Warranty::class)->findBy(['plate_number' => $plate_number],
|
||||||
|
['date_create' => 'desc']);
|
||||||
|
|
||||||
|
$warr = [];
|
||||||
|
|
||||||
|
// check if warranty_results is empty
|
||||||
|
if (empty($warranty_results))
|
||||||
|
{
|
||||||
|
/*
|
||||||
|
$res->setError(true)
|
||||||
|
->setErrorMessage('No warranty found for plate number');
|
||||||
|
return $res->getReturnResponse();
|
||||||
|
*/
|
||||||
|
|
||||||
|
return $warr;
|
||||||
|
}
|
||||||
|
|
||||||
|
// get first entry
|
||||||
|
$warranty = current($warranty_results);
|
||||||
|
|
||||||
|
// check for null values for battery and date claim and date expire
|
||||||
|
$batt_model = '';
|
||||||
|
$batt_size = '';
|
||||||
|
$sap_batt = '';
|
||||||
|
$claim_date = '';
|
||||||
|
$expiry_date = '';
|
||||||
|
|
||||||
|
if (!(is_null($warranty->getBatteryModel()))) {
|
||||||
|
$batt_model = $warranty->getBatteryModel()->getName();
|
||||||
|
}
|
||||||
|
if (!(is_null($warranty->getBatterySize()))) {
|
||||||
|
$batt_size = $warranty->getBatterySize()->getName();
|
||||||
|
}
|
||||||
|
if (!(is_null($warranty->getSAPBattery()))) {
|
||||||
|
$sap_batt = $warranty->getSAPBattery()->getID();
|
||||||
|
}
|
||||||
|
if (!(is_null($warranty->getDateClaim()))) {
|
||||||
|
$claim_date = $warranty->getDateClaim()->format("d M Y g:i A");
|
||||||
|
}
|
||||||
|
if (!(is_null($warranty->getDateExpire()))) {
|
||||||
|
$expiry_date = $warranty->getDateExpire()->format("d M Y g:i A");
|
||||||
|
}
|
||||||
|
|
||||||
|
$warr[] = [
|
||||||
|
'id' => $warranty->getID(),
|
||||||
|
'serial' => $warranty->getSerial(),
|
||||||
|
'warranty_class' => $warranty->getWarrantyClass(),
|
||||||
|
'plate_number' => $warranty->getPlateNumber(),
|
||||||
|
'first_name' => $warranty->getFirstName(),
|
||||||
|
'last_name' => $warranty->getLastName(),
|
||||||
|
'mobile_number' => $warranty->getMobileNumber(),
|
||||||
|
'battery_model' => $batt_model,
|
||||||
|
'battery_size' => $batt_size,
|
||||||
|
'sap_battery' => $sap_batt,
|
||||||
|
'status' => $warranty->getStatus(),
|
||||||
|
'date_create' => $warranty->getDateCreate()->format("d M Y g:i A"),
|
||||||
|
'date_purchase' => $warranty->getDatePurchase()->format("d M Y g:i A"),
|
||||||
|
'date_expire' => $expiry_date,
|
||||||
|
'date_claim' => $claim_date,
|
||||||
|
'claim_from' => $warranty->getClaimedFrom(),
|
||||||
|
'is_activated' => $warranty->isActivated() ? 1 : 0,
|
||||||
|
];
|
||||||
|
|
||||||
|
return $warr;
|
||||||
|
}
|
||||||
|
|
||||||
public function listServices(Request $req)
|
public function listServices(Request $req)
|
||||||
{
|
{
|
||||||
$required_params = [];
|
$required_params = [];
|
||||||
|
|
@ -1826,6 +1946,7 @@ class APIController extends Controller
|
||||||
$services = [];
|
$services = [];
|
||||||
foreach ($results as $result)
|
foreach ($results as $result)
|
||||||
{
|
{
|
||||||
|
/*
|
||||||
// get partners
|
// get partners
|
||||||
$partners = [];
|
$partners = [];
|
||||||
$service_partners = $result->getPartners();
|
$service_partners = $result->getPartners();
|
||||||
|
|
@ -1841,11 +1962,12 @@ class APIController extends Controller
|
||||||
'time_close' => $sp->getTimeClose()->format("g:i A"),
|
'time_close' => $sp->getTimeClose()->format("g:i A"),
|
||||||
];
|
];
|
||||||
}
|
}
|
||||||
|
*/
|
||||||
|
|
||||||
$services[] = [
|
$services[] = [
|
||||||
'id' => $result->getID(),
|
'id' => $result->getID(),
|
||||||
'name' => $result->getName(),
|
'name' => $result->getName(),
|
||||||
'partners' => $partners,
|
// 'partners' => $partners,
|
||||||
];
|
];
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -1885,7 +2007,7 @@ class APIController extends Controller
|
||||||
'rating' => $review->getRating(),
|
'rating' => $review->getRating(),
|
||||||
'message' => $review->getMessage(),
|
'message' => $review->getMessage(),
|
||||||
'date_create' => $review->getDateCreate()->format("d M Y g:i A"),
|
'date_create' => $review->getDateCreate()->format("d M Y g:i A"),
|
||||||
'mobile_session' => $review->getMobileSession()->getID(),
|
// 'mobile_session' => $review->getMobileSession()->getID(),
|
||||||
];
|
];
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
@ -1898,6 +2020,8 @@ class APIController extends Controller
|
||||||
'contact_nums' => $partner->getContactNumbers(),
|
'contact_nums' => $partner->getContactNumbers(),
|
||||||
'time_open' => $partner->getTimeOpen()->format("g:i A"),
|
'time_open' => $partner->getTimeOpen()->format("g:i A"),
|
||||||
'time_close' => $partner->getTimeClose()->format("g:i A"),
|
'time_close' => $partner->getTimeClose()->format("g:i A"),
|
||||||
|
'longitude' => $partner->getCoordinates()->getLongitude(),
|
||||||
|
'latitude' => $partner->getCoordinates()->getLatitude(),
|
||||||
'reviews' => $rev,
|
'reviews' => $rev,
|
||||||
];
|
];
|
||||||
|
|
||||||
|
|
@ -1935,10 +2059,10 @@ class APIController extends Controller
|
||||||
$result = $query->getResult();
|
$result = $query->getResult();
|
||||||
|
|
||||||
$data = [];
|
$data = [];
|
||||||
|
$partners = [];
|
||||||
foreach($result as $row)
|
foreach($result as $row)
|
||||||
{
|
{
|
||||||
$partner = [];
|
$partners[] = [
|
||||||
$partner[] = [
|
|
||||||
'id' => $row[0]->getID(),
|
'id' => $row[0]->getID(),
|
||||||
'name' => $row[0]->getName(),
|
'name' => $row[0]->getName(),
|
||||||
'branch' => $row[0]->getBranch(),
|
'branch' => $row[0]->getBranch(),
|
||||||
|
|
@ -1946,17 +2070,57 @@ class APIController extends Controller
|
||||||
'contact_nums' => $row[0]->getContactNumbers(),
|
'contact_nums' => $row[0]->getContactNumbers(),
|
||||||
'time_open' => $row[0]->getTimeOpen()->format("g:i A"),
|
'time_open' => $row[0]->getTimeOpen()->format("g:i A"),
|
||||||
'time_close' => $row[0]->getTimeClose()->format("g:i A"),
|
'time_close' => $row[0]->getTimeClose()->format("g:i A"),
|
||||||
];
|
'longitude' => $row[0]->getCoordinates()->getLongitude(),
|
||||||
|
'latitude' => $row[0]->getCoordinates()->getLatitude(),
|
||||||
$data[] = [
|
|
||||||
'partner' => $partner,
|
|
||||||
'db_distance' => $row['dist'],
|
'db_distance' => $row['dist'],
|
||||||
];
|
];
|
||||||
}
|
}
|
||||||
|
|
||||||
|
$data['partners'] = $partners;
|
||||||
|
|
||||||
$res->setData($data);
|
$res->setData($data);
|
||||||
|
|
||||||
return $res->getReturnResponse();
|
return $res->getReturnResponse();
|
||||||
|
}
|
||||||
|
|
||||||
|
public function reviewPartner($pid, Request $req, EntityManagerInterface $em)
|
||||||
|
{
|
||||||
|
$required_params = [
|
||||||
|
'rating',
|
||||||
|
'message',
|
||||||
|
];
|
||||||
|
|
||||||
|
$res = $this->checkParamsAndKey($req, $em, $required_params);
|
||||||
|
if ($res->isError())
|
||||||
|
return $res->getReturnResponse();
|
||||||
|
|
||||||
|
$rating = $req->request->get('rating');
|
||||||
|
$msg = $req->request->get('message');
|
||||||
|
|
||||||
|
// TODO: check rating if 1 - 5
|
||||||
|
|
||||||
|
// check if partner exists
|
||||||
|
$partner = $em->getRepository(Partner::class)->find($pid);
|
||||||
|
if ($partner == null)
|
||||||
|
{
|
||||||
|
$res->setError(true)
|
||||||
|
->setErrorMessage('No partner found.');
|
||||||
|
return $res->getReturnResponse();
|
||||||
|
}
|
||||||
|
|
||||||
|
$rev = new Review();
|
||||||
|
$rev->setRating($rating)
|
||||||
|
->setMessage($msg)
|
||||||
|
->setPartner($partner)
|
||||||
|
->setMobileSession($this->session);
|
||||||
|
|
||||||
|
// save to db
|
||||||
|
$em->persist($rev);
|
||||||
|
$em->flush();
|
||||||
|
|
||||||
|
$data = [];
|
||||||
|
$res->setData($data);
|
||||||
|
|
||||||
|
return $res->getReturnResponse();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -48,19 +48,37 @@ class VehicleController extends APIController
|
||||||
{
|
{
|
||||||
$this->denyAccessUnlessGranted('vehicle.list', null, 'No access.');
|
$this->denyAccessUnlessGranted('vehicle.list', null, 'No access.');
|
||||||
|
|
||||||
|
// get manufacturers
|
||||||
|
$mfgs = $em->getRepository(VehicleManufacturer::class)->findBy([], ['name' => 'ASC']);
|
||||||
|
|
||||||
|
// get vehicles
|
||||||
$vehicles = $em->getRepository(Vehicle::class)->findBy([], ['manufacturer' => 'ASC', 'make' => 'ASC']);
|
$vehicles = $em->getRepository(Vehicle::class)->findBy([], ['manufacturer' => 'ASC', 'make' => 'ASC']);
|
||||||
|
|
||||||
$result = [];
|
// process manufacturer results
|
||||||
foreach ($vehicles as $v)
|
$mfg_data = [];
|
||||||
|
foreach($mfgs as $mfg)
|
||||||
{
|
{
|
||||||
$result[] = [
|
$mfg_data[] = [
|
||||||
'id' => $v->getID(),
|
'id' => $mfg->getID(),
|
||||||
'name' => $v->getMake() . ' ' . $v->getModelYearFormatted(),
|
'name' => $mfg->getName(),
|
||||||
|
];
|
||||||
|
}
|
||||||
|
|
||||||
|
// process vehicle results
|
||||||
|
$make_data = [];
|
||||||
|
foreach($vehicles as $vehicle)
|
||||||
|
{
|
||||||
|
$make_data[] = [
|
||||||
|
'id' => $vehicle->getID(),
|
||||||
|
'mfg_id' => $vehicle->getManufacturer()->getID(),
|
||||||
|
'make' => $vehicle->getMake(),
|
||||||
|
'model' => $vehicle->getModelYearFormatted(),
|
||||||
];
|
];
|
||||||
}
|
}
|
||||||
|
|
||||||
$data = [
|
$data = [
|
||||||
'vehicles' => $result,
|
'manufacturers' => $mfg_data,
|
||||||
|
'vehicles' => $make_data,
|
||||||
];
|
];
|
||||||
|
|
||||||
return new APIResponse(true, 'Vehicles loaded.', $data);
|
return new APIResponse(true, 'Vehicles loaded.', $data);
|
||||||
|
|
|
||||||
|
|
@ -61,6 +61,7 @@ class WarrantyController extends APIController
|
||||||
'date_create' => (string) $warr->getDateCreate()->format('YmdHis'),
|
'date_create' => (string) $warr->getDateCreate()->format('YmdHis'),
|
||||||
'date_purchase' => (string) $warr->getDatePurchase()->format('Ymd'),
|
'date_purchase' => (string) $warr->getDatePurchase()->format('Ymd'),
|
||||||
'date_expire' => (string) $warr->getDateExpire()->format('Ymd'),
|
'date_expire' => (string) $warr->getDateExpire()->format('Ymd'),
|
||||||
|
'flag_activated' => (boolean) $warr->isActivated(),
|
||||||
];
|
];
|
||||||
|
|
||||||
$date_claim = $warr->getDateClaim();
|
$date_claim = $warr->getDateClaim();
|
||||||
|
|
|
||||||
|
|
@ -56,7 +56,7 @@ class Review
|
||||||
{
|
{
|
||||||
$this->date_create = new DateTime();
|
$this->date_create = new DateTime();
|
||||||
$this->rating = 0;
|
$this->rating = 0;
|
||||||
$this->comment = "";
|
$this->message = "";
|
||||||
}
|
}
|
||||||
|
|
||||||
public function getID()
|
public function getID()
|
||||||
|
|
|
||||||
|
|
@ -121,12 +121,19 @@ class Warranty
|
||||||
*/
|
*/
|
||||||
protected $claim_from;
|
protected $claim_from;
|
||||||
|
|
||||||
|
// warranty activated
|
||||||
|
/**
|
||||||
|
* @ORM\Column(type="boolean")
|
||||||
|
*/
|
||||||
|
protected $flag_activated;
|
||||||
|
|
||||||
public function __construct()
|
public function __construct()
|
||||||
{
|
{
|
||||||
$this->date_create = new DateTime();
|
$this->date_create = new DateTime();
|
||||||
$this->warranty_class = WarrantyClass::WTY_PRIVATE;
|
$this->warranty_class = WarrantyClass::WTY_PRIVATE;
|
||||||
$this->status = WarrantyStatus::ACTIVE;
|
$this->status = WarrantyStatus::ACTIVE;
|
||||||
$this->date_claim = null;
|
$this->date_claim = null;
|
||||||
|
$this->flag_activated = false;
|
||||||
}
|
}
|
||||||
|
|
||||||
public function getID()
|
public function getID()
|
||||||
|
|
@ -348,4 +355,15 @@ class Warranty
|
||||||
{
|
{
|
||||||
return $this->claim_from;
|
return $this->claim_from;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public function setActivated($flag_activated = true)
|
||||||
|
{
|
||||||
|
$this->flag_activated = $flag_activated;
|
||||||
|
return $this;
|
||||||
|
}
|
||||||
|
|
||||||
|
public function isActivated()
|
||||||
|
{
|
||||||
|
return $this->flag_activated;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -197,6 +197,7 @@
|
||||||
<th>Expiry Date</th>
|
<th>Expiry Date</th>
|
||||||
<th>Serial</th>
|
<th>Serial</th>
|
||||||
<th>Battery</th>
|
<th>Battery</th>
|
||||||
|
<th>Status</th>
|
||||||
</tr>
|
</tr>
|
||||||
</thead>
|
</thead>
|
||||||
<tbody>
|
<tbody>
|
||||||
|
|
@ -210,6 +211,13 @@
|
||||||
<td>{{ result.getDateExpire|default("")|date('d M Y') }}</td>
|
<td>{{ result.getDateExpire|default("")|date('d M Y') }}</td>
|
||||||
<td>{{ result.getSerial|default("") }}</td>
|
<td>{{ result.getSerial|default("") }}</td>
|
||||||
<td>{{ result.getSAPBattery.getID|default("") }}</td>
|
<td>{{ result.getSAPBattery.getID|default("") }}</td>
|
||||||
|
<td>
|
||||||
|
{% if result.isActivated == true %}
|
||||||
|
Activated
|
||||||
|
{% else %}
|
||||||
|
Not Activated
|
||||||
|
{% endif %}
|
||||||
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
{% endfor %}
|
{% endfor %}
|
||||||
</tbody>
|
</tbody>
|
||||||
|
|
|
||||||
|
|
@ -125,6 +125,16 @@
|
||||||
<td>End of Warranty</td>
|
<td>End of Warranty</td>
|
||||||
<td>{{ result.getDateExpire|date("d M Y") }}</td>
|
<td>{{ result.getDateExpire|date("d M Y") }}</td>
|
||||||
</tr>
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td>Status</td>
|
||||||
|
<td>
|
||||||
|
{% if result.isActivated == true %}
|
||||||
|
Activated
|
||||||
|
{% else %}
|
||||||
|
Not Activated
|
||||||
|
{% endif %}
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
{% endfor %}
|
{% endfor %}
|
||||||
</tbody>
|
</tbody>
|
||||||
</table>
|
</table>
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue