Update: 2026-07-12 18:53:59
This commit is contained in:
@@ -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;
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user