# Получаем имя пользователя {% set user = salt['pillar.get']("user") %} # проверяем, что атрибуты параметра определены {% set gpo = salt['pillar.get']('aldpro-users:'+ user + ':rbta_ldap_custom_gp_user_fly-fm') %} {% if gpo %} # Получаем имя домашнего каталога пользователя {% set homedir = salt['user.info'](user).home %} # Путь к файлу с настройками для fly-fm {% set filename = homedir + "/.config/rusbitech/fly-fm.conf" %} # Необходимо так же правильно получить GID {% set gid = salt['user.info'](user).gid %} # получение значения атрибута flyfm_del (false или true) через pillar {% set context_menu_del = salt['pillar.get']('aldpro-users:'+ user +':rbta_ldap_custom_gp_user_fly-fm:flyfm_del') %} # копирование эталонного файла с настройками fly-fm в случае, # если файл с настройками fly-fm у пользователя отсутствует; # эталонный файл описан в скрипте. copy_file: file.managed: - name: {{ filename }} - user: {{ user }} - group: {{ gid }} - mode: 644 - replace: False - contents: | [FMSettingsDialog] Geometry\Height=443 Geometry\Width=777 splitterState=@ByteArray(\0\0\0\xff\0\0\0\x1\0\0\0\x2\0\0\0\x61\0\0\x2\xa7\0\xff\xff\xff\xff\x1\0\0\0\x1\0) [FileDialog] folderWidgetState=@ByteArray(\0\0\0\x3\0\0\0\x10\0\0\0\x10\0\0\0\b\0\0\0\x10\0\0\0\x2\0\0\0@\0\0\0\x10\xff\xff\xff\xff\0\0\0\0) height=480 previewIsOn=false splitterState=@ByteArray(\0\0\0\xff\0\0\0\x1\0\0\0\x2\0\0\0\xa0\0\0\x1\xe0\x1\xff\xff\xff\xff\x1\0\0\0\x1\0) width=640 # Устанавливаем опцию для контекстного меню "Удалить" change_del_option: ini.options_present: - name: {{ filename }} - separator: '=' - sections: Global: showDeleteItemInDirViewCtxMenu: {{ context_menu_del }} {% endif %}