Exemplo n.º 1
0
 public function studentSession($student_id = 0)
 {
     if ($student_id) {
         $student_id = student()->id;
     }
     return $this->hasOne('\\Modules\\Students\\Entities\\StudentClassroomSession', 'classroom_session_id')->where('student_id', $student_id);
 }
Exemplo n.º 2
0
 public function store(Request $request)
 {
     // get reason or other reason
     $old_institute = '';
     if ($request->other_old_institute_text) {
         $old_institute = $request->other_old_institute_text;
     } else {
         $old_institute = $request->old_institute;
     }
     // create order record
     $equal_order = new Equal();
     $equal_order->student_id = student()->id;
     $equal_order->semester_id = semester()->id;
     $equal_order->old_institute = $old_institute;
     $equal_order->grade = $request->grade;
     $equal_order->certificate = $request->certificate;
     $equal_order->country_id = $request->country_id;
     $equal_order->state = 'تقديم';
     $equal_order->save();
     // create order history record
     $order_history = new Orderhistory();
     $order_history->ref_key = 'order_equals';
     $order_history->ref_value = $equal_order->id;
     $order_history->state = 'تقديم';
     $order_history->save();
     // update uploaded files
     if (!empty(request('files'))) {
         OrderFile::whereIn('id', request('files'))->update(['ref_key' => 'order_equals', 'ref_value' => $equal_order->id]);
     }
     $equal_order = $equal_order->with('files', 'history', 'subjects')->findOrFail($equal_order->id);
     //return view('orders::equal.edit' ,compact('equal_order'))->with('success',trans('orders::order.create_success'));
     $order_id = $equal_order->id;
     return view('orders::equal.subjects', compact('order_id'))->with('success', trans('orders::order.create_success'));
 }
Exemplo n.º 3
0
 public function exitClassroom(ExitClassroomRequest $request)
 {
     $input = $request->all();
     $student = student();
     $student->classrooms()->detach($input['classroom_id']);
     event(new StudentExitClassroom(Classroom::find($input['classroom_id']), $student, new User()));
     return redirect()->route('students.profile.classrooms.index');
 }
Exemplo n.º 4
0
 public function index()
 {
     $sessions = ClassroomSession::whereHas('studentsSessions', function ($query) {
         $query->where('student_id', student()->id);
     })->with(['classroom.subject', 'classroom.teacher', 'studentsSessions'])->orderBy('canceled', 'asc')->orderBy('start_at', 'asc')->paginate(30);
     // return $sessions;
     return view('students::sessions.index', compact('sessions'));
 }
Exemplo n.º 5
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);
 }
Exemplo n.º 6
0
 public function scopeStudent($query, $student_id = 0)
 {
     $semester_id = semester()->id;
     $student_id = $student_id ? $student_id : student()->id;
     //$department_id = student()->academystructure_department_id;
     return $query->select('subject_subjects.*')->groupBy('subject_subjects.id')->join('student_subjects as ss', function ($join) {
         $join->on('ss.subject_id', '=', $this->table . '.id')->where('ss.state', '=', 'study');
     })->where('ss.semester_id', $semester_id)->where('ss.student_id', $student_id)->where('ss.state', 'study');
 }
Exemplo n.º 7
0
 /**
  * Handle an incoming request.
  *
  * @param  \Illuminate\Http\Request  $request
  * @param  \Closure  $next
  * @return mixed
  */
 public function handle($request, Closure $next)
 {
     if (student()) {
         $menu = Menu::make('StudentSidebarMenu', function ($menu) {
         });
         $menu->add(trans('الأسئلة الشائعة'), ['route' => 'students.faq.index'])->prepend('<i class="fa fa-briefcase"></i>');
     }
     return $next($request);
 }
Exemplo n.º 8
0
 public function create()
 {
     $sessions = ClassroomSession::with('classroom', 'classroom.subject')->whereHas('attendances', function ($query) {
         return $query->where('student_id', student()->id)->where('valid', 0);
     })->get();
     $options = [];
     foreach ($sessions as $session) {
         $title = $session->classroom->code . " :: " . $session->classroom->subject->name . " :: " . $session->title;
         $options[$session->id] = $title;
     }
     return view("students::orders.sessionexcuses.create", compact('sessions', 'options'));
 }
