# status strings: 'finished_untested', 'finished_unpaid', 'queue'
function totals_summary($arr) {
if($arr) {
+ $total_finished_untested = 0;
+ $total_finished_unpaid = 0;
+ $total_queue = 0;
+ $total_working = 0;
foreach($arr as $client_id => $t) {
$finished_untested = 0;
$finished_unpaid = 0;
}
tem_set('tested_total', $finished_unpaid);
tem_set('done_total', $finished_unpaid + $finished_untested);
+ tem_set('not_tested_total', $finished_untested);
tem_set('queued_total', $queue + $working);
tem_set('client', db_get_value('people', 'username', 'where id=%i', $client_id));
tem_show('unpaid_totals_row');
+ $total_finished_untested += $finished_untested;
+ $total_finished_unpaid += $finished_unpaid;
+ $total_queue += $queue;
+ $total_working += $working;
}
+ tem_set('tested_total', $total_finished_unpaid);
+ tem_set('done_total', $total_finished_unpaid + $total_finished_untested);
+ tem_set('not_tested_total', $total_finished_untested);
+ tem_set('queued_total', $total_queue + $total_working);
+ tem_set('client', 'all');
+ tem_show('unpaid_totals_row');
+
tem_show('unpaid_totals');
}
}
# make sure they've filled out the tiny user agreement
$tiny_agreement = db_get_value('people', 'tiny_agreement', 'where id=%i', $client_id);
- if($tiny_agreement < 30) {
+ if($tiny_agreement < 30 || $tiny_agreement > 999) {
return './tiny_agreement';
}
if(logged_in_as_contractor()) {
- tem_show('su_link');
+ tem_show('contractor_links');
tem_show('needs_attention_header');
$GLOBALS['unpaid_totals'] = array();
totals_summary($GLOBALS['unpaid_totals']);
task_summary('finished_paid', 'where state=%i && paid = 1 order by finished_at desc limit 20', TASK_FINISHED);
} else {
+ tem_show('not_contractor_links');
if(db_count('tasks', 'where client_id=%i && (state=%i || state=%i || state=%i || state=%i)', $client_id, TASK_DRAFT, TASK_NEEDS_CLARIFICATION, TASK_NEEDS_GO_AHEAD, TASK_NEEDS_TESTING)) {
tem_show('needs_attention_header');
task_summary('needs_approval', 'where client_id=%i && (state=%i || state=%i) order by id', $client_id, TASK_NEEDS_GO_AHEAD, TASK_NEEDS_TESTING);