def group_disable(self, group):
        """This method removes all members and auth data related to a group,
        effectively disabling it without actually 'nuking' it.

        @type group_name: str
        @param group_name: The name of the group that should be joined

        @rtype: str
        @return: The name of the group that was disabled, nice for feedback.
        """
        assert hasattr(group, 'entity_id')

        # Yank all the spreads
        for row in group.get_spread():
            group.delete_spread(row["spread"])

        # Remove all members
        for membership in group.search_members(group_id=group.entity_id,
                                               member_filter_expired=False):
            group.remove_member(membership["member_id"])

        group.write_db()

        # Clean up the permissions (granted ON the group and TO the group)
        self.vhutils.remove_auth_targets(group.entity_id)
        self.vhutils.remove_auth_roles(group.entity_id)
        return group.group_name