JasonWoof Got questions, comments, patches, etc.? Contact Jason Woofenden
clients can put tasks on hold
[contractor-progress.git] / index.php
index 1c17785..ab4ff12 100644 (file)
--- a/index.php
+++ b/index.php
@@ -69,6 +69,10 @@ function task_summary($tem_prefix, $where_clause/*, ... */) {
 # 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;
@@ -88,11 +92,23 @@ function totals_summary($arr) {
                        }
                        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');
        }
 }
@@ -102,12 +118,12 @@ function _index_main() {
 
        # 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();
@@ -122,6 +138,7 @@ function _index_main() {
                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);