Add late documentation fields to ticket form #774

This commit is contained in:
Ramon Gutierrez 2023-11-07 04:02:33 +08:00
parent 561a280647
commit d44323c097
2 changed files with 52 additions and 2 deletions

View file

@ -105,6 +105,7 @@ class TicketController extends Controller
$row['status'] = TicketStatus::getName($orow->getStatus());
$row['ticket_type'] = $orow->getTicketTypeText();
$row['plate_number'] = $orow->getPlateNumber();
$row['flag_late_doc'] = $orow->isLateDoc();
// add row metadata
$row['meta'] = [
@ -260,6 +261,12 @@ class TicketController extends Controller
// get remarks
$remarks = $req->request->get('remarks', '');
// is this a late documentation
$flag_late_doc = $req->request->get('flag_late_doc', false);
// reason for late documentation
$late_doc_reason = $flag_late_doc ? $req->request->get('late_doc_reason') : null;
// set and save values
$obj->setFirstName($first_name)
->setLastName($last_name)
@ -273,7 +280,9 @@ class TicketController extends Controller
->setCreatedBy($this->getUser())
->setSourceOfAwareness($soa_type)
->setRemarks($remarks)
->setOtherDescription($other_desc);
->setOtherDescription($other_desc)
->setLateDoc($flag_late_doc)
->setLateDocReason($late_doc_reason);
// if assigned to customer, set association
if ($customer_id) {
@ -471,6 +480,12 @@ class TicketController extends Controller
// get remarks
$remarks = $req->request->get('remarks', '');
// is this a late documentation
$flag_late_doc = $req->request->get('flag_late_doc', false);
// reason for late documentation
$late_doc_reason = $flag_late_doc ? $req->request->get('late_doc_reason') : null;
// set and save values
$obj->setFirstName($first_name)
->setLastName($last_name)
@ -482,7 +497,9 @@ class TicketController extends Controller
->setPlateNumber($req->request->get('plate_number'))
->setSourceOfAwareness($soa_type)
->setRemarks($remarks)
->setOtherDescription($other_desc);
->setOtherDescription($other_desc)
->setLateDoc($flag_late_doc)
->setLateDocReason($late_doc_reason);
// initialize error list
$error_array = [];

View file

@ -183,6 +183,28 @@
</div>
{% endif %}
</div>
<div class="form-group m-form__group row no-border">
<div class="col-lg-4">
<span class="m-switch m-switch--icon block-switch">
<label>
<input type="checkbox" name="flag_late_doc" id="flag_late_doc" value="1"{{ obj.isLateDoc ? ' checked' }}>
<label class="switch-label" for="flag_late_doc">This is a late documentation</label>
<span></span>
</label>
</span>
</div>
</div>
<div class="form-group m-form__group row no-border{{ obj.isLateDoc ? '' : ' hide' }}" id="late_doc_reason_box">
<div class="col-lg-12">
<label for="details" data-field="late_doc_reason">
Reason for Late Documentation
</label>
<textarea class="form-control m-input" id="late_doc_reason" rows="6" name="late_doc_reason">{{ obj.getLateDocReason }}</textarea>
<div class="form-control-feedback hide" data-field="late_doc_reason"></div>
</div>
</div>
</div>
{% if mode == 'update' %}
@ -381,5 +403,16 @@ $('form').on('change', '#new-ticket-type', function() {
$('#sub-ticket-type').html(options);
});
$('form').on('change', '#flag_late_doc', (e) => {
const reasonBox = document.getElementById("late_doc_reason_box");
if (e.target.checked) {
reasonBox.classList.remove('hide');
reasonBox.querySelector('textarea').focus();
} else {
reasonBox.classList.add('hide');
}
});
</script>
{% endblock %}