done lots of work till now

This commit is contained in:
ghassan committed 2026-01-28 03:37:51 +03:00
1 parent a7434e33d7
commit c87c4bfd6d
10 files changed
+256 -116

No files matched your search

@@ -56,6 +56,11 @@ class RegisteredUserController extends Controller
'nationality' => $request->nationality,
]);
// Assign super-admin role to the first registered user
if (User::count() === 1) {
$user->assignRole('super-admin');
}
event(new Registered($user));
// Send welcome email
+18 -4
View File
@@ -18,12 +18,26 @@ class InvoiceController extends Controller
*
* @return \Illuminate\View\View
*/
public function index()
public function index(Request $request)
{
$user = Auth::user();
$invoices = Invoice::where('payer_user_id', $user->id)
->with(['student', 'tenant'])
->get();
$query = Invoice::where('payer_user_id', $user->id)
->with(['student', 'tenant']);
// Filter by status
if ($request->has('status') && in_array($request->status, ['pending', 'paid'])) {
$query->where('status', $request->status);
}
// Filter by date range
if ($request->has('start_date') && $request->start_date) {
$query->where('due_date', '>=', $request->start_date);
}
if ($request->has('end_date') && $request->end_date) {
$query->where('due_date', '<=', $request->end_date);
}
$invoices = $query->get();
return view('invoices.index', compact('invoices'));
}
+52
View File
@@ -667,6 +667,58 @@ class MemberController extends Controller
return response()->json(['success' => true, 'message' => 'Goal updated successfully']);
}
/**
* Confirm and remove the specified member from storage.
*
* @param \Illuminate\Http\Request $request
* @param int $id
* @return \Illuminate\Http\RedirectResponse
*/
public function confirmDelete(Request $request, $id)
{
$validated = $request->validate([
'confirm_name' => 'required|string',
]);
$user = Auth::user();
// Check if user is super-admin
$isSuperAdmin = $user->hasRole('super-admin');
// Prevent deleting own account
if ($user->id == $id) {
return redirect()->back()
->with('error', 'You cannot delete your own account.');
}
// For regular users, verify family relationship exists
if (!$isSuperAdmin) {
UserRelationship::where('guardian_user_id', $user->id)
->where('dependent_user_id', $id)
->firstOrFail();
}
$member = User::findOrFail($id);
// Verify the confirmation name matches
if ($validated['confirm_name'] !== $member->full_name) {
return redirect()->back()
->with('error', 'Confirmation name does not match. Account deletion cancelled.');
}
$memberName = $member->full_name;
$member->delete();
// Redirect based on user type
if ($isSuperAdmin) {
return redirect()->route('admin.platform.members')
->with('success', $memberName . ' has been removed successfully.');
}
return redirect()->route('members.index')
->with('success', 'Member removed successfully.');
}
/**
* Remove the specified member from storage.
*