/**
  * Delete a quote.
  * @param \Illuminate\Http\Request $request
  * @return string
  */
 public function destroy(Request $request)
 {
     $quote = Quote::find($request->get('deleteQuote'));
     if ($quote) {
         if ($quote->delete()) {
             Flash::success("Quote deleted");
         } else {
             Flash::error("Oops", "Something went wrong when trying to delete that quote.");
         }
     } else {
         Flash::warning("Oops", "The selected quote couldn't be found; perhaps it's been deleted?");
     }
     return redirect()->back();
 }
예제 #2
0
 /**
  * Store a newly created resource in storage.
  *
  * @param  \Illuminate\Http\Request  $request
  * @return \Illuminate\Http\Response
  */
 public function store(Request $request)
 {
     $order_id = $this->getNewOrderId();
     $pick_id = 'P' . $this->getRandomRackNo();
     $warning = array();
     $error = array();
     $totalPrice = 0;
     $totaProducts = count($request->input('products'));
     foreach ($request->input('products') as $selected_id) {
         //GET Product Price
         $productPrice = $this->dbgetProductPrice($selected_id);
         //GET Bin Location
         $bin = $this->dbgetProductBinLoc($selected_id);
         //GET Distance
         //$psd = $this->dbcalculatePickDistance($bin[0]->bin_location);
         $remarks = $this->dbcalculatePickDistance($bin[0]->bin_location, $totaProducts);
         $finalPrice = $productPrice->price;
         $totalPrice += $finalPrice;
         //QUERY STOCK LEVEL
         $results = $this->dbStockLevel($selected_id);
         if ($results[0]->stock_level != 0) {
             //Prepare to insert data in orders table
             $new_order = array('order_id' => $order_id, 'customer_id' => $request->input('customers'), 'product_id' => $selected_id, 'product_price' => $productPrice->price, 'remarks' => '', 'picking_station' => $bin[0]->picking_id, 'picking_station_distance' => $remarks['value'] . 'm');
             $post = new Orders($new_order);
             $post->save();
             // Saves Warning Message for Low Level Stock
             if ($results[0]->stock == 0) {
                 array_push($warning, $results[0]->product_name);
             }
             //DECREMENT STOCK
             $this->dbUpdateStock($selected_id);
         } else {
             if ($results[0]->stock_level == 0) {
                 array_push($error, $results[0]->product_name);
             }
         }
     }
     //SHOW IF THERE IS ANY WARNING MESSAGES
     $res = count($warning);
     if ($res > 0) {
         foreach ($warning as $re) {
             Flash::warning('Low on stock on: ' . $re);
         }
     }
     //SHOW IF THERE IS ANY ERROR MESSAGES
     $res_e = count($error);
     if ($res_e > 0) {
         foreach ($error as $er) {
             Flash::error('No stock available on: ' . $er);
         }
     }
     //ADD Optimum route to database when empty values
     $order = $this->dbQueryOrders($order_id);
     if (!empty($order) || $order[0]->remarks == '') {
         $add_remarks = $this->getOptimumDistance($order_id);
         DB::table('orders')->where('order_id', $order_id)->update(array('remarks' => $add_remarks));
     }
     #FLASH CLASS
     //Flash::message('Your order has been created!'); //blue
     //Flash::warning('Your order has been created!'); //brown
     //Flash::error('Your order has been created!');  //red
     //Flash::success('Your order has been created!');  //green
     //Flash::info('Your order has been created!');  //light blue
     Flash::success('Your order has been created!');
     return redirect('orders');
 }
 /**
  * Update the specified user in storage.
  * @param  string        $username
  * @param GenericRequest $request
  * @return \Illuminate\Http\Response
  */
 public function update($username, GenericRequest $request)
 {
     $user = User::where('username', $username)->firstOrFail();
     $ownAccount = $user->id == $this->user->id;
     // If performing a general save then validate the inputs and perform the
     // update, setting the account type as necessary. If updating the active
     // user, the restricted attributes will be set to their current values.
     if ($request->get('action') == 'save') {
         $data = $request->stripped('name', 'username', 'nickname', 'email', 'phone', 'dob', 'address', 'tool_colours', 'type') + ['show_email' => $request->has('show_email'), 'show_phone' => $request->has('show_phone'), 'show_address' => $request->has('show_address'), 'show_age' => $request->has('show_age')];
         $data['dob'] = $data['dob'] ?: null;
         if ($ownAccount) {
             $data['username'] = $user->username;
             $data['type'] = $user->type;
         }
         $validator = Validator::make($data, $user->getProfileValidationRules(), $user->getProfileValidationMessages());
         if ($validator->fails()) {
             return redirect()->back()->withInput($data)->withErrors($validator);
         } else {
             if ($user->update($data)) {
                 Flash::success('User updated');
                 return redirect(route('user.index'));
             } else {
                 Flash::error('Something went wrong while updating the user');
                 return redirect(route('user.edit', $username));
             }
         }
     } else {
         if ($request->get('action') == 'archive') {
             if ($ownAccount) {
                 Flash::warning('You cannot archive your own account');
             } else {
                 if ($user->archive()) {
                     Flash::success('User archived');
                 } else {
                     Flash::error('Something went wrong when archiving the user');
                 }
             }
             return redirect(route('user.edit', $username));
         } else {
             if ($request->get('action') == 'unarchive') {
                 if ($user->update(['status' => true])) {
                     Flash::success('User unarchived');
                 } else {
                     Flash::error('Something went wrong when unarchiving the user');
                 }
                 return redirect(route('user.edit', $username));
             } else {
                 if ($request->get('action') == 'change-pic') {
                     $file = $request->file('avatar');
                     if (!$file) {
                         Flash::warning('Please select an image to use');
                     } else {
                         $user->setAvatar($file);
                         Flash::success('Profile picture changed');
                     }
                     return redirect(route('user.edit', $username));
                 } else {
                     if ($request->get('action') == 'remove-pic') {
                         if ($user->hasAvatar()) {
                             $path = base_path('public') . $user->getAvatarUrl();
                             if (is_writeable($path)) {
                                 unlink($path);
                                 Flash::success("Profile picture removed");
                             } else {
                                 Flash::error("The user's picture is not writeable");
                             }
                         }
                         return redirect(route('user.edit', $username));
                     } else {
                         if ($request->get('action') == 'reset-password') {
                             $password = str_random(15);
                             $user->update(['password' => bcrypt($password)]);
                             Flash::success('New password sent');
                             Mail::queue('emails.users.reset_password', ['name' => $user->forename, 'password' => $password], function ($message) use($user) {
                                 $message->subject('Your new password')->to($user->email, $user->name);
                             });
                             return redirect(route('user.edit', $username));
                         } else {
                             return redirect(route('user.edit', $username));
                         }
                     }
                 }
             }
         }
     }
 }
 /**
  * Remove the specified resource from storage.
  * @param  string $slug
  * @return Response
  */
 public function destroy($slug)
 {
     // Delete
     $page = Page::findBySlugOrFail($slug, false);
     $status = $page->delete();
     // Flash message
     if ($status) {
         Flash::success('Page Deleted', "The page '" . $page->title . "' was successfully deleted.");
     } else {
         Flash::error('Error', "Something went wrong while trying to delete the page '" . $page->title . "'.");
     }
     // Redirect
     return redirect(route('page.index'));
 }