/**
  * Show the form for editing the specified resource.
  *
  * @param  int  $id
  * @return Response
  */
 public function edit($id)
 {
     //
     $order = Order::find($id);
     $order_detail = Order_detail::where('order_id', $id)->get();
     $product = Product::all();
     $color = Color::all();
     $size = Size::all();
     return view('backend.pages.order.detail', array('order' => $order, 'detail' => $order_detail, 'product' => $product, 'color' => $color, 'size' => $size));
 }
Beispiel #2
0
 public function changeStatus(Request $request, Order $order, Product $product, $id)
 {
     $input = $request->order_status;
     if ($input == 4) {
         $content = $order->find($id)->content;
         foreach ($content as $item) {
             $product->restIncrement($item->product_id, $item->quantity);
         }
     }
     $order->changeStatus($id, $input);
     $status = $order->find($id)->status->title;
     return redirect()->back()->with('message', "Статус заказа изменен на '{$status}'");
 }
Beispiel #3
0
 protected function paid($orderId, $chargeId)
 {
     $completedOrder = Order::find($orderId);
     $completedOrder->paid = 'paid';
     $completedOrder->charge_id = $chargeId;
     $completedOrder->save();
 }
 /**
  * Merge the orders of a guest with an existing user order
  * @param  [type] $orderID   [description]
  * @param  [type] $sessionID [description]
  * @return bool
  */
 public function mergeOrders($orderID, $sessionID, $request)
 {
     $sessionOrder = Order::findOrFail($sessionID);
     $sessionOrderLines = $sessionOrder->orderlines()->get();
     $userOrder = Order::find($orderID);
     $userOrderLines = $userOrder->orderlines()->get();
     if (count($sessionOrderLines)) {
         foreach ($sessionOrderLines as $sessionOrderLine) {
             if (count($userOrderLines)) {
                 foreach ($userOrderLines as $userOrderLine) {
                     if ($userOrderLine->product_id == $sessionOrderLine->product_id) {
                         $userOrderLine->amount = $sessionOrderLine->amount;
                         $userOrderLine->save();
                         $sessionOrderLine->delete();
                     } else {
                         $sessionOrderLine->order_id = $orderID;
                         $sessionOrderLine->save();
                     }
                 }
             }
             $sessionOrderLine->order_id = $orderID;
             $sessionOrderLine->save();
         }
     }
     $guest = User::find($request->session()->get('user_id'));
     $guest->delete();
     $sessionOrder->delete();
     $request->session()->put('order_id', $orderID);
     $request->session()->forget('user_id');
     return true;
 }
 /**
  *	Updates database to cancel client order
  */
 public function cancel($id)
 {
     $order = Order::find($id);
     $order->status = 'Canceled';
     $order->save();
     return redirect('/user/dashboard/orders_history');
 }
 /**
  *	Recieves an ajax request to download an order
  */
 public function download(Request $request)
 {
     $order = Order::find($request->orderID);
     // create new zip opbject
     $zip = new \ZipArchive();
     // create a temp file & open it
     $tmp_file = tempnam('.zip', '');
     $file_name = $tmp_file;
     $zip->open($tmp_file, \ZipArchive::CREATE);
     if (strcmp($order->type, 'Album Order') == 0) {
         $selections = $order->albumSelections;
         $i = 1;
         //loop through all files
         foreach ($selections as $selection) {
             //add file to the zip
             $zip->addFile(public_path($selection->photo->photo_path_high_res), $i . '.jpg');
             $i++;
         }
     } else {
         $selections = $order->printsSelections;
         $i = 1;
         //loop through all files
         foreach ($selections as $selection) {
             //add file to the zip
             $zip->addFile(public_path($selection->photo->photo_path_high_res), $i . ' ' . $selection->format->format . ' ' . $selection->quantity . '.jpg');
             $i++;
         }
     }
     // close zip
     $zip->close();
     //send the file to the browser as a download
     return response()->download($tmp_file, 'orders.zip')->deleteFileAfterSend(true);
 }
