Skip to content

Commit 6ff65b3

Browse files
purfectliteraturecysjonathan
authored andcommitted
feat(scholaistic): use /attempt for assessment action button
1 parent 698e509 commit 6ff65b3

File tree

4 files changed

+12
-3
lines changed

4 files changed

+12
-3
lines changed

app/controllers/course/scholaistic/submissions_controller.rb

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,9 @@ def show
2121
@embed_src =
2222
ScholaisticApiService.embed!(
2323
current_course_user,
24-
if can?(:manage_scholaistic_submissions, current_course)
24+
if params[:attempt] == 'true'
25+
ScholaisticApiService.attempt_assessment_path(@scholaistic_assessment.upstream_id)
26+
elsif can?(:manage_scholaistic_submissions, current_course)
2527
ScholaisticApiService.manage_submission_path(@scholaistic_assessment.upstream_id, submission_id)
2628
else
2729
ScholaisticApiService.submission_path(@scholaistic_assessment.upstream_id, submission_id)

app/services/scholaistic_api_service.rb

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,10 @@ def assessment_path(assessment_id)
1717
"/assessments/#{assessment_id}"
1818
end
1919

20+
def attempt_assessment_path(assessment_id)
21+
"/assessments/#{assessment_id}/attempt"
22+
end
23+
2024
def submissions_path(assessment_id)
2125
"/administration/assessments/#{assessment_id}/submissions"
2226
end

client/app/api/course/Scholaistic.ts

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -62,9 +62,11 @@ export default class ScholaisticAPI extends BaseCourseAPI {
6262
fetchSubmission(
6363
assessmentId: number,
6464
submissionId: string,
65+
attempt?: boolean,
6566
): APIResponse<ScholaisticAssessmentSubmissionEditData> {
6667
return this.client.get(
6768
`${this.#urlPrefix}/assessments/${assessmentId}/submissions/${submissionId}`,
69+
{ params: { attempt } },
6870
);
6971
}
7072

client/app/bundles/course/scholaistic/pages/ScholaisticAssessmentSubmissionEdit/loader.ts

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -10,12 +10,13 @@ import { getIdFromUnknown } from 'utilities';
1010
import CourseAPI from 'api/course';
1111
import { setAsyncHandle } from 'course/scholaistic/handles';
1212

13-
export const loader: LoaderFunction = ({ params }) =>
13+
export const loader: LoaderFunction = ({ params, request }) =>
1414
defer({
1515
promise: (async (): Promise<ScholaisticAssessmentSubmissionEditData> => {
1616
const promise = CourseAPI.scholaistic.fetchSubmission(
1717
getIdFromUnknown(params.assessmentId)!,
1818
params.submissionId!,
19+
new URL(request.url).searchParams.get('attempt') === 'true',
1920
);
2021

2122
setAsyncHandle(
@@ -40,6 +41,6 @@ export const submissionLoader: LoaderFunction = async ({ params }) => {
4041
await CourseAPI.scholaistic.findOrCreateSubmission(assessmentId);
4142

4243
return redirect(
43-
`/courses/${params.courseId!}/scholaistic/assessments/${assessmentId}/submissions/${data.id}`,
44+
`/courses/${params.courseId!}/scholaistic/assessments/${assessmentId}/submissions/${data.id}?attempt=true`,
4445
);
4546
};

0 commit comments

Comments
 (0)