File: /var/www/vaspayment.com/app/Http/Controllers/BillerController.php
<?php
namespace App\Http\Controllers;
use App\Models\Product;
use Illuminate\Support\Str;
use Illuminate\Http\Request;
use App\Models\ProductCategory;
class BillerController extends Controller
{
public function __construct()
{
if (config('app.verification') === true) {
$this->middleware(['auth', 'verified', 'agent']);
} else {
$this->middleware(['auth', 'agent']);
}
}
public function product()
{
$products = Product::paginate(10);
return view('biller.products', compact('products'));
}
public function storeProduct(Request $request)
{
$request->validate([
'name' => 'required|string|unique:products|max:100',
'status' => 'required|string|max:100',
'commission' => 'required|string|max:100',
'icon' => 'required|string|max:100',
]);
$product = new Product;
$product->name = $request->input('name');
$product->slug = Str::slug($request['name'], '-');
$product->status = $request->input('status');
$product->commission = $request->input('commission');
$product->icon = $request->input('icon');
$product->save();
return redirect()->back()->with('status', 'Product added');
}
public function updateProduct(Request $request, Product $product)
{
$request->validate([
'name' => 'required|string|max:100',
'status' => 'required|string|max:100',
'commission' => 'required|string|max:100',
'icon' => 'required|string|max:100',
]);
$product->name = $request->input('name');
$product->status = $request->input('status');
$product->commission = $request->input('commission');
$product->icon = $request->input('icon');
$product->save();
return redirect()->back()->with('status', 'Product updated');
}
public function destroyProduct(Product $product)
{
$product->delete();
return redirect()->back()->with('status', 'Product Deleted');
}
}