Beispiel #7
0
 public function save(array $options = array())
 {
     $saved = parent::save($options);
     if ($saved) {
         $data = [];
         if (is_array($this->original)) {
             $data = $data + $this->original;
         }
         if (is_array($this->attribute)) {
             $data = $data + $this->attribute;
         }
         $data = $data + $options;
         #here we validate the type and return the source reference
         switch (ActionType::find($data['action_type_id'])->source_type) {
             case 'order':
                 $action = 3;
                 $order = Order::find($data['source_id']);
                 if ($order) {
                     $users = [$order->user_id, $order->seller_id];
                 }
                 break;
         }
         if (isset($users)) {
             Notice::create(['action_type_id' => $action, 'sender_id' => $data['user_id'], 'user_ids' => $users, 'source_id' => $data['source_id']]);
         }
     }
 }
 public function makeOrder(Request $request)
 {
     $validator = $this->validator($request->all());
     if (!isset(\Auth::user()->name)) {
         if ($validator->fails()) {
             return redirect('order/save')->withErrors($validator)->withInput();
         }
     }
     $input = $request->all();
     $cartCollection = Cart::getContent();
     $products = $cartCollection->toArray();
     $productId = array_keys($products);
     if (isset(\Auth::user()->name)) {
         $authUser = \Auth::user();
         $orderSave = Order::create(['telephone' => $authUser->telephone, 'user_name' => $authUser->name, 'email' => $authUser->email, 'adress' => $authUser->adress, 'town' => $authUser->town, 'comment' => $input['comment']]);
     } else {
         $orderSave = Order::create(['telephone' => $input['telephone'], 'user_name' => $input['name'], 'email' => $input['email'], 'adress' => $input['adress'], 'town' => $input['town'], 'comment' => $input['comment']]);
     }
     $order = Order::find($orderSave->id);
     $order->product()->attach($productId);
     foreach ($productId as $rm) {
         Cart::remove($rm);
     }
     return redirect(LaravelLocalization::setLocale() . "/")->with('msg', 'Направихте успешна поръчка. Ще се свържем скоро.');
 }
Beispiel #9
0
 public function edit($id)
 {
     $orders = Order::find($id);
     $orders->viewed = 1;
     $orders->save();
     $products = $orders->product->toArray();
     return view('admin.orders.edit', compact('orders', 'products'));
 }
Beispiel #10
0
 public function changeStatus(ChangeStatusOrderRequest $request)
 {
     $idOrder = $request->input('id');
     //get current status
     $currentStatus = Order::find($idOrder)->status;
     $newStatus = $request->input('status');
     if ($currentStatus == $this::CANCEL) {
         return redirect_errors('Order canceled cannot changer status!');
     }
     if ($currentStatus == $this::PENDING && $newStatus > $this::DELIVERING) {
         return redirect_errors('Order is Pending can only changer Cancel or Delivering status!');
     }
     if ($currentStatus == $this::DELIVERING && $newStatus > $this::DELIVERED && $newStatus < $this::DELIVERING && $newStatus != $this::CANCEL) {
         return redirect_errors('Order is Delivering can only changer Cancel or Delivered status!');
     }
     if ($currentStatus == $this::DELIVERED && $newStatus < $this::DELIVERED && $newStatus != $this::CANCEL) {
         return redirect_errors('Order is Delivered can only changer Cancel or Charged status!');
     }
     if ($currentStatus == $this::CHARGED) {
         return redirect_errors('Order charged cannot changer status!');
     }
     $model = new Order();
     DB::beginTransaction();
     try {
         $order = $model->find(intval($idOrder));
         $order->status = intval($newStatus);
         $order->save();
         //if cancel then qty return
         if ($newStatus == $this::CANCEL) {
             $model = new Order();
             $order = $model->viewOrder($idOrder);
             $details = $order['order']['detail'];
             foreach ($details as $detail) {
                 $qtyReturn = $detail['quantity'];
                 $currentQty = Cd::find($detail['product_id'])->quantity;
                 $currentBuyTime = Cd::find($detail['product_id'])->buy_time;
                 Cd::find($detail['product_id'])->update(['quantity' => $currentQty + $qtyReturn, 'buy_time' => $currentBuyTime + $qtyReturn]);
             }
             //                $customer=User::find('user_id');
             //                if(is_null($customer)){
             //
             //                }
             //                Mail::send('auth.message_order', ['name' => 'you'],
             //                    function ($message) use ($data) {
             //                        $message
             //                            ->to($data['email'], $data['name'])
             //                            ->from('*****@*****.**')
             //                            ->subject('Your order canceled!');
             //                    });
         }
         DB::commit();
         return redirect()->back()->with('success', 'Updated status');
     } catch (\Exception $e) {
         DB::rollback();
         return redirect_errors('Updated Fails!');
     }
 }
Beispiel #11
0
 public function payment(Request $request)
 {
     $id = $request->get("id", 0);
     $order = Order::find($id);
     if (!$order) {
         return "";
     }
     return view("admin.orders.payment")->with('order', $order);
 }
Beispiel #12
0
 public function paysuccess(Request $request)
 {
     $order = $order = Order::find($request->get('oid'));
     if (empty($order)) {
         return $this->failure_noexists();
     }
     $this->_order = $order;
     return $this->view('m.paysuccess');
 }
Beispiel #13
0
 public function showOrder($order_id)
 {
     $order = Order::find($order_id);
     if ($order) {
         $order->items = unserialize($order->items);
         return view('order.details', ['order' => $order]);
     } else {
         return ['status' => '404', 'message' => 'Order not found'];
     }
 }
 public function success(Buckaroo $buckaroo, Request $request)
 {
     $order = Order::find($buckaroo->invoice_nr(Request::all()));
     $order->payed = 1;
     $order->saveitems(Cart::content());
     $order->save();
     $event = Event::fire(new ItemsPurchasedEvent($order, Cart::content()));
     Session::forget('order');
     Cart::destroy();
     return view("shoppingcart.payment-success");
 }
 /**
  * Handle an incoming request.
  *
  * @param  \Illuminate\Http\Request  $request
  * @param  \Closure  $next
  * @return mixed
  */
 public function handle($request, Closure $next)
 {
     if (Auth::check()) {
         $order = \App\Order::find($request->order);
         if ($order->id_user == Auth::user()->id) {
             return $next($request);
         } else {
             return view('errors.404');
         }
     }
 }
 public function updateStatus($id)
 {
     $order = Order::find($id);
     if ($order->status == 0) {
         $order->status = 1;
     } else {
         $order->status = 0;
     }
     $order->save();
     return redirect()->route('admin.orderManagement');
 }
 public function show($id)
 {
     $products = [];
     $order = Order::find($id);
     $order_data = Orderdata::where('order_id', '=', $order->id)->get();
     foreach ($order_data as $item) {
         $products[] = Product::find($item->product_id);
     }
     $user = User::find($order->user_id);
     $viewBag = ['permission' => \Auth::user()->permission->name, 'order' => $order, 'order_data' => $order_data, 'products' => $products, 'user' => $user];
     return \View::make('backend.orders.order', $viewBag);
 }
Beispiel #18
0
 public function view($id)
 {
     $order = Order::find($id);
     $Address = urlencode($order->adresa);
     $request_url = "http://maps.googleapis.com/maps/api/geocode/xml?address=" . $Address . "";
     $xml = simplexml_load_file($request_url) or die("url not loading");
     $status = $xml->status;
     if ($status == "OK") {
         $Lat = $xml->result->geometry->location->lat;
         $Lng = $xml->result->geometry->location->lng;
     }
     return View::make('articles.view', compact('order', 'Lat', 'Lng'));
 }
 /**
  * Display the specified resource.
  *
  * @param  int  $id
  * @return \Illuminate\Http\Response
  */
 public function show($id)
 {
     $order = Order::find($id);
     $items = Order::find($id)->product()->get();
     $sum = 0;
     foreach ($items as $item) {
         $sum += number_format($item->pivot->quantity * $item->price, 2);
     }
     if ($order->status_id == 1) {
         return Redirect::action('CartController@index');
     } else {
         return view('profile.show', ['order' => $order, 'items' => $items, 'sum' => $sum]);
     }
 }
