예제 #1
0
    public function create($student_id)
    {
        $semesters = Semester::select(\DB::raw('CONCAT(academycycle_semesters.name , "-", academycycle_years.name) as name ,
		 academycycle_semesters.id as id'))->join('academycycle_years', 'academycycle_years.id', '=', 'academycycle_semesters.academycycle_year_id')->pluck('name', 'id')->toArray();
        $subjects = Subject::all()->pluck('name', 'id')->toArray();
        return view('students::subjects.create', compact('student_id', 'subjects', 'semesters'));
    }
예제 #2
0
 public function create()
 {
     $subjects = Subject::lists('name', 'id')->toArray();
     $questions_types = config('questionbank.types');
     $questions_difficulties = config('questionbank.difficulty');
     $questions_levels = config('questionbank.level');
     $semesters = Semester::select('academycycle_semesters.id', DB::raw('CONCAT(academycycle_semesters.name ,"-", ay.name ) as name '))->join('academycycle_years as ay', 'academycycle_semesters.academycycle_year_id', '=', 'ay.id')->pluck('name', 'id')->toArray();
     $types = config('exams.types');
     return view('exams::exams.create', compact('subjects', 'types', 'questions_types', 'questions_difficulties', 'questions_levels', 'semesters'));
 }
예제 #3
0
 public function all_list($event_type)
 {
     $semesters = Semester::select('academycycle_semesters.id', DB::raw('CONCAT(academycycle_semesters.name ,"-", ay.name ) as name '))->join('academycycle_years as ay', 'academycycle_semesters.academycycle_year_id', '=', 'ay.id')->pluck('name', 'id')->toArray();
     $student_id = student()->id;
     if ($event_type == 'delay') {
         $delayOrders = new DelayOrders();
         $student_delay_orders = $delayOrders->where('student_id', '=', $student_id)->get();
         return view('orders::delay.all_list', compact('student_delay_orders', 'states', 'semesters'));
     } elseif ($event_type == 'withdraw') {
         $withdrawOrders = new WithdrawOrders();
         $student_withdraw_orders = $withdrawOrders->where('student_id', '=', $student_id)->get();
         return view('orders::withdraw.all_list', compact('student_withdraw_orders', 'semesters'));
     } elseif ($event_type == 'equal_subject') {
         $EqualOrders = new EqualOrders();
         $student_equal_orders = $EqualOrders->where('student_id', '=', $student_id)->get();
         return view('orders::equal.all_list', compact('student_equal_orders', 'semesters'));
     }
 }
예제 #4
0
 public function __construct()
 {
     $this->student = Auth::guard('api_student')->user();
     // if ($this->student) {
     // $this->student->load('joyrides');
     // }
     if ($this->student) {
         $this->semester = Semester::select('academycycle_semesters.id', 'academycycle_semesters.academycycle_year_id as year_id', 'academycycle_semesters.start_at', 'academycycle_semesters.finish_at', 'academycycle_semesters.name', 'academycycle_semesters.order')->join('student_histories as sh', function ($j) {
             $j->on('sh.academycycle_semester_id', '=', 'academycycle_semesters.id')->where('sh.student_id', '=', $this->student->id);
         })->where(function ($query) {
             $query->orWhere('academycycle_semester_id', semester()->id);
             $query->orWhere('academycycle_semester_id', '>', semester()->id);
         })->orderBy('academycycle_semesters.id', 'ASC')->first();
         if (!$this->semester) {
             $this->semester = semester();
             $this->semester->year_id = $this->semester->academycycle_year_id;
         }
         // Cache::put('student_'.$this->student->id.'_api_semester', $this->semester, 300);
         // Cache::put('student_'.$this->student->id.'_api_student', $this->student, 300);
     }
 }
예제 #5
0
 public function index(Request $request)
 {
     $invoices = FinancialInvoice::with('student')->where('type', 'credit')->orderBy('id', 'desc');
     if ($request->has('transaction_wid')) {
         $invoices->where('transaction_wid', 'LIKE', "%" . $request->input('transaction_wid') . "%");
     }
     if ($request->has('student_id')) {
         $invoices->where('student_id', $request->input('student_id'));
     }
     $filter_semester_id = 0;
     if (request('semester_id')) {
         $filter_semester_id = request('semester_id');
     } else {
         $filter_semester_id = semester()->id;
     }
     if ($request->has('semester_id')) {
         $invoices->where('semester_id', $filter_semester_id);
     }
     $semesters = Semester::select(\DB::raw('CONCAT(academycycle_semesters.name , "-", academycycle_years.name) as name , academycycle_semesters.id as id'))->join('academycycle_years', 'academycycle_years.id', '=', 'academycycle_semesters.academycycle_year_id')->pluck('name', 'id')->toArray();
     $per_page = request('per_page') ? request('per_page') : 50;
     $invoices = $invoices->paginate($per_page);
     $invoices->appends($request->except("page"));
     return view('financials::invoices.index', compact('invoices', 'semesters'));
 }
예제 #6
0
 public function studentexam(Request $request)
 {
     $subjects = Subject::lists('name', 'id')->toArray();
     $semesters = Semester::select(\DB::raw('CONCAT(academycycle_semesters.name , "-", academycycle_years.name) as name , academycycle_semesters.id as id'))->join('academycycle_years', 'academycycle_years.id', '=', 'academycycle_semesters.academycycle_year_id')->pluck('name', 'id')->toArray();
     $year_term = Year::join('academystructure_terms', 'academystructure_years.id', '=', 'academystructure_terms.year_id')->join('academystructure_departments', 'academystructure_terms.id', '=', 'academystructure_departments.term_id')->select(\DB::raw('CONCAT(academystructure_years.name, "-", academystructure_terms.name) as name,
                                     GROUP_CONCAT(DISTINCT(academystructure_departments.subject_ids)) as sid'))->groupBy('academystructure_terms.name', 'academystructure_years.name')->get()->toArray();
     $year_term_options;
     foreach ($year_term as $key => &$aa) {
         $a = implode(',', array_unique(array_merge(json_decode(str_replace('],[', ',', $aa['sid']), TRUE))));
         $year_term_options[$a] = $aa['name'];
     }
     $types = config('exams.types');
     if (request('student_id')) {
         $semester_id = semester()->id;
         $student_id = request('student_id');
         $exam_type = request('exam_type');
         $camera_work = request('camera_work');
         $results = DB::select("SELECT student_subjects.subject_id,\n                exams.id as exam_id,\n                exam_results.id as exam_result_id,\n                s.id,\n                s.name,\n                s.username,\n                s.mobile,\n                exam_results.id as attendees,\n                exam_results.enter_at,\n                exam_results.exit_at,\n                exam_results.created_at,\n                exam_results.filename,\n                student_grades.value,subject_subjects.name as subject_name,\n                exam_recordings.id as record,\n                (select COUNT(*) from exam_result_answers  where  exam_result_answers.exam_result_id = exam_results.id and exam_result_answers.answer != '') as count_q\n\n                from students as s\n                inner join student_subjects on student_subjects.student_id = s.id\n                and student_subjects.state = 'study' and student_subjects.semester_id = " . $semester_id . "\n                left join subject_subjects on  subject_subjects.id = student_subjects.subject_id\n                inner join exams on student_subjects.subject_id = exams.subject_id and exams.semester_id = " . $semester_id . "\n                and (exams.type in ('midterm', 'remidterm') or exams.id IN (\n                SELECT ce.exam_id FROM classrooms_exam as ce\n                JOIN classrooms as c ON c.id = ce.classroom_id\n                JOIN classroom_students as cs ON cs.classroom_id = c.id\n                WHERE exam_id = exams.id AND cs.student_id = s.id GROUP BY ce.exam_id)\n                )\n                left join exam_results on exams.id = exam_results.exam_id and s.id = exam_results.student_id\n                left join `exam_recordings` on `exam_recordings`.`student_id` = exam_results.`student_id` and `exam_recordings`.`exam_id` = exam_results.`exam_id` \n                \n                left join student_grades on s.id = student_grades.student_id and student_grades.ref_key = 'exam' and exams.id = student_grades.ref_value\n                where s.id  = " . $student_id . " and finish_at  < '" . date("Y/m/d H:i:s") . "' and exams.type = '" . $exam_type . "' group by exam_id ORDER BY s.id ASC");
         $exams = collect($results);
         return view('exams::reports.studentexamdetails', compact('subjects', 'semesters', 'year_term_options', 'types', 'exams'));
     } else {
         if (request('exam_attendee') == 1) {
             $exams = Exam::selectRaw('exam_recordings.student_id, s.id , exams.id as exam_id,
                         er.id as erid,
                         s.name,
                         s.username,
                         er.id as attendees,
                         er.enter_at,
                         er.created_at ,
                         er.exit_at,
                         er.filename,
                         sg.value,exam_recordings.id as record,
                         (select COUNT(*) from exam_result_answers  where  exam_result_answers.exam_result_id = er.id and exam_result_answers.answer != "") as count_q')->leftJoin('exam_results AS er', function ($join) {
                 $join->on('er.exam_id', '=', 'exams.id');
             })->leftJoin('students AS s', function ($join) {
                 $join->on('s.id', '=', 'student_id');
             })->leftJoin('student_grades AS sg', function ($join) {
                 $join->on('sg.student_id', '=', 's.id');
                 $join->on('exam_id', '=', 'sg.ref_value');
             })->leftJoin('exam_recordings', function ($join) {
                 $join->on('exam_recordings.student_id', '=', 'er.student_id');
                 $join->on('exam_recordings.exam_id', '=', 'er.exam_id');
             })->where('finish_at', '<', date("Y/m/d H:i:s"))->where('exams.subject_id', request('exam_subject'))->where('exams.semester_id', request('exam_semester'))->where('exams.type', request('exam_type'));
             if (request('camera_work') == 'not_work') {
                 $exams = $exams->where('exam_recordings.id', '=', null);
             } else {
                 $exams = $exams->where('exam_recordings.id', '!=', null);
             }
             $exams = $exams->groupBy('s.id')->orderBy('exams.id', 'desc')->get();
         } else {
             $exams = StudentSubject::whereIn('student_subjects.state', ['study'])->selectRaw('s.id,
                     s.name,
                     s.username')->leftJoin('students AS s', function ($join) {
                 $join->on('student_subjects.student_id', '=', 's.id');
             })->where('student_subjects.semester_id', request('exam_semester'))->where('subject_id', request('exam_subject'))->whereNotIn('s.id', function ($query) {
                 $query->select('s.id')->from('exams')->leftJoin('exam_results AS er', function ($join) {
                     $join->on('er.exam_id', '=', 'exams.id');
                 })->leftJoin('students AS s', function ($join) {
                     $join->on('s.id', '=', 'student_id');
                 })->where('finish_at', '<', date("Y/m/d H:i:s"))->where('exams.subject_id', request('exam_subject'))->where('exams.semester_id', request('exam_semester'))->where('exams.type', request('exam_type'))->orderBy('exams.id', 'desc')->get();
             })->get();
         }
         return view('exams::reports.studentexam', compact('subjects', 'semesters', 'year_term_options', 'types', 'exams'));
     }
 }
예제 #7
0
 private function getSemesters()
 {
     $semesters = Semester::select('start_at', 'finish_at', 'name', 'id', 'order', 'academycycle_year_id as year_id')->orderBy('id', 'asc')->get();
     return $semesters;
 }
예제 #8
0
 public function show($order_id)
 {
     $Semesters = Semester::select('academycycle_semesters.id', DB::raw('CONCAT(academycycle_semesters.name ,"-", ay.name ) as name '))->join('academycycle_years as ay', 'academycycle_semesters.academycycle_year_id', '=', 'ay.id')->pluck('name', 'id')->toArray();
     $withdraw_order = Withdraw::with(['student', 'files', 'history', 'history.user', 'student.financials' => function ($query) {
         $query->where('semester_id', semester()->id)->where('type', 'credit');
     }])->findOrFail($order_id);
     $old_order = Withdraw::where('student_id', $withdraw_order->student_id)->where('semester_id', '!=', semester()->id)->get();
     return view('orders::withdraw.show', compact('withdraw_order', 'old_order', 'Semesters'));
 }
예제 #9
0
 /**
  * Show the form for editing the specified resource.
  * @return Response
  */
 public function edit($doc_id)
 {
     $doc = PaperDoc::with('paper', 'pfiles')->find($doc_id);
     $paper = $doc->paper;
     $student = Student::find($paper->student_id);
     $category = $doc->category;
     $types = config('papers.' . $doc->category);
     $diff[$doc->type] = $types[$doc->type];
     if ($category == 'semester_type') {
         //semester case
         $Semesters = Semester::select('academycycle_semesters.id', DB::raw('CONCAT(academycycle_semesters.name ,"-", ay.name ) as name '))->join('academycycle_years as ay', 'academycycle_semesters.academycycle_year_id', '=', 'ay.id')->pluck('name', 'id')->toArray();
         $users = User::pluck('name', 'id')->toArray();
         return view('papers::edit', compact('doc_id', 'student', 'paper', 'diff', 'doc', 'category', 'Semesters', 'users'));
     } else {
         return view('papers::edit', compact('doc_id', 'student', 'paper', 'diff', 'doc', 'category'));
     }
 }
예제 #10
0
    public function editInvoice($invoice_id)
    {
        $semesters = Semester::select(\DB::raw('CONCAT(academycycle_semesters.name , "-",academycycle_years.name) as name ,
			 academycycle_semesters.id as id'))->join('academycycle_years', 'academycycle_years.id', '=', 'academycycle_semesters.academycycle_year_id')->pluck('name', 'id')->toArray();
        $Invoices = FinancialInvoice::findOrFail($invoice_id);
        return view('financials::reports.edit', compact('semesters', 'student_id', 'Invoices'));
    }
예제 #11
0
 public function activitycreate()
 {
     # code...
     $subjects = Subject::whereHas('teachers', function ($query) {
         $query->where('teacher_id', teacher()->id);
     })->lists('name', 'id')->toArray();
     $semesters = Semester::select('academycycle_semesters.id', DB::raw('CONCAT(academycycle_semesters.name ,"-", ay.name ) as name '))->join('academycycle_years as ay', 'academycycle_semesters.academycycle_year_id', '=', 'ay.id')->pluck('name', 'id')->toArray();
     $types = config('teachers.types');
     $classrooms = Classroom::where('teacher_id', teacher()->id)->inCurrentSemester()->pluck('code', 'id')->toArray();
     return view('teachers::profile.activity.create', compact('subjects', 'types', 'semesters', 'classrooms'));
 }
예제 #12
0
 public function orderlist(Request $request)
 {
     $equal_order_model = new Equal();
     $equal_orders = $equal_order_model->where('semester_id', semester()->id)->with('student');
     if (request('order_state')) {
         $equal_orders->where('state', request('order_state'));
     }
     if (request('student_name')) {
         $equal_orders->whereHas('student', function ($query) {
             $query->where('name', 'like', "%" . request('student_name') . "%");
         });
     }
     if (request('semester_id')) {
         $equal_orders->where('semester_id', request('semester_id'));
     }
     if (request('student_code')) {
         $equal_orders->whereHas('student', function ($query) {
             $query->where('username', 'like', "%" . request('student_code') . "%");
         });
     }
     $per_page = request('per_page') ? request('per_page') : 30;
     $equal_orders = $equal_orders->paginate($per_page);
     $equal_orders->appends($request->except("page"));
     //get all states for search
     $states = array_flatten(config('orders.equal_states'));
     $states = array_combine($states, $states);
     $semesters = Semester::select('academycycle_semesters.id', DB::raw('CONCAT(academycycle_semesters.name ,"-", ay.name ) as name '))->join('academycycle_years as ay', 'academycycle_semesters.academycycle_year_id', '=', 'ay.id')->pluck('name', 'id')->toArray();
     return view('orders::equal.list', compact('equal_orders', 'states', 'semesters'));
 }
예제 #13
0
 /**
  * Display a listing of the resource.
  * @return Response
  */
 public function index()
 {
     $semesters = Semester::select('start_at', 'finish_at', 'name', 'id', 'order', 'academycycle_year_id as year_id')->orderBy('id', 'asc')->get();
     return response()->json($semesters, 200, [], JSON_NUMERIC_CHECK);
 }