Merge pull request #3953 from melodous/issue-3908
Fix issue 3908. There was some ilegal operations over the sets
This commit is contained in:
commit
30f4d91c6a
1 changed files with 15 additions and 11 deletions
26
system/user
26
system/user
|
@ -1273,20 +1273,24 @@ class AIX(User):
|
||||||
|
|
||||||
if self.groups is not None:
|
if self.groups is not None:
|
||||||
current_groups = self.user_group_membership()
|
current_groups = self.user_group_membership()
|
||||||
groups = self.get_groups_set()
|
|
||||||
group_diff = set(current_groups).symmetric_difference(groups)
|
|
||||||
groups_need_mod = False
|
groups_need_mod = False
|
||||||
|
groups = []
|
||||||
|
|
||||||
if group_diff:
|
if self.groups == '':
|
||||||
if self.append:
|
if current_groups and not self.append:
|
||||||
for g in groups:
|
|
||||||
if g in group_diff:
|
|
||||||
groups.extend(current_groups)
|
|
||||||
set(groups)
|
|
||||||
groups_need_mod = True
|
|
||||||
break
|
|
||||||
else:
|
|
||||||
groups_need_mod = True
|
groups_need_mod = True
|
||||||
|
else:
|
||||||
|
groups = self.get_groups_set()
|
||||||
|
group_diff = set(current_groups).symmetric_difference(groups)
|
||||||
|
|
||||||
|
if group_diff:
|
||||||
|
if self.append:
|
||||||
|
for g in groups:
|
||||||
|
if g in group_diff:
|
||||||
|
groups_need_mod = True
|
||||||
|
break
|
||||||
|
else:
|
||||||
|
groups_need_mod = True
|
||||||
|
|
||||||
if groups_need_mod:
|
if groups_need_mod:
|
||||||
cmd.append('-G')
|
cmd.append('-G')
|
||||||
|
|
Loading…
Reference in a new issue