Unverified Commit f8820588 authored by Peter Stanko's avatar Peter Stanko
Browse files

Forbidden refactor and permissions for the upload result - evaluate_submission

parent 1c150f8b
Loading
Loading
Loading
Loading
Loading
+2 −1
Original line number Diff line number Diff line
@@ -53,4 +53,5 @@ def update_project_test_files(course_id: str, project_id: str):
    }
    updated_entity: UploadedEntity = storage.test_files.update(entity_id=project.id, **params)
    project.config.test_files_commit_hash = updated_entity.version
    write_entity(project)
    log.debug(f"Updated project config: {project.config}")
    write_entity(project.config)
+1 −1
Original line number Diff line number Diff line
@@ -61,7 +61,7 @@ class CourseResource(Resource):
            filtered_course = filter_course_dump(course, dump.data, client)
            return filtered_course

        raise ForbiddenError(uid=client.id)
        raise ForbiddenError(client=client)

    @jwt_required
    @courses_namespace.response(204, 'Course deleted')
+1 −1
Original line number Diff line number Diff line
@@ -221,4 +221,4 @@ def get_config_schema_based_on_permissions(course):
    elif perm_service.check.client(['view_course_limited']):
        return config_schema_reduced
    else:
        raise ForbiddenError(uid=perm_service.client.id)
        raise ForbiddenError(perm_service.client)
+2 −1
Original line number Diff line number Diff line
@@ -166,7 +166,8 @@ class SubmissionResultFiles(Resource):
    def post(self, sid: str):
        submission = general.find_submission(sid)
        # authorization
        permissions.PermissionsService().require.sysadmin()
        course = submission.project.course
        permissions.PermissionsService(course=course).require.client(['evaluate_submissions'])
        # todo: authorize worker
        service = SubmissionsService(submission=submission)
        task = service.upload_results_to_storage()
+1 −1
Original line number Diff line number Diff line
@@ -295,7 +295,7 @@ def get_submissions_based_on_permissions(client, user, course_id, project_ids):
    if find_client_owner(client) == user:
        return user.submissions
    else:
        raise errors.ForbiddenError(uid=client.id)
        raise errors.ForbiddenError(client)


def get_submissions_based_on_permissions_for_course(client, course_id, project_ids, user):
Loading