Exemplo n.º 9
0
 /**
  * Handle an incoming request.
  *
  * @param  \Illuminate\Http\Request  $request
  * @param  \Closure  $next
  * @return mixed
  */
 public function handle($request, Closure $next)
 {
     $menu = Menu::get('SidebarMenu');
     if (Auth::user()) {
         $menu->add('الرئيسية', ['route' => 'dashboards.admin'])->data('order', 1)->prepend('<i class="fa fa-home"></i>');
     } elseif (registrar()) {
         $menu->add('الرئيسية', ['route' => 'registration.registrar.index'])->data('order', 1)->prepend('<i class="fa fa-home"></i>');
     } elseif (student()) {
         $menu->add('الرئيسية', ['route' => 'students.profile.index'])->data('order', 1)->prepend('<i class="fa fa-home"></i>');
     }
     return $next($request);
 }
Exemplo n.º 10
0
 public function update(ProfileUpdateRequest $request)
 {
     $student = student();
     if ($request->has('password')) {
         $student->password = bcrypt($request->input('password'));
     }
     if (!$student->save()) {
         $error = trans('students::profile.update_error');
         return redirect()->back()->with('error', $error);
     }
     $success = trans('students::profile.update_success');
     if (request('submit') == 'save') {
         return redirect()->back()->with('success', $success);
     } else {
         return redirect()->route('students.profile.index')->with('success', $success);
     }
 }
Exemplo n.º 11
0
 public function reply(ReplyTicket $request, Ticket $ticket)
 {
     $reply = ['student_id' => student()->id, 'body' => $request->input('body')];
     $ticket->replies()->create($reply);
     if ($ticket->open == 0) {
         $ticket->open = 1;
         $ticket->save();
     }
     $ticket->load('replies', 'replies.student', 'replies.user');
     foreach ($ticket->replies as $reply) {
         if (!empty($reply->user_id)) {
             $reply->seen = 1;
             $reply->save();
         }
     }
     if ($request->ajax()) {
         return response()->json(['view' => view('students::tickets._show_list', compact('ticket'))->render()]);
     }
     return redirect()->back()->with('success', trans('students::profile.tickets.create_success'));
 }
Exemplo n.º 12
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');
 }
Exemplo n.º 13
0
 /**
  * Handle an incoming request.
  *
  * @param  \Illuminate\Http\Request  $request
  * @param  \Closure  $next
  * @return mixed
  */
 public function handle($request, Closure $next)
 {
     if (student()) {
         $menu = Menu::make('StudentSidebarMenu', function ($menu) {
         });
         $menu->add('الرئيسية', ['route' => 'students.profile.index'])->data('order', 1)->prepend('<i class="fa fa-home"></i>');
         $events = SemesterEvent::classroom()->count();
         if ($events) {
             $menu->add(trans(trans('students::profile.classrooms.choose_sessions_classrooms')), ['route' => 'students.profile.classrooms.index'])->prepend('<i class="fa fa-bell animated infinite swing"></i>')->data('order', 1);
         }
         $centers = ExamCenterPeriod::where('start_at', '<', date('Y-m-d H:i:s'))->where('finish_at', '>', date('Y-m-d H:i:s'))->where('semester_id', semester()->id)->count();
         if ($centers) {
             $menu->add(trans(trans('students::profile.exams.choose_exam_center')), ['route' => 'students.profile.centers.index'])->prepend('<i class="fa fa-bell animated infinite swing"></i>')->data('order', 2);
         }
         $menu->add(trans('students::profile.subjects.header'), ['route' => 'students.profile.subjects.index'])->data('order', 10)->prepend('<i class="fa fa-briefcase"></i>');
         $menu->add(trans('students::profile.sessions.header'), ['route' => 'students.profile.sessions.index'])->data('order', 20)->prepend('<i class="fa fa-video-camera"></i>');
         $menu->add(trans('students::profile.tickets.header'), ['route' => 'students.profile.tickets.index'])->data('order', 30)->prepend('<i class="fa fa-comment"></i>');
         $menu->add(trans('orders::order.menu'), ['route' => 'orders.index'])->prepend('<i class="fa fa-pencil-square-o"></i>');
         $menu->add(trans('الأسئلة الشائعة'), ['route' => 'students.faq.index'])->data('order', 40)->prepend('<i class="fa fa-briefcase"></i>');
     }
     return $next($request);
 }
