function show_transaction_listR($template_name) { global $timeSheet; global $TPL; $current_user =& singleton("current_user"); global $percent_array; $db = new db_alloc(); $db->query("SELECT * FROM transaction WHERE timeSheetID = %d", $timeSheet->get_id()); if ($db->next_record() || $timeSheet->get_value("status") == "invoiced" || $timeSheet->get_value("status") == "finished") { $db->query("SELECT * \n FROM tf \n WHERE tfActive = 1\n OR tfID = %d \n OR tfID = %d \n ORDER BY tfName", $db->f("tfID"), $db->f("fromTfID")); while ($db->row()) { $tf_array[$db->f("tfID")] = $db->f("tfName"); } $status_options = array("pending" => "Pending", "approved" => "Approved", "rejected" => "Rejected"); $transactionType_options = transaction::get_transactionTypes(); if ($timeSheet->have_perm(PERM_TIME_INVOICE_TIMESHEETS) && $timeSheet->get_value("status") == "invoiced") { $db->query("SELECT * FROM transaction WHERE timeSheetID = %d ORDER BY transactionID", $timeSheet->get_id()); while ($db->next_record()) { $transaction = new transaction(); $transaction->read_db_record($db); $transaction->set_tpl_values("transaction_"); $TPL["currency"] = page::money($transaction->get_value("currencyTypeID"), '', "%S"); $TPL["currency_code"] = page::money($transaction->get_value("currencyTypeID"), '', "%C"); $TPL["tf_options"] = page::select_options($tf_array, $TPL["transaction_tfID"]); $TPL["from_tf_options"] = page::select_options($tf_array, $TPL["transaction_fromTfID"]); $TPL["status_options"] = page::select_options($status_options, $transaction->get_value("status")); $TPL["transactionType_options"] = page::select_options($transactionType_options, $transaction->get_value("transactionType")); $TPL["percent_dropdown"] = page::select_options($percent_array, $empty); $TPL["transaction_buttons"] = ' <button type="submit" name="transaction_delete" value="1" class="delete_button">Delete<i class="icon-trash"></i></button> <button type="submit" name="transaction_save" value="1" class="save_button">Save<i class="icon-ok-sign"></i></button> '; if ($transaction->get_value("transactionType") == "invoice") { $TPL["transaction_transactionType"] = $transaction->get_transaction_type_link(); $TPL["transaction_fromTfID"] = tf::get_name($transaction->get_value("fromTfID")); $TPL["transaction_tfID"] = tf::get_name($transaction->get_value("tfID")); $TPL["currency_amount"] = page::money($transaction->get_value("currencyTypeID"), $transaction->get_value("amount"), "%S%mo %c"); include_template("templates/timeSheetTransactionListViewR.tpl"); } else { include_template($template_name); } } } else { // If you don't have perm INVOICE TIMESHEETS then only select // transactions which you have permissions to see. $query = prepare("SELECT * \n FROM transaction \n WHERE timeSheetID = %d\n ORDER BY transactionID", $timeSheet->get_id()); $db->query($query); while ($db->next_record()) { $transaction = new transaction(); $transaction->read_db_record($db); $transaction->set_tpl_values("transaction_"); unset($TPL["transaction_amount_pos"]); unset($TPL["transaction_amount_neg"]); $TPL["currency_amount"] = page::money($transaction->get_value("currencyTypeID"), $transaction->get_value("amount"), "%S%mo %c"); $TPL["transaction_fromTfID"] = tf::get_name($transaction->get_value("fromTfID")); $TPL["transaction_tfID"] = tf::get_name($transaction->get_value("tfID")); $TPL["transaction_transactionType"] = $transactionType_options[$transaction->get_value("transactionType")]; include_template("templates/timeSheetTransactionListViewR.tpl"); } } } }
if ($_POST["saveAndNew"]) { alloc_redirect($TPL["url_alloc_transaction"] . "new=true"); } if ($_POST["saveGoTf"]) { alloc_redirect($TPL["url_alloc_transactionList"] . "tfID=" . $transaction->get_value("tfID")); } alloc_redirect($TPL["url_alloc_transaction"] . "transactionID=" . $transaction->get_id()); } } } else { if ($_POST["delete"]) { $transaction->delete(); alloc_redirect($TPL["url_alloc_transactionList"] . "tfID=" . $transaction->get_value("tfID")); } } $transaction->set_tpl_values(); $t = new meta("currencyType"); $currency_array = $t->get_assoc_array("currencyTypeID", "currencyTypeID"); $TPL["currencyOptions"] = page::select_options($currency_array, $transaction->get_value("currencyTypeID")); $TPL["product"] = page::htmlentities($transaction->get_value("product")); $TPL["statusOptions"] = page::select_options(array("pending" => "Pending", "rejected" => "Rejected", "approved" => "Approved"), $transaction->get_value("status")); $transactionTypes = transaction::get_transactionTypes(); $TPL["transactionTypeOptions"] = page::select_options($transactionTypes, $transaction->get_value("transactionType")); is_object($transaction) and $TPL["transactionTypeLink"] = $transaction->get_transaction_type_link(); $db = new db_alloc(); $tf = new tf(); $options = $tf->get_assoc_array("tfID", "tfName"); // Special cases for the current tfID and fromTfID $options = add_tf($transaction->get_value("tfID"), $options, "tfIDWarning", " (warning: the TF <b>%s</b> is currently inactive)"); $options = add_tf($transaction->get_value("fromTfID"), $options, "fromTfIDWarning", " (warning: the TF <b>%s</b> is currently inactive)"); $TPL["tfIDOptions"] = page::select_options($options, $transaction->get_value("tfID"));