예제 #1
0
 function get_links($invoiceID)
 {
     $rows = invoiceEntity::get("invoice", $invoiceID);
     // cheating :)
     foreach ($rows as $row) {
         if ($row["timeSheetID"]) {
             $timeSheet = new timeSheet($row["timeSheetID"]);
             $timeSheet_links[] = $timeSheet->get_link();
         }
         if ($row["expenseFormID"]) {
             $expenseForm = new expenseForm($row["expenseFormID"]);
             $expenseForm_links[] = $expenseForm->get_link();
         }
         if ($row["productSaleID"]) {
             $productSale = new productSale($row["productSaleID"]);
             $productSale_links[] = $productSale->get_link();
         }
     }
     $timeSheet_links and $rtn[] = "Time Sheet: " . implode(", ", (array) $timeSheet_links);
     $expenseForm_links and $rtn[] = "Expense Form: " . implode(", ", (array) $expenseForm_links);
     $productSale_links and $rtn[] = "Product Sale: " . implode(", ", (array) $productSale_links);
     return implode(" / ", (array) $rtn);
 }
예제 #2
0
 function get_invoice_link()
 {
     global $TPL;
     $rows = invoiceEntity::get("timeSheet", $this->get_id());
     foreach ($rows as $row) {
         $str .= $sp . "<a href=\"" . $TPL["url_alloc_invoice"] . "invoiceID=" . $row["invoiceID"] . "\">" . $row["invoiceNum"] . "</a>";
         $sp = "&nbsp;&nbsp;";
     }
     return $str;
 }
예제 #3
0
파일: invoice.php 프로젝트: cjbayliss/alloc
         } else {
             if ($_POST["expenseFormID"] && $_POST["split_expenseForm"]) {
                 invoiceEntity::create($invoiceItem->get_value("invoiceID"), "expenseForm", $_POST["expenseFormID"], 1);
                 invoiceEntity::save_invoice_expenseFormItems($invoiceItem->get_value("invoiceID"), $_POST["expenseFormID"]);
             } else {
                 if ($_POST["expenseFormID"]) {
                     invoiceEntity::create($invoiceItem->get_value("invoiceID"), "expenseForm", $_POST["expenseFormID"]);
                     invoiceEntity::save_invoice_expenseForm($invoiceItem->get_value("invoiceID"), $_POST["expenseFormID"]);
                 } else {
                     if ($_POST["productSaleID"] && $_POST["split_productSale"]) {
                         invoiceEntity::create($invoiceItem->get_value("invoiceID"), "productSale", $_POST["productSaleID"], 1);
                         invoiceEntity::save_invoice_productSaleItems($invoiceItem->get_value("invoiceID"), $_POST["productSaleID"]);
                     } else {
                         if ($_POST["productSaleID"]) {
                             invoiceEntity::create($invoiceItem->get_value("invoiceID"), "productSale", $_POST["productSaleID"]);
                             invoiceEntity::save_invoice_productSale($invoiceItem->get_value("invoiceID"), $_POST["productSaleID"]);
                         } else {
                             $invoiceItem->save();
                         }
                     }
                 }
             }
         }
     }
     $TPL["message_good"][] = "Invoice Item saved.";
     alloc_redirect($TPL["url_alloc_invoice"] . "invoiceID=" . $invoiceItem->get_value("invoiceID"));
 } else {
     if ($_POST["invoiceItem_edit"]) {
         // Hmph. Nothing needs to go here?
     } else {
         if ($_POST["invoiceItem_delete"]) {
예제 #4
0
 function delete()
 {
     $timeSheetID = $this->get_value("timeSheetID");
     $db = new db_alloc();
     $q = prepare("SELECT invoiceItem.*\n                    FROM invoiceItem\n               LEFT JOIN invoice ON invoiceItem.invoiceID = invoice.invoiceID\n                   WHERE timeSheetID = %d\n                     AND invoiceStatus != 'finished'", $timeSheetID);
     $db->query($q);
     while ($row = $db->row()) {
         $ii = new invoiceItem();
         $ii->set_id($row["invoiceItemID"]);
         $ii->select();
         if ($ii->get_value("timeSheetItemID") == $this->get_id()) {
             $ii->delete();
         } else {
             if (!$ii->get_value("timeSheetItemID")) {
                 invoiceEntity::save_invoice_timeSheet($row["invoiceID"], $timeSheetID);
                 // will update the existing invoice item
             }
         }
     }
     return parent::delete();
 }
예제 #5
0
 function add_timeSheet($timeSheetID = false)
 {
     if ($timeSheetID) {
         $q = prepare("SELECT * \n                      FROM invoiceItem \n                     WHERE invoiceID = %d \n                       AND timeSheetID = %d", $this->get_id(), $timeSheetID);
         $db = new db_alloc();
         $db->query($q);
         // Add this time sheet to the invoice if the timeSheet hasn't already
         // been added to this invoice
         if (!$db->row()) {
             invoiceEntity::save_invoice_timeSheet($this->get_id(), $timeSheetID);
         }
     }
 }
예제 #6
0
 function save_to_invoice($invoiceID = false)
 {
     if ($this->get_value("clientID")) {
         $invoiceID and $extra = prepare(" AND invoiceID = %d", $invoiceID);
         $client = $this->get_foreign_object("client");
         $db = new db_alloc();
         $q = prepare("SELECT * FROM invoice WHERE clientID = %d AND invoiceStatus = 'edit' " . $extra, $this->get_value("clientID"));
         $db->query($q);
         // Create invoice
         if (!$db->next_record()) {
             $invoice = new invoice();
             $invoice->set_value("clientID", $this->get_value("clientID"));
             $invoice->set_value("invoiceDateFrom", $this->get_min_date());
             $invoice->set_value("invoiceDateTo", $this->get_max_date());
             $invoice->set_value("invoiceNum", invoice::get_next_invoiceNum());
             $invoice->set_value("invoiceName", $client->get_value("clientName"));
             $invoice->set_value("invoiceStatus", "edit");
             $invoice->save();
             $invoiceID = $invoice->get_id();
             // Use existing invoice
         } else {
             $invoiceID = $db->f("invoiceID");
         }
         // Add invoiceItem and add expense form transactions to invoiceItem
         if ($_POST["split_invoice"]) {
             invoiceEntity::save_invoice_expenseFormItems($invoiceID, $this->get_id());
         } else {
             invoiceEntity::save_invoice_expenseForm($invoiceID, $this->get_id());
         }
     }
 }