/** * Store a newly created resource in storage. * * @param \Illuminate\Http\Request $request * @return \Illuminate\Http\Response */ public function store(Request $request) { // if (Cart::count() == 0) { $request->session()->flash('alert-danger', 'У Вас пустая корзина. Что бы оформить заказ, наполните её.'); return back()->withInput(); } //IF CART EMPTY //$request->session()->flash('alert-success', 'Конфигурация сохранена!'); //return view('orderConfirm')->with($data); $rules = ['name' => 'required|min:5|max:255', 'tel' => 'required|min:6|max:255', 'mail' => 'required|email']; $nbr = count(Input::file('files')) - 1; foreach (range(0, $nbr) as $index) { $rules['files.' . $index] = 'mimes:jpeg,bmp,png,pdf,psd|max:10000'; } //dd($rules); $validator = Validator::make(Input::all(), $rules); if ($validator->fails()) { //dd($validator); return back()->withErrors($validator)->withInput(); } else { $client = new Clients(); $client->name = $request->name; $client->email = $request->mail; $client->tel = $request->tel; $client->save(); $orderCode = strtoupper(str_random(5)); /*$fp=Purchase::whereCode($orderCode)->isset(); while ($orderCode != $fp->) { # code... }*/ //delivery_city_adr if ($request->delivery_type == 'np') { $city = NPCity::whereRef($request->delivery_city)->first(); } else { if ($request->delivery_type == 'adr') { $city = NPCity::whereRef($request->delivery_city_adr)->first(); } } $order = new Purchase(); $order->client_id = $client->id; $order->code = $orderCode; $order->delivery_type = $request->delivery_type; $order->delivery_city = $city->name; if ($request->delivery_type == 'np') { $order->delivery_np = $request->delivery_np; } if ($request->delivery_type == 'adr') { $order->delivery_adr = $request->delivery_adr; } $order->pay_type = $request->pay_type; $order->comment = $request->comment; $order->save(); $cart = Cart::content(); $itemArr = []; foreach ($cart as $value) { array_push($itemArr, ['order_id' => $order->id, 'product_id' => $value->id, 'qty' => $value->qty]); //echo $value->name; } //dd(null); OrderItems::insert($itemArr); $orderItems = OrderItems::whereOrder_id($order->id)->get(); //dd($orderItems); // new OrderItems; $order->delivery_type == 'np' ? $delivery_type = 'Склад Новая Почта' : ($delivery_type = 'Курьерская доставка по адресу'); //'nal','privat24','privat_terminal','liqpay' switch ($order->pay_type) { case 'nal': $pay_type = 'Наличными'; // code... break; case 'privat24': $pay_type = 'Privat24. Через онлайн-систему для владельцев карт ПриватБанка.'; // code... break; case 'privat_terminal': $pay_type = 'На карту. Через пополнение карты, например через терминал самообслуживания.'; //Через пополнение карты, например через терминал самообслуживания. // code... break; case 'liqpay': $pay_type = 'LiqPay. Через онлайн систему для владельце карт других банков. (+10% комиссия)'; // code... break; default: $pay_type = 'Не указано'; // code... break; } //COUNT QTY //COUNT SUMM $totalCount = $orderItems->sum('qty'); //$totalCount=$orderItems->sum('qty'); $totalSumm = 0; foreach ($orderItems as $value) { // code... if ($value->product_id == 'np') { $totalSumm = $totalSumm + Setting::get('product.np'); } else { if ($value->product_id == 'fast') { $totalSumm = $totalSumm + Setting::get('product.fast'); } else { if ($value->product_id == 'gift') { $totalSumm = $totalSumm + Setting::get('product.gift') * $value->qty; } else { //!strpos($a, 'are') if (strpos($value->product_id, '0000')) { //dd('consist'); $pID = explode('0000', $value->product_id); $option = Options::findOrFail($pID[1]); $product = Products::findOrFail($pID[0]); $productPrice = $option->price; $value->productPrice = $productPrice; $value->productName = $product->name . ' (' . $option->name . ')'; } else { $productPrice = $value->product->price; $value->productPrice = $value->product->price; $value->productName = $value->product->name; } //echo $value->qty."__"; $totalSumm = $totalSumm + $productPrice * $value->qty; } } } } Setting::get('config.logo', Null) ? $logoMain = asset('/files/img/' . Setting::get('config.logo')) : ($logoMain = asset('dist/img/logo.png')); $data = ['orderCode' => $orderCode, 'client' => $client, 'delivery_type' => $delivery_type, 'order' => $order, 'pay_type' => $pay_type, 'orderItems' => $orderItems, 'totalCount' => $totalCount, 'totalSumm' => $totalSumm, 'PageDescr' => Setting::get('config.maindesc'), 'PageWords' => Setting::get('config.mainwords'), 'PageAuthor' => '', 'PageTitle' => Setting::get('config.maintitle'), 'logoMain' => $logoMain, 'totalNavLabel' => $this->totalNavLabel(), 'appURL' => config('app.url')]; //dd($orderItems->toarray()); /* Mail::queue('mail.neworder', $data, function ($message) { $message->from('*****@*****.**', 'Larashop'); $message->subject('LaraShop'); $message->to('*****@*****.**'); }); */ if (!empty(Input::file('files')[0])) { $destinationPath = 'files/uploads/'; // upload path foreach ($request->file('files') as $file) { // code... $extension = $file->getClientOriginalExtension(); // getting image extension $mime = $file->getClientMimeType(); $originalName = $file->getClientOriginalName(); $hash = str_random(40); $fileName = $hash . '.' . $extension; // renameing image $file->move($destinationPath, $fileName); $isimage = 'false'; if (substr($mime, 0, 5) == 'image') { $isimage = 'true'; } $fileDB = OrderFiles::create(['order_id' => $order->id, 'name' => $originalName, 'hash' => $hash, 'mime' => $mime, 'extension' => $extension, 'status' => 'success', 'image' => $isimage]); } } //$DataMail=view('mail.neworder')->with($data)->render(); //dd($DataMail); Cart::destroy(); Mail::queue('mail.neworder', $data, function ($message) use($client) { $message->from(Setting::get('config.email'), Setting::get('config.sitename')); $message->subject(Setting::get('config.sitename') . ' - НОВЫЙ ЗАКАЗ'); $message->to($client['email']); }); Mail::queue('mail.neworder', $data, function ($message) use($client) { $message->from(Setting::get('config.email'), Setting::get('config.sitename')); $message->subject(Setting::get('config.sitename') . ' - НОВЫЙ ЗАКАЗ'); $message->to(Setting::get('config.email')); }); return view('orderConfirm')->with($data); } }
public function destroyElement(Request $request, $id) { //dd($request->el); $item = OrderItems::where('order_id', $id)->where('id', $request->el)->first(); $item->delete(); }
public function showCheckByCode($id) { Setting::get('config.logo', Null) ? $logoMain = asset('/files/img/' . Setting::get('config.logo')) : ($logoMain = asset('dist/img/logo.png')); //$info=Info::find('1'); $order = Purchase::whereCode($id)->firstorfail(); $client = $order->client; $orderItems = OrderItems::whereOrder_id($order->id)->get(); $order->delivery_type == 'np' ? $delivery_type = 'Склад Новая Почта' : ($delivery_type = 'Курьерская доставка по адресу'); //'nal','privat24','privat_terminal','liqpay' switch ($order->pay_type) { case 'nal': $pay_type = 'Наличными'; // code... break; case 'privat24': $pay_type = 'Privat24. Через онлайн-систему для владельцев карт ПриватБанка.'; // code... break; case 'privat_terminal': $pay_type = 'На карту. Через пополнение карты, например через терминал самообслуживания.'; //Через пополнение карты, например через терминал самообслуживания. // code... break; case 'liqpay': $pay_type = 'LiqPay. Через онлайн систему для владельце карт других банков. (+10% комиссия)'; // code... break; default: $pay_type = 'Не указано'; // code... break; } if ($order->status == 'paid') { $pay_status = '<span class=\'label label-warning\'> Оплачено, ожидает отправку.</label>'; } else { if ($order->status == 'sent') { $pay_status = '<span class=\'label label-success\'> Отправлено получателю.</span>'; } else { $pay_status = '<span class=\'label label-primary\'> Новый заказ, ожидает оплату.</span>'; } } $totalCount = $orderItems->sum('qty'); //$totalCount=$orderItems->sum('qty'); $totalSumm = 0; foreach ($orderItems as $value) { // code... if ($value->product_id == 'np') { $totalSumm = $totalSumm + Setting::get('product.np'); } else { if ($value->product_id == 'fast') { $totalSumm = $totalSumm + Setting::get('product.fast'); } else { if ($value->product_id == 'gift') { $totalSumm = $totalSumm + Setting::get('product.gift') * $value->qty; } else { //echo $value->qty."__"; $totalSumm = $totalSumm + $value->product->price * $value->qty; } } } } $data = ['PageDescr' => Setting::get('config.maindesc'), 'PageWords' => Setting::get('config.mainwords'), 'PageAuthor' => '', 'PageTitle' => Setting::get('config.maintitle'), 'logoMain' => $logoMain, 'findflag' => true, 'pay_status' => $pay_status, 'orderCode' => $id, 'client' => $client, 'delivery_type' => $delivery_type, 'order' => $order, 'totalNavLabel' => $this->totalNavLabel(), 'pay_type' => $pay_type, 'orderItems' => $orderItems, 'totalCount' => $totalCount, 'totalSumm' => $totalSumm]; return view('check')->with($data); }