/**
  * Store a newly created resource in storage.
  *
  * @return Response
  */
 public function store($quiz_id)
 {
     try {
         DB::beginTransaction();
         $quiz = Quiz::find($quiz_id);
         foreach (Input::get('question') as $input_question) {
             $question_params = array("name" => $input_question['name']);
             $question_validator = Question::validate($question_params);
             if ($question_validator->fails()) {
                 throw new Exception("Question can't be saved");
             }
             $question = new Question($question_params);
             $question = $quiz->questions()->save($question);
             foreach ($input_question['options'] as $value) {
                 $option_params = array("name" => $value['name'], "is_correct" => array_key_exists("is_correct", $value) ? true : false);
                 $option_validator = Option::validate($option_params);
                 if ($option_validator->fails()) {
                     throw new Exception("Option can't be saved");
                 }
                 $option = new Option($option_params);
                 $option = $question->options()->save($option);
             }
         }
         DB::commit();
         return Redirect::to("quizzes/" . $quiz->id . '/questions');
     } catch (Exception $e) {
         DB::rollback();
         //throw new Exception($e);
         return Redirect::to('quizzes/' . $quiz->id . '/questions/create');
     }
 }
Пример #2
0
 public function update($id)
 {
     $quiz = Quiz::find($id);
     $quiz->subject_id = Input::get('subject_id');
     $quiz->employee_id = Input::get('employee_id');
     $quiz->name = Input::get('name');
     $quiz->quiz_date = Input::get('quiz_date');
     $quiz->save();
     Session::flash('message', 'Sukses mengupdate detail Quiz!');
 }
 public function editQuestion($id)
 {
     $ans = ['A' => 'A', 'B' => 'B', 'C' => 'C', 'D' => 'D'];
     $quizItem = QuizItem::with('quizItemChoices', 'quizItemAnswer')->where('delFLag', 0)->whereId($id)->first();
     $quiz = Quiz::find($quizItem->quizID);
     return View::make('validated.quiz.edit', compact('quizItem', 'quiz', 'ans'));
 }
Пример #4
0
 public function listDetailSoalPraktikum($lab_id, $praktikum_id, $modul_id, $quiz_id)
 {
     $labs = Lab::find($lab_id);
     $praktikum = Praktikum::find($praktikum_id);
     $moduls = Modul::find($modul_id);
     $quizs = Quiz::find($quiz_id);
     $soals = DB::table('tb_soal')->where('quiz_id', '=', $quiz_id)->get();
     return View::make('dashboard.admin.Praktikum.soalDetail')->with('moduls', $moduls)->with('labs', $labs)->with('praktikum', $praktikum)->with('quizs', $quizs)->with('soals', $soals);
 }
Пример #5
0
 public function exportScores($id)
 {
     //check if current user has created the quiz
     $user_id = Auth::user()->id;
     $quiz_schedule = QuizSchedule::find($id);
     $quiz = Quiz::find($quiz_schedule->quiz_id);
     $class = DB::table('classes')->where('id', '=', $quiz_schedule->class_id)->first();
     if ($quiz_schedule->user_id != $user_id) {
         return Redirect::to('/scores/' . $id)->with('message', array('type' => 'danger', 'text' => 'You do not have the permission to export scores for this quiz.'));
     }
     $filename = "{$class->name}-{$quiz->title}-{$quiz_schedule->datetime_from}";
     Excel::create($filename, function ($excel) use($id, $quiz_schedule) {
         $excel->sheet('score-sheet', function ($sheet) use($id, $quiz_schedule) {
             $scores = DB::table('student_quizzes')->where('quiz_schedule_id', '=', $id)->lists('score', 'student_id');
             $students = DB::table('students')->join('student_classes', 'students.id', '=', 'student_classes.student_id')->select('students.id', 'last_name', 'first_name', 'middle_initial')->where('student_classes.class_id', '=', $quiz_schedule->class_id)->orderBy('gender', 'DESC')->orderBy('last_name', 'ASC')->get();
             $student_scores = array(array('ID Number', 'Student Name', 'Score'));
             foreach ($students as $student) {
                 $score = '';
                 if (isset($scores[$student->id])) {
                     $score = $scores[$student->id];
                 }
                 $student_scores[] = array('id' => $student->id, 'name' => "{$student->last_name}, {$student->first_name} {$student->middle_initial}", 'score' => $score);
             }
             $sheet->fromArray($student_scores, null, 'A1', false, false);
         });
     })->export('xls');
 }
 public function edit($resource_id, $id)
 {
     $resource = Resource::find($resource_id);
     $quiz = Quiz::find($id);
     return View::make('quizzes.edit', compact('resource', 'quiz'));
 }