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; }