Add update warranty. #236
This commit is contained in:
parent
978735adbd
commit
ad27ec3cf2
2 changed files with 97 additions and 4 deletions
|
|
@ -146,6 +146,7 @@ class WarrantyController extends Controller
|
|||
|
||||
$date_purchase = DateTime::createFromFormat('d M Y', $req->request->get('date_purchase'));
|
||||
$date_claim = DateTime::createFromFormat('d M Y', $req->request->get('date_claim'));
|
||||
$date_expire = DateTime::createFromFormat('d M Y', $req->request->get('date_expire'));
|
||||
|
||||
// set and save values
|
||||
$obj->setSerial($req->request->get('serial'))
|
||||
|
|
@ -161,6 +162,10 @@ class WarrantyController extends Controller
|
|||
{
|
||||
$obj->setDateClaim($date_claim);
|
||||
}
|
||||
if ($date_expire)
|
||||
{
|
||||
$obj->setDateExpire($date_expire);
|
||||
}
|
||||
|
||||
// custom validation for battery model
|
||||
$model = $em->getRepository(BatteryModel::class)
|
||||
|
|
@ -221,7 +226,6 @@ class WarrantyController extends Controller
|
|||
'success' => 'Changes have been saved!'
|
||||
]);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
@ -261,6 +265,90 @@ class WarrantyController extends Controller
|
|||
// make sure this row exists
|
||||
if (empty($obj))
|
||||
throw $this->createNotFoundException('The item does not exist');
|
||||
|
||||
$date_purchase = DateTime::createFromFormat('d M Y', $req->request->get('date_purchase'));
|
||||
$date_claim = DateTime::createFromFormat('d M Y', $req->request->get('date_claim'));
|
||||
$date_expire = DateTime::createFromFormat('d M Y', $req->request->get('date_expire'));
|
||||
|
||||
// set and save values
|
||||
$obj->setSerial($req->request->get('serial'))
|
||||
->setWarrantyClass($req->request->get('warranty_class'))
|
||||
->setFirstName($req->request->get('first_name'))
|
||||
->setLastName($req->request->get('last_name'))
|
||||
->setMobileNumber($req->request->get('mobile_number'))
|
||||
->setDatePurchase($date_purchase)
|
||||
->setClaimedFrom($req->request->get('claim_from'))
|
||||
->setStatus($req->request->get('status'));
|
||||
|
||||
if ($date_claim)
|
||||
{
|
||||
$obj->setDateClaim($date_claim);
|
||||
}
|
||||
if ($date_expire)
|
||||
{
|
||||
$obj->setDateExpire($date_expire);
|
||||
}
|
||||
|
||||
// custom validation for battery model
|
||||
$model = $em->getRepository(BatteryModel::class)
|
||||
->find($req->request->get('battery_model'));
|
||||
|
||||
if (empty($model))
|
||||
$error_array['battery_model'] = 'Invalid model selected.';
|
||||
else
|
||||
$obj->setBatteryModel($model);
|
||||
|
||||
// custom validation for battery size
|
||||
$size = $em->getRepository(BatterySize::class)
|
||||
->find($req->request->get('battery_size'));
|
||||
|
||||
if (empty($size))
|
||||
$error_array['battery_size'] = 'Invalid size selected.';
|
||||
else
|
||||
$obj->setBatterySize($size);
|
||||
|
||||
// custom validation for SAP battery
|
||||
$sap = $em->getRepository(SAPBattery::class)
|
||||
->find($req->request->get('sap_battery'));
|
||||
|
||||
if (empty($sap))
|
||||
$error_array['sap_battery'] = 'Invalid SAP battery selected.';
|
||||
else
|
||||
$obj->setSAPBattery($sap);
|
||||
|
||||
// validate
|
||||
$errors = $validator->validate($obj);
|
||||
|
||||
$cleaned_plate_number = Warranty::cleanPlateNumber($req->request->get('plate_number'));
|
||||
if (!$cleaned_plate_number)
|
||||
{
|
||||
$error_array['plate_number'] = 'Invalid plate number specified.';
|
||||
}
|
||||
$obj->setPlateNumber($cleaned_plate_number);
|
||||
|
||||
// add errors to list
|
||||
foreach ($errors as $error) {
|
||||
$error_array[$error->getPropertyPath()] = $error->getMessage();
|
||||
}
|
||||
|
||||
// check if any errors were found
|
||||
if (!empty($error_array)) {
|
||||
// return validation failure response
|
||||
return $this->json([
|
||||
'success' => false,
|
||||
'errors' => $error_array
|
||||
], 422);
|
||||
} else {
|
||||
// validated! save the entity
|
||||
$em->persist($obj);
|
||||
$em->flush();
|
||||
|
||||
// return successful response
|
||||
return $this->json([
|
||||
'success' => 'Changes have been saved!'
|
||||
]);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
|
|
|||
|
|
@ -110,7 +110,7 @@
|
|||
</label>
|
||||
<select name="battery_model" class="form-control m-input">
|
||||
{% for model in batt_models %}
|
||||
<option value="{{ model.getID }}"{{ obj.getModel.getID|default(0) == model.getID ? ' selected' }}>{{ model.getName }}</option>
|
||||
<option value="{{ model.getID }}"{{ obj.getBatteryModel.getID|default(0) == model.getID ? ' selected' }}>{{ model.getName }}</option>
|
||||
{% endfor %}
|
||||
</select>
|
||||
<div class="form-control-feedback hide" data-field="battery_model"></div>
|
||||
|
|
@ -122,7 +122,7 @@
|
|||
<select class="form-control m-input" id="battery_size" name="battery_size">
|
||||
<option value=""></option>
|
||||
{% for size in batt_sizes %}
|
||||
<option value="{{ size.getID }}"{{ obj.getSize.getID|default(0) == size.getID ? ' selected' }}>{{ size.getName }}</option>
|
||||
<option value="{{ size.getID }}"{{ obj.getBatterySize.getID|default(0) == size.getID ? ' selected' }}>{{ size.getName }}</option>
|
||||
{% endfor %}
|
||||
</select>
|
||||
<div class="form-control-feedback hide" data-field="size"></div>
|
||||
|
|
@ -141,7 +141,12 @@
|
|||
</div>
|
||||
<div class="col-lg-6">
|
||||
<label data-field="date_expire">Expiry Date</label>
|
||||
<input type="text" name="date_expire" class="form-control m-input" value="{{ obj.getDateExpire is empty? "" : obj.getDateExpire|date('Y-m-d') }}" disabled>
|
||||
<div class="input-group date dp">
|
||||
<input type="text" name="date_expire" class="form-control m-input" value="{{ obj.getDateExpire|default("now")|date('d M Y') }}" readonly placeholder="Select a date">
|
||||
<span class="input-group-addon">
|
||||
<i class="la la-calendar glyphicon-th"></i>
|
||||
</span>
|
||||
</div>
|
||||
<div class="form-control-feedback hide" data-field="date_expire"></div>
|
||||
</div>
|
||||
</div>
|
||||
|
|
|
|||
Loading…
Reference in a new issue