Add rider availability ajax call #424
This commit is contained in:
parent
f060223fb5
commit
b24bae3788
3 changed files with 40 additions and 4 deletions
|
|
@ -56,3 +56,8 @@ rider_priority_down_jo:
|
||||||
path: /riders/{id}/priority_down/{jo_id}
|
path: /riders/{id}/priority_down/{jo_id}
|
||||||
controller: App\Controller\RiderController::priorityDownJO
|
controller: App\Controller\RiderController::priorityDownJO
|
||||||
methods: [GET]
|
methods: [GET]
|
||||||
|
|
||||||
|
rider_ajax_avialable:
|
||||||
|
path: /riders/{id}/available
|
||||||
|
controller: App\Controller\RiderController::ajaxAvailable
|
||||||
|
methods: [GET]
|
||||||
|
|
|
||||||
|
|
@ -85,7 +85,6 @@ class MapEventHandler {
|
||||||
var obj = JSON.parse(payload);
|
var obj = JSON.parse(payload);
|
||||||
|
|
||||||
var status = obj.status;
|
var status = obj.status;
|
||||||
console.log(status);
|
|
||||||
console.log("status " + status);
|
console.log("status " + status);
|
||||||
switch (status) {
|
switch (status) {
|
||||||
case 'rider_offline':
|
case 'rider_offline':
|
||||||
|
|
@ -94,14 +93,27 @@ class MapEventHandler {
|
||||||
case 'rider_online':
|
case 'rider_online':
|
||||||
var lat = parseFloat(obj.latitude);
|
var lat = parseFloat(obj.latitude);
|
||||||
var lng = parseFloat(obj.longitude);
|
var lng = parseFloat(obj.longitude);
|
||||||
this.dashmap.putRiderAvailableMarker(chan_split[1], lat, lng);
|
|
||||||
|
// cheeck if rider is available / unavailable
|
||||||
|
// TODO: make url not hardcoded
|
||||||
|
$.get('https://cmbdev.wildcard.cc/riders/' + chan_split[1] + '/available').done(function(data) {
|
||||||
|
console.log('rider availability - ' + data);
|
||||||
|
switch (data) {
|
||||||
|
case 'available':
|
||||||
|
this.dashmap.putRiderAvailableMarker(chan_split[1], lat, lng);
|
||||||
|
break;
|
||||||
|
case 'unavailable':
|
||||||
|
this.dashmap.putRiderActiveJOMarker(chan_split[1], lat, lng);
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case "location":
|
case "location":
|
||||||
console.log("got location for rider " + chan_split[1] + " - " + payload);
|
// console.log("got location for rider " + chan_split[1] + " - " + payload);
|
||||||
var pl_split = payload.split(':');
|
var pl_split = payload.split(':');
|
||||||
console.log(pl_split);
|
// console.log(pl_split);
|
||||||
|
|
||||||
// check for correct format
|
// check for correct format
|
||||||
if (pl_split.length != 2)
|
if (pl_split.length != 2)
|
||||||
|
|
|
||||||
|
|
@ -596,4 +596,23 @@ class RiderController extends Controller
|
||||||
|
|
||||||
return $this->redirecttoRoute('rider_update', ['id' => $rider->getID()]);
|
return $this->redirecttoRoute('rider_update', ['id' => $rider->getID()]);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @ParamConverter("rider", class="App\Entity\Rider")
|
||||||
|
*/
|
||||||
|
public function ajaxAvailable(EntityManagerInterface $em, Rider $rider)
|
||||||
|
{
|
||||||
|
$jos = $rider->getOpenJobOrders();
|
||||||
|
if (count($jos) > 0)
|
||||||
|
$avail = 'available';
|
||||||
|
else
|
||||||
|
$avail = 'unavaiable';
|
||||||
|
|
||||||
|
$response = new Response(
|
||||||
|
'active',
|
||||||
|
Response::HTTP_OK,
|
||||||
|
['content-type' => 'text/plain']
|
||||||
|
);
|
||||||
|
return $response;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue