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_purchase = DateTime::createFromFormat('d M Y', $req->request->get('date_purchase'));
|
||||||
$date_claim = DateTime::createFromFormat('d M Y', $req->request->get('date_claim'));
|
$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
|
// set and save values
|
||||||
$obj->setSerial($req->request->get('serial'))
|
$obj->setSerial($req->request->get('serial'))
|
||||||
|
|
@ -161,6 +162,10 @@ class WarrantyController extends Controller
|
||||||
{
|
{
|
||||||
$obj->setDateClaim($date_claim);
|
$obj->setDateClaim($date_claim);
|
||||||
}
|
}
|
||||||
|
if ($date_expire)
|
||||||
|
{
|
||||||
|
$obj->setDateExpire($date_expire);
|
||||||
|
}
|
||||||
|
|
||||||
// custom validation for battery model
|
// custom validation for battery model
|
||||||
$model = $em->getRepository(BatteryModel::class)
|
$model = $em->getRepository(BatteryModel::class)
|
||||||
|
|
@ -221,7 +226,6 @@ class WarrantyController extends Controller
|
||||||
'success' => 'Changes have been saved!'
|
'success' => 'Changes have been saved!'
|
||||||
]);
|
]);
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
@ -261,6 +265,90 @@ class WarrantyController extends Controller
|
||||||
// make sure this row exists
|
// make sure this row exists
|
||||||
if (empty($obj))
|
if (empty($obj))
|
||||||
throw $this->createNotFoundException('The item does not exist');
|
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>
|
</label>
|
||||||
<select name="battery_model" class="form-control m-input">
|
<select name="battery_model" class="form-control m-input">
|
||||||
{% for model in batt_models %}
|
{% 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 %}
|
{% endfor %}
|
||||||
</select>
|
</select>
|
||||||
<div class="form-control-feedback hide" data-field="battery_model"></div>
|
<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">
|
<select class="form-control m-input" id="battery_size" name="battery_size">
|
||||||
<option value=""></option>
|
<option value=""></option>
|
||||||
{% for size in batt_sizes %}
|
{% 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 %}
|
{% endfor %}
|
||||||
</select>
|
</select>
|
||||||
<div class="form-control-feedback hide" data-field="size"></div>
|
<div class="form-control-feedback hide" data-field="size"></div>
|
||||||
|
|
@ -141,7 +141,12 @@
|
||||||
</div>
|
</div>
|
||||||
<div class="col-lg-6">
|
<div class="col-lg-6">
|
||||||
<label data-field="date_expire">Expiry Date</label>
|
<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 class="form-control-feedback hide" data-field="date_expire"></div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue