/**
  * Store a newly created resource in storage.
  *
  * @param  \Illuminate\Http\Request  $request
  * @return \Illuminate\Http\Response
  */
 public function store(Request $request, \App\Product $productModel, \App\Category $categoryModel)
 {
     $image_name = $productModel->generateUniqueImageName();
     $this->saveImage($request->get('image'), $image_name);
     $newProduct = $productModel->newInstance($request->all());
     $newProduct->photo = $image_name;
     $newProduct->save();
     $completeCategories = $categoryModel->getFullCategoryList($request->get('categories'));
     $newProduct->categories()->sync($completeCategories);
     return redirect(route('products.index'));
 }