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
|
path: /ajax/nearest_hubs
|
||||||
controller: App\Controller\HubController::nearest
|
controller: App\Controller\HubController::nearest
|
||||||
methods: [GET]
|
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,
|
'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>
|
||||||
</div>
|
</div>
|
||||||
<div class="m-form__heading">
|
<div class="m-form__section">
|
||||||
|
<div class="m-form__heading">
|
||||||
<h3 class="m-form__heading-title">
|
<h3 class="m-form__heading-title">
|
||||||
Rider Assignment
|
Rider Assignment
|
||||||
</h3>
|
</h3>
|
||||||
|
|
@ -398,14 +399,13 @@
|
||||||
<label>Click on a row to select a rider</label>
|
<label>Click on a row to select a rider</label>
|
||||||
<div class="form-control-feedback hide" data-field="rider"></div>
|
<div class="form-control-feedback hide" data-field="rider"></div>
|
||||||
<div class="table-frame" data-name="rider">
|
<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>
|
<thead>
|
||||||
<tr>
|
<tr>
|
||||||
<th>First Name</th>
|
<th>First Name</th>
|
||||||
<th>Last Name</th>
|
<th>Last Name</th>
|
||||||
<th>Contact No.</th>
|
<th>Contact No.</th>
|
||||||
<th>Plate Number</th>
|
<th>Plate Number</th>
|
||||||
<th>Status</th>
|
|
||||||
<th>Action</th>
|
<th>Action</th>
|
||||||
</tr>
|
</tr>
|
||||||
</thead>
|
</thead>
|
||||||
|
|
@ -944,6 +944,24 @@ $(function() {
|
||||||
selectedHub = id;
|
selectedHub = id;
|
||||||
|
|
||||||
// get riders of hub
|
// 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