diff --git a/html/staff.html b/html/staff.html
index d7d9fbd..8acbb08 100644
--- a/html/staff.html
+++ b/html/staff.html
@@ -14,7 +14,8 @@
{{firstname}},{{lastname}}
{{mobile}}
{{email}}
-
diff --git a/js/bts_office.js b/js/bts_office.js
index ade095c..951dc23 100644
--- a/js/bts_office.js
+++ b/js/bts_office.js
@@ -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){