Ejemplo n.º 1
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());
         }
     }
 }
Ejemplo n.º 2
0
            $status = $_POST["invoiceItemStatus"][$iiID];
            if ($status || $_POST["changeTransactionStatus"]) {
                $_POST["changeTransactionStatus"] and $status = $_POST["changeTransactionStatus"];
                if ($status) {
                    $ii = new invoiceItem();
                    $ii->set_id($iiID);
                    $ii->select();
                    $ii->create_transaction($_POST["invoiceItemAmountPaid"][$iiID], $invoice->get_value("tfID"), $status);
                }
            }
        }
        if (!$TPL["message"]) {
            $invoice->change_status($direction);
        }
        $invoice->save();
        $invoiceID = $invoice->get_id();
        $TPL["message_good"][] = "Invoice saved.";
        alloc_redirect($TPL["url_alloc_invoice"] . "invoiceID=" . $invoiceID . $extra);
    }
} else {
    if ($_POST["delete"] && $invoice->get_value("invoiceStatus") == "edit") {
        if ($invoiceItemIDs) {
            $db = new db_alloc();
            $q = prepare("DELETE FROM transaction WHERE invoiceItemID in (%s)", $invoiceItemIDs);
            $db->query($q);
            $q = prepare("DELETE FROM invoiceItem WHERE invoiceItemID in (%s)", $invoiceItemIDs);
            $db->query($q);
        }
        // should probablg delete/unlink the pdf docs
        $invoice->delete();
        $TPL["message_good"][] = "Invoice deleted.";
Ejemplo n.º 3
0
 $i->set_value("invoiceNum", invoice::get_next_invoiceNum());
 $i->set_value("clientID", $invoice->get_value("clientID"));
 $i->set_value("projectID", $invoice->get_value("projectID"));
 $i->set_value("invoiceName", $invoice->get_value("invoiceName"));
 $i->set_value("invoiceStatus", "edit");
 $i->set_value("invoiceDateTo", $row["invoiceDate"]);
 $i->set_value("currencyTypeID", $invoice->get_value("currencyTypeID"));
 $i->set_value("maxAmount", $invoice->get_value("maxAmount"));
 $i->save();
 #echo "<br>Created invoice: ".$i->get_id();
 $q = prepare("SELECT * FROM invoiceItem WHERE invoiceID = %d", $invoice->get_id());
 $id2 = $db->query($q);
 while ($item = $db->row($id2)) {
     $ii = new invoiceItem();
     $ii->currency = $i->get_value("currencyTypeID");
     $ii->set_value("invoiceID", $i->get_id());
     $ii->set_value("iiMemo", $item["iiMemo"]);
     $ii->set_value("iiUnitPrice", page::money($ii->currency, $item["iiUnitPrice"], "%mo"));
     $ii->set_value("iiAmount", page::money($ii->currency, $item["iiAmount"], "%mo"));
     $ii->set_value("iiQuantity", $item["iiQuantity"]);
     $ii->save();
     #echo "<br>Created invoice item: ".$ii->get_id();
 }
 if ($row["message"]) {
     $ips = interestedParty::get_interested_parties("invoiceRepeat", $row["invoiceRepeatID"]);
     $recipients = array();
     foreach ($ips as $email => $info) {
         $recipients[$email] = $info;
         $recipients[$email]["addIP"] = true;
     }
     $commentID = comment::add_comment("invoice", $i->get_id(), $row["message"], "invoice", $i->get_id());