/** * Show the form for editing the specified resource. * * @param int $id * @return \Illuminate\Contracts\View\Factory */ public function edit($id) { $paper = Paper::findOrFail($id); $subjects = Subject::all(); $questions = $paper->questions; return view('paper.edit', compact('paper', 'subjects', 'questions')); }
/** * Handle an incoming request. * * @param \Illuminate\Http\Request $request * @param \Closure $next * @return mixed */ public function handle($request, Closure $next) { $paper = Paper::findOrFail($request->segment(4)); $params = []; if ($paper->archive_id) { session(['error' => 'access-denied']); if ($request->segment(2) == 'admin') { $route = 'admin-home'; } else { $route = 'department::index'; $params = [$request->segment(2)]; } return redirect()->route($route, $params); } return $next($request); }
/** * Store a newly created resource in storage. * * @param Request $request * @return Response */ public function store(Request $request) { $paper = Paper::findOrFail($request->get("paper_id")); $question = new Question(); $question->question = $request->get('question'); $question->language = "en"; $question->paper()->associate($paper); $question->save(); foreach ($request->get('choice') as $key => $choice) { $answer = new Answer(); $answer->type = "string"; $answer->textual = $choice; $answer->correct = in_array($key + 1, $request->get('answer')) <=> 0; $answer->question()->associate($question); $answer->save(); } return redirect()->to(route("paper.edit", $paper->id)); }
/** * @param int paper * save reviewer evaluation * @return \Illuminate\Http\Response */ public function postEvaluate($paper) { $paper = Paper::findOrFail($paper); if ($paper->department_id != auth()->user()->department_id || !systemAccess(2)) { if (!$this->systemAdmin) { return redirect()->action('Admin\\PaperController@index')->with('error', 'access-denied'); } } $criteriaPaper = $rules = $params = $errors = []; $criteria = Criteria::where('department_id', $paper->department_id)->with(['langs' => function ($query) { $query->lang(); }])->get(); foreach ($criteria as $value) { $errors[$value->id] = $value->langs->first()->title; if (request()->has($value->id)) { $params[$value->id] = request($value->id); $criteriaPaper[$value->id] = ['value' => request($value->id)]; } if ($value->required) { $rules[$value->id] = 'required'; } if ($value->type_id == 1) { $max = 'max:1500'; if (isset($rules[$value->id])) { $rules[$value->id] .= '|' . $max; } else { $rules[$value->id] = $max; } } } $validator = Validator::make($params, $rules); $validator->setAttributeNames($errors); if ($validator->fails()) { return redirect()->back()->withErrors($validator)->withInput(); } DB::transaction(function () use($criteriaPaper, $paper) { $paper->update(['status_id' => 4, 'reviewed_at' => Carbon::now()]); $paper->criteria()->sync($criteriaPaper); }); if (request()->get('email')) { event(new PaperWasFinished($paper)); } return redirect()->action('Admin\\PaperController@index')->with('success', 'paper-evaluated'); }
public function paper($user, $paper) { $user = User::findOrFail($user); $paper = Paper::findOrFail($paper); if (count($user->requests()->where('paper_id', $paper->id)->get())) { $data = ['reviewer_id' => $user->id]; if ($paper->status_id < 2) { $data['status_id'] = 2; } $paper->update($data); event(new ReviewerPaperSet($paper)); return redirect()->action('Admin\\PaperController@index')->with('success', 'reviewer-set'); } return redirect()->action('Admin\\UsersController@index')->with('error', 'access-denied'); }
/** * Show the form for editing the specified resource. * * @param int $id * @return Response */ public function edit($id) { $category = Paper::findOrFail($id); return view('paper.edit', compact('category')); }
public function request(Department $department, $paper) { if (!systemAccess(13)) { return redirect()->action('PaperController@index', [$department->keyword])->with('error', 'access-denied'); } $paper = Paper::findOrFail($paper); $paper->requests()->attach(auth()->user()->id); return redirect()->action('PaperController@index', [$department->keyword])->with('success', 'request-send'); }