Пример #1
0
 /**
  * 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'));
 }
Пример #2
0
 /**
  * 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);
 }
Пример #3
0
 /**
  * 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));
 }
Пример #4
0
 /**
  * @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');
 }
Пример #5
0
 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');
 }
Пример #6
0
 /**
  * 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'));
 }
Пример #7
0
 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');
 }