/** * Update ticket status when user added. * Trigger also adding user groups if feature enabled * @param Ticket_User $item Ticket_User object * @return nothing */ static function item_add_user(Ticket_User $item) { $users_id = $item->input['users_id']; $tickets_id = $item->input['tickets_id']; $ticket = new Ticket(); $ticket->getFromDB($tickets_id); $groups_id = array(); self::removeAssignUsers($tickets_id, $users_id); // == Add user groups on modification == //check this plugin config if ($_SESSION['plugins']['escalade']['config']['use_assign_user_group'] == 0 || $_SESSION['plugins']['escalade']['config']['use_assign_user_group_modification'] == 0) { return true; } if ($_SESSION['plugins']['escalade']['config']['use_assign_user_group'] == 1) { // First group $groups_id = PluginEscaladeUser::getTechnicianGroup($ticket->fields['entities_id'], $item->fields['users_id'], true); } else { // All groups $groups_id = PluginEscaladeUser::getTechnicianGroup($ticket->fields['entities_id'], $item->fields['users_id'], false); } if (!empty($groups_id)) { $group_ticket = new Group_Ticket(); //The ticket cannot have this group already assigned $found = $group_ticket->find("tickets_id = {$tickets_id} AND groups_id = {$groups_id}\n AND type = " . CommonITILActor::ASSIGN); if (!empty($found)) { return; } //prevent user removal $_SESSION['plugin_escalade']['keep_users'][$item->fields['users_id']] = $item->fields['users_id']; //add new group to ticket $group_ticket->add(array('tickets_id' => $tickets_id, 'groups_id' => $groups_id, 'type' => CommonITILActor::ASSIGN)); } else { if ($_SESSION['plugins']['escalade']['config']['remove_tech']) { self::removeAssignGroups($tickets_id); } } //fix ticket status $ticket->update(array('id' => $tickets_id, 'status' => CommonITILObject::ASSIGNED)); }
<?php include "../../../inc/includes.php"; $user = new PluginEscaladeUser(); //Note : no Log is show in User if (isset($_POST["add"])) { $user->add($_POST); } elseif (isset($_POST["update"])) { $user->update($_POST); } Html::back();
static function loadInSession() { $config = new self(); $config->getFromDB(1); unset($config->fields['id']); if ($config->fields['use_filter_assign_group']) { $user = new PluginEscaladeUser(); if ($user->getFromDBByQuery("WHERE users_id = '" . $_SESSION['glpiID'] . "'")) { $config->fields['use_filter_assign_group'] = $user->fields['use_filter_assign_group']; } } $_SESSION['plugins']['escalade']['config'] = $config->fields; }