Пример #1
0
 /**
  * Store a newly created resource in storage.
  *
  * @param  Requests\PaperRequest $request
  * @return \Illuminate\Http\Response
  */
 public function store(Requests\PaperRequest $request)
 {
     $departmentId = auth()->user()->department_id;
     if ($request->has('department_id') && $this->systemAdmin) {
         $departmentId = $request->get('department_id');
     }
     $department = Department::find($departmentId);
     $this->paper->setUrl($department->keyword);
     if (!in_array($request->get('category_id'), $department->categories->lists('id')->toArray())) {
         return redirect()->back()->with('error', 'department-category');
     }
     $status = $request->get('status_id') ?: 1;
     if ($request->get('reviewer_id')) {
         $status = 2;
     }
     $paperData = ['department_id' => $departmentId, 'category_id' => $request->get('category_id'), 'status_id' => $status, 'reviewer_id' => $request->get('reviewer_id') ?: null, 'user_id' => $request->get('user_id'), 'source' => $this->paper->buildFileName(), 'title' => $request->get('title'), 'description' => $request->get('description'), 'authors' => $request->get('authors'), 'payment_confirmed' => 1, 'payment_description' => $request->get('payment_description'), 'payment_source' => $this->paper->buildInvoiceName()];
     try {
         Paper::create($paperData);
     } catch (\Exception $e) {
         return redirect()->back()->with('error', 'error');
     }
     $this->paper->upload();
     return redirect()->action('Admin\\PaperController@index')->with('success', 'saved');
 }