|
|
|
@@ -1808,6 +1808,7 @@ |
|
|
|
//filter some of them; |
|
|
|
staffs.forEach(function(e){ |
|
|
|
$('div.workspace div.jobTable[data-staff="' + e + '"]').addClass(class_name); |
|
|
|
$('div.workspace div.jobTable[data-driver="' + e + '"]').addClass(class_name); |
|
|
|
}); |
|
|
|
|
|
|
|
$('div.workspace div.jobTable.' + class_name).fadeIn(); |
|
|
|
@@ -1921,25 +1922,28 @@ |
|
|
|
var kms={}; |
|
|
|
$('div.jobTable[data-staff="' + id + '"]:visible').each(function(){ |
|
|
|
var el = this; |
|
|
|
var matches = find_driving_partner_job(el); |
|
|
|
console.assert(matches.length == 1); //only one match |
|
|
|
if (matches.length != 1) |
|
|
|
return; |
|
|
|
var match = find_driving_partner_job(el); |
|
|
|
|
|
|
|
var staff = $('#' + matches[0]).data().staff; |
|
|
|
var staff = $('#' + match).data().staff; |
|
|
|
if (typeof kms[staff] =='undefined'){ |
|
|
|
kms[staff] = 0; |
|
|
|
} |
|
|
|
kms[staff] += convert_driving_to_km(el); |
|
|
|
//console.log($(this).attr('id'), matches, kms); |
|
|
|
}); |
|
|
|
//console.log(kms); |
|
|
|
for (var staff in kms ){ |
|
|
|
bts().staff_people[staff].set_km(kms[staff]); |
|
|
|
console.log(bts().staff_map[staff]); |
|
|
|
ensure_visible(bts().staff_people[staff].selector); |
|
|
|
}); |
|
|
|
//console.log(kms); |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
function find_driving_partner_job(selector){ |
|
|
|
|
|
|
|
if (typeof $(selector).attr('data-parent') != "undefined" && $(selector).attr('data-parent') !="") |
|
|
|
return $(selector).attr('data-parent'); |
|
|
|
|
|
|
|
var job = $(selector).data(); |
|
|
|
var start = new Date(job.start); |
|
|
|
var client = job.client; |
|
|
|
@@ -1950,10 +1954,16 @@ |
|
|
|
s = new Date(match.start); |
|
|
|
c = match.client; |
|
|
|
if ((start - s == 0) && (client == c) && staff != bts().driving){ |
|
|
|
matches.push($(this).attr('id')); |
|
|
|
matches.push({parent:$(this).attr('id'), driver: staff}); |
|
|
|
} |
|
|
|
}); |
|
|
|
return matches; |
|
|
|
if (matches.length != 1){ |
|
|
|
console.warn("1 driving job has more than 1 matching", $(selector).attr('id'), matches); |
|
|
|
} |
|
|
|
$(selector).attr('data-driver', matches[0].driver); |
|
|
|
$(selector).attr('data-parent', matches[0].parent); |
|
|
|
$(selector).find('.bstaff').html("Driving/" + bts().staff_map[matches[0].driver].display_name); |
|
|
|
return matches[0].parent; |
|
|
|
} |
|
|
|
|
|
|
|
function convert_driving_to_km(selector){ |