Merge branch '347-cmb-fix-jo-form-display-when-loading-jo-from-view-all' into '270-final-cmb-fixes'
Resolve "CMB - fix JO form display when loading JO from View All" See merge request jankstudio/resq!393
This commit is contained in:
commit
ffa25d6c79
3 changed files with 159 additions and 92 deletions
|
|
@ -1392,7 +1392,7 @@ class CMBJobOrderHandler implements JobOrderHandlerInterface
|
||||||
$this->fillFormTags($params);
|
$this->fillFormTags($params);
|
||||||
|
|
||||||
// get template to display
|
// get template to display
|
||||||
$params['template'] = $this->getTwigTemplate('jo_onestep');
|
$params['template'] = $this->getTwigTemplate('jo_onestep_form');
|
||||||
|
|
||||||
// return params
|
// return params
|
||||||
return $params;
|
return $params;
|
||||||
|
|
@ -1517,7 +1517,7 @@ class CMBJobOrderHandler implements JobOrderHandlerInterface
|
||||||
{
|
{
|
||||||
$em = $this->em;
|
$em = $this->em;
|
||||||
|
|
||||||
$params['mode'] = 'update-all';
|
$params['mode'] = 'view-all';
|
||||||
|
|
||||||
// get row data
|
// get row data
|
||||||
$obj = $em->getRepository(JobOrder::class)->find($id);
|
$obj = $em->getRepository(JobOrder::class)->find($id);
|
||||||
|
|
@ -1530,7 +1530,11 @@ class CMBJobOrderHandler implements JobOrderHandlerInterface
|
||||||
$this->fillFormTags($params);
|
$this->fillFormTags($params);
|
||||||
|
|
||||||
// get template to display
|
// get template to display
|
||||||
$params['template'] = $this->getTwigTemplate('jo_all_form');
|
// check transaction origin if walkin
|
||||||
|
if ($obj->getSource() == TransactionOrigin::WALK_IN)
|
||||||
|
$params['template'] = $this->getTwigTemplate('jo_walkin_form');
|
||||||
|
else
|
||||||
|
$params['template'] = $this->getTwigTemplate('jo_onestep_form');
|
||||||
|
|
||||||
$params['obj'] = $obj;
|
$params['obj'] = $obj;
|
||||||
$params['status_cancelled'] = JOStatus::CANCELLED;
|
$params['status_cancelled'] = JOStatus::CANCELLED;
|
||||||
|
|
@ -2381,7 +2385,7 @@ class CMBJobOrderHandler implements JobOrderHandlerInterface
|
||||||
$this->fillFormTags($params);
|
$this->fillFormTags($params);
|
||||||
|
|
||||||
// get template to display
|
// get template to display
|
||||||
$params['template'] = $this->getTwigTemplate('jo_walkin');
|
$params['template'] = $this->getTwigTemplate('jo_walkin_form');
|
||||||
|
|
||||||
// return params
|
// return params
|
||||||
return $params;
|
return $params;
|
||||||
|
|
@ -2667,7 +2671,7 @@ class CMBJobOrderHandler implements JobOrderHandlerInterface
|
||||||
$this->fillFormTags($params);
|
$this->fillFormTags($params);
|
||||||
|
|
||||||
// get template to display
|
// get template to display
|
||||||
$params['template'] = $this->getTwigTemplate('jo_walkin_edit');
|
$params['template'] = $this->getTwigTemplate('jo_walkin_edit_form');
|
||||||
|
|
||||||
// return params
|
// return params
|
||||||
return $params;
|
return $params;
|
||||||
|
|
@ -2789,10 +2793,10 @@ class CMBJobOrderHandler implements JobOrderHandlerInterface
|
||||||
$this->template_hash['jo_list_fulfillment'] = 'job-order/list.fulfillment.html.twig';
|
$this->template_hash['jo_list_fulfillment'] = 'job-order/list.fulfillment.html.twig';
|
||||||
$this->template_hash['jo_list_open'] = 'job-order/list.open.html.twig';
|
$this->template_hash['jo_list_open'] = 'job-order/list.open.html.twig';
|
||||||
$this->template_hash['jo_list_all'] = 'job-order/list.all.html.twig';
|
$this->template_hash['jo_list_all'] = 'job-order/list.all.html.twig';
|
||||||
$this->template_hash['jo_onestep'] = 'job-order/cmb.form.onestep.html.twig';
|
$this->template_hash['jo_onestep_form'] = 'job-order/cmb.form.onestep.html.twig';
|
||||||
$this->template_hash['jo_onestep_edit_form'] = 'job-order/cmb.form.onestep.html.twig';
|
$this->template_hash['jo_onestep_edit_form'] = 'job-order/cmb.form.onestep.html.twig';
|
||||||
$this->template_hash['jo_walkin'] = 'job-order/cmb.form.walkin.html.twig';
|
$this->template_hash['jo_walkin_form'] = 'job-order/cmb.form.walkin.html.twig';
|
||||||
$this->template_hash['jo_walkin_edit'] = 'job-order/cmb.form.walkin.html.twig';
|
$this->template_hash['jo_walkin_edit_form'] = 'job-order/cmb.form.walkin.html.twig';
|
||||||
}
|
}
|
||||||
|
|
||||||
protected function checkTier($tier)
|
protected function checkTier($tier)
|
||||||
|
|
|
||||||
|
|
@ -389,14 +389,20 @@
|
||||||
<div class="m-form__section">
|
<div class="m-form__section">
|
||||||
<div class="m-form__heading">
|
<div class="m-form__heading">
|
||||||
<h3 class="m-form__heading-title">
|
<h3 class="m-form__heading-title">
|
||||||
|
{% if mode == 'view-all' %}
|
||||||
|
Assigned Hub
|
||||||
|
{% else %}
|
||||||
Nearest Hubs
|
Nearest Hubs
|
||||||
|
{% endif %}
|
||||||
</h3>
|
</h3>
|
||||||
</div>
|
</div>
|
||||||
<div class="form-group m-form__group row">
|
<div class="form-group m-form__group row">
|
||||||
<div class="col-lg-12">
|
<div class="col-lg-12">
|
||||||
|
{% if mode != 'view-all' %}
|
||||||
<label name="hub" data-field="hub">Click on a row to select a hub
|
<label name="hub" data-field="hub">Click on a row to select a hub
|
||||||
<span style="color:red"> *</span>
|
<span style="color:red"> *</span>
|
||||||
</label>
|
</label>
|
||||||
|
{% endif %}
|
||||||
<div class="form-control-feedback hide" data-field="hub"></div>
|
<div class="form-control-feedback hide" data-field="hub"></div>
|
||||||
<input type="hidden" id="hub-field" name="hub_id" value="">
|
<input type="hidden" id="hub-field" name="hub_id" value="">
|
||||||
<div class="table-frame" data-name="hub">
|
<div class="table-frame" data-name="hub">
|
||||||
|
|
@ -430,14 +436,20 @@
|
||||||
<div class="m-form__section">
|
<div class="m-form__section">
|
||||||
<div class="m-form__heading">
|
<div class="m-form__heading">
|
||||||
<h3 class="m-form__heading-title">
|
<h3 class="m-form__heading-title">
|
||||||
|
{% if mode == 'view-all' %}
|
||||||
|
Assigned Rider
|
||||||
|
{% else %}
|
||||||
Rider Assignment
|
Rider Assignment
|
||||||
|
{% endif %}
|
||||||
</h3>
|
</h3>
|
||||||
</div>
|
</div>
|
||||||
<div class="form-group m-form__group row">
|
<div class="form-group m-form__group row">
|
||||||
<div class="col-lg-12">
|
<div class="col-lg-12">
|
||||||
|
{% if mode != 'view-all' %}
|
||||||
<label name="rider" data-field="rider">Click on a row to select a rider
|
<label name="rider" data-field="rider">Click on a row to select a rider
|
||||||
<span style="color:red"> *</span>
|
<span style="color:red"> *</span>
|
||||||
</label>
|
</label>
|
||||||
|
{% endif %}
|
||||||
<div class="form-control-feedback hide" data-field="rider"></div>
|
<div class="form-control-feedback hide" data-field="rider"></div>
|
||||||
<input type="hidden" id="rider-field" name="rider_id" value="">
|
<input type="hidden" id="rider-field" name="rider_id" value="">
|
||||||
<div class="table-frame" data-name="rider">
|
<div class="table-frame" data-name="rider">
|
||||||
|
|
@ -452,7 +464,7 @@
|
||||||
</tr>
|
</tr>
|
||||||
</thead>
|
</thead>
|
||||||
<tbody id="riders">
|
<tbody id="riders">
|
||||||
{% if mode in ['onestep-edit'] %}
|
{% if mode in ['onestep-edit', 'view-all'] %}
|
||||||
{% set avail_riders = obj.getHub.getAvailableRiders|default([]) %}
|
{% set avail_riders = obj.getHub.getAvailableRiders|default([]) %}
|
||||||
<tr class="placeholder-row{{ obj.getHub and avail_riders|length > 0 ? ' hide' }}">
|
<tr class="placeholder-row{{ obj.getHub and avail_riders|length > 0 ? ' hide' }}">
|
||||||
<td colspan="5">
|
<td colspan="5">
|
||||||
|
|
@ -462,7 +474,11 @@
|
||||||
|
|
||||||
{% if obj.getHub %}
|
{% if obj.getHub %}
|
||||||
{% for rider in avail_riders %}
|
{% for rider in avail_riders %}
|
||||||
|
{% if mode == 'view-all' %}
|
||||||
|
<tr data-id="{{ rider.getID }}"{{ obj.getRider and obj.getRider.getID == rider.getID ? ' ' }}">
|
||||||
|
{% else %}
|
||||||
<tr data-id="{{ rider.getID }}"{{ obj.getRider and obj.getRider.getID == rider.getID ? ' class="m-table__row--primary"' }}">
|
<tr data-id="{{ rider.getID }}"{{ obj.getRider and obj.getRider.getID == rider.getID ? ' class="m-table__row--primary"' }}">
|
||||||
|
{% endif %}
|
||||||
<td>{{ rider.getFirstName }}</td>
|
<td>{{ rider.getFirstName }}</td>
|
||||||
<td>{{ rider.getLastName }}</td>
|
<td>{{ rider.getLastName }}</td>
|
||||||
<td>{{ rider.getContactNumber }}</td>
|
<td>{{ rider.getContactNumber }}</td>
|
||||||
|
|
@ -485,11 +501,13 @@
|
||||||
</h3>
|
</h3>
|
||||||
</div>
|
</div>
|
||||||
<div class="row m-form__group">
|
<div class="row m-form__group">
|
||||||
|
{% if mode != 'view-all' %}
|
||||||
<div class="col-lg-12">
|
<div class="col-lg-12">
|
||||||
<button class="btn btn-primary" id="btn-sc-add">Add Service Charge</button>
|
<button class="btn btn-primary" id="btn-sc-add">Add Service Charge</button>
|
||||||
</div>
|
</div>
|
||||||
|
{% endif %}
|
||||||
</div>
|
</div>
|
||||||
<!-- TODO: loop through existing service charges for job order -->
|
<!-- loop through existing service charges for job order -->
|
||||||
{% for jo_sc_key, jo_sc in obj.getMeta('service_charges')|default([]) %}
|
{% for jo_sc_key, jo_sc in obj.getMeta('service_charges')|default([]) %}
|
||||||
<div class="form-group m-form__group row">
|
<div class="form-group m-form__group row">
|
||||||
<div class="col-lg-6">
|
<div class="col-lg-6">
|
||||||
|
|
@ -634,10 +652,12 @@
|
||||||
<div class="m-form__actions m-form__actions--solid m-form__actions--right">
|
<div class="m-form__actions m-form__actions--solid m-form__actions--right">
|
||||||
<div class="row">
|
<div class="row">
|
||||||
<div class="col-lg-12">
|
<div class="col-lg-12">
|
||||||
|
{% if mode != 'view-all' %}
|
||||||
<button type="submit" class="btn btn-success">Submit</button>
|
<button type="submit" class="btn btn-success">Submit</button>
|
||||||
{% if ftags.set_map_coordinate and is_granted('joborder.cancel') and not obj.isCancelled %}
|
{% if ftags.set_map_coordinate and is_granted('joborder.cancel') and not obj.isCancelled %}
|
||||||
<a href="{{ url('jo_cancel', {'id': obj.getID}) }}" class="btn btn-danger btn-cancel-job-order">Cancel Job Order</a>
|
<a href="{{ url('jo_cancel', {'id': obj.getID}) }}" class="btn btn-danger btn-cancel-job-order">Cancel Job Order</a>
|
||||||
{% endif %}
|
{% endif %}
|
||||||
|
{% endif %}
|
||||||
<a href="{{ return_url }}" class="btn btn-secondary">Back</a>
|
<a href="{{ return_url }}" class="btn btn-secondary">Back</a>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
@ -781,6 +801,32 @@ $(function() {
|
||||||
});
|
});
|
||||||
{% endif %}
|
{% endif %}
|
||||||
|
|
||||||
|
{% if mode in ['view-all'] %}
|
||||||
|
var hub_table = '';
|
||||||
|
$.getJSON("{{ url('hub_nearest') }}?lat=" + lat + "&long=" + lng, function(data) {
|
||||||
|
var hubs = data['hubs'];
|
||||||
|
var hub_marker;
|
||||||
|
for (i in hubs) {
|
||||||
|
var hub = hubs[i];
|
||||||
|
|
||||||
|
if(selected_hub == hub['id']) {
|
||||||
|
hub_table += '<tr data-id=' + hub['id'] + ' ' + '>';
|
||||||
|
hub_marker = L.marker([hub['lat'], hub['long']], { icon: icon_hub });
|
||||||
|
hubLayerGroup.addLayer(hub_marker);
|
||||||
|
|
||||||
|
hub_table += '<td>' + hub['name'] + '</td>';
|
||||||
|
hub_table += '<td>' + hub['branch'] + '</td>';
|
||||||
|
hub_table += '<td>' + hub['cnum'] + '</td>';
|
||||||
|
hub_table += '<td>' + hub['distance'] + '</td>';
|
||||||
|
hub_table += '<td></td>';
|
||||||
|
hub_table += '</tr>';
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
$('#nearest_hubs').html(hub_table);
|
||||||
|
});
|
||||||
|
{% endif %}
|
||||||
|
|
||||||
// add marker to layer group
|
// add marker to layer group
|
||||||
markerLayerGroup.addLayer(marker);
|
markerLayerGroup.addLayer(marker);
|
||||||
|
|
||||||
|
|
@ -844,6 +890,7 @@ $(function() {
|
||||||
});
|
});
|
||||||
|
|
||||||
$(function() {
|
$(function() {
|
||||||
|
{% if mode != 'view-all' %}
|
||||||
$('#hubs-table').on('click', 'tr', function() {
|
$('#hubs-table').on('click', 'tr', function() {
|
||||||
var id = $(this).data('id');
|
var id = $(this).data('id');
|
||||||
|
|
||||||
|
|
@ -896,9 +943,11 @@ $(function() {
|
||||||
selected_hub = '';
|
selected_hub = '';
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
{% endif %}
|
||||||
});
|
});
|
||||||
|
|
||||||
$(function() {
|
$(function() {
|
||||||
|
{% if mode != 'view-all' %}
|
||||||
$('#rider-table').on('click', 'tr', function() {
|
$('#rider-table').on('click', 'tr', function() {
|
||||||
var id = $(this).data('id');
|
var id = $(this).data('id');
|
||||||
|
|
||||||
|
|
@ -911,9 +960,10 @@ $(function() {
|
||||||
selected_rider = id;
|
selected_rider = id;
|
||||||
$('#rider-field').val(selected_rider);
|
$('#rider-field').val(selected_rider);
|
||||||
});
|
});
|
||||||
|
{% endif %}
|
||||||
});
|
});
|
||||||
|
|
||||||
{% if mode in ['onestep-edit'] %}
|
{% if mode in ['onestep-edit', 'view-all'] %}
|
||||||
var lat = {{ obj.getCoordinates.getLatitude }};
|
var lat = {{ obj.getCoordinates.getLatitude }};
|
||||||
var lng = {{ obj.getCoordinates.getLongitude }};
|
var lng = {{ obj.getCoordinates.getLongitude }};
|
||||||
|
|
||||||
|
|
@ -1307,7 +1357,7 @@ $(function() {
|
||||||
var sc_array = [];
|
var sc_array = [];
|
||||||
|
|
||||||
// populate invoiceItems if editing so that we don't lose the battery
|
// populate invoiceItems if editing so that we don't lose the battery
|
||||||
{% if mode in ['open-edit', 'onestep-edit', 'walk-in-edit'] %}
|
{% if mode in ['view-all', 'open-edit', 'onestep-edit', 'walk-in-edit'] %}
|
||||||
{% if (obj.getInvoice and obj.getInvoice.getItems|length > 0) %}
|
{% if (obj.getInvoice and obj.getInvoice.getItems|length > 0) %}
|
||||||
{% for item in obj.getInvoice.getItems %}
|
{% for item in obj.getInvoice.getItems %}
|
||||||
{% if item.getBattery() %}
|
{% if item.getBattery() %}
|
||||||
|
|
|
||||||
|
|
@ -341,9 +341,11 @@
|
||||||
</div>
|
</div>
|
||||||
<div class="form-group m-form__group row">
|
<div class="form-group m-form__group row">
|
||||||
<div class="col-lg-12">
|
<div class="col-lg-12">
|
||||||
|
{% if mode != 'view-all' %}
|
||||||
<label name="hub" data-field="hub">Click on a row to select a hub
|
<label name="hub" data-field="hub">Click on a row to select a hub
|
||||||
<span style="color:red"> *</span>
|
<span style="color:red"> *</span>
|
||||||
</label>
|
</label>
|
||||||
|
{% endif %}
|
||||||
<div class="form-control-feedback hide" data-field="hub"></div>
|
<div class="form-control-feedback hide" data-field="hub"></div>
|
||||||
<input type="hidden" id="hub-field" name="hub_id" value="">
|
<input type="hidden" id="hub-field" name="hub_id" value="">
|
||||||
<div class="table-frame" data-name="hub">
|
<div class="table-frame" data-name="hub">
|
||||||
|
|
@ -358,6 +360,14 @@
|
||||||
</tr>
|
</tr>
|
||||||
</thead>
|
</thead>
|
||||||
<tbody id="nearest_hubs">
|
<tbody id="nearest_hubs">
|
||||||
|
{% if mode == 'view-all' %}
|
||||||
|
<tr data-id="{{ obj.getHub.getID }}"{{ obj.getHub.getID }}>
|
||||||
|
<td>{{ obj.getHub.getName }}</td>
|
||||||
|
<td>{{ obj.getHub.getBranch }}</td>
|
||||||
|
<td>{{ obj.getHub.getContactNumbers }}</td>
|
||||||
|
<td></span></td>
|
||||||
|
<td></td>
|
||||||
|
{% else %}
|
||||||
{% for hub in hubs %}
|
{% for hub in hubs %}
|
||||||
<tr data-id="{{ hub.getID }}"{{ obj.getHub and obj.getHub.getID == hub.getID ? ' class="m-table__row--primary"' }}>
|
<tr data-id="{{ hub.getID }}"{{ obj.getHub and obj.getHub.getID == hub.getID ? ' class="m-table__row--primary"' }}>
|
||||||
<td>{{ hub.getName }}</td>
|
<td>{{ hub.getName }}</td>
|
||||||
|
|
@ -366,6 +376,7 @@
|
||||||
<td></span></td>
|
<td></span></td>
|
||||||
<td></td>
|
<td></td>
|
||||||
{% endfor %}
|
{% endfor %}
|
||||||
|
{% endif %}
|
||||||
</tbody>
|
</tbody>
|
||||||
</table>
|
</table>
|
||||||
</div>
|
</div>
|
||||||
|
|
@ -495,10 +506,12 @@
|
||||||
<div class="m-form__actions m-form__actions--solid m-form__actions--right">
|
<div class="m-form__actions m-form__actions--solid m-form__actions--right">
|
||||||
<div class="row">
|
<div class="row">
|
||||||
<div class="col-lg-12">
|
<div class="col-lg-12">
|
||||||
|
{% if mode != 'view-all' %}
|
||||||
<button type="submit" class="btn btn-success">Submit</button>
|
<button type="submit" class="btn btn-success">Submit</button>
|
||||||
{% if ftags.set_map_coordinate and is_granted('joborder.cancel') and not obj.isCancelled %}
|
{% if ftags.set_map_coordinate and is_granted('joborder.cancel') and not obj.isCancelled %}
|
||||||
<a href="{{ url('jo_cancel', {'id': obj.getID}) }}" class="btn btn-danger btn-cancel-job-order">Cancel Job Order</a>
|
<a href="{{ url('jo_cancel', {'id': obj.getID}) }}" class="btn btn-danger btn-cancel-job-order">Cancel Job Order</a>
|
||||||
{% endif %}
|
{% endif %}
|
||||||
|
{% endif %}
|
||||||
<a href="{{ return_url }}" class="btn btn-secondary">Back</a>
|
<a href="{{ return_url }}" class="btn btn-secondary">Back</a>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue