Beispiel #1
0
 /**
  * Handle an incoming request.
  *
  * @param  \Illuminate\Http\Request  $request
  * @param  \Closure  $next
  * @return mixed
  */
 public function handle($request, Closure $next)
 {
     $where = ['student_id' => student()->id, 'semester_id' => semester()->id, 'subject_id' => $request->subject_id, 'remaining' => 0];
     if (QuranRecording::where($where)->count()) {
         return redirect()->route('students.profile.subjects.index')->with('info', 'لقد استنفذت تسجيلات التلاوة المتاحة لك لهذه المادة.');
     }
     return $next($request);
 }
 public function state($recording_id = 0)
 {
     $recording = QuranRecording::findOrFail($recording_id);
     if (request()->input('status') == 'accepted') {
         $recording->valid = 1;
         $message = 'تم قبول التلاوة بنجاح وتحويلها إلى التقييم';
     } else {
         $recording->valid = 0;
         $recording->remaining = 1;
         $message = 'تم رفض التلاوة بنجاح';
     }
     $recording->save();
     return redirect()->route('quran.recordings.index')->with('success', $message);
 }
Beispiel #3
0
 public function store(CreateRecordingRequest $request)
 {
     $data = [];
     $data['subject_id'] = $request->input('subject_id');
     $data['semester_id'] = semester()->id;
     $data['student_id'] = student()->id;
     $recording = QuranRecording::firstOrCreate($data);
     $videos = empty($recording->videos) ? [] : unserialize($recording->videos);
     if (!empty($recording->quran_video)) {
         array_push($videos, $recording->quran_video);
     }
     $recording->videos = serialize($videos);
     $recording->fill($request->only('page', 'quran_video'));
     $recording->save();
     $recording->decrement('remaining');
     if ($request->ajax()) {
         return response()->json(true);
     }
     return redirect()->route('students.profile.quran.index');
 }
 public function store(Request $request)
 {
     $filter = ['semester_id' => $this->semester->id, 'student_id' => $this->student->id, 'subject_id' => $request->input('subject_id')];
     $recording = QuranRecording::firstOrCreate($filter);
     $extend = QuranTimeExtend::where($filter)->first();
     if ($extend) {
         $extend->decrement('maximum_recordings');
     }
     $videos = empty($recording->videos) ? [] : unserialize($recording->videos);
     if (!empty($recording->quran_video)) {
         array_push($videos, $recording->quran_video);
     }
     $recording->videos = serialize($videos);
     $recording->quran_video = $request->input('quran_video');
     $recording->page = $request->input('page');
     $recording->save();
     $recording->load('grade');
     $recording->decrement('remaining');
     // $recording->remaining = $recording->remaining - 1;
     $recording->excuse = OrderQuranExcuse::where(['semester_id' => semester()->id, 'student_id' => $recording->student_id, 'subject_id' => $recording->subject_id])->first();
     return response()->json($recording, 200, [], JSON_NUMERIC_CHECK);
 }
 /**
  * Update the specified resource in storage.
  * @param  Request $request
  * @return Response
  */
 public function update(Request $request, $recording_id = 0, $student_id = 0)
 {
     $recording = QuranRecording::with('student', 'subject')->findOrFail($recording_id);
     $grade_data = ['student_id' => $recording->student_id, 'semester_id' => semester()->id, 'ref_key' => 'quran_recordings', 'ref_value' => $recording->id, 'subject_id' => $recording->subject_id];
     $grade = StudentGrade::firstOrCreate($grade_data);
     $grade->value = $request->input('result');
     $grade->save();
     $recording->update(['user_id' => user()->id]);
     $message = 'تم حفظ التقييم';
     if (request('submit') == 'save') {
         return redirect()->route('evaluate_quran.index')->with('success', $message);
     }
 }