コード例 #1
0
ファイル: OrdersController.php プロジェクト: hisambahaa/DARES
 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');
     }
 }
コード例 #2
0
 public function ac_print($semester_id)
 {
     $sem_events = SemEvent::where('semester_id', $semester_id)->with('event_type')->orderBy('order')->get();
     //return $sem_events;
     $pdf = new TCPDF(PDF_PAGE_ORIENTATION, PDF_UNIT, PDF_PAGE_FORMAT, true, 'UTF-8', false);
     $pdf->SetFont('dejavusans', '', 6, '', 'false');
     $pdf->setRTL('enable', $resetx = true);
     $pdf->SetPrintHeader(false);
     $pdf->SetPrintFooter(true);
     $pdf->SetFooterMargin(PDF_MARGIN_FOOTER);
     $pdf->setFooterFont(array(PDF_FONT_NAME_DATA, '', PDF_FONT_SIZE_DATA));
     $pdf->SetAutoPageBreak(TRUE, PDF_MARGIN_BOTTOM);
     $pdf->startPageGroup();
     $pdf->AddPage();
     $pdf->writeHTML(view('academycycle::semesterevents.print', compact('sem_events'))->render());
     $filename = 'academycycle.pdf';
     ob_clean();
     $pdf->output($filename, 'D');
     return redirect()->back();
     //return redirect()->back()->with('success', trans('exams::exams.download_success'));
 }