"; echo "
"; echo ""; echo ""; echo "
".$LANG['processmaker']['item']['tab']."
"; echo $LANG['processmaker']['item']['selectprocess']." "; echo ""; echo ""; echo ""; echo ""; echo ""; // Dropdown::show('PluginProcessmakerProcessmaker', array( 'name' => 'plugin_processmaker_process_id', 'condition' => "is_active=1 and is_helpdeskvisible=1")); // condition is used to prevent start of none-active and none-helpdesk-visible cases PluginProcessmakerProcess::dropdown( array( 'value' => 0, 'entity' => $_SESSION['glpiactive_entity'], 'name' => 'plugin_processmaker_process_id' )); echo ""; echo ""; echo "
"; Html::closeForm(); } ///** //* Print the helpdesk form //* //* @param $ID int : ID of the user who want to display the Helpdesk //* @param $ticket_template int : ID ticket template for preview : false if not used for preview //* //* @return nothing (print the helpdesk) //**/ //function showFormHelpdeskbak($ID, $pmItem, $caseInfo, $ticket_template=false) { // global $DB, $CFG_GLPI, $LANG; // if (!Session::haveRight("ticket", CREATE)) { // return false; // } // $query = "SELECT `realname`, `firstname`, `name` // FROM `glpi_users` // WHERE `id` = '$ID'"; // $result = $DB->query($query); // $email = UserEmail::getDefaultForUser($ID); // // Set default values... // $default_values = array('_users_id_requester_notif' => array('use_notification' => ($email==""?0:1), // 'alternative_email' => ''), // 'nodelegate' => 1, // '_users_id_requester' => 0, // 'name' => '', // 'content' => '', // 'itilcategories_id' => 0, // 'urgency' => 3, // 'itemtype' => '', // 'entities_id' => $_SESSION['glpiactive_entity'], // 'items_id' => 0, // 'plan' => array(), // 'global_validation' => 'none', // 'due_date' => 'NULL', // 'slas_id' => 0, // '_add_validation' => 0, // 'type' => 1, // '_right' => "id"); // if (!$ticket_template) { // $options = $_REQUEST; // } // // Restore saved value or override with page parameter // foreach ($default_values as $name => $value) { // if (!isset($options[$name])) { // if (isset($_SESSION["helpdeskSaved"][$name])) { // $options[$name] = $_SESSION["helpdeskSaved"][$name]; // } else { // $options[$name] = $value; // } // } // } // // Clean text fields // $options['name'] = stripslashes($options['name']); // $options['content'] = Html::cleanPostForTextArea($options['content']); // if (!$ticket_template) { // echo "
"; // } // $delegating = User::getDelegateGroupsForUser($options['entities_id']); // if (count($delegating)) { // echo "
"; // echo ""; // echo ""; // echo "
".$LANG['job'][69]." : "; // $rand = Dropdown::showYesNo("nodelegate", $options['nodelegate']); // $params = array ('nodelegate' => '__VALUE__', // 'rand' => $rand, // 'right' => "delegate", // '_users_id_requester' // => $options['_users_id_requester'], // '_users_id_requester_notif' // => $options['_users_id_requester_notif'], // 'use_notification' // => $options['_users_id_requester_notif']['use_notification'], // 'entity_restrict' // => $_SESSION["glpiactive_entity"]); // Ajax::UpdateItemOnSelectEvent("dropdown_nodelegate".$rand, "show_result".$rand, // $CFG_GLPI["root_doc"]."/ajax/dropdownDelegationUsers.php", // $params); // echo "
"; // echo "
"; // $self = new Ticket(); // if ($options["_users_id_requester"] == 0) { // $options['_users_id_requester'] = Session::getLoginUserID(); // } else { // $options['_right'] = "delegate"; // } // $self->showActorAddFormOnCreate(Ticket::REQUESTER, $options); // echo "
"; // echo "
"; // echo ""; // } // echo ""; // echo ""; // // Load ticket template if available : // $tt = new TicketTemplate(); // // First load default entity one // if ($template_id = EntityData::getUsedConfig('tickettemplates_id', $_SESSION["glpiactive_entity"])) { // // with type and categ // $tt->getFromDBWithDatas($template_id, true); // } // $field = ''; // if ($options['type'] && $options['itilcategories_id']) { // $categ = new ITILCategory(); // if ($categ->getFromDB($options['itilcategories_id'])) { // switch ($options['type']) { // case Ticket::INCIDENT_TYPE : // $field = 'tickettemplates_id_incident'; // break; // case Ticket::DEMAND_TYPE : // $field = 'tickettemplates_id_demand'; // break; // } // if (!empty($field) && $categ->fields[$field]) { // // without type and categ // $tt->getFromDBWithDatas($categ->fields[$field], false); // } // } // } // if ($ticket_template) { // // with type and categ // $tt->getFromDBWithDatas($ticket_template, true); // } // // Predefined fields from template : reset them // if (isset($options['_predefined_fields'])) { // $options['_predefined_fields'] // = unserialize(rawurldecode(stripslashes($options['_predefined_fields']))); // } else { // $options['_predefined_fields'] = array(); // } // // Store predefined fields to be able not to take into account on change template // $predefined_fields = array(); // if (isset($tt->predefined) && count($tt->predefined)) { // foreach ($tt->predefined as $predeffield => $predefvalue) { // if (isset($options[$predeffield]) && isset($default_values[$predeffield])) { // // Is always default value : not set // // Set if already predefined field // // Set if ticket template change // if ($options[$predeffield] == $default_values[$predeffield] // || (isset($options['_predefined_fields'][$predeffield]) // && $options[$predeffield] == $options['_predefined_fields'][$predeffield]) // || (isset($options['_tickettemplates_id']) // && $options['_tickettemplates_id'] != $tt->getID())) { // $options[$predeffield] = $predefvalue; // $predefined_fields[$predeffield] = $predefvalue; // } // } else { // Not defined options set as hidden field // echo ""; // } // } // } else { // No template load : reset predefined values // if (count($options['_predefined_fields'])) { // foreach ($options['_predefined_fields'] as $predeffield => $predefvalue) { // if ($options[$predeffield] == $predefvalue) { // $options[$predeffield] = $default_values[$predeffield]; // } // } // } // } // unset($_SESSION["helpdeskSaved"]); // if ($CFG_GLPI['urgency_mask']==(1<<3) || $tt->isHiddenField('urgency')) { // // Dont show dropdown if only 1 value enabled or field is hidden // echo ""; // } // // Display predefined fields if hidden // if ($tt->isHiddenField('itemtype')) { // echo ""; // echo ""; // } // echo ""; // echo "
"; // echo ""; // echo ""; // echo ""; // echo ""; // echo ""; // echo ""; // if ($CFG_GLPI['urgency_mask']!=(1<<3)) { // if (!$tt->isHiddenField('urgency')) { // echo ""; // echo ""; // echo ""; // } // } // if (empty($delegating) && NotificationTargetTicket::isAuthorMailingActivatedForHelpdesk()) { // echo ""; // echo ""; // echo ""; // } // if ($_SESSION["glpiactiveprofile"]["helpdesk_hardware"] != 0) { // if (!$tt->isHiddenField('itemtype')) { // echo ""; // echo ""; // echo ""; // } // } // if (!$tt->isHiddenField('name') // || $tt->isPredefinedField('name')) { // echo ""; // echo ""; // echo ""; // } // if (!$tt->isHiddenField('content') // || $tt->isPredefinedField('content')) { // echo ""; // echo ""; // echo ""; // } // echo ""; // echo ""; // echo ""; // echo ""; // echo ""; // echo ""; // echo ""; // echo ""; // if (!$ticket_template) { // echo ""; // echo ""; // } // echo "
".$caseInfo->processName." : "; // if (Session::isMultiEntitiesMode()) { // echo " (".Dropdown::getDropdownName("glpi_entities", $_SESSION["glpiactive_entity"]).")"; // } // echo "
".$LANG['joblist'][29]." :".$tt->getMandatoryMark('urgency').""; // Ticket::dropdownUrgency("urgency", $options['urgency']); // echo "
".$LANG['help'][8]." : "; // if ($options["_users_id_requester"] == 0) { // $options['_users_id_requester'] = Session::getLoginUserID(); // } // $_REQUEST['value'] = $options['_users_id_requester']; // $_REQUEST['field'] = '_users_id_requester_notif'; // $_REQUEST['use_notification'] = $options['_users_id_requester_notif']['use_notification']; // include (GLPI_ROOT."/ajax/uemailUpdate.php"); // echo "
 "; // echo "
