File tree Expand file tree Collapse file tree 4 files changed +12
-3
lines changed
controllers/course/scholaistic
bundles/course/scholaistic/pages/ScholaisticAssessmentSubmissionEdit Expand file tree Collapse file tree 4 files changed +12
-3
lines changed Original file line number Diff line number Diff 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 )
Original file line number Diff line number Diff 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
Original file line number Diff line number Diff 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
Original file line number Diff line number Diff line change @@ -10,12 +10,13 @@ import { getIdFromUnknown } from 'utilities';
1010import CourseAPI from 'api/course' ;
1111import { 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} ;
You can’t perform that action at this time.
0 commit comments