Exemple #1
0
 /**
  * Handle an incoming request.
  *
  * @param  \Illuminate\Http\Request  $request
  * @param  \Closure  $next
  * @return mixed
  */
 public function handle($request, Closure $next)
 {
     $open_delay_order = Delay::whereIn('state', ['تقديم', 'مكتمل', 'غير مكتمل'])->count();
     $open_withdraw_order = Withdraw::whereIn('state', ['تقديم', 'مكتمل', 'غير مكتمل'])->count();
     $open_equal_order = Equal::whereIn('state', ['تقديم', 'مكتمل', 'غير مكتمل'])->count();
     $open_change_dep_order = OrderChangeDepartment::where('state', 0)->count();
     $open_session_excuse_order = ClassroomSessionExcuse::where('status', 'waiting')->count();
     $open_quran_excuse_order = OrderQuranExcuse::where('state', 'تقديم')->count();
     if ($user = Auth::user() and $user->canOne(['view.orders.orders', 'view.orders.withdraw', 'view.orders.delay', 'view.orders.equalsubject', 'view.orders.sessionexcuses', 'view.orders.excusequran', 'view.orders.changeDep'])) {
         $menu = Menu::get('SidebarMenu');
         $submenu = $menu->add(trans('orders::order.orders'), ['route' => 'orders.index'])->prepend('<i class="fa fa-file"></i>');
         if ($user->can('view.orders.withdraw')) {
             $submenu->add(trans('orders::order.withdraworder_list'), ['route' => 'orders.withdraw.list'])->prepend('<i class="fa fa-file"></i>')->append('<span class="badge">' . $open_withdraw_order . '</span>');
         }
         if ($user->can('view.orders.delay')) {
             $submenu->add(trans('orders::order.delayorder_list'), ['route' => 'orders.delay.list'])->prepend('<i class="fa fa-file"></i>')->append('<span class="badge">' . $open_delay_order . '</span>');
         }
         if ($user->can('view.orders.equalsubject')) {
             $submenu->add(trans('orders::order.equalorder_list'), ['route' => 'orders.equal.list'])->prepend('<i class="fa fa-file"></i>')->append('<span class="badge">' . $open_equal_order . '</span>');
         }
         /*
                     if($user->can('view.orders.sessionexcuses')) {
                     $submenu->add(trans('orders::sessionexcuses.header'), ['route'=>'orders.sessionexcuses.index'])->prepend('<i class="fa fa-file"></i>')->append('<span class="badge">'.$open_session_excuse_order.'</span>');
                     }
         */
         if ($user->can('view.orders.excusequran')) {
             $submenu->add(trans('orders::quranexcuses.header'), ['route' => 'orders.quran.excuses.index'])->prepend('<i class="fa fa-file"></i>')->append('<span class="badge">' . $open_quran_excuse_order . '</span>');
         }
         if ($user->can('view.orders.changedep')) {
             $submenu->add(trans('orders::changeDep.header'), ['route' => 'orders.change.department.index'])->prepend('<i class="fa fa-file"></i>')->append('<span class="badge">' . $open_change_dep_order . '</span>');
         }
     }
     return $next($request);
 }
 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);
 }