/** * Despliega el perfil de otro usuario * * @param int $id * @return Response */ public function show($id) { $userprofile = User::find($id); $suggestions = Suggestion::where('user_id', '=', $id)->latest()->paginate(5); //$suggestions = $userprofile->suggestions()->latest()->paginate(5); $suggestions->setPath(''); return view('profile.userinfo')->with(['userprofile' => $userprofile, 'suggestions' => $suggestions]); }
/** * The current user has already suggested someone, regardless if he/she has accepted. * * @param \Illuminate\Http\Request $request * @param \Closure $next * @return mixed */ public function handle($request, Closure $next) { $user = $request->user(); $suggestion = Suggestion::where('suggestor_email', $user->email)->first(); if ($suggestion) { return $next($request); } return redirect()->route('home'); }
/** * Allow only the candidate graders who have not accepted or declined yet. * * @param \Illuminate\Http\Request $request * @param \Closure $next * @return mixed */ public function handle($request, Closure $next) { $unique_string = $request->unique_string; $suggestion = Suggestion::where('unique_string', $unique_string)->first(); if ($suggestion && $suggestion->accepted != 'yes') { return $next($request); } if ($suggestion && $suggestion->accepted == 'yes') { alert()->info('Εάν για κάποιο λόγο επιθυμείτε να εξαιρεθείτε, παρακαλούμε επικοινωνήστε μαζί μας,', 'Έχετε ήδη αποδεχθεί')->persistent('Εντάξει'); } return redirect()->route('home'); }
/** * Despliega todos los resultados que hagan match con la busqueda. * @param Request $request * @return Response */ public function results(SearchRequest $request) { if ($request->device == 'both') { $Suggestions = Suggestion::where('subject', '=', $request->subject, 'and')->where('level', '=', $request->level, 'and')->where('grade', '=', $request->grade, 'and')->where('topic', '=', $request->topic)->latest()->paginate(5); $suggestions = $Suggestions->appends(['level' => $request->level, 'grade' => $request->grade, 'subject' => $request->subject, 'topic' => $request->topic, 'device' => $request->device]); $suggestions->setPath('results'); return view('search.pagination')->with('suggestions', $suggestions); } $Suggestions = Suggestion::where('subject', '=', $request->subject, 'and')->where('level', '=', $request->level, 'and')->where('grade', '=', $request->grade, 'and')->where('topic', '=', $request->topic, 'and')->where('device', '=', $request->device)->latest()->paginate(5); $suggestions = $Suggestions->appends(['level' => $request->level, 'grade' => $request->grade, 'subject' => $request->subject, 'topic' => $request->topic, 'device' => $request->device]); $suggestions->setPath('results'); return view('search.pagination')->with('suggestions', $suggestions); }
private function addSuggestion($user_id, $grader_email) { // check if there already is such a suggestion $suggestion = Suggestion::where('grader_email', $grader_email)->first(); if (!$suggestion) { $data = []; $data['user_id'] = $user_id; $data['grader_email'] = $grader_email; $data['suggestor_name'] = $grader_email; $data['suggestor_email'] = $grader_email; $data['personal_msg'] = "Self proposed"; $data['unique_string'] = "Self proposed"; $data['accepted'] = "yes"; $data['self_proposed'] = "yes"; $suggestion = Suggestion::create($data); } return $suggestion; }
public function suggest_new_grader_a_email() { // -- DEPRECATED //return redirect()->route('home'); $user = Auth::user(); $suggestion = Suggestion::where('user_id', $user->id)->first(); if ($suggestion && $suggestion->hasAccepted()) { alert()->info('Ο Αξιολογητής που έχετε προτείνει έχει ήδη αποδεχτεί')->persistent('Εντάξει'); return redirect()->route('home'); } return view('suggestions.suggest_new_grader_a_email', compact('suggestion')); }
public function hasSuggestionToRespondTo() { $suggestion = Suggestion::where('grader_email', $this->email)->where('accepted', '!=', 'yes')->where('self_proposed', 'no')->get(); return $suggestion; }