Fix issues with rider names. #466
This commit is contained in:
parent
9a444051e4
commit
bf5a5c602f
4 changed files with 40 additions and 31 deletions
|
|
@ -63,7 +63,7 @@ rider_ajax_avialable:
|
||||||
methods: [GET]
|
methods: [GET]
|
||||||
|
|
||||||
rider_ajax_rider_name:
|
rider_ajax_rider_name:
|
||||||
path: /riders/rider_name
|
path: /riders/{id}/name
|
||||||
controller: App\Controller\RiderController::ajaxRiderName
|
controller: App\Controller\RiderController::ajaxRiderName
|
||||||
methods: [GET]
|
methods: [GET]
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -303,35 +303,43 @@ class DashboardMap {
|
||||||
$.each(riders, function(id, data) {
|
$.each(riders, function(id, data) {
|
||||||
var lat = data.latitude;
|
var lat = data.latitude;
|
||||||
var lng = data.longitude;
|
var lng = data.longitude;
|
||||||
var name = my.getRiderName(id);
|
var name = '';
|
||||||
|
|
||||||
if (data.has_jo)
|
if (my.rider_names.hasOwnProperty(id)) {
|
||||||
my.putRiderActiveJOMarker(id, lat, lng, name);
|
name = my.rider_names[id];
|
||||||
else
|
|
||||||
my.putRiderAvailableMarker(id, lat, lng, name);
|
if (data.has_jo)
|
||||||
|
my.putRiderActiveJOMarker(id, lat, lng, name);
|
||||||
|
else
|
||||||
|
my.putRiderAvailableMarker(id, lat, lng, name)
|
||||||
|
|
||||||
|
} else {
|
||||||
|
getRiderName(id, my.options.rider_name_url, function(name) {
|
||||||
|
my.rider_names[id] = name;
|
||||||
|
|
||||||
|
if (data.has_jo)
|
||||||
|
my.putRiderActiveJOMarker(id, lat, lng, name);
|
||||||
|
else
|
||||||
|
my.putRiderAvailableMarker(id, lat, lng, name)
|
||||||
|
});
|
||||||
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
// console.log(rider_markers);
|
// console.log(rider_markers);
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
getRiderName(rider_id) {
|
|
||||||
// check if rider id and name in rider_names
|
|
||||||
var name = '';
|
|
||||||
if (this.rider_names.hasOwnProperty(rider_id)) {
|
|
||||||
name = this.rider_names[rider_id];
|
|
||||||
} else {
|
|
||||||
// ajax call to get rider name
|
|
||||||
$.ajax({
|
|
||||||
method: "GET",
|
|
||||||
url: "{{ url('rider_ajax_rider_name')|raw }}",
|
|
||||||
data: {id: rider_id}
|
|
||||||
}).done(function(response) {
|
|
||||||
name = response.rider_name;
|
|
||||||
this.rider_names[rider_id] = name;
|
|
||||||
});
|
|
||||||
}
|
|
||||||
|
|
||||||
return name;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function getRiderName(id, url, callback) {
|
||||||
|
var name = '';
|
||||||
|
var rider_url = url.replace('[id]', id);
|
||||||
|
|
||||||
|
$.ajax({
|
||||||
|
method: "GET",
|
||||||
|
url: rider_url
|
||||||
|
}).done(function(response) {
|
||||||
|
name = response.rider_name;
|
||||||
|
callback(name);
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -616,11 +616,11 @@ class RiderController extends Controller
|
||||||
return $response;
|
return $response;
|
||||||
}
|
}
|
||||||
|
|
||||||
public function ajaxRiderName(EntityManagerInterface $em, Request $req)
|
/**
|
||||||
|
* @ParamConverter("rider", class="App\Entity\Rider")
|
||||||
|
*/
|
||||||
|
public function ajaxRiderName(EntityManagerInterface $em, Rider $rider)
|
||||||
{
|
{
|
||||||
$rider_id = $req->query->get('id');
|
|
||||||
|
|
||||||
$rider = $em->getRepository(Rider::class)->find($rider_id);
|
|
||||||
$rider_name = '';
|
$rider_name = '';
|
||||||
if ($rider != null)
|
if ($rider != null)
|
||||||
$rider_name = $rider->getFullName();
|
$rider_name = $rider->getFullName();
|
||||||
|
|
|
||||||
|
|
@ -35,7 +35,8 @@ function initMap(r_markers, c_markers, icons) {
|
||||||
'zoom': 13,
|
'zoom': 13,
|
||||||
'rider_popup_url': '/riders/[id]/popup',
|
'rider_popup_url': '/riders/[id]/popup',
|
||||||
'cust_popup_url': '/job-order/[id]/popup',
|
'cust_popup_url': '/job-order/[id]/popup',
|
||||||
'icons': icons
|
'icons': icons,
|
||||||
|
'rider_name_url': '/riders/[id]/name'
|
||||||
};
|
};
|
||||||
|
|
||||||
var dashmap = new DashboardMap(options, r_markers, c_markers);
|
var dashmap = new DashboardMap(options, r_markers, c_markers);
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue