Managing View, Edit & Update Profile Details
This commit is contained in:
@ -40,6 +40,8 @@ class MainController extends Controller
|
||||
|
||||
public function registerUser(Request $data)
|
||||
{
|
||||
|
||||
// dd($data->all());
|
||||
// Validate the input data
|
||||
$data->validate([
|
||||
'name' => 'required|string|max:255',
|
||||
@ -183,6 +185,31 @@ class MainController extends Controller
|
||||
}
|
||||
}
|
||||
|
||||
public function profile()
|
||||
{
|
||||
if (session()->has('id')) {
|
||||
$user = User::find(session()->get('id'));
|
||||
return view('profile', compact('user'));
|
||||
}
|
||||
return redirect('login');
|
||||
}
|
||||
|
||||
public function updateUser(Request $data)
|
||||
{
|
||||
$user = User::find(session()->get('id'));
|
||||
$user->name = $data->input('name');
|
||||
$user->email = $data->input('email');
|
||||
$user->password = $data->input('password');
|
||||
|
||||
if ($data->file('file') != null) {
|
||||
$user->picture = $data->file('file')->getClientOriginalName();
|
||||
$data->file('file')->move('uploads/profiles/', $user->picture);
|
||||
}
|
||||
if ($user->save()) {
|
||||
return redirect()->back()->with('success', 'User updated successfully!');
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
@ -225,6 +252,8 @@ class MainController extends Controller
|
||||
return view('checkout');
|
||||
}
|
||||
|
||||
|
||||
|
||||
public function shop()
|
||||
{
|
||||
return view('shop');
|
||||
|
75
app/Http/Controllers/StripePaymentController.php
Normal file
75
app/Http/Controllers/StripePaymentController.php
Normal file
@ -0,0 +1,75 @@
|
||||
<?php
|
||||
|
||||
namespace App\Http\Controllers;
|
||||
|
||||
use App\Models\Order;
|
||||
use App\Models\Cart;
|
||||
use App\Models\Products;
|
||||
use App\Models\OrderItem;
|
||||
use Illuminate\Http\Request;
|
||||
use Illuminate\Support\Facades\Session;
|
||||
use Stripe;
|
||||
|
||||
class StripePaymentController extends Controller
|
||||
{
|
||||
/**
|
||||
* success response method.
|
||||
*
|
||||
* @return \Illuminate\Http\Response */
|
||||
public function stripe(Request $data)
|
||||
{
|
||||
$bill = $data->input('bill');
|
||||
$name = $data->input('name');
|
||||
|
||||
$phone = $data->input('phone');
|
||||
$address = $data->input('address');
|
||||
|
||||
return view(
|
||||
'stripe',
|
||||
compact('bill', 'name', 'phone', 'address')
|
||||
);
|
||||
}
|
||||
/**
|
||||
* success response method.
|
||||
*
|
||||
* @return \Illuminate\Http\Response */
|
||||
public function stripePost(Request $request)
|
||||
{
|
||||
Stripe\Stripe::setApiKey(env('STRIPE_SECRET'));
|
||||
Stripe\Charge::create([
|
||||
"amount" => $request->input('bill') * 100,
|
||||
"currency" => "usd",
|
||||
"source" => $request->stripeToken,
|
||||
"description" => "Payment Successfull!"
|
||||
]);
|
||||
Session::flash('success', 'Payment successful!');
|
||||
|
||||
if (session()->has('id')) {
|
||||
$order = new Order();
|
||||
$order->status = "Pending";
|
||||
$order->customerId = session()->get('id');
|
||||
$order->name = $request->input('name');
|
||||
$order->phone = $request->input('phone');
|
||||
$order->address = $request->input('address');
|
||||
$order->bill = $request->input('bill');
|
||||
if ($order->save()) {
|
||||
$cartItems = Cart::where('customerId', session()->get('id'))->get();
|
||||
foreach ($cartItems as $item) {
|
||||
$product = Products::find($item->productId);
|
||||
$orderItem = new OrderItem();
|
||||
$orderItem->orderId = $order->id;
|
||||
$orderItem->productId = $item->productId;
|
||||
$orderItem->quantity = $item->quantity;
|
||||
$orderItem->price = $product->price;
|
||||
|
||||
$orderItem->save();
|
||||
$item->delete();
|
||||
}
|
||||
return redirect('/cart')->back()->with('success', 'Order placed successfully!');
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
return back();
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user