function load_timeSheet_filter($_FORM) { $current_user =& singleton("current_user"); // display the list of project name. $db = new db_alloc(); if (!$_FORM['showAllProjects']) { $filter = "WHERE projectStatus = 'Current' "; } $query = prepare("SELECT projectID AS value, projectName AS label FROM project {$filter} ORDER by projectName"); $rtn["show_project_options"] = page::select_options($query, $_FORM["projectID"], 70); // display the list of user name. if (have_entity_perm("timeSheet", PERM_READ, $current_user, false)) { $rtn["show_userID_options"] = page::select_options(person::get_username_list(), $_FORM["personID"]); } else { $person = new person(); $person->set_id($current_user->get_id()); $person->select(); $person_array = array($current_user->get_id() => $person->get_name()); $rtn["show_userID_options"] = page::select_options($person_array, $_FORM["personID"]); } // display a list of status $status_array = timeSheet::get_timeSheet_statii(); unset($status_array["create"]); if (!$_FORM["status"]) { $_FORM["status"][] = 'edit'; } $rtn["show_status_options"] = page::select_options($status_array, $_FORM["status"]); // display the date from filter value $rtn["dateFrom"] = $_FORM["dateFrom"]; $rtn["dateTo"] = $_FORM["dateTo"]; $rtn["userID"] = $current_user->get_id(); $rtn["showFinances"] = $_FORM["showFinances"]; $rtn["showAllProjects"] = $_FORM["showAllProjects"]; // Get $rtn["FORM"] = "FORM=" . urlencode(serialize($_FORM)); return $rtn; }
} else { // if this is the invoice -> completed step it should be checked by default if ($timeSheet->get_value("status") == 'invoiced') { $TPL["dont_send_email_checked"] = " checked"; } else { $TPL["dont_send_email_checked"] = ""; } } $timeSheet->load_pay_info(); $percent_array = array("" => "Calculate %", "A" => "Standard", sprintf("%0.2f", $timeSheet->pay_info["total_dollars"] * 1) => "100%", sprintf("%0.2f", $timeSheet->pay_info["total_dollars"] * 0.715) => "71.5%", sprintf("%0.2f", $timeSheet->pay_info["total_dollars"] * 0.665) => "66.5%", sprintf("%0.2f", $timeSheet->pay_info["total_dollars"] * 0.615) => "61.5%", sprintf("%0.2f", $timeSheet->pay_info["total_dollars"] * 0.285) => "28.5%", "B" => "Agency", sprintf("%0.2f", $timeSheet->pay_info["total_dollars"] * 0.765) => "76.5%", sprintf("%0.2f", $timeSheet->pay_info["total_dollars"] * 0.715) => "71.5%", sprintf("%0.2f", $timeSheet->pay_info["total_dollars"] * 0.665) => "66.5%", sprintf("%0.2f", $timeSheet->pay_info["total_dollars"] * 0.235) => "23.5%", "C" => "Commission", sprintf("%0.2f", $timeSheet->pay_info["total_dollars"] * 0.05) => "5.0%", sprintf("%0.2f", $timeSheet->pay_info["total_dollars"] * 0.025) => "2.5%", "D" => "Old Rates", sprintf("%0.2f", $timeSheet->pay_info["total_dollars"] * 0.772) => "77.2%", sprintf("%0.2f", $timeSheet->pay_info["total_dollars"] * 0.722) => "72.2%", sprintf("%0.2f", $timeSheet->pay_info["total_dollars"] * 0.228) => "22.8%"); // display the buttons to move timesheet forward and backward. if (!$timeSheet->get_id()) { $TPL["timeSheet_ChangeStatusButton"] = '<button type="submit" name="save" value="1" class="save_button">Create Time Sheet<i class="icon-ok-sign"></i></button>'; } $radio_email = "<input type=\"checkbox\" id=\"dont_send_email\" name=\"dont_send_email\" value=\"1\"" . $TPL["dont_send_email_checked"] . "> <label for=\"dont_send_email\">Don't send email</label><br>"; $statii = timeSheet::get_timeSheet_statii(); if (!$projectManagers) { unset($statii["manager"]); } foreach ($statii as $s => $label) { unset($pre, $suf); // prefix and suffix $status = $timeSheet->get_value("status"); unset($red); $status == "rejected" and $red = true; $status == "rejected" and $status = "edit"; if (!$timeSheet->get_id()) { $status = "create"; } if ($s == $status) { $red and $red = ' class="warn"';
function show_new_invoiceItem($template) { global $TPL; global $invoice; global $invoiceID; $current_user =& singleton("current_user"); // Don't show entry form if no ID if (!$invoiceID) { return; } $TPL["div1"] = ""; $TPL["div2"] = " class=\"hidden\""; $TPL["div3"] = " class=\"hidden\""; $TPL["div4"] = " class=\"hidden\""; if (is_object($invoice) && $invoice->get_value("invoiceStatus") == 'edit' && $current_user->have_role('admin')) { // If we are editing an existing invoiceItem if (is_array($_POST["invoiceItem_edit"])) { $invoiceItemID = key($_POST["invoiceItem_edit"]); $invoiceItem = new invoiceItem(); $invoiceItem->currency = $invoice->get_value("currencyTypeID"); $invoiceItem->set_id($invoiceItemID); $invoiceItem->select(); $invoiceItem->set_tpl_values("invoiceItem_"); $TPL["invoiceItem_buttons"] = ' <button type="submit" name="invoiceItem_delete[' . $invoiceItemID . ']" value="1" class="delete_button">Delete<i class="icon-trash"></i></button> <button type="submit" name="invoiceItem_save[' . $invoiceItemID . ']" value="1" class="save_button">Save Item<i class="icon-edit"></i></button> '; if ($invoiceItem->get_value("timeSheetID")) { unset($TPL["div2"]); $TPL["div1"] = " class=\"hidden\""; $TPL["sbs_link"] = "timeSheet_ii"; } else { if ($invoiceItem->get_value("expenseFormID")) { unset($TPL["div3"]); $TPL["div1"] = " class=\"hidden\""; $TPL["sbs_link"] = "expenseForm_ii"; } else { if ($invoiceItem->get_value("productSaleID")) { unset($TPL["div4"]); $TPL["div1"] = " class=\"hidden\""; $TPL["sbs_link"] = "productSale_ii"; } } } // Else default values for creating a new invoiceItem } else { $invoiceItem = new invoiceItem(); $invoiceItem->set_values("invoiceItem_"); $TPL["invoiceItem_buttons"] = ' <button type="submit" name="invoiceItem_save" value="1" class="save_button">Add Item<i class="icon-plus-sign"></i></button> '; } // Build dropdown lists for timeSheet and expenseForm options. if ($invoice->get_value("clientID")) { // Time Sheet dropdown $db = new db_alloc(); $q = prepare("SELECT projectID FROM project WHERE clientID = %d", $invoice->get_value("clientID")); $db->query($q); $projectIDs = array(); while ($row = $db->row()) { $projectIDs[] = $row["projectID"]; } if ($projectIDs) { $q = prepare("SELECT timeSheet.*, project.projectName \n FROM timeSheet\n LEFT JOIN project ON project.projectID = timeSheet.projectID \n WHERE timeSheet.projectID IN (%s) \n AND timeSheet.status != 'finished'\n GROUP BY timeSheet.timeSheetID\n ORDER BY timeSheetID\n ", $projectIDs); $db->query($q); $timeSheetStatii = timeSheet::get_timeSheet_statii(); while ($row = $db->row()) { $t = new timeSheet(); $t->read_db_record($db); $t->load_pay_info(); $dollars = $t->pay_info["total_customerBilledDollars"] or $dollars = $t->pay_info["total_dollars"]; $timeSheetOptions[$row["timeSheetID"]] = "Time Sheet #" . $t->get_id() . " " . $row["dateFrom"] . " " . $dollars . " for " . person::get_fullname($row["personID"]) . ", Project: " . $row["projectName"] . " [" . $timeSheetStatii[$t->get_value("status")] . "]"; } $TPL["timeSheetOptions"] = page::select_options($timeSheetOptions, $invoiceItem->get_value("timeSheetID"), 150); } // Expense Form dropdown $db = new db_alloc(); $q = prepare("SELECT expenseFormID, expenseFormCreatedUser\n FROM expenseForm \n WHERE expenseFormFinalised = 1 \n AND seekClientReimbursement = 1\n AND clientID = %d\n ORDER BY expenseForm.expenseFormCreatedTime", $invoice->get_value("clientID")); $db->query($q); while ($row = $db->row()) { $expenseFormOptions[$row["expenseFormID"]] = "Expense Form #" . $row["expenseFormID"] . " " . page::money(config::get_config_item("currency"), expenseForm::get_abs_sum_transactions($row["expenseFormID"]), "%s%m %c") . " " . person::get_fullname($row["expenseFormCreatedUser"]); } if ($invoiceItem->get_value("expenseFormID")) { $id = $invoiceItem->get_value("expenseFormID"); } $TPL["expenseFormOptions"] = page::select_options($expenseFormOptions, $id, 90); $q = prepare("SELECT *\n FROM productSale\n WHERE clientID = %d\n AND status = 'admin'\n ", $invoice->get_value("clientID")); $invoice->get_value("projectID") and $q .= prepare(" AND projectID = %d", $invoice->get_value("projectID")); $db->query($q); while ($row = $db->row()) { $productSale = new productSale(); $productSale->set_id($row["productSaleID"]); $productSale->select(); $ps_row = $productSale->get_amounts(); $productSaleOptions[$row["productSaleID"]] = "Sale #" . $row["productSaleID"] . " " . $ps_row["total_sellPrice"] . " " . person::get_fullname($row["personID"]); } if ($invoiceItem->get_value("productSaleID")) { $id = $invoiceItem->get_value("productSaleID"); } $TPL["productSaleOptions"] = page::select_options($productSaleOptions, $id, 90); } $TPL["invoiceItem_iiQuantity"] or $TPL["invoiceItem_iiQuantity"] = 1; $TPL["invoiceItem_invoiceID"] = $invoice->get_id(); include_template($template); } }