"; // $rand = rand(); // $pmCaseUser = $caseInfo->currentUsers[0] ; // by default // $paramsURL = "DEL_INDEX=".$pmCaseUser->delIndex."&action=".$caseInfo->caseStatus ; // echo ""; // echo "
 "; // echo "
".$LANG['document'][2]." (".Document::getMaxUploadSize().") : "; // echo "".
//            $LANG["; // echo " "; // Ticket::showDocumentAddButton(60); // echo "
"; // echo "
"; // if (!$ticket_template) { // Html::closeForm(); // } //} /** * Print the helpdesk form * * @param $ID integer ID of the user who want to display the Helpdesk * @param $ticket_template boolean ticket template for preview : false if not used for preview * (false by default) * * @return nothing (print the helpdesk) **/ //function showFormHelpdesk($ID, $pmItem, $caseInfo, $ticket_template=false) { // global $DB, $CFG_GLPI; // if (!Ticket::canCreate()) { // return false; // } // if (!$ticket_template // && Session::haveRightsOr('ticketvalidation', TicketValidation::getValidateRights())) { // $opt = array(); // $opt['reset'] = 'reset'; // $opt['criteria'][0]['field'] = 55; // validation status // $opt['criteria'][0]['searchtype'] = 'equals'; // $opt['criteria'][0]['value'] = CommonITILValidation::WAITING; // $opt['criteria'][0]['link'] = 'AND'; // $opt['criteria'][1]['field'] = 59; // validation aprobator // $opt['criteria'][1]['searchtype'] = 'equals'; // $opt['criteria'][1]['value'] = Session::getLoginUserID(); // $opt['criteria'][1]['link'] = 'AND'; // $url_validate = $CFG_GLPI["root_doc"]."/front/ticket.php?".Toolbox::append_params($opt, // '&'); // if (TicketValidation::getNumberToValidate(Session::getLoginUserID()) > 0) { // echo "". // __('Tickets awaiting approval')."

