Updated ERP with new modules and features

This commit is contained in:
Kwesi Banson
2026-09-22 08:06:31 +00:00
parent 71bc103fee
commit 5174e82e51
53 changed files with 3706 additions and 203 deletions

View File

@@ -0,0 +1,63 @@
<?php
namespace App\Http\Controllers;
use App\Models\Server;
use Illuminate\Http\Request;
class ServerController extends Controller
{
public function index()
{
$servers = Server::orderBy('name', 'asc')->paginate(15);
return view('servers.index', compact('servers'));
}
public function store(Request $request)
{
$validated = $request->validate([
'name' => 'required|string|max:255',
'ip_address' => 'required|ip',
'os_version' => 'nullable|string|max:255',
'username' => 'required|string|max:255',
'password' => 'required|string',
'services' => 'nullable|array',
'status' => 'required|in:Active,Inactive,Maintenance',
]);
Server::create($validated);
return response()->json(['success' => true, 'message' => 'Server added successfully.']);
}
// Return server data for the edit modal
public function show($id)
{
$server = Server::findOrFail($id);
return response()->json($server);
}
public function update(Request $request, $id)
{
$server = Server::findOrFail($id);
$validated = $request->validate([
'name' => 'required|string|max:255',
'ip_address' => 'required|ip',
'os_version' => 'nullable|string|max:255',
'username' => 'required|string|max:255',
'password' => 'nullable|string',
'services' => 'nullable|array',
'status' => 'required|in:Active,Inactive,Maintenance',
]);
// If password field is empty, remove it from the array so we don't overwrite the existing one
if (empty($validated['password'])) {
unset($validated['password']);
}
$server->update($validated);
return response()->json(['success' => true, 'message' => 'Server updated successfully.']);
}
}