cloneItem() статический публичный Метод

Duplicate contracts from an item template to its clone
static public cloneItem ( $itemtype, $oldid, $newid, $newitemtype = '' )
$itemtype itemtype of the item
$oldid ID of the item to clone
$newid ID of the item cloned
$newitemtype itemtype of the new item (= $itemtype if empty) (default '')
 function post_addItem()
 {
     global $DB, $CFG_GLPI;
     // Manage add from template
     if (isset($this->input["_oldID"])) {
         // ADD Devices
         Item_devices::cloneItem($this->getType(), $this->input["_oldID"], $this->fields['id']);
         // ADD Infocoms
         Infocom::cloneItem($this->getType(), $this->input["_oldID"], $this->fields['id']);
         // ADD Ports
         NetworkPort::cloneItem($this->getType(), $this->input["_oldID"], $this->fields['id']);
         // ADD Contract
         Contract_Item::cloneItem($this->getType(), $this->input["_oldID"], $this->fields['id']);
         // ADD Documents
         Document_Item::cloneItem($this->getType(), $this->input["_oldID"], $this->fields['id']);
         // ADD Computers
         Computer_Item::cloneItem($this->getType(), $this->input["_oldID"], $this->fields['id']);
     }
 }
Пример #2
0
 function post_addItem()
 {
     global $DB;
     // Manage add from template
     if (isset($this->input["_oldID"])) {
         // ADD Devices
         Item_devices::cloneItem($this->getType(), $this->input["_oldID"], $this->fields['id']);
         // ADD Infocoms
         Infocom::cloneItem($this->getType(), $this->input["_oldID"], $this->fields['id']);
         // ADD volumes
         ComputerDisk::cloneComputer($this->input["_oldID"], $this->fields['id']);
         // ADD software
         Computer_SoftwareVersion::cloneComputer($this->input["_oldID"], $this->fields['id']);
         Computer_SoftwareLicense::cloneComputer($this->input["_oldID"], $this->fields['id']);
         // ADD Contract
         Contract_Item::cloneItem($this->getType(), $this->input["_oldID"], $this->fields['id']);
         // ADD Documents
         Document_Item::cloneItem($this->getType(), $this->input["_oldID"], $this->fields['id']);
         // ADD Ports
         NetworkPort::cloneItem($this->getType(), $this->input["_oldID"], $this->fields['id']);
         // Add connected devices
         Computer_Item::cloneComputer($this->input["_oldID"], $this->fields['id']);
     }
 }
Пример #3
0
 function post_addItem()
 {
     global $DB, $CFG_GLPI;
     // Manage add from template
     if (isset($this->input["_oldID"])) {
         Infocom::cloneItem($this->getType(), $this->input["_oldID"], $this->fields['id']);
         Contract_Item::cloneItem($this->getType(), $this->input["_oldID"], $this->fields['id']);
         Document_Item::cloneItem($this->getType(), $this->input["_oldID"], $this->fields['id']);
     }
     if (isset($this->input['_itemtype']) && isset($this->input['_items_id'])) {
         $simcard_item = new PluginSimcardSimcard_Item();
         $tmp['plugin_simcard_simcards_id'] = $this->getID();
         $tmp['itemtype'] = $this->input['_itemtype'];
         $tmp['items_id'] = $this->input['_items_id'];
         $simcard_item->add($tmp);
     }
 }
Пример #4
0
 function post_addItem()
 {
     global $CFG_GLPI;
     $projet_projet = new PluginProjetProjet_Projet();
     // From interface
     if (isset($this->input['_link'])) {
         $this->input['_link']['plugin_projet_projets_id_1'] = $this->fields['id'];
         // message if projet doesn't exist
         if (!empty($this->input['_link']['plugin_projet_projets_id_2'])) {
             if ($projet_projet->can(-1, 'w', $this->input['_link'])) {
                 $projet_projet->add($this->input['_link']);
             } else {
                 Session::addMessageAfterRedirect(__('Unknown project', 'projet'), false, ERROR);
             }
         }
     }
     // Manage add from template
     if (isset($this->input["_oldID"])) {
         //add parent
         PluginProjetProjet_Projet::cloneItem($this->input["_oldID"], $this->fields['id']);
         // ADD Documents
         Document_Item::cloneItem($this->getType(), $this->input["_oldID"], $this->fields['id']);
         // ADD Contracts
         Contract_Item::cloneItem($this->getType(), $this->input["_oldID"], $this->fields['id']);
         // ADD items
         PluginProjetProjet_Item::cloneItem($this->input["_oldID"], $this->fields['id']);
         // ADD tasks
         PluginProjetTask::cloneItem($this->input["_oldID"], $this->fields['id']);
     }
     if (isset($this->input['withtemplate']) && $this->input["withtemplate"] != 1 && isset($this->input['send_notification']) && $this->input['send_notification'] == 1) {
         if ($CFG_GLPI["use_mailing"]) {
             NotificationEvent::raiseEvent("new", $this);
         }
     }
 }
Пример #5
0
 function post_addItem()
 {
     global $DB, $CFG_GLPI;
     // Manage add from template
     if (isset($this->input["_oldID"])) {
         // ADD Infocoms
         //   $ic = new Infocom();
         // $ic->cloneItem($this->getType(), $this->input["_oldID"], $this->fields['id']);
         Infocom::cloneItem($this->getType(), $this->input["_oldID"], $this->fields['id']);
         //test 0.84.3
         Contract_Item::cloneItem($this->getType(), $this->input["_oldID"], $this->fields['id']);
         // ADD Contract
         //    $query = "SELECT `contracts_id`
         //     FROM `glpi_contracts_items`
         //       WHERE `items_id` = '".$this->input["_oldID"]."'
         //               AND `itemtype` = '".$this->getType()."'";
         // $result = $DB->query($query);
         // if ($DB->numrows($result)>0) {
         //  $contractitem = new Contract_Item();
         // while ($data=$DB->fetch_array($result)) {
         //  $contractitem->add(array('contracts_id' => $data["contracts_id"],
         //                         'itemtype'     => $this->getType(),
         //                       'items_id'     => $this->fields['id']));
         //  }
         //}
         // ADD Documents
         //  $query = "SELECT `documents_id`
         //          FROM `glpi_documents_items`
         //        WHERE `items_id` = '".$this->input["_oldID"]."'
         //            AND `itemtype` = '".$this->getType()."'";
         // $result = $DB->query($query);
         //
         //       if ($DB->numrows($result)>0) {
         //        $docitem = new Document_Item();
         //
         //          while ($data=$DB->fetch_array($result)) {
         //           $docitem->add(array('documents_id' => $data["documents_id"],
         //                             'itemtype'     => $this->getType(),
         //                           'items_id'     => $this->fields['id']));
         Document_Item::cloneItem($this->getType(), $this->input["_oldID"], $this->fields['id']);
         // }
         //      }
     }
     if (isset($this->input['_itemtype']) && isset($this->input['_items_id'])) {
         $simcard_item = new PluginSimcardSimcard_Item();
         $tmp['plugin_simcard_simcards_id'] = $this->getID();
         $tmp['itemtype'] = $this->input['_itemtype'];
         $tmp['items_id'] = $this->input['_items_id'];
         $simcard_item->add($tmp);
     }
 }