Managing View, Edit & Update Profile Details

This commit is contained in:
UronShrestha
2024-07-08 15:27:39 +05:45
parent 49d6315cc4
commit a1835247d6
12 changed files with 424 additions and 16 deletions

View File

@ -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');

View 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();
}
}