Пример #1
0
    def match_pems_to_project(self, project_uuid = None):
        project_uuid = project_uuid or self.value.get('projectUUID')
        logger.debug('matchins pems to project: %s', project_uuid)
        if not project_uuid:
            return self

        project_roles = self._agave.systems.listRoles(systemId='project-{}'.format(project_uuid))
        project_roles = filter(lambda x: x['username'] != 'ds_admin', project_roles)
        meta_pems = BaseMetadataPermissionResource.list_permissions(self.uuid, self._agave)
        meta_pems_users = self._update_pems_with_system_roles(project_roles, meta_pems)
        for username, pem in six.iteritems(meta_pems_users):
            pem.delete()

        return self
Пример #2
0
 def collaborators(self):
     permissions = BaseMetadataPermissionResource.list_permissions(
         self.uuid, self._agave)
     return [pem.username for pem in permissions]