Index: ticket.class.php =================================================================== --- ticket.class.php (revision 339) +++ ticket.class.php (working copy) @@ -352,7 +352,14 @@ = PluginBehaviorsUser::getRequesterGroup($ticket->input['entities_id'], $ticket->input['_users_id_requester'], true); - } else { + } else if ($config->getField('use_requester_user_group') == 3){ + $user = new User(); + if($user->getFromDB($ticket->input['_users_id_requester'])){ + $ticket->input['_groups_id_requester'] = $user->fields['groups_id']; + }else{ + $ticket->input['_groups_id_requester'] = 0; + } + } else { // All groups $g = PluginBehaviorsUser::getRequesterGroup($ticket->input['entities_id'], $ticket->input['_users_id_requester'], @@ -611,6 +618,26 @@ $_SESSION['glpi_behaviors_auto_group'] = $grp; $_REQUEST['_groups_id_requester'] = $grp; + } else if (($config->getField('use_requester_user_group') == 3) + && isset($_POST['_users_id_requester']) && ($_POST['_users_id_requester'] > 0) + && (!isset($_POST['_groups_id_requester']) + || ($_POST['_groups_id_requester'] <= 0) + || (isset($_SESSION['glpi_behaviors_auto_group']) + && ($_SESSION['glpi_behaviors_auto_group'] + == $_POST['_groups_id_requester'])))) { + + // Select default group of this user + $user = new User(); + + if ($user->getFromDB($_POST['_users_id_requester'])) { + $grp = $user->fields['groups_id']; + } else { + $grp = 0; + } + + $_SESSION['glpi_behaviors_auto_group'] = $grp; + $_REQUEST['_groups_id_requester'] = $grp; + } else if (($config->getField('use_requester_user_group') == 1) && isset($_POST['_users_id_requester']) && ($_POST['_users_id_requester'] <= 0) && isset($_POST['_groups_id_requester']) @@ -620,6 +647,15 @@ // clear user, so clear group $_SESSION['glpi_behaviors_auto_group'] = 0; $_REQUEST['_groups_id_requester'] = 0; + } else if (($config->getField('use_requester_user_group') == 3) + && isset($_POST['_users_id_requester']) && ($_POST['_users_id_requester'] <= 0) + && isset($_POST['_groups_id_requester']) + && isset($_SESSION['glpi_behaviors_auto_group']) + && ($_SESSION['glpi_behaviors_auto_group'] == $_POST['_groups_id_requester'])) { + + // clear user, so clear group + $_SESSION['glpi_behaviors_auto_group'] = 0; + $_REQUEST['_groups_id_requester'] = 0; } else { unset($_SESSION['glpi_behaviors_auto_group']); }