/**
  * Create a new event instance.
  *
  * @param  Registration  $registration
  * @return void
  */
 public function __construct(Registration $registration)
 {
     $this->histories = RegistrationHistory::with('step')->where('registration_id', $registration->id)->get();
     $this->step = RegistrationStep::find($registration->registration_step_id);
     $this->registration = $registration;
     // $this->profile = $profile->pluck('');
 }
 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);
 }
 public function actionBulk(Request $request, Registration $Registration)
 {
     $input = $request->all();
     if (empty($input['table_records'])) {
         return redirect()->route('registration.registrations.index');
     }
     $ids = $input['table_records'];
     $registration = Registration::find($ids[0]);
     $exceptions_message = '';
     switch ($input['submit']) {
         case 'delete':
             $Registration->destroy($ids);
             $message = trans('registration::registrations.delete_bulk_success');
             break;
         case 'update':
             foreach ($ids as $id) {
                 $registration = Registration::with('student')->findOrFail($id);
                 $current_step_id = $registration->registration_step_id;
                 $input = $request->all();
                 foreach ($input as $key => $value) {
                     if (empty($value)) {
                         $input[$key] = NULL;
                     }
                 }
                 if (!empty($input['registration_step_id']) and RegistrationStep::find($input['registration_step_id'])->files_done == 1) {
                     $registration->load('files');
                     if ($registration->files->whereLoose('valid', 0)->count()) {
                         $exceptions_message = 'لم يتم تغيير حالة بعض الطلبات بسبب توفرها على وثائق غير مكتملة';
                         continue;
                     }
                 }
                 $registration->fill($input);
                 if (!$registration->student and (!empty($input['registration_step_id']) and $input['registration_step_id'] != $current_step_id) and $registration->save()) {
                     event(new RegistrationStepChanged($registration, ['comment' => $input['comment'], 'notes' => request('registration_step_note_id')]));
                 }
             }
             $message = trans('registration::registrations.update_bulk_success');
             break;
     }
     $redirect = redirect()->route('registration.registrations.index', $registration->id)->with('success', $message);
     if ($exceptions_message) {
         $redirect->with('warning', $exceptions_message);
     }
     return $redirect;
 }
 public function registrarPostUpload(Request $request)
 {
     $registrar = Auth::guard('api_registration')->user();
     $file = new RegistrationFile();
     $file->fill($request->only('type', 'file'));
     $file->registration_id = $registrar->id;
     if ($file->save()) {
         $step = RegistrationStep::find($registrar->registration_step_id)->children()->where('files_processing', 1)->first();
         if ($step) {
             $registrar->registration_step_id = $step->id;
             $registrar->save();
             event(new RegistrationUpdated($registrar));
             event(new RegistrationStepChanged($registrar, ['comment' => 'قام برفع ملف']));
         }
     }
     $attachments = $file->urlsForAttachment('file');
     foreach ($attachments as $key => $attachment) {
         $attachments[$key] = asset($attachment);
     }
     $file->attachments = $attachments;
     return response()->json($file, 200, [], JSON_NUMERIC_CHECK);
 }
Exemple #5
0
 public function create($step_id)
 {
     $step = Step::find($step_id);
     return view('registration::notes.create', compact('step'));
 }