Fixed bug in the history of tickets (incident or any other type, for which the name is based on the ticket ID, which remained undetermined until the record is created)

SVN:trunk[142]
This commit is contained in:
Romain Quetiez
2009-09-11 12:03:34 +00:00
parent e18d2abd23
commit eec951f9ed
5 changed files with 38 additions and 21 deletions

View File

@@ -180,16 +180,15 @@ class bizChangeTicket extends cmdbAbstractObject
return true;
}
public function ComputeFields()
public function ComputeValues()
{
if ($this->GetKey() > 0)
$iKey = $this->GetKey();
if ($iKey < 0)
{
$sName = sprintf('C-%06d', $this->GetKey());
}
else
{
$sName = "Id not set";
// Object not yet in the Database
$iKey = MetaModel::GetNextKey(get_class($this));
}
$sName = sprintf('C-%06d', $iKey);
$this->Set('name', $sName);
}
}

View File

@@ -144,16 +144,15 @@ class bizServiceCall extends cmdbAbstractObject
return true;
}
public function ComputeFields()
public function ComputeValues()
{
if ($this->GetKey() > 0)
$iKey = $this->GetKey();
if ($iKey < 0)
{
$sName = sprintf('I-%06d', $this->GetKey());
}
else
{
$sName = "Id not set";
// Object not yet in the Database
$iKey = MetaModel::GetNextKey(get_class($this));
}
$sName = sprintf('S-%06d', $iKey);
$this->Set('name', $sName);
}
}

View File

@@ -149,16 +149,15 @@ class bizIncidentTicket extends cmdbAbstractObject
return true;
}
public function ComputeFields()
public function ComputeValues()
{
if ($this->GetKey() > 0)
$iKey = $this->GetKey();
if ($iKey < 0)
{
$sName = sprintf('I-%06d', $this->GetKey());
}
else
{
$sName = "Id not set";
// Object not yet in the Database
$iKey = MetaModel::GetNextKey(get_class($this));
}
$sName = sprintf('I-%06d', $iKey);
$this->Set('name', $sName);
}
}

View File

@@ -185,6 +185,18 @@ class CMDBSource
return $result;
}
public static function GetNextInsertId($sTable)
{
$sSQL = "SHOW TABLE STATUS LIKE '$sTable'";
$result = self::Query($sSQL);
$aRow = mysql_fetch_assoc($result);
$iNextInsertId = $aRow['Auto_increment'];
echo "<pre>\n";
print_r($aRow);
echo "</pre>\n";
return $iNextInsertId;
}
public static function GetInsertId()
{
return mysql_insert_id(self::$m_resDBLink);

View File

@@ -2642,6 +2642,14 @@ abstract class MetaModel
return new $sClass();
}
public static function GetNextKey($sClass)
{
$sRootClass = MetaModel::GetRootClass($sClass);
$sRootTable = MetaModel::DBGetTable($sRootClass);
$iNextKey = CMDBSource::GetNextInsertId($sRootTable);
return $iNextKey;
}
public static function BulkDelete(DBObjectSearch $oFilter)
{
$sSQL = self::MakeDeleteQuery($oFilter);