"; // } // } // $query = "SELECT `realname`, `firstname`, `name` // FROM `glpi_users` // WHERE `id` = '$ID'"; // $result = $DB->query($query); // $email = UserEmail::getDefaultForUser($ID); // $default_use_notif = Entity::getUsedConfig('is_notif_enable_default', $_SESSION['glpiactive_entity'], '', 1); // // Set default values... // $default_values = array('_users_id_requester_notif' // => array('use_notification' // => (($email == "")?0:$default_use_notif)), // 'nodelegate' => 1, // '_users_id_requester' => 0, // '_users_id_observer' => 0, // '_users_id_observer_notif' // => array('use_notification' => $default_use_notif), // 'name' => '', // 'content' => '', // 'itilcategories_id' => 0, // 'locations_id' => 0, // 'urgency' => 3, // 'itemtype' => '', // 'items_id' => 0, // 'entities_id' => $_SESSION['glpiactive_entity'], // 'plan' => array(), // 'global_validation' => CommonITILValidation::NONE, // '_add_validation' => 0, // 'type' => Entity::getUsedConfig('tickettype', // $_SESSION['glpiactive_entity'], // '', Ticket::INCIDENT_TYPE), // '_right' => "id", // '_filename' => array(), // '_tag_filename' => array()); // // Get default values from posted values on reload form // if (!$ticket_template) { // if (isset($_POST)) { // $values = Html::cleanPostForTextArea($_POST); // } // } // $ticket = new Ticket(); // // Restore saved value or override with page parameter // if( !function_exists('restoreInput') ) { // function restoreInput(Array $default=array()) { // if (isset($_SESSION['saveInput']['Ticket'])) { // $saved = Html::cleanPostForTextArea($_SESSION['saveInput']['Ticket']); // // clear saved data when restored (only need once) // unset($_SESSION['saveInput']['Ticket']); // return $saved; // } // return $default; // } // } // $saved = restoreInput(); // foreach ($default_values as $name => $value) { // if (!isset($values[$name])) { // if (isset($saved[$name])) { // $values[$name] = $saved[$name]; // } else { // $values[$name] = $value; // } // } // } // if (!$ticket_template) { // echo ""; // } // $delegating = User::getDelegateGroupsForUser($values['entities_id']); // if (count($delegating)) { // echo "
"; // echo ""; // echo ""; // echo "
".__('This ticket concerns me')." "; // $rand = Dropdown::showYesNo("nodelegate", $values['nodelegate']); // $params = array('nodelegate' => '__VALUE__', // 'rand' => $rand, // 'right' => "delegate", // '_users_id_requester' // => $values['_users_id_requester'], // '_users_id_requester_notif' // => $values['_users_id_requester_notif'], // 'use_notification' // => $values['_users_id_requester_notif']['use_notification'], // 'entity_restrict' // => $_SESSION["glpiactive_entity"]); // Ajax::UpdateItemOnSelectEvent("dropdown_nodelegate".$rand, "show_result".$rand, // $CFG_GLPI["root_doc"]."/ajax/dropdownDelegationUsers.php", // $params); // $class = 'right'; // if ($CFG_GLPI['use_check_pref'] && $values['nodelegate']) { // echo "".__('Check your personnal information'); // $class = 'center'; // } // echo "
"; // echo "
"; // $self = $ticket; // if ($values["_users_id_requester"] == 0) { // $values['_users_id_requester'] = Session::getLoginUserID(); // } else { // $values['_right'] = "delegate"; // } // $self->showActorAddFormOnCreate(CommonITILActor::REQUESTER, $values); // echo "
"; // if ($CFG_GLPI['use_check_pref'] && $values['nodelegate']) { // echo "
"; // User::showPersonalInformation(Session::getLoginUserID()); // } // echo "
"; // echo ""; // } else { // // User as requester // $values['_users_id_requester'] = Session::getLoginUserID(); // if ($CFG_GLPI['use_check_pref']) { // echo "
"; // echo ""; // echo ""; // echo "
".__('Check your personnal information')."
"; // User::showPersonalInformation(Session::getLoginUserID()); // echo "
"; // } // } // echo ""; // echo ""; // // Load ticket template if available : // $tt = $ticket->getTicketTemplateToUse($ticket_template, $values['type'], // $values['itilcategories_id'], // $_SESSION["glpiactive_entity"]); // // Predefined fields from template : reset them // if (isset($values['_predefined_fields'])) { // $values['_predefined_fields'] // = Toolbox::decodeArrayFromInput($values['_predefined_fields']); // } else { // $values['_predefined_fields'] = array(); // } // // Store predefined fields to be able not to take into account on change template // $predefined_fields = array(); // if (isset($tt->predefined) && count($tt->predefined)) { // foreach ($tt->predefined as $predeffield => $predefvalue) { // if (isset($values[$predeffield]) && isset($default_values[$predeffield])) { // // Is always default value : not set // // Set if already predefined field // // Set if ticket template change // if (((count($values['_predefined_fields']) == 0) // && ($values[$predeffield] == $default_values[$predeffield])) // || (isset($values['_predefined_fields'][$predeffield]) // && ($values[$predeffield] == $values['_predefined_fields'][$predeffield])) // || (isset($values['_tickettemplates_id']) // && ($values['_tickettemplates_id'] != $tt->getID()))) { // $values[$predeffield] = $predefvalue; // $predefined_fields[$predeffield] = $predefvalue; // } // } else { // Not defined options set as hidden field // echo ""; // } // } // // All predefined override : add option to say predifined exists // if (count($predefined_fields) == 0) { // $predefined_fields['_all_predefined_override'] = 1; // } // } else { // No template load : reset predefined values // if (count($values['_predefined_fields'])) { // foreach ($values['_predefined_fields'] as $predeffield => $predefvalue) { // if ($values[$predeffield] == $predefvalue) { // $values[$predeffield] = $default_values[$predeffield]; // } // } // } // } // if (($CFG_GLPI['urgency_mask'] == (1<<3)) // || $tt->isHiddenField('urgency')) { // // Dont show dropdown if only 1 value enabled or field is hidden // echo ""; // } // // Display predefined fields if hidden // if ($tt->isHiddenField('itemtype')) { // echo ""; // echo ""; // } // if ($tt->isHiddenField('locations_id')) { // echo ""; // } // echo ""; // echo ""; // echo "
"; // echo ""; // echo ""; // echo ""; // echo ""; // echo ""; // echo ""; // echo ""; // if ($CFG_GLPI['urgency_mask'] != (1<<3)) { // if (!$tt->isHiddenField('urgency')) { // echo ""; // echo ""; // echo ""; // } // } // if (empty($delegating) // && NotificationTargetTicket::isAuthorMailingActivatedForHelpdesk()) { // echo ""; // echo ""; // echo ""; // } // if (($_SESSION["glpiactiveprofile"]["helpdesk_hardware"] != 0) // && (count($_SESSION["glpiactiveprofile"]["helpdesk_item_type"]))) { // if (!$tt->isHiddenField('itemtype')) { // echo ""; // echo ""; // echo ""; // } // } // if (!$tt->isHiddenField('locations_id')) { // echo ""; // } // if (!$tt->isHiddenField('_users_id_observer') // || $tt->isPredefinedField('_users_id_observer')) { // echo ""; // echo ""; // } // if (!$tt->isHiddenField('name') // || $tt->isPredefinedField('name')) { // echo ""; // echo ""; // } // if (!$tt->isHiddenField('content') // || $tt->isPredefinedField('content')) { // echo ""; // echo ""; // } // echo ""; // echo ""; // // File upload system // $width = '100%'; // if ($CFG_GLPI['use_rich_text']) { // $width = '50%'; // } // echo ""; // echo ""; // echo ""; // echo ""; // echo ""; // echo ""; // echo ""; // if (!$ticket_template) { // echo ""; // echo ""; // } // echo "
".$caseInfo->processName.""; // //echo "
".__('Describe the incident or request').""; // if (Session::isMultiEntitiesMode()) { // echo "(".Dropdown::getDropdownName("glpi_entities", $_SESSION["glpiactive_entity"]).")"; // } // echo "
".sprintf(__('%1$s%2$s'), __('Urgency'), $tt->getMandatoryMark('urgency')). // ""; // Ticket::dropdownUrgency(array('value' => $values["urgency"])); // echo "
".__('Inform me about the actions taken').""; // if ($values["_users_id_requester"] == 0) { // $values['_users_id_requester'] = Session::getLoginUserID(); // } // $_POST['value'] = $values['_users_id_requester']; // $_POST['field'] = '_users_id_requester_notif'; // $_POST['use_notification'] = $values['_users_id_requester_notif']['use_notification']; // include (GLPI_ROOT."/ajax/uemailUpdate.php"); // echo "
".__('Watcher').""; // $values['_right'] = "groups"; // if (!$tt->isHiddenField('_users_id_observer')) { // // Observer // $rand_observer = $ticket->showActorAddFormOnCreate(CommonITILActor::OBSERVER, $values); // echo '
'; // echo ""; // Ajax::updateItemOnSelectEvent("dropdown__users_id_observer[]$rand_observer", // "observer_$rand_observer", // $CFG_GLPI["root_doc"]."/ajax/helpdesk_observer.php", // $values); // } else { // predefined value // if (isset($values["_users_id_observer"]) && $values["_users_id_observer"]) { // echo Ticket::getActorIcon('user', CommonITILActor::OBSERVER)." "; // echo Dropdown::getDropdownName("glpi_users", $values["_users_id_observer"]); // echo ""; // echo '
'; // } // } // echo "
".sprintf(__('%1$s%2$s'), __('Title'), $tt->getMandatoryMark('name')).""; // if (!$tt->isHiddenField('name')) { // echo ""; // } else { // echo $values['name']; // echo ""; // } // echo "
".sprintf(__('%1$s%2$s'), __('Description'), $tt->getMandatoryMark('content')). // ""; // $rand = mt_rand(); // $rand_text = mt_rand(); // $cols = 90; // $rows = 6; // $content_id = "content$rand"; // //if ($CFG_GLPI["use_rich_text"]) { // // $values["content"] = $ticket->setRichTextContent($content_id, $values["content"], $rand); // // $cols = 100; // // $rows = 10; // //} else { // $values["content"] = $ticket->setSimpleTextContent($values["content"]); // //} // echo "
"; // echo "
"; // echo "
"; // $rand = rand(); // $pmCaseUser = $caseInfo->currentUsers[0] ; // by default // $paramsURL = "DEL_INDEX=".$pmCaseUser->delIndex."&action=".$caseInfo->caseStatus ; // echo ""; // echo "
".sprintf(__('%1$s (%2$s)'), __('File'), Document::getMaxUploadSize()); // DocumentType::showAvailableTypesLink(); // echo ""; // echo "
"; // echo "
"; // echo ""; // echo ""; // if ($CFG_GLPI['use_rich_text']) { // echo ""; // } // echo "
"; // echo Html::file(array('multiple' => true, // 'values' => array('filename' => $values['_filename'], // 'tag' => $values['_tag_filename']) // )); // // "
"; // echo "
"; // if (!isset($rand)) { // $rand = mt_rand(); // } // echo Html::imagePaste(array('rand' => $rand)); // echo "
"; // echo "
"; // if (!$ticket_template) { // Html::closeForm(); // } //} function showFormHelpdesk($ID, $pmItem, $caseInfo, $ticket_template=false) { global $DB, $CFG_GLPI; if (!Ticket::canCreate()) { return false; } if (!$ticket_template && Session::haveRightsOr('ticketvalidation', TicketValidation::getValidateRights())) { $opt = array(); $opt['reset'] = 'reset'; $opt['criteria'][0]['field'] = 55; // validation status $opt['criteria'][0]['searchtype'] = 'equals'; $opt['criteria'][0]['value'] = CommonITILValidation::WAITING; $opt['criteria'][0]['link'] = 'AND'; $opt['criteria'][1]['field'] = 59; // validation aprobator $opt['criteria'][1]['searchtype'] = 'equals'; $opt['criteria'][1]['value'] = Session::getLoginUserID(); $opt['criteria'][1]['link'] = 'AND'; $url_validate = $CFG_GLPI["root_doc"]."/front/ticket.php?".Toolbox::append_params($opt, '&'); if (TicketValidation::getNumberToValidate(Session::getLoginUserID()) > 0) { echo "". __('Tickets awaiting approval')."

