コード例 #1
0
 public function scoreCriteria(ScoreRequest $request)
 {
     // Check if current user is allowed to score things
     $this->authorize('score-application');
     $input = $request->all();
     $application = Application::find($input['application_id']);
     $criteria = Criteria::find($input['criteria_id']);
     // Make sure the application hasn't been finalized
     if (!in_array($application->judge_status, ['new', 'ready'])) {
         $request->session()->flash('error', 'This application has already been finalized.');
         return redirect('/applications/' . $application->id . '/review');
     }
     // Make sure this user hasn't already submitted their scores
     $judged = Judged::where(['application_id' => $application->id, 'user_id' => Auth::user()->id])->get()->first();
     if (!empty($judged)) {
         $request->session()->flash('error', 'You have already judged this application!');
         return redirect('/applications');
     }
     // Check if a score already exists for this criteria
     $score = Score::firstOrNew(['application_id' => $application->id, 'criteria_id' => $criteria->id, 'user_id' => Auth::user()->id]);
     // Add submitted information
     $score->application_id = $application->id;
     $score->criteria_id = $criteria->id;
     $score->user_id = Auth::user()->id;
     $score->score = $input['score'];
     $score->answer = $input['answer'];
     $score->save();
     $request->session()->flash('success', 'Your score has been saved.');
     return redirect('/applications/' . $application->id . '/review');
 }
コード例 #2
0
 /**
  * Store a newly created resource in storage.
  *
  * @param  ScoreRequest  $request
  * @return Response
  */
 public function store(ScoreRequest $request)
 {
     $data = $request->all();
     if (empty($data['twitter'])) {
         $data['twitter'] = null;
     }
     Score::create($data);
     Session::flash("flash_message", "User has been added");
     return $this->goHome();
 }