Ticket
bizmodel,searchable,problemmgmt
false
autoincrement
ticket_problem
id
%1$s
images/problem.png
new
assigned
resolved
closed
status
new
false
list
SELECT Service
service_id
Service
true
DEL_MANUAL
service_id
name
service_id]]>
servicesubcategory_id
ServiceSubcategory
true
DEL_MANUAL
servicesubcategory_id
name
product
true
1
2
3
impact
1
false
list
1
2
3
4
urgency
1
false
list
1
2
3
4
priority
1
false
list
related_change_id
Change
true
DEL_MANUAL
related_change_id
ref
assignment_date
true
resolution_date
true
KnownError
problem_id
add_only
0
0
UserRequest
parent_problem_id
none
0
0
status
ev_assign
assigned
SetAssignedDate
ev_reassign
assigned
ev_resolve
resolved
SetResolveDate
ev_reassign
assigned
ev_close
closed
SetClosureDate
false
public
LifecycleAction
Set('assignment_date', time());
return true;
}]]>
false
public
LifecycleAction
Set('resolution_date', time());
return true;
}]]>
false
public
LifecycleAction
Set('close_date', time());
return true;
}]]>
/** Compute the priority of the ticket based on its impact and urgency
* @return integer The priority of the ticket 1(high) .. 3(low)
*/
false
public
LifecycleAction
array(
1 => 1,
2 => 1,
3 => 2,
4 => 4,
),
// a group
2 => array(
1 => 1,
2 => 2,
3 => 3,
4 => 4,
),
// a departement!
3 => array(
1 => 2,
2 => 3,
3 => 3,
4 => 4,
),
);
$iPriority = $aPriorities[(int)$this->Get('impact')][(int)$this->Get('urgency')];
return $iPriority;
}]]>
false
public
Overload-DBObject
Set('priority', $this->ComputePriority());
$sCurrRef = $this->Get('ref');
if (strlen($sCurrRef) == 0)
{
$iKey = $this->GetKey();
if ($iKey < 0)
{
// Object not yet in the Database
$iKey = MetaModel::GetNextKey(get_class($this));
}
$sName = sprintf('P-%06d', $iKey);
$this->Set('ref', $sName);
}
}]]>
false
protected
Overload-DBObject
Set('start_date', time());
$this->Set('last_update', time());
}]]>
false
protected
Overload-DBObject
Set('last_update', time());
}]]>
-
10
-
20
-
30
-
40
-
50
-
60
-
10
-
10
-
20
-
30
-
40
-
50
-
60
-
70
-
80
-
20
-
10
-
20
-
30
-
70
-
10
-
10
-
20
-
30
-
40
-
50
-
20
-
10
-
20
-
30
-
30
-
10
-
10
-
20
-
30
-
40
-
50
-
60
-
70
-
80
-
90
-
100
-
110
-
120
-
130
-
140
-
150
-
10
-
20
-
30
-
40
-
50
-
60