Merge pull request #3953 from melodous/issue-3908

Fix issue 3908. There was some ilegal operations over the sets
This commit is contained in:
Michael DeHaan 2013-08-28 14:01:38 -07:00
commit 30f4d91c6a

View file

@ -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')