Esempio n. 1
0
 public function attachment($course_id, $chapter_id = null)
 {
     $course = Model\Kelas\Course::withDrafts()->findOrFail($course_id);
     $chapters = $course->chapters;
     $attachments = $chapters->map(function ($chapter, $index) {
         return ['contents' => $chapter->attachments];
     });
     $this->output->set_content_type('application/json')->set_output(json_encode($attachments->toArray()));
 }
Esempio n. 2
0
 public function editExam($id)
 {
     if (!$this->input->post()) {
         $this->template->build('course/exam');
     } else {
         // 1. Prepare from input
         $input = collect($this->input->post('course'));
         $course = Model\Kelas\Course::withDrafts()->findOrFail($id);
         $course = Model\Kelas\Course::withDrafts()->findOrFail($id);
         $this->repository->set($course);
         // 2. Remove data
         $remove = collect($this->input->post('remove'));
         foreach ($remove->get('exams', []) as $exam_id) {
             $this->repository->deleteExamQuestion($exam_id);
         }
         // 7. Exam
         $exam = collect($input->get('exam'));
         if ($exam->get('id')) {
             $modelExam = Model\Kelas\Exam::findOrFail($exam->get('id'));
         } else {
             $modelExam = new Model\Kelas\Exam();
             $modelExam->course()->associate($course);
         }
         $modelExam->name = $exam->get('name');
         $modelExam->time = $exam->get('time');
         $modelExam->save();
         $questions = collect($exam->get('questions'));
         $questions->each(function ($question) use($modelExam, $course) {
             $question = collect($question);
             if ($question->get('id')) {
                 $modelQuestion = Model\Kelas\ExamQuestion::findOrFail($question->get('id'));
             } else {
                 $modelQuestion = new Model\Kelas\ExamQuestion();
                 $modelQuestion->exam()->associate($modelExam);
             }
             $modelQuestion->question = $question->get('question');
             $modelQuestion->option_a = $question->get('option_a');
             $modelQuestion->option_b = $question->get('option_b');
             $modelQuestion->option_c = $question->get('option_c');
             $modelQuestion->option_d = $question->get('option_d');
             $modelQuestion->correct = $question->get('correct');
             $modelQuestion->save();
         });
         redirect('dashboard/course/edit/' . $course->id . '/exam', 'refresh');
     }
 }