"; } } $email = UserEmail::getDefaultForUser($ID); $default_use_notif = Entity::getUsedConfig('is_notif_enable_default', $_REQUEST['entities_id'], '', 1); // Set default values... $default_values = array('_users_id_requester_notif' => array('use_notification' => (($email == "")?0:$default_use_notif)), 'nodelegate' => 1, '_users_id_requester' => 0, '_users_id_observer' => array(0), '_users_id_observer_notif' => array('use_notification' => $default_use_notif), 'name' => '', 'content' => '', 'itilcategories_id' => 0, 'locations_id' => 0, 'urgency' => 3, 'items_id' => 0, 'entities_id' => $_REQUEST['entities_id'], 'plan' => array(), 'global_validation' => CommonITILValidation::NONE, '_add_validation' => 0, 'type' => Entity::getUsedConfig('tickettype', $_REQUEST['entities_id'], '', Ticket::INCIDENT_TYPE), '_right' => "id", '_filename' => array(), '_tag_filename' => array()); // Get default values from posted values on reload form if (!$ticket_template) { if (isset($_POST)) { $values = Html::cleanPostForTextArea($_POST); } } $ticket = new Ticket(); // Restore saved value or override with page parameter if( !function_exists('restoreInput') ) { function restoreInput(Array $default=array()) { if (isset($_SESSION['saveInput']['Ticket'])) { $saved = Html::cleanPostForTextArea($_SESSION['saveInput']['Ticket']); // clear saved data when restored (only need once) unset($_SESSION['saveInput']['Ticket']); return $saved; } return $default; } } $saved = restoreInput(); foreach ($default_values as $name => $value) { if (!isset($values[$name])) { if (isset($saved[$name])) { $values[$name] = $saved[$name]; } else { $values[$name] = $value; } } } // Check category / type validity if ($values['itilcategories_id']) { $cat = new ITILCategory(); if ($cat->getFromDB($values['itilcategories_id'])) { switch ($values['type']) { case Ticket::INCIDENT_TYPE : if (!$cat->getField('is_incident')) { $values['itilcategories_id'] = 0; } break; case Ticket::DEMAND_TYPE : if (!$cat->getField('is_request')) { $values['itilcategories_id'] = 0; } break; default : break; } } } if (!$ticket_template) { echo ""; } $delegating = User::getDelegateGroupsForUser($values['entities_id']); if (count($delegating)) { echo "
"; echo ""; echo ""; echo "
".__('This ticket concerns me')." "; $rand = Dropdown::showYesNo("nodelegate", $values['nodelegate']); $params = array('nodelegate' => '__VALUE__', 'rand' => $rand, 'right' => "delegate", '_users_id_requester' => $values['_users_id_requester'], '_users_id_requester_notif' => $values['_users_id_requester_notif'], 'use_notification' => $values['_users_id_requester_notif']['use_notification'], 'entity_restrict' => $_REQUEST['entities_id']); Ajax::UpdateItemOnSelectEvent("dropdown_nodelegate".$rand, "show_result".$rand, $CFG_GLPI["root_doc"]."/ajax/dropdownDelegationUsers.php", $params); $class = 'right'; if ($CFG_GLPI['use_check_pref'] && $values['nodelegate']) { echo "".__('Check your personnal information'); $class = 'center'; } echo "
"; echo "
"; $self = $ticket; // new self(); if ($values["_users_id_requester"] == 0) { $values['_users_id_requester'] = Session::getLoginUserID(); } else { $values['_right'] = "delegate"; } $self->showActorAddFormOnCreate(CommonITILActor::REQUESTER, $values); echo "
"; if ($CFG_GLPI['use_check_pref'] && $values['nodelegate']) { echo "
"; User::showPersonalInformation(Session::getLoginUserID()); } echo "
"; echo ""; } else { // User as requester $values['_users_id_requester'] = Session::getLoginUserID(); if ($CFG_GLPI['use_check_pref']) { echo "
"; echo ""; echo ""; echo "
".__('Check your personnal information')."
"; User::showPersonalInformation(Session::getLoginUserID()); echo "
"; } } echo ""; echo ""; // Load ticket template if available : $tt = $ticket->getTicketTemplateToUse($ticket_template, $values['type'], $values['itilcategories_id'], $_REQUEST['entities_id']); // Predefined fields from template : reset them if (isset($values['_predefined_fields'])) { $values['_predefined_fields'] = Toolbox::decodeArrayFromInput($values['_predefined_fields']); } else { $values['_predefined_fields'] = array(); } // Store predefined fields to be able not to take into account on change template $predefined_fields = array(); if (isset($tt->predefined) && count($tt->predefined)) { foreach ($tt->predefined as $predeffield => $predefvalue) { if (isset($values[$predeffield]) && isset($default_values[$predeffield])) { // Is always default value : not set // Set if already predefined field // Set if ticket template change if (((count($values['_predefined_fields']) == 0) && ($values[$predeffield] == $default_values[$predeffield])) || (isset($values['_predefined_fields'][$predeffield]) && ($values[$predeffield] == $values['_predefined_fields'][$predeffield])) || (isset($values['_tickettemplates_id']) && ($values['_tickettemplates_id'] != $tt->getID()))) { $values[$predeffield] = $predefvalue; $predefined_fields[$predeffield] = $predefvalue; } } else { // Not defined options set as hidden field echo ""; } } // All predefined override : add option to say predifined exists if (count($predefined_fields) == 0) { $predefined_fields['_all_predefined_override'] = 1; } } else { // No template load : reset predefined values if (count($values['_predefined_fields'])) { foreach ($values['_predefined_fields'] as $predeffield => $predefvalue) { if ($values[$predeffield] == $predefvalue) { $values[$predeffield] = $default_values[$predeffield]; } } } } if (($CFG_GLPI['urgency_mask'] == (1<<3)) || $tt->isHiddenField('urgency')) { // Dont show dropdown if only 1 value enabled or field is hidden echo ""; } // Display predefined fields if hidden if ($tt->isHiddenField('items_id')) { if (!empty($values['items_id'])) { foreach ($values['items_id'] as $itemtype => $items) { foreach ($items as $items_id) { echo ""; } } } } if ($tt->isHiddenField('locations_id')) { echo ""; } echo ""; echo ""; echo "
"; echo ""; echo ""; echo ""; echo ""; echo ""; echo ""; echo ""; if ($CFG_GLPI['urgency_mask'] != (1<<3)) { if (!$tt->isHiddenField('urgency')) { echo ""; echo ""; echo ""; } } if (empty($delegating) && NotificationTargetTicket::isAuthorMailingActivatedForHelpdesk()) { echo ""; echo ""; echo ""; } if (($_SESSION["glpiactiveprofile"]["helpdesk_hardware"] != 0) && (count($_SESSION["glpiactiveprofile"]["helpdesk_item_type"]))) { if (!$tt->isHiddenField('itemtype')) { echo ""; echo ""; echo ""; } } if (!$tt->isHiddenField('locations_id')) { echo ""; } if (!$tt->isHiddenField('_users_id_observer') || $tt->isPredefinedField('_users_id_observer')) { echo ""; echo ""; echo ""; } if (!$tt->isHiddenField('name') || $tt->isPredefinedField('name')) { echo ""; echo ""; } if (!$tt->isHiddenField('content') || $tt->isPredefinedField('content')) { echo ""; echo ""; } echo ""; echo ""; // File upload system $width = '100%'; if ($CFG_GLPI['use_rich_text']) { $width = '50%'; } echo ""; echo ""; echo ""; echo ""; echo ""; echo ""; echo ""; if (!$ticket_template) { echo ""; echo ""; } echo "
".$caseInfo->processName.""; //echo "
".__('Describe the incident or request').""; if (Session::isMultiEntitiesMode()) { echo "(".Dropdown::getDropdownName("glpi_entities", $_REQUEST['entities_id']).")"; } echo "
".sprintf(__('%1$s%2$s'), __('Urgency'), $tt->getMandatoryMark('urgency')). ""; Ticket::dropdownUrgency(array('value' => $values["urgency"])); echo "
".__('Inform me about the actions taken').""; if ($values["_users_id_requester"] == 0) { $values['_users_id_requester'] = Session::getLoginUserID(); } $_POST['value'] = $values['_users_id_requester']; $_POST['field'] = '_users_id_requester_notif'; $_POST['use_notification'] = $values['_users_id_requester_notif']['use_notification']; include (GLPI_ROOT."/ajax/uemailUpdate.php"); echo "
".sprintf(__('%1$s%2$s'), _n('Watcher', 'Watchers', 2), $tt->getMandatoryMark('_users_id_observer')).""; $values['_right'] = "groups"; if (!$tt->isHiddenField('_users_id_observer')) { // Observer if($tt->isPredefinedField('_users_id_observer') && !is_array($values['_users_id_observer'])) { //convert predefined value to array $values['_users_id_observer'] = array($values['_users_id_observer']); $values['_users_id_observer_notif']['use_notification'] = array($values['_users_id_observer_notif']['use_notification']); // add new line to permit adding more observers $values['_users_id_observer'][1] = 0; $values['_users_id_observer_notif']['use_notification'][1] = 1; } echo "
"; if (isset($values['_users_id_observer'])) { $observers = $values['_users_id_observer']; foreach($observers as $index_observer => $observer) { $options = array_merge($values, array('_user_index' => $index_observer)); Ticket::showFormHelpdeskObserver($options); } } echo "
"; } else { // predefined value if (isset($values["_users_id_observer"]) && $values["_users_id_observer"]) { echo Ticket::getActorIcon('user', CommonITILActor::OBSERVER)." "; echo Dropdown::getDropdownName("glpi_users", $values["_users_id_observer"]); echo ""; } } echo "
"; $rand = rand(); $pmCaseUser = $caseInfo->currentUsers[0] ; // by default $paramsURL = "DEL_INDEX=".$pmCaseUser->delIndex."&action=".$caseInfo->caseStatus ; echo ""; echo "
".sprintf(__('%1$s (%2$s)'), __('File'), Document::getMaxUploadSize()); DocumentType::showAvailableTypesLink(); echo ""; echo "
"; echo "
"; echo ""; echo ""; if ($CFG_GLPI['use_rich_text']) { echo ""; } echo "
"; echo Html::file(array('multiple' => true, 'values' => array('filename' => $values['_filename'], 'tag' => $values['_tag_filename']) )); // "
"; echo "
"; if (!isset($rand)) { $rand = mt_rand(); } echo Html::initImagePasteSystem($content_id, $rand); echo "
"; echo "
"; if (!$ticket_template) { Html::closeForm(); } } function processMakerShowCase( $ID, $from_helpdesk ) { global $CFG_GLPI ; //Html::helpHeader($LANG['job'][13], $_SERVER['PHP_SELF'], $_SESSION["glpiname"]); $pmItem = new PluginProcessmakerProcessmaker( ) ; $pmItem->login( ) ; $caseInfo = $pmItem->getCaseInfo( $_REQUEST['case_id'] ) ; if ($caseInfo->status_code == 0){ // case is created // Must show it... $rand = rand(); echo "" ; //?rand=$rand' showFormHelpdesk(Session::getLoginUserID(), $pmItem, $caseInfo); //echo ""; } } function in_array_recursive($needle, $haystack) { $it = new RecursiveIteratorIterator(new RecursiveArrayIterator($haystack)); foreach($it AS $element) { if($element == $needle) { return true; } } return false; } //// redirect if no create ticket right //if (!Session::haveRight('ticket', CREATE )) { // if (Session::haveRight('observe_ticket', 1) || Session::haveRight('validate_ticket', 1)) { // Html::redirect($CFG_GLPI['root_doc']."/front/ticket.php"); // } else if (Session::haveRight('reservation_helpdesk', 1)) { // Html::redirect($CFG_GLPI['root_doc']."/front/reservationitem.php"); // } else if (Session::haveRight('faq', READ)) { // Html::redirect($CFG_GLPI['root_doc']."/front/helpdesk.faq.php"); // } //} //Session::checkHelpdeskAccess(); //Html::helpHeader($LANG['job'][13], $_SERVER['PHP_SELF'], $_SESSION["glpiname"]); // Change profile system if (isset($_POST['newprofile'])) { if (isset($_SESSION["glpiprofiles"][$_POST['newprofile']])) { Session::changeProfile($_POST['newprofile']); if ($_SESSION["glpiactiveprofile"]["interface"] == "central") { Html::redirect($CFG_GLPI['root_doc']."/front/central.php"); } else { Html::redirect($_SERVER['PHP_SELF']); } } else { Html::redirect(preg_replace("/entities_id=.*/","",$_SERVER['HTTP_REFERER'])); } } // Manage entity change if (isset($_GET["active_entity"])) { if (!isset($_GET["is_recursive"])) { $_GET["is_recursive"] = 0; } if (Session::changeActiveEntities($_GET["active_entity"],$_GET["is_recursive"])) { if ($_GET["active_entity"] == $_SESSION["glpiactive_entity"]) { Html::redirect(preg_replace("/entities_id.*/","",$_SERVER['HTTP_REFERER'])); } } } // Redirect management if (isset($_GET["redirect"])) { Toolbox::manageRedirect($_GET["redirect"]); } // redirect if no create ticket right if (!Session::haveRight('ticket', CREATE) && !Session::haveRight('reminder_public', READ) && !Session::haveRight("rssfeed_public", READ)) { if (Session::haveRight('followup', TicketFollowup::SEEPUBLIC) || Session::haveRight('task', TicketTask::SEEPUBLIC) || Session::haveRightsOr('ticketvalidation', array(TicketValidation::VALIDATEREQUEST, TicketValidation::VALIDATEINCIDENT))) { Html::redirect($CFG_GLPI['root_doc']."/front/ticket.php"); } else if (Session::haveRight('reservation', ReservationItem::RESERVEANITEM)) { Html::redirect($CFG_GLPI['root_doc']."/front/reservationitem.php"); } else if (Session::haveRight('knowbase', KnowbaseItem::READFAQ)) { Html::redirect($CFG_GLPI['root_doc']."/front/helpdesk.faq.php"); } } Session::checkHelpdeskAccess(); Html::helpHeader(__('New ticket'), $_SERVER['PHP_SELF'], $_SESSION["glpiname"]); if (isset($_REQUEST['case_id'])) { $query = "SELECT * FROM glpi_plugin_processmaker_cases WHERE id='".$_REQUEST['case_id']."'" ; $res = $DB->query( $query ) ; if( $DB->numrows( $res ) ) // a ticket already exists for this case, then show new cases processMakerShowProcessList(Session::getLoginUserID(), 1); else { // before showing the case, we must check the rights for this user to view it, if entity has been changed in the meanwhile // and must check if entity of the ticket is in the tree of authorized entities for current profile $processList = PluginProcessmakerProcessmaker::getProcessesWithCategoryAndProfile( $_REQUEST["itilcategories_id"], $_REQUEST["type"], $_SESSION['glpiactiveprofile']['id'], $_REQUEST['entities_id'] ) ; if( in_array( $_REQUEST['entities_id'], $_SESSION['glpiactiveentities']) && in_array_recursive( $_REQUEST['process_id'], $processList ) ) { processMakerShowCase(Session::getLoginUserID(), 1); } else { Html::redirect($CFG_GLPI["root_doc"]."/front/helpdesk.public.php?create_ticket=1"); } } } else processMakerShowProcessList(Session::getLoginUserID(), 1); Html::helpFooter();