@@ -550,6 +550,7 @@ function getQuestionSummaryByAssignment(Assignment $assignment, Solution $soluti
550550 'questions.technology_iframe ' ,
551551 'questions.technology ' ,
552552 'questions.title ' , DB ::raw ('questions.id AS question_id ' ),
553+ 'questions.solution_html ' ,
553554 'learning_tree_id ' ,
554555 'learning_trees.description AS learning_tree_description ' )
555556 ->get ();
@@ -560,16 +561,19 @@ function getQuestionSummaryByAssignment(Assignment $assignment, Solution $soluti
560561 $ question_ids [] = $ value ->question_id ;
561562 }
562563
563- $ assignment_solutions = $ solutions ->whereIn ('question_id ' , $ question_ids )
564- ->where ('user_id ' , Auth::user ()->id )
564+ $ solutions = DB ::table ('solutions ' )
565+ ->whereIn ('question_id ' , $ question_ids )
566+ ->where ('user_id ' , $ assignment ->course ->user_id )
565567 ->get ();
566568
569+ if ($ solutions ) {
570+ foreach ($ solutions as $ key => $ value ) {
571+ $ assignment_solutions_by_question_id [$ value ->question_id ]['original_filename ' ] = $ value ->original_filename ;
572+ $ assignment_solutions_by_question_id [$ value ->question_id ]['solution_text ' ] = $ value ->text ;
573+ $ assignment_solutions_by_question_id [$ value ->question_id ]['solution_type ' ] = $ value ->type ;
574+ $ assignment_solutions_by_question_id [$ value ->question_id ]['solution_file_url ' ] = \Storage::disk ('s3 ' )->temporaryUrl ("solutions/ {$ assignment ->course ->user_id }/ {$ value ->file }" , now ()->addMinutes (360 ));
567575
568- $ assignment_solutions_by_question_id = [];
569- $ rows = [];
570- foreach ($ assignment_solutions as $ key => $ value ) {
571- $ assignment_solutions_by_question_id [$ value ->question_id ] = ['original_filename ' => $ value ->original_filename ,
572- 'file ' => $ value ->file ];
576+ }
573577 }
574578 $ h5p_questions_exists = false ;
575579 foreach ($ assignment_questions as $ value ) {
@@ -590,7 +594,22 @@ function getQuestionSummaryByAssignment(Assignment $assignment, Solution $soluti
590594 $ columns ['is_auto_graded ' ] = $ value ->technology !== 'text ' ;
591595 $ columns ['learning_tree ' ] = $ value ->learning_tree_id !== null ;
592596 $ columns ['points ' ] = Helper::removeZerosAfterDecimal ($ value ->points );
593- $ columns ['solution ' ] = $ this ->_getSolutionLink ($ assignment , $ assignment_solutions_by_question_id , $ value ->question_id );
597+
598+ $ columns ['solution ' ] = $ assignment_solutions_by_question_id [$ value ->question_id ]['original_filename ' ] ?? false ;
599+
600+ $ columns ['solution_type ' ] = $ assignment_solutions_by_question_id [$ value ->question_id ]['solution_type ' ] ?? false ;
601+ $ columns ['solution_file_url ' ] = $ assignment_solutions_by_question_id [$ value ->question_id ]['solution_file_url ' ] ?? false ;
602+ $ columns ['solution_text ' ] = $ assignment_solutions_by_question_id [$ value ->question_id ]['solution_text ' ] ?? false ;
603+ if ($ columns ['solution_file_url ' ]) {
604+ $ columns ['type ' ] = 'q ' ;
605+ }
606+ $ columns ['solution_html ' ] = $ value ->solution_html ;
607+ if ($ columns ['solution_html ' ]) {
608+ $ columns ['solution_type ' ] = 'html ' ;
609+ }
610+
611+
612+
594613 $ columns ['order ' ] = $ value ->order ;
595614 $ columns ['question_id ' ] = $ value ->question_id ;
596615 $ columns ['technology ' ] = $ value ->technology ;
0 commit comments