#759 Ticket lists in CI: show only active tickets (exclude tickets in states rejected/resolved/closed) and display one list per leaf class so that the status column will be visible. It it not possible anymore to edit the ticket list from the CI.

SVN:trunk[3638]
This commit is contained in:
Romain Quetiez
2015-07-10 13:46:34 +00:00
parent 3bafb01202
commit 4e567585af
7 changed files with 56 additions and 96 deletions

View File

@@ -1404,9 +1404,6 @@
<item id="documents_list">
<rank>70</rank>
</item>
<item id="tickets_list">
<rank>80</rank>
</item>
<item id="applicationsolution_list">
<rank>90</rank>
</item>
@@ -1462,6 +1459,60 @@
<type>Overload-DBObject</type>
<code><![CDATA[ public static function GetRelationQueries($sRelCode){return parent::GetRelationQueries($sRelCode);} ]]></code>
</method>
<method id="DisplayBareRelations">
<static>false</static>
<access>public</access>
<type>Overload-cmdbAbstractObject</type>
<code><![CDATA[ function DisplayBareRelations(WebPage $oPage, $bEditMode = false)
{
parent::DisplayBareRelations($oPage, $bEditMode);
$sTicketListAttCode = 'tickets_list';
if (MetaModel::IsValidAttCode(get_class($this), $sTicketListAttCode))
{
// Display one list per leaf class (the only way to display the status as of now)
$oAttDef = MetaModel::GetAttributeDef(get_class($this), $sTicketListAttCode);
$sLnkClass = $oAttDef->GetLinkedClass();
$sExtKeyToMe = $oAttDef->GetExtKeyToMe();
$sExtKeyToRemote = $oAttDef->GetExtKeyToRemote();
$iTotal = 0;
$aSearches = array();
foreach (MetaModel::EnumChildClasses('Ticket') as $sSubClass)
{
if (!MetaModel::HasChildrenClasses($sSubClass))
{
$sStateAttCode = MetaModel::GetStateAttributeCode($sSubClass);
if ($sStateAttCode != '')
{
$oSearch = DBSearch::FromOQL("SELECT $sSubClass AS t JOIN $sLnkClass AS lnk ON lnk.$sExtKeyToRemote = t.id WHERE $sExtKeyToMe = :myself AND $sStateAttCode NOT IN ('rejected', 'resolved', 'closed')", array('myself' => $this->GetKey()));
$aSearches[$sSubClass] = $oSearch;
$oSet = new DBObjectSet($oSearch);
$iTotal += $oSet->Count();
}
}
}
$sCount = ($iTotal > 0) ? ' ('.$iTotal.')' : '';
$oPage->SetCurrentTab(Dict::S('Class:FunctionalCI/Tab:OpenedTickets').$sCount);
foreach ($aSearches as $sSubClass => $oSearch)
{
$sBlockId = __class__.'_opened_'.$sSubClass;
$oPage->add('<fieldset>');
$oPage->add('<legend>'.MetaModel::GetName($sSubClass).'</legend>');
$oBlock = new DisplayBlock($oSearch, 'list', false);
$oBlock->Display($oPage, $sBlockId, array('menu' => false));
$oPage->add('</fieldset>');
}
}
}]]></code>
</method>
</methods>
<relations>
<relation id="impacts">
@@ -1627,9 +1678,6 @@
<item id="documents_list">
<rank>150</rank>
</item>
<item id="tickets_list">
<rank>160</rank>
</item>
</items>
</details>
<search>
@@ -2216,9 +2264,6 @@
<item id="documents_list">
<rank>20</rank>
</item>
<item id="tickets_list">
<rank>30</rank>
</item>
<item id="applicationsolution_list">
<rank>35</rank>
</item>
@@ -2532,9 +2577,6 @@
<item id="documents_list">
<rank>30</rank>
</item>
<item id="tickets_list">
<rank>40</rank>
</item>
<item id="applicationsolution_list">
<rank>45</rank>
</item>
@@ -2849,9 +2891,6 @@
<item id="documents_list">
<rank>80</rank>
</item>
<item id="tickets_list">
<rank>90</rank>
</item>
<item id="functionalcis_list">
<rank>100</rank>
</item>
@@ -2989,9 +3028,6 @@
<item id="documents_list">
<rank>80</rank>
</item>
<item id="tickets_list">
<rank>90</rank>
</item>
<item id="applicationsolutions_list">
<rank>100</rank>
</item>
@@ -3291,9 +3327,6 @@
<item id="documents_list">
<rank>120</rank>
</item>
<item id="tickets_list">
<rank>130</rank>
</item>
<item id="applicationsolution_list">
<rank>140</rank>
</item>
@@ -3438,9 +3471,6 @@
<item id="documents_list">
<rank>120</rank>
</item>
<item id="tickets_list">
<rank>130</rank>
</item>
<item id="applicationsolution_list">
<rank>140</rank>
</item>
@@ -3585,9 +3615,6 @@
<item id="documents_list">
<rank>120</rank>
</item>
<item id="tickets_list">
<rank>130</rank>
</item>
<item id="applicationsolution_list">
<rank>140</rank>
</item>
@@ -3725,9 +3752,6 @@
<item id="documents_list">
<rank>120</rank>
</item>
<item id="tickets_list">
<rank>130</rank>
</item>
<item id="applicationsolution_list">
<rank>140</rank>
</item>
@@ -3841,9 +3865,6 @@
<item id="documents_list">
<rank>120</rank>
</item>
<item id="tickets_list">
<rank>130</rank>
</item>
<item id="applicationsolution_list">
<rank>140</rank>
</item>
@@ -3954,9 +3975,6 @@
<item id="documents_list">
<rank>80</rank>
</item>
<item id="tickets_list">
<rank>90</rank>
</item>
<item id="applicationsolution_list">
<rank>100</rank>
</item>
@@ -4074,9 +4092,6 @@
<item id="documents_list">
<rank>80</rank>
</item>
<item id="tickets_list">
<rank>90</rank>
</item>
<item id="applicationsolution_list">
<rank>100</rank>
</item>
@@ -4203,9 +4218,6 @@
<item id="documents_list">
<rank>90</rank>
</item>
<item id="tickets_list">
<rank>100</rank>
</item>
<item id="applicationsolution_list">
<rank>110</rank>
</item>