Beispiel #20
0
 /**
  * Store a newly submitted order in storage.
  *
  * @param  \Illuminate\Http\Request  $request
  * @return \Illuminate\Http\Response
  */
 public function submitOrder(Request $request)
 {
     // $this->validate($request, [
     //     'address' => 'required',
     //     'payment' => 'required',
     // ]);
     $now = \Carbon\Carbon::now();
     $id = $request->id;
     $order = Order::find($id);
     $items = Order::find($id)->product()->get();
     foreach ($items as $item) {
         $product = Product::find($item->id);
         $product->inventory = $product->inventory - $item->pivot->quantity;
         $product->save();
     }
     if (!empty($request->street)) {
         $street = $request->street;
         $city = $request->city;
         $state = $request->state;
         $zip = $request->zip;
         $order->address = $street . ', ' . $city . ', ' . $state . ' ' . $zip;
     } else {
         $order->address = $request->address;
     }
     $order->transaction_total = $request->total;
     $order->dateOrdered = $now;
     $order->status_id = 2;
     $order->save();
     $user = Auth::User();
     Stripe::setApiKey(env('STRIPE_TEST_KEY'));
     // Get the credit card details submitted by the form
     $token = $_POST['stripeToken'];
     // Create the charge on Stripe's servers - this will charge the user's card
     $stripeAmount = bcmul($request->total, 100);
     try {
         $charge = \Stripe\Charge::create(array("amount" => $stripeAmount, "currency" => "usd", "source" => $token, "description" => "Sweet Sweet Chocolates"));
     } catch (Card $e) {
         return "We're sorry your credit card has been declined.";
     }
     // return view('email.submitorder', ['order' => $order, 'user' => $user, 'items'=>$items]);
     Mail::send('email.submitorder', ['order' => $order, 'user' => $user, 'items' => $items], function ($m) use($order, $user) {
         $m->from('*****@*****.**', 'Sweet Sweet Chocolates');
         $m->to($user->email, $user->fname . ' ' . $user->lname)->subject('Thank you for your order!');
     });
     Activity::log('Submitted an order.', $user->id);
     $request->session()->flash('status', 'Your order has been submitted!');
     return Redirect::action('ProfileController@index');
 }
 public function detail($id)
 {
     if (Gate::denies('report.pertanggal.penjualan.detail')) {
         return view(config('app.template') . '.error.403');
     }
     $order = Order::find($id);
     if ($order->state == 'Closed') {
         $order->load('tax', 'bayarBank', 'bayar', 'place.place.kategori');
         $orderDetail = OrderDetail::join('produks', 'order_details.produk_id', '=', 'produks.id')->leftJoin('order_detail_returns', 'order_details.id', '=', 'order_detail_returns.order_detail_id')->join('orders', 'order_details.order_id', '=', 'orders.id')->where('orders.id', $id)->select(['produks.nama', 'order_details.harga_jual', DB::raw("(order_details.qty - ifnull(order_detail_returns.qty, 0)) as qty"), DB::raw("(order_details.harga_jual * (order_details.qty - ifnull(order_detail_returns.qty, 0))) as subtotal")])->groupBy('produks.id')->get();
         $orderPlaces = $order->place;
     } else {
         $order->load('merge.orderRef');
     }
     $data = ['order' => $order, 'orderDetail' => isset($orderDetail) ? $orderDetail : [], 'orderPlaces' => isset($orderPlaces) ? $orderPlaces : []];
     return view(config('app.template') . '.report.pertanggal-detail', $data);
 }
 /**
  * Update the specified resource in storage.
  *
  * @param  \Illuminate\Http\Request  $request
  * @param  int  $id
  * @return \Illuminate\Http\Response
  */
 public function update(Request $request, $id)
 {
     $order = Order::find($id);
     $update = $request->only('op', 'meal');
     try {
         if ($update['op'] === 1) {
             $order->meals()->create($update['meal']);
         } else {
             if ($update['op'] === 0) {
                 $order->meals()->destroy($update['meal']['id']);
             }
         }
         return compact('order');
     } catch (Exception $e) {
         return $e;
     }
 }
Beispiel #23
0
 public function index(Request $request)
 {
     $orderId = $request->get('order_id', '');
     if (empty($orderId)) {
         return response()->json(['status' => 'error', 'message' => 'order_id necesario']);
     }
     $order = Order::find($orderId);
     if (!is_null($order)) {
         $tickets = $order->tickets()->get();
         $data = [];
         foreach ($tickets as $ticket) {
             $data[] = ['id' => $ticket->id, 'event' => $ticket->event->name, 'description' => $ticket->description, 'price' => $ticket->price, 'quantity' => $ticket->quantity, 'qr' => asset('qrcodes/' . $ticket->unique . '.png'), 'status' => $ticket->status];
         }
         return response()->json(['status' => 'success', 'message' => '', 'data' => $data]);
     } else {
         return response()->json(['status' => 'error', 'message' => 'no se encontró pedido con el id especificado']);
     }
 }
