diff --git a/users/init.sls b/users/init.sls index 9c52855..a50f13a 100644 --- a/users/init.sls +++ b/users/init.sls @@ -15,7 +15,7 @@ {%- if 'google_auth' in user %} {%- do used_googleauth.append(1) %} {%- endif %} -{%- if pillar.get('users:' + name + ':user_files:enabled', False) %} +{%- if salt['pillar.get']('users:' ~ name ~ ':user_files:enabled', False) %} {%- do used_user_files.append(1) %} {%- endif %} {%- endfor %} diff --git a/users/user_files.sls b/users/user_files.sls index 990c9b3..66363ae 100644 --- a/users/user_files.sls +++ b/users/user_files.sls @@ -3,22 +3,29 @@ include: - users -{%- for username, user in pillar.get('users', {}).items() if (user.absent is not defined or not user.absent) -%} -{%- set user_files = pillar.get('users:' + username + ':user_files', {'enabled': False}) -%} - +{% set userfile_dirs = salt['cp.list_master_dirs'](prefix='users/files/user/') -%} +{%- for username, user in salt['pillar.get']('users', {}).items() if (user.absent is not defined or not user.absent) -%} +{%- set user_files = salt['pillar.get'](('users:' ~ username ~ ':user_files'), {'enabled': False}) -%} +{%- set user_group = salt['pillar.get'](('users:' ~ username ~ ':prime_group:name'), username) -%} {%- if user_files.enabled -%} -{%- set user_group = pillar.get(('users:' + username + ':prime_group:name'), username) -%} {%- if user_files.source is defined -%} -{%- if user_files.source.startswith('salt://') -%} -{%- set file_source = user_files.source -%} + {%- if user_files.source.startswith('salt://') -%} + {%- set file_source = user_files.source -%} + {%- else -%} + {%- set file_source = ('salt://' ~ user.user_files.source) -%} + {%- endif -%} + {%- set skip_user = False -%} {%- else -%} -{%- set file_source = ('salt://' + user.user_files.source) -%} -{%- endif -%} -{%- else -%} -{%- set file_source = ('salt://users/files/user/' + username) -%} + {%- if ('users/files/user/' ~ username) in userfile_dirs -%} + {%- set file_source = ('salt://users/files/user/' ~ username) -%} + {%- set skip_user = False -%} + {%- else -%} + {%- set skip_user = True -%} + {%- endif -%} {%- endif -%} +{%- if not skip_user %} users_userfiles_{{ username }}_recursive: file.recurse: - name: {{ user.home }} @@ -31,6 +38,7 @@ users_userfiles_{{ username }}_recursive: - require: - user: users_{{ username }}_user - file: users_{{ username }}_user - {% endif -%} -{% endfor -%} + +{%- endif -%} +{%- endfor -%}