mirror of
https://github.com/Combodo/iTop.git
synced 2026-04-24 11:08:45 +02:00
(Retrofit from trunk)
N°870: Bulk operation and obsolescence flag * Avoid the hidden selection (and update) of obsolete data when the user does not want to see the obsolete data. [from revision 4997] SVN:2.4[5014]
This commit is contained in:
@@ -835,4 +835,9 @@ abstract class DBSearch
|
|||||||
CMDBSource::Query($sUpdateQuery);
|
CMDBSource::Query($sUpdateQuery);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public function UpdateContextFromUser()
|
||||||
|
{
|
||||||
|
$this->SetShowObsoleteData(utils::ShowObsoleteData());
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
25
pages/UI.php
25
pages/UI.php
@@ -520,8 +520,8 @@ try
|
|||||||
throw new ApplicationException(Dict::Format('UI:Error:1ParametersMissing', 'filter'));
|
throw new ApplicationException(Dict::Format('UI:Error:1ParametersMissing', 'filter'));
|
||||||
}
|
}
|
||||||
$oP->set_title(Dict::S('UI:SearchResultsPageTitle'));
|
$oP->set_title(Dict::S('UI:SearchResultsPageTitle'));
|
||||||
// TO DO: limit the search filter by the user context
|
|
||||||
$oFilter = DBSearch::unserialize($sFilter); // TO DO : check that the filter is valid
|
$oFilter = DBSearch::unserialize($sFilter); // TO DO : check that the filter is valid
|
||||||
|
$oFilter->UpdateContextFromUser();
|
||||||
DisplaySearchSet($oP, $oFilter, $bSearchForm, '' /* sBaseClass */, $sFormat);
|
DisplaySearchSet($oP, $oFilter, $bSearchForm, '' /* sBaseClass */, $sFormat);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
@@ -677,9 +677,10 @@ EOF
|
|||||||
{
|
{
|
||||||
throw new ApplicationException(Dict::Format('UI:Error:1ParametersMissing', 'filter'));
|
throw new ApplicationException(Dict::Format('UI:Error:1ParametersMissing', 'filter'));
|
||||||
}
|
}
|
||||||
// TO DO: limit the search filter by the user context
|
|
||||||
$oFilter = DBObjectSearch::unserialize($sFilter); // TO DO : check that the filter is valid
|
$oFilter = DBObjectSearch::unserialize($sFilter); // TO DO : check that the filter is valid
|
||||||
$sClass = $oFilter->GetClass();
|
// Add user filter
|
||||||
|
$oFilter->UpdateContextFromUser();
|
||||||
|
$sClass = $oFilter->GetClass();
|
||||||
$oChecker = new ActionChecker($oFilter, UR_ACTION_BULK_MODIFY);
|
$oChecker = new ActionChecker($oFilter, UR_ACTION_BULK_MODIFY);
|
||||||
$oP->add("<h1>".Dict::S('UI:ModifyAllPageTitle')."</h1>\n");
|
$oP->add("<h1>".Dict::S('UI:ModifyAllPageTitle')."</h1>\n");
|
||||||
|
|
||||||
@@ -692,6 +693,8 @@ EOF
|
|||||||
$sFilter = utils::ReadParam('filter', '', false, 'raw_data');
|
$sFilter = utils::ReadParam('filter', '', false, 'raw_data');
|
||||||
$sClass = utils::ReadParam('class', '', false, 'class');
|
$sClass = utils::ReadParam('class', '', false, 'class');
|
||||||
$oFullSetFilter = DBObjectSearch::unserialize($sFilter);
|
$oFullSetFilter = DBObjectSearch::unserialize($sFilter);
|
||||||
|
// Add user filter
|
||||||
|
$oFullSetFilter->UpdateContextFromUser();
|
||||||
$aSelectedObj = utils::ReadMultipleSelection($oFullSetFilter);
|
$aSelectedObj = utils::ReadMultipleSelection($oFullSetFilter);
|
||||||
$sCancelUrl = "./UI.php?operation=search&filter=".urlencode($sFilter)."&".$oAppContext->GetForLink();
|
$sCancelUrl = "./UI.php?operation=search&filter=".urlencode($sFilter)."&".$oAppContext->GetForLink();
|
||||||
$aContext = array('filter' => $sFilter);
|
$aContext = array('filter' => $sFilter);
|
||||||
@@ -703,8 +706,9 @@ EOF
|
|||||||
case 'preview_or_modify_all': // Preview or apply bulk modify
|
case 'preview_or_modify_all': // Preview or apply bulk modify
|
||||||
$oP->DisableBreadCrumb();
|
$oP->DisableBreadCrumb();
|
||||||
$sFilter = utils::ReadParam('filter', '', false, 'raw_data');
|
$sFilter = utils::ReadParam('filter', '', false, 'raw_data');
|
||||||
// TO DO: limit the search filter by the user context
|
|
||||||
$oFilter = DBObjectSearch::unserialize($sFilter); // TO DO : check that the filter is valid
|
$oFilter = DBObjectSearch::unserialize($sFilter); // TO DO : check that the filter is valid
|
||||||
|
// Add user filter
|
||||||
|
$oFilter->UpdateContextFromUser();
|
||||||
$oChecker = new ActionChecker($oFilter, UR_ACTION_BULK_MODIFY);
|
$oChecker = new ActionChecker($oFilter, UR_ACTION_BULK_MODIFY);
|
||||||
|
|
||||||
$sClass = utils::ReadParam('class', '', false, 'class');
|
$sClass = utils::ReadParam('class', '', false, 'class');
|
||||||
@@ -958,8 +962,8 @@ EOF
|
|||||||
}
|
}
|
||||||
$oP->set_title(Dict::S('UI:BulkDeletePageTitle'));
|
$oP->set_title(Dict::S('UI:BulkDeletePageTitle'));
|
||||||
$oP->add("<h1>".Dict::S('UI:BulkDeleteTitle')."</h1>\n");
|
$oP->add("<h1>".Dict::S('UI:BulkDeleteTitle')."</h1>\n");
|
||||||
// TO DO: limit the search filter by the user context
|
|
||||||
$oFilter = DBSearch::unserialize($sFilter); // TO DO : check that the filter is valid
|
$oFilter = DBSearch::unserialize($sFilter); // TO DO : check that the filter is valid
|
||||||
|
$oFilter->UpdateContextFromUser();
|
||||||
$oChecker = new ActionChecker($oFilter, UR_ACTION_BULK_DELETE);
|
$oChecker = new ActionChecker($oFilter, UR_ACTION_BULK_DELETE);
|
||||||
DisplayMultipleSelectionForm($oP, $oFilter, 'bulk_delete', $oChecker);
|
DisplayMultipleSelectionForm($oP, $oFilter, 'bulk_delete', $oChecker);
|
||||||
break;
|
break;
|
||||||
@@ -999,6 +1003,8 @@ EOF
|
|||||||
// Several objects
|
// Several objects
|
||||||
$sFilter = utils::ReadPostedParam('filter', '');
|
$sFilter = utils::ReadPostedParam('filter', '');
|
||||||
$oFullSetFilter = DBObjectSearch::unserialize($sFilter);
|
$oFullSetFilter = DBObjectSearch::unserialize($sFilter);
|
||||||
|
// Add user filter
|
||||||
|
$oFullSetFilter->UpdateContextFromUser();
|
||||||
$aSelectObject = utils::ReadMultipleSelection($oFullSetFilter);
|
$aSelectObject = utils::ReadMultipleSelection($oFullSetFilter);
|
||||||
if ( empty($sClass) || empty($aSelectObject)) // TO DO: check that the class name is valid !
|
if ( empty($sClass) || empty($aSelectObject)) // TO DO: check that the class name is valid !
|
||||||
{
|
{
|
||||||
@@ -1113,7 +1119,8 @@ EOF
|
|||||||
throw new ApplicationException(Dict::Format('UI:Error:3ParametersMissing', 'filter', 'stimulus', 'state'));
|
throw new ApplicationException(Dict::Format('UI:Error:3ParametersMissing', 'filter', 'stimulus', 'state'));
|
||||||
}
|
}
|
||||||
$oFilter = DBObjectSearch::unserialize($sFilter);
|
$oFilter = DBObjectSearch::unserialize($sFilter);
|
||||||
$sClass = $oFilter->GetClass();
|
$oFilter->UpdateContextFromUser();
|
||||||
|
$sClass = $oFilter->GetClass();
|
||||||
$aStimuli = MetaModel::EnumStimuli($sClass);
|
$aStimuli = MetaModel::EnumStimuli($sClass);
|
||||||
$sActionLabel = $aStimuli[$sStimulus]->GetLabel();
|
$sActionLabel = $aStimuli[$sStimulus]->GetLabel();
|
||||||
$sActionDetails = $aStimuli[$sStimulus]->GetDescription();
|
$sActionDetails = $aStimuli[$sStimulus]->GetDescription();
|
||||||
@@ -1137,7 +1144,9 @@ EOF
|
|||||||
throw new ApplicationException(Dict::Format('UI:Error:3ParametersMissing', 'filter', 'stimulus', 'state'));
|
throw new ApplicationException(Dict::Format('UI:Error:3ParametersMissing', 'filter', 'stimulus', 'state'));
|
||||||
}
|
}
|
||||||
$oFilter = DBObjectSearch::unserialize($sFilter);
|
$oFilter = DBObjectSearch::unserialize($sFilter);
|
||||||
$sClass = $oFilter->GetClass();
|
// Add user filter
|
||||||
|
$oFilter->UpdateContextFromUser();
|
||||||
|
$sClass = $oFilter->GetClass();
|
||||||
$aSelectObject = utils::ReadMultipleSelection($oFilter);
|
$aSelectObject = utils::ReadMultipleSelection($oFilter);
|
||||||
if (count($aSelectObject) == 0)
|
if (count($aSelectObject) == 0)
|
||||||
{
|
{
|
||||||
@@ -1314,6 +1323,8 @@ EOF
|
|||||||
{
|
{
|
||||||
// For archiving the modification
|
// For archiving the modification
|
||||||
$oFilter = DBObjectSearch::unserialize($sFilter);
|
$oFilter = DBObjectSearch::unserialize($sFilter);
|
||||||
|
// Add user filter
|
||||||
|
$oFilter->UpdateContextFromUser();
|
||||||
$sClass = $oFilter->GetClass();
|
$sClass = $oFilter->GetClass();
|
||||||
$aObjects = array();
|
$aObjects = array();
|
||||||
foreach($aSelectObject as $iId)
|
foreach($aSelectObject as $iId)
|
||||||
|
|||||||
Reference in New Issue
Block a user