def _get_writeable_project()

in airavata_django_portal_sdk/experiment_util/api.py [0:0]


def _get_writeable_project(request, experiment):
    # figure what project to clone into:
    # 1) project of this experiment if writeable
    # 2) else, first writeable project
    project_id = experiment.projectId
    if _can_write(request, project_id):
        return project_id
    user_projects = request.airavata_client.getUserProjects(
        request.authz_token, settings.GATEWAY_ID, request.user.username, -1, 0)
    for user_project in user_projects:
        if _can_write(request, user_project.projectID):
            return user_project.projectID
    raise Exception(
        "Could not find writeable project for user {} in "
        "gateway {}".format(request.user.username, settings.GATEWAY_ID))