Update: 2026-07-12 18:53:59

This commit is contained in:
Hamza-Ayed
2026-07-12 18:53:59 +03:00
parent 8cd4a4b57e
commit 653d73422f
54 changed files with 2078 additions and 436 deletions
@@ -131,4 +131,52 @@ class TransitAdminController extends GetxController {
Get.snackbar('مواصلاتي', res.message);
}
}
// ── إدارة العقد ───────────────────────────────────────────────
bool isUpdatingContract = false;
Future<bool> updateContractStatus(int orgId, String contractStatus) async {
isUpdatingContract = true;
update();
final res = await TransitAdminService.updateContractStatus(
orgId: orgId, contractStatus: contractStatus);
isUpdatingContract = false;
if (res.success) {
await fetchOrgs();
return true;
}
Get.snackbar('مواصلاتي', res.message);
update();
return false;
}
// ── اعتماد الخطوط ──────────────────────────────────────────────
bool isLoadingPendingRoutes = false;
List<Map<String, dynamic>> pendingRoutes = [];
bool isApprovingRoute = false;
Future<void> fetchPendingRoutes({int? orgId}) async {
isLoadingPendingRoutes = true;
update();
final res = await TransitAdminService.listPendingRoutes(orgId: orgId);
if (res.success) pendingRoutes = res.data ?? [];
isLoadingPendingRoutes = false;
update();
}
Future<bool> approveRoute(int routeId, String action) async {
isApprovingRoute = true;
update();
final res = await TransitAdminService.approveRoute(
routeId: routeId, action: action);
isApprovingRoute = false;
if (res.success) {
pendingRoutes.removeWhere((r) => int.tryParse(r['id'].toString()) == routeId);
update();
return true;
}
Get.snackbar('مواصلاتي', res.message);
update();
return false;
}
}