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

@@ -79,6 +79,8 @@ class NetworkOperatorsController extends Controller
$request->validate([
'name' => 'required|string|max:200',
'country' => 'required|string',
'contract_auto_renew' => 'required|boolean',
'next_renewal_date' => 'nullable|required_if:contract_auto_renew,0|date',
]);
$operator->update([
@@ -98,6 +100,10 @@ class NetworkOperatorsController extends Controller
'rate_type' => $request->rate_type,
'payment_terms' => $request->payment_terms,
'connection_type' => $request->connection_type,
'contract_type' => $request->contract_type,
'contract_validity' => $request->contract_validity,
'contract_auto_renew' => $request->contract_auto_renew,
'next_renewal_date' => $request->contract_auto_renew ? null : $request->next_renewal_date,
]);
return response()->json(['message' => 'MNO Partner updated successfully!']);
@@ -112,7 +118,8 @@ class NetworkOperatorsController extends Controller
public function show($id)
{
$operator = NetworkOperator::findOrFail($id);
return view('network_operators.show', compact('operator'));
$staffMembers = \App\Models\StaffMember::orderBy('name')->get();
return view('network_operators.show', compact('operator', 'staffMembers'));
}
public function storeConnection(Request $request, $operatorId)
@@ -171,5 +178,45 @@ class NetworkOperatorsController extends Controller
return redirect()->back()->with('success', 'Connection detail removed.');
}
public function storeDocument(Request $request, $operatorId)
{
$request->validate([
'document_names' => 'required|array',
'document_names.*' => 'required|string|max:255',
'documents' => 'required|array',
'documents.*' => 'required|file|mimes:pdf,doc,docx,xlsx,xls,png,jpg,jpeg|max:10240', // 10MB limit
]);
foreach ($request->document_names as $index => $name) {
if ($request->hasFile("documents.$index")) {
$filePath = $request->file("documents.$index")->store('mno_documents', 'public');
\App\Models\NetworkOperatorDocument::create([
'network_operator_id' => $operatorId,
'name' => $name,
'file_path' => $filePath,
]);
}
}
return response()->json([
'success' => true,
'message' => 'Documents uploaded successfully!'
]);
}
public function destroyDocument($id)
{
$document = \App\Models\NetworkOperatorDocument::findOrFail($id);
// Optionally delete the file from storage
if (\Illuminate\Support\Facades\Storage::disk('public')->exists($document->file_path)) {
\Illuminate\Support\Facades\Storage::disk('public')->delete($document->file_path);
}
$document->delete();
return redirect()->back()->with('success', 'Document deleted successfully.');
}
}