コード例 #1
0
ファイル: CartController.php プロジェクト: hungnt167/CDShop
 public function removeItem(RemoveItemRequest $request)
 {
     $idRow = Input::get('idrow');
     //check exist
     if (is_object(Cart::get($idRow))) {
         Cart::remove($idRow);
         return redirect()->back()->with('success', 'Removed item!');
     } else {
         return redirect_errors('You haven"t this Item!');
     }
 }
コード例 #2
0
 public function destroy(DestroyFormatCDRequest $request)
 {
     //get Data
     $dataRequest = $request->all();
     $model = new Format_cd();
     if ($model->where('id', $dataRequest['id'])->update(['status' => Format_cd::HIDE])) {
         return redirect()->back()->with('success', 'Delete!');
     } else {
         return redirect_errors('Have error, cannot delete!');
     }
 }
コード例 #3
0
ファイル: ArtistController.php プロジェクト: hungnt167/CDShop
 public function update(UpdateArtistRequest $request)
 {
     $dataRequest = $request->all();
     $model = Artist::where('id', $dataRequest['id'])->first()->toArray();
     if (!is_null(Input::file('image'))) {
         $upload = new UploadImage();
         $image = Input::file('image');
         //Check has Avt
         if ($upload->_upload($model['avatar'], $image)) {
             $dataRequest['avatar'] = $upload->name;
             return redirect_errors('Error Update Image!');
         }
     }
     Artist::where('id', $dataRequest['id'])->update($dataRequest);
     return redirect()->back()->with('success', "Update!");
 }
コード例 #4
0
 public function order()
 {
     //get Session option
     $option = Session::get('option');
     //get Cart
     $cart = Cart::content();
     //get type order
     $type = $option['type'];
     //payment method
     $payMethod = Session::get('pay_med');
     if ($option['type'] == 'logged') {
         $order = new Order();
         DB::beginTransaction();
         try {
             $idUser = array_get(session('user'), 'id');
             $order->user_id = $idUser;
             $order->delivery_detail_id = 0;
             $order->comment = $payMethod['comment'];
             $order->save();
             $idOrder = Order::where('user_id', $idUser)->orderBy('id', 'desc')->first()->id;
             //add order detail and sub amount of product
             foreach ($cart as $item) {
                 $root_price = Cd::find($item['id'])->root_price;
                 $modelOrderDetail = new OrderDetail();
                 $modelOrderDetail->order_id = $idOrder;
                 $modelOrderDetail->product_id = $item['id'];
                 $modelOrderDetail->quantity = $item['qty'];
                 $modelOrderDetail->root_price = $root_price;
                 $modelOrderDetail->price = $item->price;
                 $modelOrderDetail->save();
                 //sub qty product
                 $cd = Cd::find($item['id']);
                 if ($cd->quantity - $item['qty'] <= 0) {
                     throw new QtyCDException();
                 }
                 $cd->quantity = $cd->quantity - $item['qty'];
                 $cd->buy_time = $cd->buy_time + $item['qty'];
                 $cd->save();
             }
             DB::commit();
             $this->clear();
             return redirect_success('FrontendController@index', 'Ordered, Check your email to check detail');
         } catch (QtyCDException $e) {
             DB::rollback();
             return redirect_errors($e->notify());
         } catch (\Exception $e) {
             DB::rollback();
             return redirect_errors("Sorry cannot to this deal!");
         }
     } else {
         $deliveryDetail = Session::get('shi_add');
         $order = new Order();
         $modelDeliverDetail = new DeliveryDetail();
         $modelDeliverDetail = autoAssignDataToProperty($modelDeliverDetail, $deliveryDetail);
         //            dd($modelDeliverDetail);
         DB::beginTransaction();
         try {
             $orderHuman = $modelDeliverDetail;
             $modelDeliverDetail->save();
             $newDeliverDetail = new DeliveryDetail();
             $delivery = $newDeliverDetail->getDeliveryDetail($deliveryDetail);
             $order->user_id = 0;
             $order->delivery_detail_id = $delivery->id;
             $order->comment = $payMethod['comment'];
             $order->save();
             $idOrder = Order::where('delivery_detail_id', $delivery->id)->first()->id;
             //add order detail and sub amount of product
             foreach ($cart as $item) {
                 $modelOrderDetail = new OrderDetail();
                 $modelOrderDetail->order_id = $idOrder;
                 $modelOrderDetail->product_id = $item['id'];
                 $modelOrderDetail->quantity = $item['qty'];
                 $modelOrderDetail->price = $item['price'];
                 $modelOrderDetail->save();
                 //
                 $cd = Cd::find($item['id']);
                 if ($cd->quantity - $item['qty'] <= 0) {
                     throw new QtyCDException();
                 } else {
                     $cd->quantity = $cd->quantity - $item['qty'];
                 }
             }
             DB::commit();
             $this->clear();
             //send
             //                Mail::send('auth.mail_welcome', ['last_name' => $orderHuman->lastname, 'key' => $key_active, 'password' => $pass], function ($message) use ($data) {
             //                    $message
             //                        ->to($data['email'], $data['name'])
             //                        ->from('*****@*****.**')
             //                        ->subject('Thank you for your buying!');
             //                });
             return redirect_success('FrontendController@index', 'Ordered, Check your email to check detail');
         } catch (QtyCDException $e) {
             DB::rollback();
             return redirect_errors($e->notify());
         } catch (\Exception $e) {
             DB::rollback();
             return redirect_errors("Sorry cannot to this deal!");
         }
     }
 }
