#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>