Beispiel #24
0
 /**
  * Update the specified resource in storage.
  *
  * @param  \Illuminate\Http\Request  $request
  * @param  int  $id
  * @return \Illuminate\Http\Response
  */
 public function update(Request $request, $id)
 {
     // Find the Order
     $order = Order::find($id);
     // Update the data
     $order->store_id = $request->store_id;
     $order->order_date = $request->order_date;
     $order->notes = $request->notes;
     // Update the totals
     $order->updateCost();
     $order->updateRounds();
     // Save it
     $order->save();
     // Update inventory for all Bullets
     Bullet::updateInventory();
     session()->flash('message', 'Order has been saved');
     session()->flash('message-type', 'success');
     return redirect()->action('OrderController@show', [$order->id]);
 }
 /**
  * Handle an incoming request.
  * This middleware ensures that no logged on client can
  * view or order another clients albums.
  * @param  \Illuminate\Http\Request  $request
  * @param  \Closure  $next
  * @return mixed
  */
 public function handle($request, Closure $next)
 {
     $uri = $_SERVER['REQUEST_URI'];
     $tokens = explode('/', $uri);
     if (count($tokens) == 5) {
         $order_id = $tokens[sizeof($tokens) - 1];
     } else {
         $order_id = $tokens[sizeof($tokens) - 2];
     }
     $order = Order::find($order_id);
     if ($order != null) {
         $album = $order->album;
         $album_user = $album->client->user;
     }
     if ($order == null || $request->user()->id != $album_user->id) {
         return redirect('/user/dashboard');
     }
     return $next($request);
 }
 /**
  * Update the specified resource in storage.
  *
  * @param  \Illuminate\Http\Request $request
  * @param $order_id
  * @return \Illuminate\Http\Response
  */
 public function update(Request $request, $order_id)
 {
     if (Auth::user()->id != $this->robot_id) {
         return $this->respondInsufficientPermissions('User not authorized for this request.');
     }
     $validator = Validator::make($request->all(), ['delivery_status' => 'integer', 'delivered_at' => 'date']);
     if ($request['delivered_at']) {
         $request['delivered_at'] = date('Y-m-d H:i:s', strtotime($request['delivered_at']));
     }
     if ($validator->fails()) {
         return $this->respondValidationError($validator->errors(), "Parameters failed validation for an order");
     }
     $order = Order::find($order_id);
     if (!$order) {
         return $this->respondNotFound('Order does not exist.');
     }
     $order->update($request->all());
     return $this->respondUpdated("Order successfully updated.");
 }
 /**
  * Run the database seeds.
  *
  * @return void
  */
 public function run()
 {
     Model::unguard();
     //$this->all(1,5,5);
     //$this->call(SyncStatusSeeder::class);
     //$this->call(OrderStatusSeeder::class);
     //$this->call(UserTypeSeeder::class);
     //        dd(factory(App\OrderDetail::class, 2)->make());
     factory(App\Customer::class, 10)->create();
     factory(App\User::class, 5)->create();
     factory(App\Product::class, 100)->create();
     factory(App\Order::class, 200)->make()->each(function ($o) {
         $id = $o->id;
         $o->save();
         $o = \App\Order::find($id);
         $o->lineItems()->save(factory(\App\OrderDetail::class)->make());
     });
     Model::reguard();
 }
Beispiel #28
0
 /**
  * Cancel order.
  *
  * @param Request $request
  */
 public function postCancel(Request $request)
 {
     $response = ['success' => false];
     $validator = Validator::make($request->all(), ['order_id' => 'required']);
     if (!$validator->fails()) {
         $order_id = (int) Input::get('order_id');
         $order = Order::find($order_id);
         if ($order) {
             $response = Order::cancel($order);
         } else {
             $response['success'] = false;
             $response['error'] = 'Order not found';
         }
     } else {
         $response['success'] = false;
         $response['error'] = $validator->errors()->all();
     }
     return response()->json($response);
 }
Beispiel #29
0
 public function saveOrder(Request $request)
 {
     if ($request->order_id != "") {
         $order = Order::find($request->order_id);
         $customer = Customer::find($order->customer_id);
         $customer->name = $request->name;
         $customer->phone = $request->phone;
         $customer->address = $request->address;
         $order->ship_time = $request->ship_time;
         $order->shipped = $request->order_status;
         $order->note = $request->note;
         $check1 = $customer->save();
         $check2 = $order->save();
         if ($check1 && $check2) {
             return "true";
         } else {
             return "Có lỗi xảy ra. Vui lòng thử lại sau!";
         }
     } else {
         return "NOT_FOUND";
     }
 }
 public function is_disabled($id)
 {
     $product = Product::find($id);
     $orderdetail = OrderDetail::where('product_id', '=', $product->id)->first();
     if (count($orderdetail)) {
         $order = Order::find($orderdetail->ordered_id);
         if ($order->status == 0) {
             echo "<script>\n                        alert('This product is in an Order that HAS NOT paid yet!');\n                        window.history.back();\n                    </script>";
         } else {
             if ($product->is_disabled == 0) {
                 $product->is_disabled = 1;
             } else {
                 $product->is_disabled = 0;
             }
             $product->save();
             return redirect()->route('admin.productManagement');
         }
     } else {
         if ($product->is_disabled == 0) {
             $product->is_disabled = 1;
         } else {
             $product->is_disabled = 0;
         }
         $product->save();
         return redirect()->route('admin.productManagement');
     }
 }