Initial commit for intaleq_admin
This commit is contained in:
@@ -43,6 +43,70 @@ class PassengerAdminController extends GetxController {
|
||||
|
||||
Get.back();
|
||||
}
|
||||
// داخل الـController نفسه
|
||||
|
||||
Future<bool> updatePassenger({
|
||||
required String id, // أو مرّر phoneLookup بدل id لو حاب
|
||||
String? firstName,
|
||||
String? lastName,
|
||||
String? phone,
|
||||
}) async {
|
||||
// لا نرسل طلب إذا ما في أي تغيير
|
||||
if ((firstName == null || firstName.trim().isEmpty) &&
|
||||
(lastName == null || lastName.trim().isEmpty) &&
|
||||
(phone == null || phone.trim().isEmpty)) {
|
||||
return false;
|
||||
}
|
||||
|
||||
// فلتر بسيط للأرقام فقط
|
||||
// String _normalizePhone(String s) => s.replaceAll(RegExp(r'\D+'), '');
|
||||
|
||||
final Map<String, dynamic> payload = {
|
||||
'id':
|
||||
id, // لو بدك تستخدم phone_lookup بدل id: احذف هذا وأرسل {'phone_lookup': phoneLookup}
|
||||
};
|
||||
|
||||
if (firstName != null && firstName.trim().isNotEmpty) {
|
||||
payload['first_name'] = firstName.trim();
|
||||
}
|
||||
if (lastName != null && lastName.trim().isNotEmpty) {
|
||||
payload['last_name'] = lastName.trim();
|
||||
}
|
||||
if (phone != null && phone.trim().isNotEmpty) {
|
||||
payload['phone'] = (phone);
|
||||
}
|
||||
|
||||
// حالة تحميل
|
||||
isLoading = true;
|
||||
update();
|
||||
|
||||
try {
|
||||
final res = await CRUD().post(
|
||||
link: AppLink.admin_update_passenger, // عدّل الرابط حسب اسم مسارك
|
||||
payload: payload,
|
||||
);
|
||||
final d = (res);
|
||||
|
||||
final ok = (d['status'] == 'success');
|
||||
if (ok) {
|
||||
// (اختياري) حدّث الكاش/الواجهة — مثلاً أعد الجلب
|
||||
Get.snackbar('Update successful',
|
||||
d['message']?.toString() ?? 'Passenger updated successfully',
|
||||
backgroundColor: AppColor.greenColor);
|
||||
// await getPassengerCount(); // أو حدّث passengersData محليًا إذا متاح
|
||||
} else {
|
||||
// (اختياري) أظهر رسالة خطأ
|
||||
// Get.snackbar('Update failed', d['message']?.toString() ?? 'Unknown error');
|
||||
}
|
||||
return ok;
|
||||
} catch (e) {
|
||||
// Get.snackbar('Error', e.toString());
|
||||
return false;
|
||||
} finally {
|
||||
isLoading = false;
|
||||
update();
|
||||
}
|
||||
}
|
||||
|
||||
void addPassengerPrizeToWalletSecure() async {
|
||||
try {
|
||||
|
||||
Reference in New Issue
Block a user