コード例 #5
0
ファイル: AuthController.php プロジェクト: hungnt167/CDShop
 public function resetPassword(ResetPassword $request)
 {
     //getDataRequest
     $getDataRequest = $request->all();
     $ck = User::where('email', $getDataRequest['email'])->where('status', User::ACTIVED_STATUS)->count();
     //check active
     if ($ck == 0) {
         return redirect_errors('Account active yet!');
     }
     //get User data
     $user = User::where('email', $getDataRequest['email'])->get(['name', 'key_active', 'remember_token'])->first()->toArray();
     //gen new pass
     $newPass = str_random(8);
     $codePass = md5($newPass . md5($user['remember_token']));
     //put into array data
     $data = ['name' => $user['name'], 'email' => $getDataRequest['email'], 'password' => $newPass];
     //update User and check update
     if ($user = User::where('email', $getDataRequest['email'])->update(['password' => $codePass, 'key_active' => str_random(30)])) {
         Mail::send('auth.mail_repass', ['name' => $data['name'], 'password' => $newPass], function ($message) use($data) {
             $message->to($data['email'], $data['name'])->from('*****@*****.**')->subject('Reset Password TopMp3!');
         });
         return redirect_success('AuthController@getLogin', 'Check your email ' . $data['email'] . ' to check new password!');
     } else {
         return redirect_errors('Have error!');
     }
     //end check update
 }
コード例 #6
0
 public function destroy(DestroyAccountRequest $request)
 {
     $id = Input::get('id');
     $model = new User();
     $model->where('role_id', '!=', Role::SA_ROLE_ID)->where('role_id', '!=', Role::CUS_ROLE_ID)->where('id', $id)->first();
     if ($model->where('role_id', '!=', Role::SA_ROLE_ID)->where('role_id', '!=', Role::CUS_ROLE_ID)->where('id', $id)->count() > 0) {
         UploadImage::removeImage($model->where('id', $id)->first()->avatar);
         $model->where('id', $id)->delete();
         return redirect()->back()->with('success', "Deleted!");
     } else {
         return redirect_errors('Cannot remove Super Admin');
     }
 }
コード例 #7
0
 public function destroy(DestroyProductRequest $request)
 {
     $id = Input::get('id');
     //check delete
     if (Cd::find($id)->update(['status' => Cd::IN_ACTIVE])) {
         return redirect()->back()->with('success', 'Deleted');
     } else {
         return redirect_errors('Have error,Cannot delete');
     }
     //end check delete
 }
コード例 #8
0
 public function destroy(Request $request)
 {
     //get Data
     $dataRequest = $request->all();
     $data = ['id' => $dataRequest['id'], 'name' => $dataRequest['name']];
     //validate
     if (!is_null($data['id']) && !empty($data['id'])) {
         if (!is_null($data['name']) && !empty($data['name'])) {
             $model = new Price_group();
             if ($model->where('id', $dataRequest['id'])->delete()) {
                 return redirect()->back()->with('success', 'Delete!');
             } else {
                 return redirect_errors('Have error, cannot delete!');
             }
         } else {
             return redirect_errors('Have error, invalid name!');
         }
     } else {
         return redirect_errors('Have error, invalid id type!');
     }
     //end validate
 }
コード例 #9
0
ファイル: OrderController.php プロジェクト: hungnt167/CDShop
 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!');
     }
 }