예제 #1
0
 public function store(Request $request)
 {
     $equation = RegistrationEquation::findOrNew($request->input('id'));
     $equation->fill($request->only('university', 'level', 'grade'));
     $equation->registration_id = $this->user->id;
     $equation->save();
     /** populate files and delete unused] */
     $files_ids = [];
     foreach ($request->input('files') as $file) {
         if (!empty($file['id'])) {
             $files_ids[] = $file['id'];
         }
     }
     RegistrationEquationFile::whereIn('id', $files_ids)->update(['registration_equation_id' => $equation->id]);
     RegistrationEquationFile::whereNotIn('id', $files_ids)->where('registration_equation_id', $equation->id)->delete();
     /** end populate files  */
     /** populate subjects */
     $old_subject_ids = [];
     foreach ($request->input('subjects') as $subject) {
         if (!empty($subject['id'])) {
             $old_subject_ids[] = $subject['id'];
         }
     }
     RegistrationEquationSubject::whereNotIn('id', $old_subject_ids)->where('registration_equation_id', $equation->id)->delete();
     foreach ($request->input('subjects') as $subject) {
         if (empty($subject['id'])) {
             $subject['status'] = 'waiting';
             $equation->subjects()->create($subject);
         } else {
             RegistrationEquationSubject::where('id', $subject['id'])->update($subject);
         }
     }
     /** ned populate subjects */
     $equation->load('files', 'subjects');
     foreach ($equation->files as $file) {
         $attachments = $file->urlsForAttachment('file');
         foreach ($attachments as $key => $attachment) {
             $attachments[$key] = asset($attachment);
         }
         $file->attachments = $attachments;
     }
     // update step and dispatch it
     $next_step = RegistrationStep::find($this->user->registration_step_id)->children()->where('equation_processing', 1)->first();
     if ($next_step) {
         $this->user->registration_step_id = $next_step->id;
         $this->user->save();
         event(new RegistrationStepChanged($this->user, ['comment' => 'تم تغييرها بشكل تلقائي بعد اضافة الطالب لشهادة']));
     }
     //
     return response()->json(compact('equation'), 200, [], JSON_NUMERIC_CHECK);
 }
예제 #2
0
 public function deleteBulk(Request $request, EqSub $EqSubModel)
 {
     $submit = $request->input('submit');
     dd($request->has('table_records'));
     if (!$request->has('table_records')) {
         return redirect()->route('registration.equations.index');
     }
     $ids = $request->input('table_records');
     switch ($submit) {
         case 'activate':
             EqSub::where('status', 'waiting')->update(['status' => 'accepted']);
             EqSub::where('id', 1)->update(['status' => 'accepted']);
             $message = 'تم تفعيل الكل';
             return redirect()->back()->with('success', $message);
             break;
         case 'notactivate':
             EqSub::where('status', 'waiting')->update(['status' => 'refuse']);
             EqSub::where('id', 1)->update(['status' => 'refuse']);
             $message = 'تم إلغاء تفعيل الكل';
             return redirect()->back()->with('success', $message);
             break;
         default:
             # code...
             break;
     }
 }