function post_addItem() { global $CFG_GLPI; parent::post_addItem(); if (isset($this->input['_tickets_id'])) { $ticket = new Ticket(); if ($ticket->getFromDB($this->input['_tickets_id'])) { $pt = new Change_Ticket(); $pt->add(array('tickets_id' => $this->input['_tickets_id'], 'changes_id' => $this->fields['id'])); if (!empty($ticket->fields['itemtype']) && $ticket->fields['items_id'] > 0) { $it = new Change_Item(); $it->add(array('changes_id' => $this->fields['id'], 'itemtype' => $ticket->fields['itemtype'], 'items_id' => $ticket->fields['items_id'])); } } } if (isset($this->input['_problems_id'])) { $problem = new Problem(); if ($problem->getFromDB($this->input['_problems_id'])) { $cp = new Change_Problem(); $cp->add(array('problems_id' => $this->input['_problems_id'], 'changes_id' => $this->fields['id'])); } } // Processing Email if ($CFG_GLPI["use_mailing"]) { // Clean reload of the change $this->getFromDB($this->fields['id']); $type = "new"; if (isset($this->fields["status"]) && in_array($this->input["status"], $this->getSolvedStatusArray())) { $type = "solved"; } NotificationEvent::raiseEvent($type, $this); } }
static function displayTabContentForItem(CommonGLPI $item, $tabnum = 1, $withtemplate = 0) { switch ($item->getType()) { case 'Change': Change_Problem::showForChange($item); break; case 'Ticket': Problem_Ticket::showForTicket($item); break; case __CLASS__: switch ($tabnum) { case 1: $item->showAnalysisForm(); break; case 2: if (!isset($_POST['load_kb_sol'])) { $_POST['load_kb_sol'] = 0; } $item->showSolutionForm($_POST['load_kb_sol']); break; case 4: $item->showStats(); break; } } return true; }
function post_addItem() { global $CFG_GLPI; parent::post_addItem(); if (isset($this->input['_tickets_id'])) { $ticket = new Ticket(); if ($ticket->getFromDB($this->input['_tickets_id'])) { $pt = new Change_Ticket(); $pt->add(array('tickets_id' => $this->input['_tickets_id'], 'changes_id' => $this->fields['id'])); if (!empty($ticket->fields['itemtype']) && $ticket->fields['items_id'] > 0) { $it = new Change_Item(); $it->add(array('changes_id' => $this->fields['id'], 'itemtype' => $ticket->fields['itemtype'], 'items_id' => $ticket->fields['items_id'])); } } } if (isset($this->input['_problems_id'])) { $problem = new Problem(); if ($problem->getFromDB($this->input['_problems_id'])) { $cp = new Change_Problem(); $cp->add(array('problems_id' => $this->input['_problems_id'], 'changes_id' => $this->fields['id'])); /// TODO add linked tickets and linked hardware (to problem and tickets) /// create standard function } } // Processing Email if ($CFG_GLPI["use_mailing"]) { // Clean reload of the change $this->getFromDB($this->fields['id']); $type = "new"; if (isset($this->fields["status"]) && $this->fields["status"] == self::SOLVED) { $type = "solved"; } NotificationEvent::raiseEvent($type, $this); } }
This file is part of GLPI. GLPI is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. GLPI is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with GLPI. If not, see <http://www.gnu.org/licenses/>. -------------------------------------------------------------------------- */ /** @file * @brief */ include '../inc/includes.php'; Session::checkLoginUser(); $item = new Change_Problem(); if (isset($_POST["add"])) { $item->check(-1, 'w', $_POST); if ($item->add($_POST)) { Event::log($_POST["changes_id"], "change", 4, "maintain", sprintf(__('%s adds a link with an item'), $_SESSION["glpiname"])); } Html::back(); } Html::displayErrorAndDie("lost");
This file is part of GLPI. GLPI is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. GLPI is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with GLPI. If not, see <http://www.gnu.org/licenses/>. -------------------------------------------------------------------------- */ /** @file * @brief */ include '../inc/includes.php'; Session::checkLoginUser(); $item = new Change_Problem(); if (isset($_POST["add"])) { $item->check(-1, CREATE, $_POST); if ($newID = $item->add($_POST)) { Event::log($_POST["changes_id"], "change", 4, "maintain", sprintf(__('%s adds a link with an item'), $_SESSION["glpiname"])); } Html::back(); } Html::displayErrorAndDie("lost");
function cleanDBonPurge() { global $DB; $query1 = "DELETE\n FROM `glpi_problemtasks`\n WHERE `problems_id` = '" . $this->fields['id'] . "'"; $DB->query($query1); $pt = new Problem_Ticket(); $pt->cleanDBonItemDelete('Problem', $this->fields['id']); $cp = new Change_Problem(); $cp->cleanDBonItemDelete('Problem', $this->fields['id']); $ip = new Item_Problem(); $ip->cleanDBonItemDelete('Problem', $this->fields['id']); parent::cleanDBonPurge(); }