diff --git a/VERSION b/VERSION index 9faa1b7..c946ee6 100644 --- a/VERSION +++ b/VERSION @@ -1 +1 @@ -0.1.5 +0.1.6 diff --git a/edc_permissions/permissions_updater.py b/edc_permissions/permissions_updater.py index a32652e..60b2c2d 100644 --- a/edc_permissions/permissions_updater.py +++ b/edc_permissions/permissions_updater.py @@ -298,3 +298,21 @@ def add_edc_appointment_permissions(self, group): content_type__app_label='edc_appointment', codename='delete_appointment') group.permissions.remove(permission) + + def ensure_users_in_group(self, group_name, users_by_groups=None): + group = Group.objects.get(name=group_name) + for user in User.objects.filter(groups__name__in=users_by_groups): + try: + user.groups.get(name=group.name) + except ObjectDoesNotExist: + user.groups.add(group) + + def ensure_users_not_in_group(self, group_name, users_by_groups=None): + group = Group.objects.get(name=group_name) + for user in User.objects.filter(groups__name__in=users_by_groups): + try: + user.groups.get(name=group.name) + except ObjectDoesNotExist: + pass + else: + user.groups.remove(group)