diff --git a/js/bts_office.js b/js/bts_office.js index 5d1f912..477053c 100644 --- a/js/bts_office.js +++ b/js/bts_office.js @@ -1885,6 +1885,9 @@ if (typeof job === 'undefined' || !job.is_job_valid() ) return; + + if (is_dummy_driving(job.staff)) + return; var ps = job.get_payment_summary(); pays.total += ps.money; @@ -1900,6 +1903,9 @@ calculate_driving(); } + function is_dummy_driving(staff){ + return staff == bts().driving; + } function get_job_by_jobTable(div) { var e = div; diff --git a/js/bts_timesheet.js b/js/bts_timesheet.js index 5f7b3e9..0607f86 100644 --- a/js/bts_timesheet.js +++ b/js/bts_timesheet.js @@ -152,7 +152,6 @@ new People("#p" + u.login,'#staff_item', u); }); hide_loading_staff(); - calculate_total_hour_and_money(); }else{ alert('error getting staff list'); } @@ -776,16 +775,17 @@ } get_rate_info_by_id(id){ - var rate_info = {}; - var rates = bts().earnings_rate; - for(var i =0; i< rates.length; i++){ - var r = rates[i]; - if(r.EarningsRateID == id){ - rate_info = $.extend(true,{}, r);//make a copy - break; - } - } - return rate_info; + return bts().earnings_rate[id]; +// var rate_info = {}; +// var rates = bts().earnings_rate; +// for(var i =0; i< rates.length; i++){ +// var r = rates[i]; +// if(r.EarningsRateID == id){ +// rate_info = $.extend(true,{}, r);//make a copy +// break; +// } +// } +// return rate_info; } is_high_pay_hour(rate_info){ @@ -1137,30 +1137,37 @@ function load_timesheet() { clear_workspace(); - var first = $('span[name="w1d1"]').data().date; - var last = $('span[name="w2d7"]').data().date; - $.post(bts().ajax_url, { // POST request - _ajax_nonce: bts().nonce, // nonce - action: "list_job", // action - start: format_date(first), - finish: format_date(last), - }, function(response, status, xhr){ - if (response.status =='success'){ - var job_els = []; - response.jobs.forEach(function(job){ - //console.log('loading job... %o', job); - var o = new Job(job); - job_els.push(o.el); - }); - show_jobs(job_els, 'in-ajax=true'); - //filter it if reqired - debounced_filter_workspace(); - }else{ - alert('error loading job'); - } - hide_loading_jobs(); - }); + if(typeof bts().staff == 'undefined' || typeof bts().client == 'undefined' || bts().earnings_rate == 'undefined' ){ + setTimeout(do_load_time_sheet,500); + } + + function do_load_time_sheet(){ + + var first = $('span[name="w1d1"]').data().date; + var last = $('span[name="w2d7"]').data().date; + $.post(bts().ajax_url, { // POST request + _ajax_nonce: bts().nonce, // nonce + action: "list_job", // action + start: format_date(first), + finish: format_date(last), + }, function(response, status, xhr){ + if (response.status =='success'){ + var job_els = []; + response.jobs.forEach(function(job){ + //console.log('loading job... %o', job); + var o = new Job(job); + job_els.push(o.el); + }); + show_jobs(job_els, 'in-ajax=true'); + //filter it if reqired + debounced_filter_workspace(); + }else{ + alert('error loading job'); + } + hide_loading_jobs(); + }); + } } function show_jobs(job_els, in_ajax){ @@ -1394,11 +1401,12 @@ show_loading_jobs(); list_staff(); list_clients(); + ajax_earning_rate(); xero(false); wifi(false); csv(false); init_user_search(); - //ajax_earning_rate(); + reset_title_to_today(); load_timesheet(); } @@ -1457,15 +1465,17 @@ do_staff(); } -// function ajax_earning_rate(){ -// $.post(bts().ajax_url, { // POST request -// _ajax_nonce: bts().nonce, // nonce -// action: "earnings_rate", // action -// }, function(response, status, xhr){ -// bts().earnings_rate = response; -// console.log("%o", bts().earnings_rate); -// }); -// } + function ajax_earning_rate(){ + $.post(bts().ajax_url, { // POST request + _ajax_nonce: bts().nonce, // nonce + action: "earnings_rate", // action + }, function(response, status, xhr){ + bts().earnings_rate = response; + response.options.forEach(function(e){ + bts().earnings_rate[e.EarningsRateID]=e; + }); + }); + } $( ".boundary_datepicker" ).datepicker(); diff --git a/ts.php b/ts.php index 337978e..9ea35b6 100644 --- a/ts.php +++ b/ts.php @@ -486,7 +486,8 @@ class AcareOffice{ //proceed return; } - wp_redirect("/?invalid-access"); + wp_logout(); + wp_redirect("/login/"); } ///