. * --------------------------------------------------------------------- */ include ('../inc/includes.php'); header("Content-Type: text/html; charset=UTF-8"); Html::header_nocache(); Session::checkLoginUser(); // Read parameters $context = $_POST['context'] ?? ''; $itemtype = $_POST["itemtype"] ?? ''; // Check for required params if (empty($itemtype)) { http_response_code(400); Toolbox::logWarning("Bad request: itemtype cannot be empty"); die; } // Check if itemtype is valid in the given context if ($context == "impact") { $isValidItemtype = Impact::isEnabled($itemtype); } else { $isValidItemtype = CommonITILObject::isPossibleToAssignType($itemtype); } // Make a select box if ($isValidItemtype) { $table = getTableForItemType($itemtype); $rand = mt_rand(); if (isset($_POST["rand"])) { $rand = $_POST["rand"]; } // Message for post-only if (!isset($_POST["admin"]) || ($_POST["admin"] == 0)) { echo "
".__('Enter the first letters (user, item name, serial or asset number)'); } echo "
"; $field_id = Html::cleanId("dropdown_".$_POST['myname'].$rand); $p = ['itemtype' => $itemtype, 'entity_restrict' => $_POST['entity_restrict'], 'table' => $table, 'multiple' => $_POST["multiple"], 'myname' => $_POST["myname"], 'rand' => $_POST["rand"]]; if (isset($_POST["used"]) && !empty($_POST["used"])) { if (isset($_POST["used"][$itemtype])) { $p["used"] = $_POST["used"][$itemtype]; } } // Add context if defined if (!empty($context)) { $p["context"] = $context; } echo Html::jsAjaxDropdown($_POST['myname'], $field_id, $CFG_GLPI['root_doc']."/ajax/getDropdownFindNum.php", $p); // Auto update summary of active or just solved tickets $params = ['items_id' => '__VALUE__', 'itemtype' => $_POST['itemtype']]; Ajax::updateItemOnSelectEvent($field_id, "item_ticket_selection_information$rand", $CFG_GLPI["root_doc"]."/ajax/ticketiteminformation.php", $params); }