コード例 #1
0
ファイル: ticket.class.php プロジェクト: korial29/escalade
 /**
  * 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));
 }
コード例 #2
0
ファイル: user.form.php プロジェクト: korial29/escalade
<?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();
コード例 #3
0
ファイル: config.class.php プロジェクト: korial29/escalade
 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;
 }