static function afterAdd(Ticket_User $item) { global $DB; $config = PluginBehaviorsConfig::getInstance(); if ($config->getField('add_notif')) { if ($item->getField('type') == CommonITILActor::ASSIGN) { $ticket = new Ticket(); if ($ticket->getFromDB($item->getField('tickets_id'))) { NotificationEvent::raiseEvent('plugin_behaviors_ticketnewtech', $ticket); } } } // Check is the connected user is a tech if (!is_numeric(Session::getLoginUserID(false)) || !Session::haveRight('ticket', Ticket::OWN)) { return false; // No check } $config = PluginBehaviorsConfig::getInstance(); if ($config->getField('single_tech_mode') != 0 && $item->input['type'] == CommonITILActor::ASSIGN) { $crit = array('tickets_id' => $item->input['tickets_id'], 'type' => CommonITILActor::ASSIGN); foreach ($DB->request('glpi_tickets_users', $crit) as $data) { if ($data['id'] != $item->getID()) { $gu = new Ticket_User(); $gu->delete($data); } } if ($config->getField('single_tech_mode') == 2) { foreach ($DB->request('glpi_groups_tickets', $crit) as $data) { $gu = new Group_Ticket(); $gu->delete($data); } } } }
static function plugin_vip_item_update_user(Ticket_User $ticket) { global $DB; $ticketid = $ticket->getField('tickets_id'); $vipticket = self::isTicketVip($ticketid); $vipdbticket = ""; $ticketquery = "SELECT isvip\n\t\t\t\t\t\t FROM glpi_plugin_vip_tickets\n\t\t\t\t \t\t WHERE id = " . $ticketid; $vipticketres = $DB->query($ticketquery); $vipdbticket = mysqli_fetch_object($vipticketres); if ($vipticket) { $vipdbquery = "UPDATE glpi_plugin_vip_tickets\n SET isvip = 1\n WHERE id = " . $ticketid; } else { $vipdbquery = "UPDATE glpi_plugin_vip_tickets\n SET isvip = 0\n WHERE id = " . $ticketid; } $updatevipdb = $DB->query($vipdbquery); }
protected function _testTicketUser(Ticket $ticket, $actor, $role, $notify, $alternateEmail) { if ($actor > 0) { $user = new User(); $user->getFromDB($actor); $this->assertFalse($user->isNewItem()); $ticketUser = new Ticket_User(); $ticketUser->getFromDBForItems($ticket, $user); $this->assertFalse($ticketUser->isNewItem()); $this->assertEquals($role, $ticketUser->getField('type')); $this->assertEquals($notify, $ticketUser->getField('use_notification')); } else { $ticketId = $ticket->getID(); $ticketUser = new Ticket_User(); $ticketUser->getFromDBByQuery("WHERE `tickets_id` = '{$ticketId}' AND `users_id` = '0' AND `alternative_email` = '{$alternateEmail}'"); $this->assertFalse($ticketUser->isNewItem()); $this->assertEquals($role, $ticketUser->getField('type')); $this->assertEquals($notify, $ticketUser->getField('use_notification')); } }