From 17d85fbb3fd5a3636c6bf9d88f616ebff615375d Mon Sep 17 00:00:00 2001 From: v-dumas Date: Wed, 11 Jun 2025 16:50:38 +0200 Subject: [PATCH] =?UTF-8?q?N=C2=B02583=20-=20Advanced=20mode=20on=20CSV=20?= =?UTF-8?q?import=20add=20technical=20classes=20and=20class=20codes?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- pages/csvimport.php | 25 +++++++++++++++++-------- 1 file changed, 17 insertions(+), 8 deletions(-) diff --git a/pages/csvimport.php b/pages/csvimport.php index 17616eee4..8c1181733 100644 --- a/pages/csvimport.php +++ b/pages/csvimport.php @@ -29,9 +29,8 @@ use Combodo\iTop\Application\WebPage\AjaxPage; use Combodo\iTop\Application\WebPage\ErrorPage; use Combodo\iTop\Application\WebPage\iTopWebPage; use Combodo\iTop\Application\WebPage\WebPage; -use Combodo\iTop\Service\Import\CSVImportPageProcessor; -use Combodo\iTop\Core\CMDBChange\CMDBChangeOrigin; use Combodo\iTop\Renderer\BlockRenderer; +use Combodo\iTop\Service\Import\CSVImportPageProcessor; try { require_once('../approot.inc.php'); @@ -83,21 +82,24 @@ try { * * @return \Combodo\iTop\Application\UI\Base\Component\Input\Select\ */ - function GetClassesSelectUIBlock(string $sName, $sDefaultValue, int $iActionCode): Select + function GetClassesSelectUIBlock(string $sName, $sDefaultValue, int $iActionCode, bool $bAdvanced = false): Select { $oSelectBlock = SelectUIBlockFactory::MakeForSelect($sName, 'select_'.$sName); $oOption = SelectOptionUIBlockFactory::MakeForSelectOption("", Dict::S('UI:CSVImport:ClassesSelectOne'), false); $oSelectBlock->AddSubBlock($oOption); $aValidClasses = array(); - $aClassCategories = array('bizmodel', 'addon/authentication', 'grant_by_profile'); + $aClassCategories = array('bizmodel', 'addon/authentication'); + if ($bAdvanced) { + $aClassCategories[] = 'grant_by_profile'; + } if (UserRights::IsAdministrator()) { - $aClassCategories = array('bizmodel', 'application', 'addon/authentication', 'grant_by_profile'); + $aClassCategories[] = 'application'; } foreach ($aClassCategories as $sClassCategory) { foreach (MetaModel::GetClasses($sClassCategory) as $sClassName) { if ((is_null($iActionCode) || UserRights::IsActionAllowed($sClassName, $iActionCode)) && (!MetaModel::IsAbstract($sClassName))) { - $sDisplayName = MetaModel::GetName($sClassName); + $sDisplayName = ($bAdvanced) ? MetaModel::GetName($sClassName)." ($sClassName)" : MetaModel::GetName($sClassName); $aValidClasses[$sDisplayName] = SelectOptionUIBlockFactory::MakeForSelectOption($sClassName, $sDisplayName, ($sClassName == $sDefaultValue)); } } @@ -333,7 +335,7 @@ try { $oClassesSelect->AddSubBlock($oDefaultSelect); $aSynchroUpdate = utils::ReadParam('synchro_update', array()); } else { - $oClassesSelect = GetClassesSelectUIBlock('class_name', $sClassName, UR_ACTION_BULK_MODIFY); + $oClassesSelect = GetClassesSelectUIBlock('class_name', $sClassName, UR_ACTION_BULK_MODIFY, (bool)$bAdvanced); } $oPanel = TitleUIBlockFactory::MakeForPage(Dict::S('UI:Title:CSVImportStep3')); $oPage->AddSubBlock($oPanel); @@ -398,7 +400,7 @@ try { $oPage->add_ready_script( <<