- Модуль: crmmobile
- Путь к файлу: ~/bitrix/modules/crmmobile/lib/Kanban/ControllerStrategy/Base.php
- Класс: BitrixCrmMobileKanbanControllerStrategyBase
- Вызов: Base::setFilterPreset
protected function setFilterPreset(string $presetId, Options $filterOptions): void
{
if ($presetId === 'default_filter')
{
$presetId = 'tmp_filter';
}
$presets = $filterOptions->getPresets();
if ($presetId !== self::TMP_FILTER_PRESET_ID && !empty($presets[$presetId]))
{
$preset = $presets[$presetId];
$data = [
'fields' => $preset['fields'] ?? [],
'preset_id' => $presetId,
'rows' => (empty($preset['fields']) || !is_array($preset['fields'])) ? [] : array_keys($preset['fields']),
'name' => $preset['name'],
];
}
elseif ($presetId === self::TMP_FILTER_PRESET_ID)
{
$tmpFilter = ($this->params['filter']['tmpFields'] ?? []);
$fields = [];
foreach ($tmpFilter as $fieldName => $field)
{
$fields[$fieldName] = $field;
}
$data = [
'fields' => $fields,
'preset_id' => self::TMP_FILTER_PRESET_ID,
'rows' => array_keys($fields),
];
}
else
{
return;
}
$filterOptions->setFilterSettings($presetId, $data);
$filterOptions->save();
}