Exemplo n.º 14
0
 public function store(Request $request)
 {
     if ($request->other_reason_text) {
         $reason = $request->other_reason_text;
     } else {
         $reason = $request->reason;
     }
     // create order record
     $withdraw_order = new Withdraw();
     $withdraw_order->student_id = student()->id;
     $withdraw_order->academystructure_department_id = student()->academystructure_department_id;
     $withdraw_order->semester_id = $request->input('semester_id');
     $withdraw_order->state = 'تقديم';
     $withdraw_order->reason = $reason;
     $withdraw_order->bank_name = request('bank_name');
     $withdraw_order->bank_account_name = request('bank_account_name');
     $withdraw_order->bank_account_number = request('bank_account_number');
     $withdraw_order->save();
     // create order history record
     $order_history = new Orderhistory();
     $order_history->ref_key = 'order_withdraws';
     $order_history->ref_value = $withdraw_order->id;
     $order_history->state = 'تقديم';
     $order_history->save();
     // check if financial item active then create debit record
     $withdraw_item = FinancialInvoiceItem::where('slug', 'withdraw_fee')->where('state', 'نشط')->first();
     if ($withdraw_item) {
         if ($withdraw_item->amount > 0) {
             $invoiceData = ['ref_key' => 'order_withdraws', 'ref_value' => $delay_order->id, 'student_id' => student()->id, 'amount' => $delaye_item->amount, 'type' => 'debit', 'semester_id' => $request->input('semester_id'), 'item_id' => $delaye_item->id, 'note' => 'تكلفة طلب الانسحاب'];
             FinancialInvoice::create($invoiceData);
         }
     }
     // update uploaded files
     if (!empty(request('files'))) {
         $update_data = ['ref_key' => 'order_withdraws', 'ref_value' => $withdraw_order->id];
         OrderFile::whereIn('id', request('files'))->update($update_data);
     }
     return redirect()->route('orders.index')->with('success', trans('orders::order.create_success'));
 }
Exemplo n.º 15
0
 /**
  * Get the validation rules that apply to the request.
  *
  * @return array
  */
 public function rules()
 {
     return ['ticket' => 'exists:tickets,id,student_id,' . student()->id, 'body' => 'required|min:2|max:2000'];
 }
