mirror of
https://github.com/Combodo/iTop.git
synced 2026-03-03 16:14:13 +01:00
N°3625 - Remove n:n classes from the "quick create" autocomplete
This commit is contained in:
@@ -72,7 +72,7 @@ class QuickCreate extends UIBlock
|
||||
public function __construct(array $aLastClasses = [], ?string $sId = null)
|
||||
{
|
||||
parent::__construct($sId);
|
||||
$this->aAvailableClasses = UserRights::GetAllowedClasses(UR_ACTION_CREATE, array('bizmodel'), true);
|
||||
$this->aAvailableClasses = $this->FilterAvailableClasses(UserRights::GetAllowedClasses(UR_ACTION_CREATE, array('bizmodel'), true));
|
||||
$this->aLastClasses = $aLastClasses;
|
||||
$this->iMaxAutocompleteResults = (int) MetaModel::GetConfig()->Get('quick_create.max_autocomplete_results');
|
||||
$this->bShowHistory = (bool) MetaModel::GetConfig()->Get('quick_create.show_history');
|
||||
@@ -89,6 +89,30 @@ class QuickCreate extends UIBlock
|
||||
return $this->aAvailableClasses;
|
||||
}
|
||||
|
||||
/**
|
||||
* Return the $aClasses array of DM classes minus the classes that should not be proposed in the autocomplete:
|
||||
* - n:n classes
|
||||
*
|
||||
* @param array $aClasses
|
||||
*
|
||||
* @return array
|
||||
*/
|
||||
protected function FilterAvailableClasses(array $aClasses): array
|
||||
{
|
||||
$aFilteredClasses = [];
|
||||
|
||||
foreach ($aClasses as $sClassName => $sClassLabel){
|
||||
// Skip n:n classes
|
||||
if(MetaModel::IsLinkClass($sClassName)) {
|
||||
continue;
|
||||
}
|
||||
|
||||
$aFilteredClasses[$sClassName] = $sClassLabel;
|
||||
}
|
||||
|
||||
return $aFilteredClasses;
|
||||
}
|
||||
|
||||
/**
|
||||
* Set all the last classes at once
|
||||
*
|
||||
|
||||
Reference in New Issue
Block a user