/** * 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); }
public function create($step_id) { $step = Step::find($step_id); return view('registration::notes.create', compact('step')); }