Skip to content
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
35 changes: 18 additions & 17 deletions lib/provider/approve_packets_provider.dart
Original file line number Diff line number Diff line change
Expand Up @@ -32,7 +32,7 @@ class ApprovePacketsProvider with ChangeNotifier {

void getAllReasonList(String langCode) async {
List<String?> responseReasonList =
await SyncResponseServiceImpl().getReasonList(langCode);
await SyncResponseServiceImpl().getReasonList(langCode);
reasonList = responseReasonList;
log(reasonList.toString());
notifyListeners();
Expand Down Expand Up @@ -71,35 +71,35 @@ class ApprovePacketsProvider with ChangeNotifier {

void getTotalCreatedPackets() async {
List<String?> allPackets =
await PacketServiceImpl().getAllCreatedRegistrationPacket();
await PacketServiceImpl().getAllCreatedRegistrationPacket();
totalCreatedPackets = allPackets.length;
notifyListeners();
}

void getPackets() async {
List<Map<String, Object>> oldPackets = List.from(packetsList);
packetsList.clear();
matchingSelected.clear();
matchingPackets.clear();
countSelected = 0;
searchList = "";

List<String?> allPackets =
await PacketServiceImpl().getAllCreatedRegistrationPacket();
await PacketServiceImpl().getAllCreatedRegistrationPacket();
totalCreatedPackets = allPackets.length;

// Getting all packets
for (var element in allPackets) {
Registration reg = Registration.fromJson(json.decode(element ?? ""));
String review = ReviewStatus.NOACTIONTAKEN.name;
String reviewComment = "";
for (var oldPacket in oldPackets) {
Registration oldReg = oldPacket['packet'] as Registration;
if (reg.packetId == oldReg.packetId) {
review = oldPacket['review_status'] as String;
reviewComment = oldPacket['review_comment'] as String;
}

// Read review status from secure storage
String? savedStatus = await storage.read(key: 'review_${reg.packetId}');
if (savedStatus != null) {
review = savedStatus;
reviewComment = savedStatus == ReviewStatus.APPROVED.name ? "Approved" : "Rejected";
}

packetsList.add({
"packet": reg,
"review_status": review,
Expand All @@ -112,7 +112,6 @@ class ApprovePacketsProvider with ChangeNotifier {
matchingPackets.add(element);
}

log("GOT ALL PACKETS : $matchingPackets");
notifyListeners();
}

Expand Down Expand Up @@ -169,7 +168,7 @@ class ApprovePacketsProvider with ChangeNotifier {
if (regReview != ReviewStatus.NOACTIONTAKEN.name) {
await packetService.supervisorReview(
regPacket.packetId, regReview, regComment);
await storage.delete(key: regPacket.packetId);
await storage.delete(key: 'review_${regPacket.packetId}');
}
}
}
Expand Down Expand Up @@ -200,8 +199,9 @@ class ApprovePacketsProvider with ChangeNotifier {
}
}

// Save to secure storage for persistence
await storage.write(key: 'review_$packetId', value: ReviewStatus.REJECTED.name);
selectedReason = null;
log("rejected");
notifyListeners();
}

Expand All @@ -227,11 +227,12 @@ class ApprovePacketsProvider with ChangeNotifier {
}
}

log("Approved");
// Save to secure storage for persistence
await storage.write(key: 'review_$packetId', value: ReviewStatus.APPROVED.name);
notifyListeners();
}

void clearReview(String packetId) {
Future<void> clearReview(String packetId) async {
for (int i = 0; i < packetsList.length; i++) {
Registration reg = packetsList[i]["packet"] as Registration;
if (reg.packetId == packetId) {
Expand All @@ -249,14 +250,14 @@ class ApprovePacketsProvider with ChangeNotifier {
matchingSelected[i] = false;
countSelected -= 1;
}

matchingPackets[i] = {
"packet": reg,
"review_status": ReviewStatus.NOACTIONTAKEN.name,
"review_comment": "",
};
}
}
await storage.delete(key: 'review_$packetId');
notifyListeners();
}
}
}