Exemplo n.º 1
0
 /**
  * @see CommonDBTM::post_updateItem()
  **/
 function post_updateItem($history = 1)
 {
     if (isset($this->fields["begin"]) && !empty($this->fields["begin"])) {
         Planning::checkAlreadyPlanned($this->fields["users_id"], $this->fields["begin"], $this->fields["end"], array('Reminder' => array($this->fields['id'])));
     }
     if (in_array("begin", $this->updates)) {
         PlanningRecall::managePlanningUpdates($this->getType(), $this->getID(), $this->fields["begin"]);
     }
 }
Exemplo n.º 2
0
 function post_updateItem($history = 1)
 {
     global $CFG_GLPI;
     if (in_array("begin", $this->updates)) {
         PlanningRecall::managePlanningUpdates($this->getType(), $this->getID(), $this->fields["begin"]);
     }
     $update_done = false;
     $itemtype = $this->getItilObjectItemType();
     $item = new $itemtype();
     if ($item->getFromDB($this->fields[$item->getForeignKeyField()])) {
         $item->updateDateMod($this->fields[$item->getForeignKeyField()]);
         if (count($this->updates)) {
             $update_done = true;
             if (in_array("actiontime", $this->updates)) {
                 $item->updateActionTime($this->input[$item->getForeignKeyField()]);
             }
             // change ticket status (from splitted button)
             $itemtype = $this->getItilObjectItemType();
             $this->input['_job'] = new $itemtype();
             if (!$this->input['_job']->getFromDB($this->input[$this->input['_job']->getForeignKeyField()])) {
                 return false;
             }
             if (isset($this->input['_status']) && $this->input['_status'] != $this->input['_job']->fields['status']) {
                 $update['status'] = $this->input['_status'];
                 $update['id'] = $this->input['_job']->fields['id'];
                 $update['_disablenotif'] = true;
                 $this->input['_job']->update($update);
             }
             if (!empty($this->fields['begin']) && $item->isStatusExists(CommonITILObject::PLANNED) && ($item->fields["status"] == CommonITILObject::INCOMING || $item->fields["status"] == CommonITILObject::ASSIGNED)) {
                 $input2['id'] = $item->getID();
                 $input2['status'] = CommonITILObject::PLANNED;
                 $input2['_disablenotif'] = true;
                 $item->update($input2);
             }
             if ($CFG_GLPI["use_mailing"]) {
                 $options = array('task_id' => $this->fields["id"], 'is_private' => $this->isPrivate());
                 NotificationEvent::raiseEvent('update_task', $item, $options);
             }
         }
     }
     if ($update_done) {
         // Add log entry in the ITIL object
         $changes[0] = 0;
         $changes[1] = '';
         $changes[2] = $this->fields['id'];
         Log::history($this->getField($item->getForeignKeyField()), $itemtype, $changes, $this->getType(), Log::HISTORY_UPDATE_SUBITEM);
     }
 }