public function updateReceptionStatus($params) { $detail = new PluginOrderOrder_Item(); $plugin_order_orders_id = 0; if (isset($params["item"])) { foreach ($params["item"] as $key => $val) { if ($val == 1) { if ($params["itemtype"][$key] == 'SoftwareLicense') { $this->receptionAllItem($key, $params["plugin_order_references_id"][$key], $params["plugin_order_orders_id"], $params["delivery_date"], $params["delivery_number"], $params["plugin_order_deliverystates_id"]); $plugin_order_orders_id = $params["plugin_order_orders_id"]; } else { if ($detail->getFromDB($key)) { if (!$plugin_order_orders_id) { $plugin_order_orders_id = $detail->fields["plugin_order_orders_id"]; } if ($detail->fields["states_id"] == PluginOrderOrder::ORDER_DEVICE_NOT_DELIVRED) { $this->receptionOneItem($key, $plugin_order_orders_id, $params["delivery_date"], $params["delivery_number"], $params["plugin_order_deliverystates_id"]); } else { Session::addMessageAfterRedirect(__("Item already taken delivery", "order"), true, ERROR); } // Automatic generate asset $options = array("itemtype" => $params["itemtype"][$key], "items_id" => $key, 'entities_id' => $detail->getEntityID(), "plugin_order_orders_id" => $detail->fields["plugin_order_orders_id"], "plugin_order_references_id" => $params["plugin_order_references_id"][$key]); self::generateAsset($options); } } } } // $val == 1 self::updateDelivryStatus($plugin_order_orders_id); } else { Session::addMessageAfterRedirect(__("No item selected", "order"), false, ERROR); } }
} else { $pluginOrderOrder->getFromDB($_POST["plugin_order_orders_id"]); $new_value = __("Add reference", "order") . " "; $new_value .= Dropdown::getDropdownName("glpi_plugin_order_references", $_POST["plugin_order_references_id"]); $new_value .= " (" . __("Quantity", "order") . " : " . $_POST["quantity"]; $new_value .= " " . __("Discount (%)", "order") . " : " . $_POST["discount"] . ")"; $pluginOrderOrder->addHistory("PluginOrderOrder", "", $new_value, $_POST["plugin_order_orders_id"]); $pluginOrderOrder_Item->addDetails($_POST["plugin_order_references_id"], $_POST["itemtype"], $_POST["plugin_order_orders_id"], $_POST["quantity"], $_POST["price"], $_POST["discount"], $_POST["plugin_order_ordertaxes_id"]); } Html::redirect($_SERVER['HTTP_REFERER']); } else { if (isset($_POST["delete_item"])) { if (isset($_POST["plugin_order_orders_id"]) && $_POST["plugin_order_orders_id"] > 0 && isset($_POST["item"])) { foreach ($_POST["item"] as $ID => $val) { if ($val == 1) { $pluginOrderOrder_Item->getFromDB($ID); if ($pluginOrderOrder_Item->fields["itemtype"] == 'SoftwareLicense') { $result = $pluginOrderOrder_Item->queryRef($_POST["plugin_order_orders_id"], $pluginOrderOrder_Item->fields["plugin_order_references_id"], $pluginOrderOrder_Item->fields["price_taxfree"], $pluginOrderOrder_Item->fields["discount"]); $nb = $DB->numrows($result); if ($nb) { for ($i = 0; $i < $nb; $i++) { $ID = $DB->result($result, $i, 'id'); $items_id = $DB->result($result, $i, 'items_id'); if ($items_id) { $lic = new SoftwareLicense(); $lic->getFromDB($items_id); $values["id"] = $lic->fields["id"]; $values["number"] = $lic->fields["number"] - 1; $lic->update($values); } $input["id"] = $ID;
public function deleteLinkWithItem($detailID, $itemtype, $plugin_order_orders_id) { global $DB; if ($itemtype == 'SoftWareLicense') { $detail = new PluginOrderOrder_Item(); $detail->getFromDB($detailID); $license = $detail->fields["items_id"]; $this->removeInfoComRelatedToOrder($itemtype, $license); $result = $PluginOrderOrder_Item->queryRef($detail->fields["plugin_order_orders_id"], $detail->fields["plugin_order_references_id"], $detail->fields["price_taxfree"], $detail->fields["discount"], PluginOrderOrder::ORDER_DEVICE_DELIVRED); $nb = $DB->numrows($result); if ($nb) { for ($i = 0; $i < $nb; $i++) { $ID = $DB->result($result, $i, 'id'); $input["id"] = $ID; $input["items_id"] = 0; $detail->update($input); $lic = new SoftwareLicense(); $lic->getFromDB($license); $values["id"] = $lic->fields["id"]; $values["number"] = $lic->fields["number"] - 1; $lic->update($values); } $order = new PluginOrderOrder(); $order->getFromDB($detail->fields["plugin_order_orders_id"]); $new_value = __("Item unlink form order", "order") . ' : ' . $order->fields["name"]; $order->addHistory($itemtype, '', $new_value, $license); $item = new $itemtype(); $item->getFromDB($license); $new_value = __("Item unlink form order", "order") . ' : ' . $item->getField("name"); $order->addHistory('PluginOrderOrder', '', $new_value, $order->fields["id"]); } } else { $order = new PluginOrderOrder(); $order->getFromDB($plugin_order_orders_id); $detail = new PluginOrderOrder_Item(); $detail->getFromDB($detailID); $items_id = $detail->fields["items_id"]; $this->removeInfoComRelatedToOrder($itemtype, $items_id); if ($items_id != 0) { $input = $detail->fields; $input["items_id"] = 0; $detail->update($input); } else { Session::addMessageAfterRedirect(__("One or several selected rows haven't linked items", "order"), TRUE, ERROR); } $new_value = __("Item unlink form order", "order") . ' : ' . $order->fields["name"]; $order->addHistory($itemtype, '', $new_value, $items_id); $item = new $itemtype(); $item->getFromDB($items_id); $new_value = __("Item unlink form order", "order") . ' : ' . $item->getField("name"); $order->addHistory('PluginOrderOrder', '', $new_value, $order->fields["id"]); } }
@since 2009 ---------------------------------------------------------------------- */ include "../../../inc/includes.php"; if (!isset($_GET["id"])) { $_GET["id"] = ""; } if (!isset($_GET["withtemplate"])) { $_GET["withtemplate"] = ""; } $link = new PluginOrderLink(); $order_item = new PluginOrderOrder_Item(); if (isset($_POST["generation"])) { if (isset($_POST["item"])) { foreach ($_POST["item"] as $key => $val) { if ($val == 1) { $order_item->getFromDB($_POST["id"][$key]); if ($order_item->fields["states_id"] == PluginOrderOrder::ORDER_DEVICE_NOT_DELIVRED) { Session::addMessageAfterRedirect(__("Cannot generate items not delivered", "order"), true, ERROR); Html::redirect($_SERVER["HTTP_REFERER"]); } } } } if (isset($_POST["item"])) { Html::header(__("Orders management", "order"), '', "plugins", "order", "order"); $link->showItemGenerationForm($_POST); Html::footer(); } else { Session::addMessageAfterRedirect(__("No item selected", "order"), false, ERROR); Html::redirect($_SERVER["HTTP_REFERER"]); }
@link https://forge.indepnet.net/projects/order @link http://www.glpi-project.org/ @since 2009 ---------------------------------------------------------------------- */ include "../../../inc/includes.php"; if (!isset($_GET["id"])) { $_GET["id"] = ""; } if (!isset($_GET["withtemplate"])) { $_GET["withtemplate"] = ""; } $reception = new PluginOrderReception(); $order_item = new PluginOrderOrder_Item(); if (isset($_POST["update"])) { if (PluginOrderReception::canCreate()) { $order_item->getFromDB($_POST["id"]); if ($order_item->fields["itemtype"] == 'SoftwareLicense') { $result = $order_item->queryRef($order_item->fields["plugin_order_orders_id"], $order_item->fields["plugin_order_references_id"], $order_item->fields["price_taxfree"], $order_item->fields["discount"], PluginOrderOrder::ORDER_DEVICE_DELIVRED); $nb = $DB->numrows($result); if ($nb) { for ($i = 0; $i < $nb; $i++) { $ID = $DB->result($result, $i, 'id'); $input["id"] = $ID; $input["delivery_date"] = $_POST["delivery_date"]; $input["delivery_number"] = $_POST["delivery_number"]; $input["plugin_order_deliverystates_id"] = $_POST["plugin_order_deliverystates_id"]; $input["delivery_comment"] = $_POST["delivery_comment"]; $reception->update($input); } } } else {