Exemplo n.º 16
0
         } else {
             $msg = "Admin table creation failed";
         }
     } else {
         $msg = admin($con);
         if ($msg == "error") {
             $msg = "Admin table creation failed";
         } else {
             $msg = "Both Student and Admin Table creation Successfull";
             $query = mysqli_query($con, "insert into admin(name,email,password) values('Gautam Singh','*****@*****.**','gtmsingh');");
         }
     }
     header("LOCATION:admin.php?msg=" . $msg);
 } else {
     if ($q == "student") {
         $msg = student($con);
         if ($msg == "error") {
             $msg = "Student table creation failed";
         } else {
             $msg = "Student Table creation Successfull";
         }
         header("LOCATION:admin.php?msg=" . $msg);
     } else {
         if ($q == "admin") {
             $msg = admin($con);
             if ($msg == "error") {
                 $msg = "Admin table creation failed";
             } else {
                 $msg = "Admin Table creation Successfull";
                 $query = mysqli_query($con, "insert into admin(name,email,password) values('Gautam Singh','*****@*****.**','gtmsingh');");
             }
Exemplo n.º 17
0
 /**
  * Get the validation rules that apply to the request.
  *
  * @return array
  */
 public function rules()
 {
     return ['classroom_id' => 'required|exists:classrooms,id|unique:classroom_students,classroom_id,NULL,id,student_id,' . student()->id];
 }
Exemplo n.º 18
0
 public function create($event_type, $type, SemesterEvent $SemesterEvent)
 {
     $current_semester_id = semester()->id;
     $student_id = student()->id;
     $semesters = Semester::with('year')->get();
     $semester_id = [];
     /////////////////////////////////////delay/////////////////////////////
     if ($event_type == 'delay') {
         // get delay order period
         //dd($semesters);
         $delay_semester_events = $SemesterEvent->where('semester_id', '=', $current_semester_id)->whereHas('event_type', function ($query) {
             $query->where('academycycle_semesterevent_types.category', 'delay');
         })->first();
         // get delay order for student in current semeter if exist and not refuse or cancel
         $delayOrders = new DelayOrders();
         $student_delay_order = $delayOrders->where('semester_id', '=', $current_semester_id)->where('student_id', '=', $student_id)->whereNotIn('state', array('الغاء بناء على طلب الطالب', 'الغاء لعدم الاستكمال', 'رفض'))->first();
         if ($student_delay_order and $type == 0) {
             return redirect()->route('student.orders.list', $event_type);
         } else {
             //check if period available
             if ($type == 0) {
                 foreach ($semesters as $semester) {
                     if ($semester->active == 1) {
                         $semester_id[$semester->id] = $semester->year->name . " --  " . $semester->name;
                     }
                 }
                 return view('orders::delay.create', compact('semester_id'));
             } elseif ($type == '1') {
                 // bring all semester
                 foreach ($semesters as $semester) {
                     $semester_id[$semester->id] = $semester->year->name . " --  " . $semester->name;
                 }
                 return view('orders::delay.create', compact('semester_id'));
             } else {
                 return redirect()->route('orders.index');
             }
         }
         //////////////////////////////////////withdraw/////////////////////////////
     } elseif ($event_type == 'withdraw') {
         // get delay order period
         $withdraw_semester_events = $SemesterEvent->where('semester_id', '=', $current_semester_id)->whereHas('event_type', function ($query) {
             $query->where('academycycle_semesterevent_types.category', 'withdraw');
         })->first();
         // get withdraw order for student in current semeter if exist and not refuse or cancel
         $withdrawOrders = new WithdrawOrders();
         $student_withdraw_order = $withdrawOrders->where('semester_id', '=', $current_semester_id)->where('student_id', '=', $student_id)->whereNotIn('state', array('الغاء بناء على طلب الطالب', 'الغاء لعدم الاستكمال', 'رفض'))->first();
         if ($student_withdraw_order) {
             return redirect()->route('student.orders.list', $event_type);
         } else {
             //check if period available
             if ($type == 0) {
                 foreach ($semesters as $semester) {
                     if ($semester->active == 1) {
                         $semester_id[$semester->id] = $semester->year->name . " --  " . $semester->name;
                     }
                 }
                 return view('orders::withdraw.create', compact('semester_id'));
             } elseif ($type == '1') {
                 //  all semester
                 foreach ($semesters as $semester) {
                     $semester_id[$semester->id] = $semester->year->name . " --  " . $semester->name;
                 }
                 return view('orders::withdraw.create', compact('semester_id'));
             } else {
                 return redirect()->route('orders.index');
             }
         }
         /////////////////////////////////////Equal/////////////////////////////
     } elseif ($event_type == 'equal_subject') {
         // get equal_subject order period
         $equal_subject_semester_events = $SemesterEvent->where('semester_id', '=', $current_semester_id)->whereHas('event_type', function ($query) {
             $query->where('academycycle_semesterevent_types.category', 'equal_subject');
         })->first();
         // get delay order for student in current semeter if exist and not review
         $equalOrders = new EqualOrders();
         $student_equal_subject_order = $equalOrders->where('semester_id', '=', $current_semester_id)->where('student_id', '=', $student_id)->whereNotIn('state', array('الغاء بناء على طلب الطالب', 'الغاء لعدم الاستكمال', 'رفض', 'مكتمل'))->first();
         if ($student_equal_subject_order) {
             return redirect()->route('student.orders.list', $event_type);
         } else {
             //check if period available
             //if($equal_subject_semester_events->start_at <= date("Y-m-d") && $equal_subject_semester_events->finish_at >= date("Y-m-d")){
             $country_list = Country::pluck('name', 'id')->toArray();
             return view('orders::equal.create', compact('country_list'));
             //}else{
             //return redirect()->route('orders.index');
             //}
         }
         ///////////////////////////////////////////excuse/////////////////////////////
     } elseif ($event_type == 'excuse') {
         // same same
         return view('orders::delay.excuse');
     }
 }
Exemplo n.º 19
0
 public function choose(ChooseCenterRequest $request)
 {
     student()->centers()->attach([$request->exam_center_id => ['semester_id' => semester()->id]]);
     return redirect()->route('students.profile.centers.index');
 }
Exemplo n.º 20
0
 public function exitClassroom(ExitClassroomRequest $request)
 {
     $input = $request->all();
     $student = student();
     $student->classrooms()->detach([$input['classroom_id'] => ['student_id' => $request->input('student_id')]]);
     event(new StudentExitClassroom(Classroom::find($input['classroom_id']), $student, new User()));
     return redirect()->route('students.subjects.classrooms', $request->input('student_id'));
 }