/** * Show the form for creating a new resource. * * @return Response */ public function create($orderId) { $order = Order::whereId($orderId)->select('id', 'type')->first(); $user = \Auth::user(); if ($user) { //If a user is not trusted, send the error. Avoiding direct access routes to action by invalid user if (!$user->isTrusted()) { return redirect()->route('orders.show_cart', [$order->id])->withErrors(trans('freeproduct.unauthorized_access')); } //You can create free product from a sort order cart or wish list if ($order->type != 'cart' && $order->type != 'wishlist') { return redirect()->route('orders.show_cart', [$order->id])->withErrors(trans('freeproduct.order_type_invalid')); } //As is authorized to create, I check order detail $order_content = OrderDetail::where('order_id', $order->id)->get(); //Sumatorial the total order to validate that the free product creator has enough points for the transaction $total_points = 0; foreach ($order_content as $orderDetail) { $product = Product::whereId($orderDetail->product_id)->select('id', 'price')->first(); $total_points += $orderDetail->quantity * $product->price; } if ($user->current_points < $total_points) { return redirect()->route('orders.show_cart')->withErrors(['main_error' => [trans('store.cart_view.insufficient_funds')]]); } $jsonOrder = json_encode($order_content->toArray()); $panel = $this->panel; return view('freeproducts.create', compact('jsonOrder', 'panel', 'orderId')); } else { return redirect()->route('products')->withErrors(trans('freeproduct.unauthorized_access')); } }
public function update($id, $product) { Product::whereId($id)->update(['number' => $product['number'], 'name' => $product['name'], 'manufacturer_id' => $product['manufacturer_id'], 'model' => $product['model'], 'category_id' => $product['category_id'], 'price' => $product['price'], 'processor' => $product['processor'], 'memory' => $product['memory'], 'hdd' => $product['hdd'], 'graphics' => $product['graphics'], 'screen' => $product['screen'], 'optical' => $product['optical']]); }
/** * Update the specified resource in storage. * * @param \Illuminate\Http\Request $request * @param int $id * @return \Illuminate\Http\Response */ public function update(Request $request, Product $products) { // $data = $request->all(); unset($data['_token']); unset($data['_method']); $data['created_by'] = \Auth::user()->id; $data['updated_by'] = \Auth::user()->id; $data['is_active'] = 1; if (Input::file('image')) { $destinationPath = 'img/product'; // upload path $extension = Input::file('image')->getClientOriginalExtension(); // getting image extension $fileName = rand(11111, 99999) . '.' . $extension; // renameing image $data['photo'] = $fileName; Input::file('image')->move($destinationPath, $fileName); // uploading file to given path } unset($data['image']); $products->whereId(Input::get('id'))->update($data); return Redirect::route('products.index'); }
public function showProduct($id) { $product = Product::whereId($id)->first(); $setting = Setting::first(); return view('sites.showProduct', compact('product', 'setting')); }