| Server IP : 139.59.63.204 / Your IP : 216.73.217.62 Web Server : Apache/2.4.58 (Ubuntu) System : Linux ubuntu-s-1vcpu-1gb-blr1-01 6.8.0-110-generic #110-Ubuntu SMP PREEMPT_DYNAMIC Thu Mar 19 15:09:20 UTC 2026 x86_64 User : root ( 0) PHP Version : 8.3.6 Disable Function : NONE MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : OFF | Sudo : ON | Pkexec : OFF Directory : /var/www/crmapp/app/Http/Controllers/ |
Upload File : |
<?php
namespace App\Http\Controllers;
use App\Models\User;
use Illuminate\Support\Facades\Hash;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\DB;
class UsersController extends Controller
{
// Show all users
public function index()
{
// fetch all users
$users = User::whereNotIn('role', ['customer'])->paginate();
// pass to view
return view('users.index', compact('users'));
}
public function customers()
{
// fetch all users
$users = User::whereIn('role', ['customer'])->paginate();
// pass to view
return view('users.customers', compact('users'));
}
public function customerview($id)
{
$user = User::findOrFail($id);
$products = DB::table('productrequests')
->join('serialnumbers', 'productrequests.serialnumber_id', '=', 'serialnumbers.id')
->join('products', 'serialnumbers.product_id', '=', 'products.id')
->where('productrequests.customer_id', $id)
->select('productrequests.*', 'products.name as product_name', 'products.model_number', 'serialnumbers.serial_number')
->get();
$tickets = DB::table('tickets')
->where('customer_id', $id)
->get();
return view('users.customerview', compact('user', 'products', 'tickets'));
}
public function customerdelete($id)
{
$user = User::findOrFail($id);
$user->delete();
return redirect()->route('users.customers')->with('success', 'Customer deleted successfully');
}
public function customeredit($id)
{
$user = User::findOrFail($id);
$roles = ['customer'];
return view('users.customeredit', compact('user', 'roles'));
}
public function customerstore(Request $request, $id) {
$user = User::findOrFail($id);
$request->validate([
'name' => 'required|string|max:255',
]);
$user->update([
'name' => $request->name,
'phone' => $request->phone,
'address' => $request->address,
]);
return redirect()->route('users.customers')->with('success', 'Customer updated successfully');
}
public function create()
{
$roles = ['admin','marketing','sales','backend','support'];
return view('users.create', compact('roles'));
}
public function store(Request $request) {
$request->validate([
'name' => 'required|string|max:255',
'email' => 'required|email|unique:users,email',
'role' => 'required',
]);
$user = User::create([
'name' => $request->name,
'email' => $request->email,
'role' => $request->role,
'password' => Hash::make('12345678'), // default password
]);
return redirect()->route('users.index')->with('success', 'User created successfully');
}
public function userstore(Request $request, $id) {
$user = User::findOrFail($id);
$request->validate([
'name' => 'required|string|max:255',
]);
$user->update([
'name' => $request->name,
'phone' => $request->phone,
'address' => $request->address,
'role' => $request->role,
]);
return redirect()->route('users.index')->with('success', 'user updated successfully');
}
public function edit($id)
{
$roles = ['admin','marketing','sales','backend','support'];
$user = User::findOrFail($id);
return view('users.edit', compact('user','roles'));
}
public function view($id)
{
$user = User::findOrFail($id);
$user = User::findOrFail($id);
return view('users.view', compact('user'));
}
public function delete($id)
{
$user = User::findOrFail($id);
$user->delete();
return redirect()->route('users.index')->with('success', 'User deleted successfully');
}
}