+ if(isset($_REQUEST['tasks_approve_price_id'])) {
+ $id = $_REQUEST['tasks_approve_price_id'];
+ $owner = db_get_value('tasks', 'client_id', 'where id=%i', $id);;
+ if(logged_in() != $owner) {
+ message("Error: can't approve a task entered by/for another client.");
+ return './';
+ }
+ db_update('tasks', 'state', TASK_QUEUED, 'where id=%i', $id);
+ message('Price approved.');
+ return './';
+ }
+
+ if(isset($_REQUEST['tasks_working_id'])) {
+ $id = $_REQUEST['tasks_working_id'];
+ if(!logged_in_as_contractor()) {
+ message("Error: only Jason can say what he's working on.");
+ return './';
+ }
+ db_update('tasks', 'state', TASK_WORKING, 'where id=%i', $id);
+ message('OK, client locked out of modifying that one.');
+ return './';
+ }
+
+ if(isset($_REQUEST['tasks_needs_testing_id'])) {
+ $id = $_REQUEST['tasks_needs_testing_id'];
+ if(!logged_in_as_contractor()) {
+ message("Error: only Jason can say when he's done.");
+ return './';
+ }
+ db_update('tasks', 'state', TASK_NEEDS_TESTING, 'where id=%i', $id);
+ message('Task awaits testing.');
+ return './';
+ }
+
+ if(isset($_REQUEST['tasks_finished_id'])) {
+ $id = $_REQUEST['tasks_finished_id'];
+ $owner = db_get_value('tasks', 'client_id', 'where id=%i', $id);;
+ if(logged_in() != $owner) {
+ message("Error: can't test a task entered by/for another client.");
+ return './';
+ }
+ db_update('tasks', 'state', TASK_FINISHED, 'where id=%i', $id);
+ message('Task marked as finished.');
+ # FIXME also mark it as paid if client's balance can cover it
+ return './';