Exemple #1
0
    def add_user(self, user, role_type):
        UserGroup = get_user_model().groups.through

        with transaction.atomic():
            role = self.roles.get(role_type=role_type)

            membership, created = UserGroup.objects.get_or_create(
                user=user,
                group=role.permission_group,
            )

            if created:
                structure_role_granted.send(
                    sender=Customer,
                    structure=self,
                    user=user,
                    role=role_type,
                )
                role_name = role.get_role_type_display().lower()
                event_logger.info(
                    'User %s has gained role of %s in customer %s.',
                    user.username,
                    role_name,
                    self.name,
                    extra={
                        'customer': self,
                        'affected_user': user,
                        'event_type': 'role_granted',
                        'structure_type': 'customer',
                        'role_name': role_name,
                    },
                )

            return membership, created
Exemple #2
0
    def add_user(self, user, role_type):
        UserGroup = get_user_model().groups.through

        with transaction.atomic():
            role = self.roles.get(role_type=role_type)

            membership, created = UserGroup.objects.get_or_create(
                user=user,
                group=role.permission_group,
            )

            if created:
                structure_role_granted.send(
                    sender=ProjectGroup,
                    structure=self,
                    user=user,
                    role=role_type,
                )

            return membership, created
Exemple #3
0
    def add_user(self, user, role, created_by=None, expiration_time=None):
        permission = self.permissions.filter(user=user,
                                             role=role,
                                             is_active=True).first()
        if permission:
            return permission, False

        permission = self.permissions.create(
            user=user,
            role=role,
            is_active=True,
            created_by=created_by,
            expiration_time=expiration_time,
        )

        structure_role_granted.send(
            sender=self.__class__,
            structure=self,
            user=user,
            role=role,
        )

        return permission, True