Exemple #1
0
 public function showItemGenerationForm($params)
 {
     global $CFG_GLPI;
     // Retrieve configuration for generate assets feature
     $config = PluginOrderConfig::getConfig();
     echo "<a href='" . $_SERVER["HTTP_REFERER"] . "'>" . __("Back") . "</a></br><br>";
     echo "<form method='post' name='order_deviceGeneration' id='order_deviceGeneration' action=\"" . Toolbox::getItemTypeFormURL("PluginOrderLink") . "\">";
     echo "<div class='center'>";
     echo "<table class='tab_cadre_fixe'>";
     $colspan = "7";
     if (Session::isMultiEntitiesMode()) {
         $colspan = "8";
     }
     echo "<tr><th colspan='{$colspan}'>" . __("Generate item", "order") . "</th></tr>";
     echo "<tr>";
     echo "<th>" . __("Product reference", "order") . "</th>";
     echo "<th>" . __("Name") . "</th>";
     echo "<th>" . __("Serial number") . "</th>";
     echo "<th>" . __("Inventory number") . "</th>";
     echo "<th>" . __("Template name") . "</th>";
     if (Session::isMultiEntitiesMode() && count($_SESSION['glpiactiveentities']) > 1) {
         echo "<th>" . __("Entity") . "</th>";
     }
     echo "</tr>";
     echo "<input type='hidden' name='plugin_order_orders_id' value=" . $params["plugin_order_orders_id"] . ">";
     echo "<input type='hidden' name='plugin_order_references_id' value=" . $params["plugin_order_references_id"] . ">";
     $order = new PluginOrderOrder();
     $order->getFromDB($params["plugin_order_orders_id"]);
     $reference = new PluginOrderReference();
     $i = 0;
     $found = false;
     foreach ($params["item"] as $key => $val) {
         if ($val == 1) {
             $detail = new PluginOrderOrder_Item();
             $detail->getFromDB($key);
             if (!$detail->fields["items_id"]) {
                 echo "<tr class='tab_bg_1'><td align='center'>" . $_POST["name"][$key] . "</td>";
                 $templateID = $reference->checkIfTemplateExistsInEntity($params["id"][$key], $params['itemtype'][$key], $order->fields["entities_id"]);
                 if ($templateID) {
                     $item = new $params['itemtype'][$key]();
                     $item->getFromDB($templateID);
                     $name = $item->fields["name"];
                     $serial = $item->fields["serial"];
                     $otherserial = $item->fields["otherserial"];
                 } else {
                     $name = false;
                     $serial = false;
                     $otherserial = false;
                 }
                 if (!$name) {
                     echo "<td><input type='text' size='20' name='id[{$i}][name]'></td>";
                 } else {
                     echo "<td align='center'>" . Dropdown::EMPTY_VALUE . "</td>";
                     echo "<input type='hidden' name='id[{$i}][name]' value=''>";
                 }
                 echo "<td align='center'><input type='text' size='20' name='id[{$i}][serial]'></td>";
                 if ($otherserial) {
                     echo "<td align='center'>" . Dropdown::EMPTY_VALUE . "</td>";
                     echo "<input type='hidden' name='id[{$i}][otherserial]' value=''>";
                 } else {
                     echo "<td><input type='text' size='20' name='id[{$i}][otherserial]'></td>";
                 }
                 echo "<td align='center'>";
                 if ($templateID) {
                     echo $reference->getTemplateName($params['itemtype'][$key], $templateID);
                 }
                 echo "</td>";
                 if (Session::isMultiEntitiesMode() && count($_SESSION['glpiactiveentities']) > 1) {
                     echo "<td>";
                     $entity_restrict = $order->fields["is_recursive"] ? getSonsOf('glpi_entities', $order->fields["entities_id"]) : $order->fields["entities_id"];
                     Entity::Dropdown(array('name' => "id[{$i}][entities_id]", 'value' => $order->fields["entities_id"], 'entity' => $entity_restrict));
                     echo "</td>";
                 } else {
                     echo "<input type='hidden' name='id[{$i}][entities_id]' value=" . $_SESSION["glpiactive_entity"] . ">";
                 }
                 echo "</tr>";
                 echo "<input type='hidden' name='id[{$i}][itemtype]' value=" . $params['itemtype'][$key] . ">";
                 echo "<input type='hidden' name='id[{$i}][id]' value=" . $params["id"][$key] . ">";
                 echo "<input type='hidden' name='id[{$i}][plugin_order_orders_id]'" . " value=" . $params["plugin_order_orders_id"] . ">";
                 $found = true;
             }
             $i++;
         }
     }
     if ($found) {
         echo "<tr><td align='center' colspan='{$colspan}' class='tab_bg_2'>";
         echo "<input type='submit' name='generate' class='submit'" . " value=" . __("Generate", "order") . "></td></tr>";
     } else {
         echo "<tr><td align='center' colspan='{$colspan}' class='tab_bg_2'>" . __("No item to generate", "order") . "</td></tr>";
     }
     echo "</table>";
     echo "</div>";
     Html::closeForm();
 }
Exemple #2
0
function plugin_order_giveItem($type, $ID, $data, $num)
{
    global $CFG_GLPI;
    $searchopt =& Search::getOptions($type);
    $table = $searchopt[$ID]["table"];
    $field = $searchopt[$ID]["field"];
    $reference = new PluginOrderReference();
    switch ($table . '.' . $field) {
        /* display associated items with order */
        case "glpi_plugin_order_references.types_id":
            if ($data['raw']["itemtype"] == 'PluginOrderOther') {
                $file = GLPI_ROOT . "/plugins/order/inc/othertype.class.php";
            } else {
                $file = GLPI_ROOT . "/inc/" . strtolower($data['raw']["itemtype"]) . "type.class.php";
            }
            if (file_exists($file)) {
                return Dropdown::getDropdownName(getTableForItemType($data["itemtype"] . "Type"), $data['raw']["ITEM_" . $num]);
            } else {
                return " ";
            }
            break;
        case "glpi_plugin_order_references.models_id":
            if (file_exists(GLPI_ROOT . "/inc/" . strtolower($data["itemtype"]) . "model.class.php")) {
                return Dropdown::getDropdownName(getTableForItemType($data['raw']["itemtype"] . "Model"), $data['raw']["ITEM_" . $num]);
            } else {
                return " ";
            }
            break;
        case "glpi_plugin_order_references.templates_id":
            if (!$data['raw']["ITEM_" . $num]) {
                return " ";
            } else {
                return $reference->getTemplateName($data['raw']["itemtype"], $data['raw']["ITEM_" . $num]);
            }
            break;
    }
    return "";
}