View File

@@ -329,6 +329,7 @@ Dict::Add('EN US', 'English', 'English', array(
'Class:FunctionalCI/Attribute:tickets_list+' => 'All the tickets for this configuration item',
'Class:FunctionalCI/Attribute:finalclass' => 'CI Type',
'Class:FunctionalCI/Attribute:finalclass+' => '',
'Class:FunctionalCI/Tab:OpenedTickets' => 'Active Tickets',
));
//

View File

@@ -274,6 +274,7 @@ Dict::Add('FR FR', 'French', 'Français', array(
'Class:FunctionalCI/Attribute:tickets_list+' => '',
'Class:FunctionalCI/Attribute:finalclass' => 'Type de CI',
'Class:FunctionalCI/Attribute:finalclass+' => '',
'Class:FunctionalCI/Tab:OpenedTickets' => 'Tickets en cours',
));
//

View File

@@ -96,9 +96,6 @@
<item id="documents_list">
<rank>160</rank>
</item>
<item id="tickets_list">
<rank>170</rank>
</item>
<item id="enclosure_list">
<rank>180</rank>
</item>
@@ -297,9 +294,6 @@
<item id="documents_list">
<rank>170</rank>
</item>
<item id="tickets_list">
<rank>180</rank>
</item>
<item id="device_list">
<rank>190</rank>
</item>
@@ -649,9 +643,6 @@
<item id="documents_list">
<rank>160</rank>
</item>
<item id="tickets_list">
<rank>170</rank>
</item>
<item id="providercontracts_list">
<rank>180</rank>
</item>
@@ -838,9 +829,6 @@
<item id="documents_list">
<rank>170</rank>
</item>
<item id="tickets_list">
<rank>180</rank>
</item>
<item id="providercontracts_list">
<rank>190</rank>
</item>

View File

@@ -230,9 +230,6 @@
<item id="documents_list">
<rank>160</rank>
</item>
<item id="tickets_list">
<rank>170</rank>
</item>
<item id="providercontracts_list">
<rank>180</rank>
</item>
@@ -402,9 +399,6 @@
<item id="documents_list">
<rank>180</rank>
</item>
<item id="tickets_list">
<rank>190</rank>
</item>
<item id="providercontracts_list">
<rank>200</rank>
</item>
@@ -563,9 +557,6 @@
<item id="documents_list">
<rank>160</rank>
</item>
<item id="tickets_list">
<rank>170</rank>
</item>
<item id="providercontracts_list">
<rank>180</rank>
</item>
@@ -712,9 +703,6 @@
<item id="contacts_list">
<rank>140</rank>
</item>
<item id="tickets_list">
<rank>150</rank>
</item>
<item id="documents_list">
<rank>160</rank>
</item>
@@ -876,9 +864,6 @@
<item id="documents_list">
<rank>20</rank>
</item>
<item id="tickets_list">
<rank>30</rank>
</item>
<item id="physicalinterface_list">
<rank>40</rank>
</item>
@@ -1082,9 +1067,6 @@
<item id="documents_list">
<rank>20</rank>
</item>
<item id="tickets_list">
<rank>30</rank>
</item>
<item id="physicalinterface_list">
<rank>40</rank>
</item>
@@ -1309,9 +1291,6 @@
<item id="documents_list">
<rank>150</rank>
</item>
<item id="tickets_list">
<rank>160</rank>
</item>
<item id="providercontracts_list">
<rank>170</rank>
</item>

View File

@@ -43,9 +43,6 @@
<item id="documents_list">
<rank>20</rank>
</item>
<item id="tickets_list">
<rank>30</rank>
</item>
<item id="applicationsolution_list">
<rank>35</rank>
</item>
@@ -307,9 +304,6 @@
<item id="documents_list">
<rank>20</rank>
</item>
<item id="tickets_list">
<rank>30</rank>
</item>
<item id="applicationsolution_list">
<rank>35</rank>
</item>
@@ -570,9 +564,6 @@
<item id="documents_list">
<rank>30</rank>
</item>
<item id="tickets_list">
<rank>45</rank>
</item>
<item id="applicationsolution_list">
<rank>35</rank>
</item>
@@ -827,9 +818,6 @@
<item id="documents_list">
<rank>20</rank>
</item>
<item id="tickets_list">
<rank>30</rank>
</item>
<item id="applicationsolution_list">
<rank>35</rank>
</item>

View File

@@ -332,9 +332,6 @@
<item id="documents_list">
<rank>90</rank>
</item>
<item id="tickets_list">
<rank>100</rank>
</item>
<item id="applicationsolution_list">
<rank>110</rank>
</item>
@@ -481,9 +478,6 @@
<item id="documents_list">
<rank>70</rank>
</item>
<item id="tickets_list">
<rank>80</rank>
</item>
<item id="applicationsolution_list">
<rank>90</rank>
</item>
@@ -658,9 +652,6 @@
<item id="documents_list">
<rank>30</rank>
</item>
<item id="tickets_list">
<rank>40</rank>
</item>
<item id="applicationsolution_list">
<rank>45</rank>
</item>