Perbarui model LokasiPenyaluran dengan mengganti properti alamat menjadi alamatLengkap. Modifikasi tampilan dan controller di modul donatur dan petugas desa untuk menggunakan properti baru ini. Tambahkan fungsionalitas untuk mengelola lokasi penyaluran, termasuk penghapusan dan pengeditan lokasi. Perbarui rute aplikasi untuk menambahkan halaman lokasi penyaluran baru dan pastikan controller terdaftar dengan benar.

This commit is contained in:
Khafidh Fuadi
2025-03-30 20:05:22 +07:00
parent ba3e71efe7
commit 3f78514175
17 changed files with 1706 additions and 715 deletions

View File

@ -3,6 +3,7 @@ import 'package:penyaluran_app/app/data/models/donatur_model.dart';
import 'package:penyaluran_app/app/data/models/petugas_desa_model.dart';
import 'package:penyaluran_app/app/data/models/user_model.dart';
import 'package:penyaluran_app/app/data/models/warga_model.dart';
import 'package:penyaluran_app/app/data/models/lokasi_penyaluran_model.dart';
import 'package:supabase_flutter/supabase_flutter.dart';
import 'dart:io';
@ -1736,6 +1737,33 @@ class SupabaseService extends GetxService {
}
}
// Metode untuk mendapatkan lokasi penyaluran berdasarkan ID petugas
Future<List<LokasiPenyaluranModel>> getLokasiPenyaluran(
{String? petugasId}) async {
try {
var query = client.from('lokasi_penyaluran').select('*');
final response = await query.order('nama');
return response
.map((data) => LokasiPenyaluranModel.fromJson(data))
.toList();
} catch (e) {
print('Error getting lokasi penyaluran: $e');
return [];
}
}
// Metode untuk menghapus lokasi penyaluran
Future<void> deleteLokasiPenyaluran(String lokasiId) async {
try {
await client.from('lokasi_penyaluran').delete().eq('id', lokasiId);
} catch (e) {
print('Error deleting lokasi penyaluran: $e');
throw e.toString();
}
}
// Metode untuk mendapatkan daftar penerima penyaluran berdasarkan ID penyaluran
Future<List<Map<String, dynamic>>?> getPenerimaPenyaluran(
String penyaluranId) async {