Add rider assignment to one step form. #270
This commit is contained in:
parent
72abf2f211
commit
0ed4e10251
3 changed files with 69 additions and 3 deletions
|
|
@ -38,3 +38,8 @@ hub_nearest:
|
|||
path: /ajax/nearest_hubs
|
||||
controller: App\Controller\HubController::nearest
|
||||
methods: [GET]
|
||||
|
||||
hub_riders:
|
||||
path: /ajax/hubs/riders
|
||||
controller: App\Controller\HubController::getHubRiders
|
||||
methods: [GET]
|
||||
|
|
|
|||
|
|
@ -320,4 +320,47 @@ class HubController extends Controller
|
|||
'hubs' => $hubs,
|
||||
]);
|
||||
}
|
||||
|
||||
public function getHubRiders(Request $req)
|
||||
{
|
||||
// get hub id
|
||||
$hub_id = $req->query->get('id');
|
||||
|
||||
// get hub
|
||||
$em = $this->getDoctrine()->getManager();
|
||||
$hub = $em->getRepository(Hub::class)->find($hub_id);
|
||||
|
||||
// make sure this row exists
|
||||
if (empty($hub))
|
||||
throw $this->createNotFoundException('The item does not exist');
|
||||
|
||||
//TODO: get available riders sort by proximity, show 10
|
||||
$available_riders = $hub->getAvailableRiders();
|
||||
|
||||
$riders = [];
|
||||
|
||||
// TODO: remove this later when we don't get all available riders
|
||||
$riders_limit = 5;
|
||||
$num_riders = 0;
|
||||
|
||||
foreach ($available_riders as $rider)
|
||||
{
|
||||
if ($num_riders > $riders_limit)
|
||||
break;
|
||||
|
||||
$riders[] = [
|
||||
'id' => $rider->getID(),
|
||||
'first_name' => $rider->getFirstName(),
|
||||
'last_name' => $rider->getLastName(),
|
||||
'contact_num' => $rider->getContactNumber(),
|
||||
'plate_num' => $rider->getPlateNumber(),
|
||||
];
|
||||
|
||||
$num_riders++;
|
||||
}
|
||||
|
||||
return $this->json([
|
||||
'riders' => $riders,
|
||||
]);
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -388,7 +388,8 @@
|
|||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="m-form__heading">
|
||||
<div class="m-form__section">
|
||||
<div class="m-form__heading">
|
||||
<h3 class="m-form__heading-title">
|
||||
Rider Assignment
|
||||
</h3>
|
||||
|
|
@ -398,14 +399,13 @@
|
|||
<label>Click on a row to select a rider</label>
|
||||
<div class="form-control-feedback hide" data-field="rider"></div>
|
||||
<div class="table-frame" data-name="rider">
|
||||
<table id="riderss-table" class="table table-compact table-hover table-clickable m-table">
|
||||
<table id="riders-table" class="table table-compact table-hover table-clickable m-table">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>First Name</th>
|
||||
<th>Last Name</th>
|
||||
<th>Contact No.</th>
|
||||
<th>Plate Number</th>
|
||||
<th>Status</th>
|
||||
<th>Action</th>
|
||||
</tr>
|
||||
</thead>
|
||||
|
|
@ -944,6 +944,24 @@ $(function() {
|
|||
selectedHub = id;
|
||||
|
||||
// get riders of hub
|
||||
// get hub riders ajax
|
||||
var rider_table = '';
|
||||
$.getJSON("{{ url('hub_riders') }}?id=" + selectedHub, function(data) {
|
||||
var riders = data['riders'];
|
||||
for (i in riders) {
|
||||
var rider = riders[i];
|
||||
|
||||
rider_table += '<tr data-id=' + rider['id'] + '>';
|
||||
rider_table += '<td>' + rider['first_name'] + '</td>';
|
||||
rider_table += '<td>' + rider['last_name'] + '</td>';
|
||||
rider_table += '<td>' + rider['contact_num'] + '</td>';
|
||||
rider_table += '<td>' + rider['plate_num'] + '</td>';
|
||||
rider_table += '<td></td>';
|
||||
rider_table += '</tr>';
|
||||
}
|
||||
|
||||
$('#riders').html(rider_table);
|
||||
});
|
||||
});
|
||||
});
|
||||
|
||||
|
|
|
|||
Loading…
Reference in a new issue