public function actionBulk(Request $request) { if (!$request->has('table_records')) { return redirect()->route('registration.files.index'); } $action = $request->input('action', 'delete'); $ids = $request->input('table_records'); $file = RegistrationFile::find($ids[0]); switch ($action) { case 'delete': RegistrationFile::destroy($ids); $message = trans('registration::files.delete_bulk_success'); break; case 'update': foreach ($ids as $id) { RegistrationFile::where('id', $id)->update(['valid' => $request->input('valid')]); } $message = trans('registration::files.update_bulk_success'); break; } return redirect()->route('registration.files.index', $file->registration_id)->with('success', $message); }
public function store(RegisterRequest $request) { $error = 0; $message = ''; $period = Period::current()->first(); if (!$period) { $error = 1; $message = 'لا يوجد فترة تسجيل حاليا'; return response()->json(compact('error', 'message'), 200, [], JSON_NUMERIC_CHECK); } $input = $request->all(); $registration = new Registration(); $registration->fill(array_filter($input)); if (!$request->has('academystructure_specialty_id') || empty($request->input('academystructure_specialty_id'))) { if ($specialty = Specialty::where('code', 'G')->first()) { $registration->academystructure_specialty_id = $specialty->id; } else { $registration->academystructure_specialty_id = 1; } } $step = RegistrationStep::verifyEmail()->first(); if (($reason = $this->canApply($input)) !== true) { $error = 1; switch ($reason) { case 'ACTIVE': $message = 'الرقم المدني الذي تحاول التسجيل به، مستخدم من طرف طالب منتظم.'; break; case 'DELAYED': $message = 'الرقم المدني الذي تحاول التسجيل به، مستخدم من طرف طالب مؤجل.'; break; case 'NO_DEGREES': $message = 'لم تقم بادخال بيانات الشهادة'; break; case 'NO_SPECIALITY': $message = 'لم تقم باختيار تخصص المرجو اعادة اختيار تخصص.'; break; } return response()->json(compact('error', 'message'), 200, [], JSON_NUMERIC_CHECK); } $password = !empty($registration->password) ? $registration->password : mt_rand(6, 10); $username = daress_generate_username(); $registration->username = $username; $registration->password = bcrypt($password); $registration->registration_period_id = $period->id; $registration->registration_step_id = $step ? $step->id : NULL; $registration->passeport_country_id = !empty($input['passeport_country_id']) ? $input['passeport_country_id'] : null; if (!$registration->save()) { $error = 1; $message = 'لم يتم تسجيل طلبك المرجو اعادة المحاولة لاحقا.'; } else { $registration->generateCode(); /** check for extra degrees an dstore them */ foreach ($input['degrees'] as $degree) { $registration->degrees()->create($degree); } foreach ($input['files'] as $file) { $file = RegistrationFile::find($file['id']); $file->update(['registration_id' => $registration->id]); } /** end check for extra degrees */ event(new RegistrationCreated($registration)); event(new RegistrationEmailChanged($registration, ['password' => $password])); event(new RegistrationUpdated($registration)); event(new RegistrationStepChanged($registration, ['password' => $password, 'comment' => 'تفعيل البريد الإلكتروني'])); } if ($error == 1) { return response()->json(compact('error', 'message'), 200, [], JSON_NUMERIC_CHECK); } $message = 'أحسنت ـ تم ارسال رسالة الى بريدك الالكتروني تحتوي على المعلومات التي تحتاجها من أجل الولوج لبوابة المتقدم.'; $token = Auth::guard('api_registration')->generateTokenById($registration->id); return response()->json(compact('token'), 200, [], JSON_NUMERIC_CHECK); }