'Sets the Perspective for the Group'

def set_perspective(self, perspective):

    ModuleSetting.set_for_module('default_perspective', perspective.id, 'treeio.core', group=self)
    modules = (perspective.modules.all() or Module.objects.all())
    try:
        for module in modules:
            full_access = ((not module.full_access.exists()) or module.full_access.filter(pk=self.id).exists())
            read_access = ((not module.read_access.exists()) or module.read_access.filter(pk=self.id).exists())
            if (not (read_access or full_access)):
                module.read_access.add(self)
    except:
        pass
