From 29e30d345287b3f2d99a3bac79486f89cc0ce21c Mon Sep 17 00:00:00 2001 From: venbaittech Date: Wed, 25 Jun 2025 11:18:33 +0530 Subject: [PATCH] flight changes --- lib/Screens/itnerary/flights.dart | 39 +++++------ lib/Screens/itnerary/forex.dart | 14 ++-- .../personalDetailsTravelAgent.dart | 5 +- .../create_user/create_user.dart | 67 ++++++------------- .../create_user/traveller_details.dart | 7 +- 5 files changed, 61 insertions(+), 71 deletions(-) diff --git a/lib/Screens/itnerary/flights.dart b/lib/Screens/itnerary/flights.dart index 8c858e2..a378bcc 100644 --- a/lib/Screens/itnerary/flights.dart +++ b/lib/Screens/itnerary/flights.dart @@ -657,27 +657,28 @@ class FlightScreenState extends State { Set seenFrom = {}; Set seenTo = {}; - for (int i = 1; i <= rowCount; i++) { - final fromValue = selectedFrom[i]; - final toValue = selectedTo[i]; - if (fromValue != null) { - if (seenFrom.contains(fromValue)) { - errorMessages["from_place_$i"] = "Duplicate Departure "; - print("Error: from_place_$i duplicates a previous departure"); - } else { - seenFrom.add(fromValue); + if (selectedTripType == "Roundtrip") { + for (int i = 1; i <= rowCount; i++) { + final fromValue = selectedFrom[i]; + final toValue = selectedTo[i]; + if (fromValue != null) { + if (seenFrom.contains(fromValue)) { + errorMessages["from_place_$i"] = "Duplicate Departure "; + print("Error: from_place_$i duplicates a previous departure"); + } else { + seenFrom.add(fromValue); - // errorMessages.remove("from_place_$i"); + // errorMessages.remove("from_place_$i"); + } } - } - - if (toValue != null) { - if (seenTo.contains(toValue)) { - errorMessages["to_place_$i"] = "Duplicate Destination "; - print("Error: to_place_$i duplicates a previous departure"); - } else { - // errorMessages.remove("to_place_$i"); - seenTo.add(toValue); + if (toValue != null) { + if (seenTo.contains(toValue)) { + errorMessages["to_place_$i"] = "Duplicate Destination "; + print("Error: to_place_$i duplicates a previous departure"); + } else { + // errorMessages.remove("to_place_$i"); + seenTo.add(toValue); + } } } } diff --git a/lib/Screens/itnerary/forex.dart b/lib/Screens/itnerary/forex.dart index 2719308..afbc5f2 100644 --- a/lib/Screens/itnerary/forex.dart +++ b/lib/Screens/itnerary/forex.dart @@ -273,11 +273,13 @@ class _ForexScreenState extends State { // Check if card_number has at least 16 digits } - final cardNumber = data["card_number"]?.toString() ?? ''; - if (cardNumber.length < 16) { - // Show error or return false - print("Card number must be 16 digits"); - errorMessages["card_number"] = "Card number must be 16 digits"; + if (!isCardChecked) { + final cardNumber = data["card_number"]?.toString() ?? ''; + if (cardNumber.length < 15) { + // Show error or return false + print("Card number must be 15 digits"); + errorMessages["card_number"] = "Card number must be atleat 15 digits"; + } } // Check validation for each field @@ -2328,6 +2330,8 @@ class _ForexScreenState extends State { ), onChanged: (bool? value) { setState(() { + errorMessages.remove("card_number"); + isChecked = value!; // if (isChecked) { // textControllers["_cardNumber"] diff --git a/lib/Screens/userManagement/create_traveller_agent/personalDetailsTravelAgent.dart b/lib/Screens/userManagement/create_traveller_agent/personalDetailsTravelAgent.dart index 7b2fdc0..75fb9ae 100644 --- a/lib/Screens/userManagement/create_traveller_agent/personalDetailsTravelAgent.dart +++ b/lib/Screens/userManagement/create_traveller_agent/personalDetailsTravelAgent.dart @@ -1291,7 +1291,10 @@ class PersonalDetailsState extends State { searchFieldProps: TextFieldProps( decoration: InputDecoration( hintText: "Search Country...", - contentPadding: EdgeInsets.symmetric(horizontal: 3,vertical: 3), + contentPadding: EdgeInsets.symmetric( + horizontal: 3, + vertical: 3, + ), ), ), ), diff --git a/lib/Screens/userManagement/create_user/create_user.dart b/lib/Screens/userManagement/create_user/create_user.dart index 517e8f4..ef5cf1b 100644 --- a/lib/Screens/userManagement/create_user/create_user.dart +++ b/lib/Screens/userManagement/create_user/create_user.dart @@ -795,28 +795,6 @@ class _CreateUserFormDetialsState extends State { print("All tabs completed!"); // Submit the full form here } - - // if (!isValidData(data)) - // { - // print("USERDETAILS : $userDetials"); - // print("Validation Failed: Required fields are missing."); - // setState(() {}); - // return; // Stop execution if validation fails - // } else - // { - // print("USERDETAILS : $userDetials"); - // - // if (currentIndex < tabKeys.length - 1) { - // // Move to next tab - // setState(() { - // selectedTab = tabKeys[currentIndex + 1]; - // }); - // } else { - // // Already at last tab (travel), maybe submit form or show done message - // print("All tabs completed!"); - // // You can trigger full form submit here - // } - // } } void handleSubmit() async { @@ -1351,30 +1329,29 @@ class _CreateUserFormDetialsState extends State { Row( children: [ apiselectedUser != null - ? Text( "Profile", - style: GoogleFonts.poppins( - fontSize: isDesktop ? 15 : 12, - fontWeight: FontWeight.w600, - color: Colors.black, - ), - ) - : Container( - child: BreadcrumbNavigation( - isDesktop: isDesktop, - breadcrumbItems: [ - BreadcrumbItem( - title: 'Users', - tooltip: 'Go To Users', - onTap: (context) { - context.go("/listUser"); - } - ), - BreadcrumbItem( - title: 'Create New User', - ), - ], - ), + ? Text( + "Profile", + style: GoogleFonts.poppins( + fontSize: isDesktop ? 15 : 12, + fontWeight: FontWeight.w600, + color: Colors.black, ), + ) + : Container( + child: BreadcrumbNavigation( + isDesktop: isDesktop, + breadcrumbItems: [ + BreadcrumbItem( + title: 'Users', + tooltip: 'Go To Users', + onTap: (context) { + context.go("/listUser"); + }, + ), + BreadcrumbItem(title: 'Create New User'), + ], + ), + ), // Text( // apiselectedUser != null ? "Profile" : "Create New User", // style: GoogleFonts.poppins( diff --git a/lib/Screens/userManagement/create_user/traveller_details.dart b/lib/Screens/userManagement/create_user/traveller_details.dart index 01f697a..addc6d7 100644 --- a/lib/Screens/userManagement/create_user/traveller_details.dart +++ b/lib/Screens/userManagement/create_user/traveller_details.dart @@ -282,6 +282,7 @@ class TravellerDetailsState extends State { value, userId, ); + if (response.isNotEmpty) { _clearError(field); errorMessages[field] = response['message'] ?? "$label Already Exists"; @@ -1261,7 +1262,11 @@ class TravellerDetailsState extends State { } Widget buildNationality() { - List nationalityOptions = ["Indian", "International","other nationality"]; + List nationalityOptions = [ + "Indian", + "International", + "other nationality", + ]; return Column( crossAxisAlignment: CrossAxisAlignment.start, children: [