public function store_b(CreateGraderBRequest $request) { $user = $request->user(); $request->request->add(['user_id' => $user->id]); if ($request->has('desired_category')) { $request->request->add(['desired_category' => implode('|', $request->desired_category)]); } if ($request->has('teaching_xp')) { $request->request->add(['teaching_xp' => implode('|', $request->teaching_xp)]); } // Check if the user is already a Grader A if ($user->grader) { $grader = $user->grader; $grader->fill($request->all())->save(); } else { // Create the grader $grader = Grader::create($request->all()); } if ($request->hasFile('personal_cv') && $request->file('personal_cv')->isValid()) { $grader->personal_cv = $grader->addPersonalCV($request); $grader->save(); } if ($request->hasFile('photo') && $request->file('photo')->isValid()) { $grader->photo = $grader->addPhoto($request); $grader->save(); } // $grader = Grader::create($request->all()); // Give the user the role of grader B (id: 3) $user->roles()->attach(3); alert()->success('Μην ξεχνάτε ότι μπορείτε να επεξεργάζεστε τα στοιχεία σας όποτε επιθυμείτε.', 'Επιτυχής Υποβολή!')->persistent('Το κατάλαβα'); return redirect()->route('home'); }
public function store_other_grader(CreateOtherGraderRequest $request) { $unique_string = $request->unique_string; // find the suggestion $suggestion = Suggestion::where('unique_string', $unique_string)->first(); $suggestion->logOutOtherUser(); $grader_email = $suggestion->grader_email; // Update the suggestor $suggestor_email = $suggestion->suggestor_email; $suggestor = User::where('email', $suggestor_email)->first(); $suggestor->grader_status .= ',accepted'; $suggestor->save(); // Update the Suggestion $suggestion->accepted = 'yes'; $suggestion->save(); // Create the user $user = User::create(['email' => $grader_email, 'password' => bcrypt($request->password), 'verification_token' => str_random(40), 'verified' => 1]); // Give the user the roles of user (id: 5) and grader A (id: 2) $user->roles()->attach(5); $user->roles()->attach(2); // Create the grader $data = $request->all(); $data['user_id'] = $user->id; $data['suggestions_count'] = 1; if (isset($data['desired_category'])) { $data['desired_category'] = implode('|', $data['desired_category']); } if (isset($data['teaching_xp'])) { $data['teaching_xp'] = implode('|', $data['teaching_xp']); } $grader = Grader::create($data); if ($request->hasFile('personal_cv') && $request->file('personal_cv')->isValid()) { $grader->personal_cv = $grader->addPersonalCV($request); $grader->save(); } if ($request->hasFile('photo') && $request->file('photo')->isValid()) { $grader->photo = $grader->addPhoto($request); $grader->save(); } // Notify the user $suggestion->sendAcceptanceEmail($request->last_name, $request->first_name); alert()->success('Ο Υποψήφιος θα ενημερωθεί για την αποδοχή σας. Μην ξεχνάτε ότι μπορείτε να επεξεργάζεστε τα στοιχεία σας όποτε επιθυμείτε.', 'Επιτυχής Υποβολή!')->persistent('Το κατάλαβα'); return redirect()->route('home'); }