浏览代码

Obsolescence: audit errors reporting to include obsolete data as well as the audit execution does

git-svn-id: http://svn.code.sf.net/p/itop/code/trunk@4785 a333f486-631f-4898-b8df-5754b55c2be0
romainq 8 年之前
父节点
当前提交
591aa1027a
共有 2 个文件被更改,包括 18 次插入8 次删除
  1. 14 4
      application/displayblock.class.inc.php
  2. 4 4
      pages/audit.php

+ 14 - 4
application/displayblock.class.inc.php

@@ -49,6 +49,7 @@ class DisplayBlock
 	protected $m_bAsynchronous;
 	protected $m_aParams;
 	protected $m_oSet;
+	protected $m_bShowObsoleteData = null;
 	
 	public function __construct(DBSearch $oFilter, $sStyle = 'list', $bAsynchronous = false, $aParams = array(), $oSet = null)
 	{
@@ -58,6 +59,15 @@ class DisplayBlock
 		$this->m_bAsynchronous = $bAsynchronous;
 		$this->m_aParams = $aParams;
 		$this->m_oSet = $oSet;
+		if (array_key_exists('show_obsolete_data', $aParams))
+		{
+			$this->m_bShowObsoleteData = $aParams['show_obsolete_data'];
+		}
+		if ($this->m_bShowObsoleteData === null)
+		{
+			// User defined
+			$this->m_bShowObsoleteData = utils::ShowObsoleteData();
+		}
 	}
 	
 	public function GetFilter()
@@ -390,7 +400,7 @@ class DisplayBlock
 			
 			$this->m_oSet = new CMDBObjectSet($this->m_oFilter, $aOrderBy, $aQueryParams);
 		}
-		$this->m_oSet->SetShowObsoleteData(utils::ShowObsoleteData());
+		$this->m_oSet->SetShowObsoleteData($this->m_bShowObsoleteData);
 		switch($this->m_sStyle)
 		{
 			case 'count':
@@ -711,7 +721,7 @@ class DisplayBlock
 					$aQueryParams = $aExtraParams['query_params'];
 				}
 				$this->m_oSet = new CMDBObjectSet($this->m_oFilter, array(), $aQueryParams);
-				$this->m_oSet->SetShowObsoleteData(utils::ShowObsoleteData());
+				$this->m_oSet->SetShowObsoleteData($this->m_bShowObsoleteData);
 			}
 			$iCount = $this->m_oSet->Count();
 			$sHyperlink = utils::GetAbsoluteUrlAppRoot().'pages/UI.php?operation=search&'.$oAppContext->GetForLink().'&filter='.urlencode($this->m_oFilter->serialize());
@@ -755,7 +765,7 @@ class DisplayBlock
 					$aQueryParams = $aExtraParams['query_params'];
 				}
 				$this->m_oSet = new CMDBObjectSet($this->m_oFilter, array(), $aQueryParams);
-				$this->m_oSet->SetShowObsoleteData(utils::ShowObsoleteData());
+				$this->m_oSet->SetShowObsoleteData($this->m_bShowObsoleteData);
 			}
 			// Summary details
 			$aCounts = array();
@@ -769,7 +779,7 @@ class DisplayBlock
 					$oFilter = $this->m_oFilter->DeepClone();
 					$oFilter->AddCondition($sStateAttrCode, $sStateValue, '=');
 					$oSet = new DBObjectSet($oFilter);
-					$oSet->SetShowObsoleteData(utils::ShowObsoleteData());
+					$oSet->SetShowObsoleteData($this->m_bShowObsoleteData);
 					$aCounts[$sStateValue] = $oSet->Count();
 					$aStateLabels[$sStateValue] = htmlentities($oAttDef->GetValueLabel($sStateValue), ENT_QUOTES, 'UTF-8');
 					if ($aCounts[$sStateValue] == 0)

+ 4 - 4
pages/audit.php

@@ -1,5 +1,5 @@
 <?php
-// Copyright (C) 2010-2016 Combodo SARL
+// Copyright (C) 2010-2017 Combodo SARL
 //
 //   This file is part of iTop.
 //
@@ -19,7 +19,7 @@
 /**
  * Execute and shows the data quality audit
  *
- * @copyright   Copyright (C) 2010-2016 Combodo SARL
+ * @copyright   Copyright (C) 2010-2017 Combodo SARL
  * @license     http://opensource.org/licenses/AGPL-3.0
  */
 /**
@@ -213,7 +213,7 @@ try
 			$oP->p('<a href="./audit.php?'.$oAppContext->GetForLink().'">[Back to audit results]</a>');
 		    $sBlockId = 'audit_errors';
 			$oP->p("<div id=\"$sBlockId\" style=\"clear:both\">\n");
-			$oBlock = DisplayBlock::FromObjectSet($oErrorObjectSet, 'csv');    
+			$oBlock = DisplayBlock::FromObjectSet($oErrorObjectSet, 'csv', array('show_obsolete_data' => true));
 			$oBlock->Display($oP, 1);
 			$oP->p("</div>\n");    
 			// Adjust the size of the Textarea containing the CSV to fit almost all the remaining space
@@ -241,7 +241,7 @@ try
 		$oP->p('<a href="./audit.php?'.$oAppContext->GetForLink().'">[Back to audit results]</a>');
 	    $sBlockId = 'audit_errors';
 		$oP->p("<div id=\"$sBlockId\" style=\"clear:both\">\n");
-		$oBlock = DisplayBlock::FromObjectSet($oErrorObjectSet, 'list');    
+		$oBlock = DisplayBlock::FromObjectSet($oErrorObjectSet, 'list', array('show_obsolete_data' => true));
 		$oBlock->Display($oP, 1);
 		$oP->p("</div>\n");
 		$sExportUrl = utils::GetAbsoluteUrlAppRoot()."pages/audit.php?operation=csv&category=".$oAuditCategory->GetKey()."&rule=".$oAuditRule->GetKey();