bug fixes for api error messages

export_module_ui_ux_enhancement_signup
WaseemAbbasi22 1 week ago
parent f116c96578
commit 61472df110

@ -56,6 +56,15 @@ class SignUpProvider extends ChangeNotifier {
if (response.statusCode >= 200 && response.statusCode < 300) { if (response.statusCode >= 200 && response.statusCode < 300) {
final data = json.decode(response.body); final data = json.decode(response.body);
// Check if data is null (employee not found case)
if (data['data'] == null) {
_errorMessage = data['message'];
loading = false;
notifyListeners();
return null;
}
_employeeData = EmployeeERPModel.fromJson(data['data']); _employeeData = EmployeeERPModel.fromJson(data['data']);
loading = false; loading = false;
@ -63,13 +72,13 @@ class SignUpProvider extends ChangeNotifier {
return _employeeData; return _employeeData;
} else { } else {
final data = json.decode(response.body); final data = json.decode(response.body);
_errorMessage = data['message'] ?? 'Failed to fetch employee details'; _errorMessage = data['message'];
loading = false; loading = false;
notifyListeners(); notifyListeners();
return null; return null;
} }
} catch (error) { } catch (error) {
_errorMessage = 'Failed to fetch employee details'; _errorMessage = error.toString();
loading = false; loading = false;
notifyListeners(); notifyListeners();
return null; return null;
@ -94,19 +103,19 @@ class SignUpProvider extends ChangeNotifier {
if (response.statusCode >= 200 && response.statusCode < 300) { if (response.statusCode >= 200 && response.statusCode < 300) {
final data = json.decode(response.body); final data = json.decode(response.body);
_successMessage = data['message'] ?? 'Your signup request has been submitted successfully.'; _successMessage = data['message'];
loading = false; loading = false;
notifyListeners(); notifyListeners();
return true; return true;
} else { } else {
final data = json.decode(response.body); final data = json.decode(response.body);
_errorMessage = data['message'] ?? 'Failed to submit signup request'; _errorMessage = data['message'];
loading = false; loading = false;
notifyListeners(); notifyListeners();
return false; return false;
} }
} catch (error) { } catch (error) {
_errorMessage = 'Failed to submit signup request'; _errorMessage = error.toString();
loading = false; loading = false;
notifyListeners(); notifyListeners();
return false; return false;
@ -139,13 +148,13 @@ class SignUpProvider extends ChangeNotifier {
return _sites; return _sites;
} else { } else {
final data = json.decode(response.body); final data = json.decode(response.body);
_errorMessage = data['message'] ?? 'Failed to fetch sites'; _errorMessage = data['message'];
loading = false; loading = false;
notifyListeners(); notifyListeners();
return []; return [];
} }
} catch (error) { } catch (error) {
_errorMessage = 'Failed to fetch sites'; _errorMessage = error.toString();
loading = false; loading = false;
notifyListeners(); notifyListeners();
return []; return [];
@ -179,13 +188,13 @@ class SignUpProvider extends ChangeNotifier {
return _departments; return _departments;
} else { } else {
final data = json.decode(response.body); final data = json.decode(response.body);
_errorMessage = data['message'] ?? 'Failed to fetch departments'; _errorMessage = data['message'];
loading = false; loading = false;
notifyListeners(); notifyListeners();
return []; return [];
} }
} catch (error) { } catch (error) {
_errorMessage = 'Failed to fetch departments'; _errorMessage = error.toString();
loading = false; loading = false;
notifyListeners(); notifyListeners();
return []; return [];

@ -441,20 +441,24 @@ class _SignUpScreenState extends State<SignUpScreen> {
_employeeFetched = false; _employeeFetched = false;
_employeeERPData = null; _employeeERPData = null;
}); });
if (_signUpProvider.errorMessage != null) {
Fluttertoast.showToast( Fluttertoast.showToast(
msg: _signUpProvider.errorMessage ?? "Failed to fetch employee details", msg: _signUpProvider.errorMessage!,
); );
} }
} }
} }
}
void _showDuplicateAccountDialog() { void _showDuplicateAccountDialog() {
final errorMessage = _signUpProvider.errorMessage ?? "Already you have an account on Atoms";
showDialog( showDialog(
context: context, context: context,
builder: (context) => AlertDialog( builder: (context) => AlertDialog(
backgroundColor: AppColor.background(context), backgroundColor: AppColor.background(context),
title: "Account Exists".bodyText(context), title: "Account Exists".bodyText(context),
content: "Already you have an account on Atoms".bodyText(context), content: errorMessage.bodyText(context),
actions: [ actions: [
TextButton( TextButton(
onPressed: () { onPressed: () {
@ -631,11 +635,13 @@ class _SignUpScreenState extends State<SignUpScreen> {
_showSuccessDialog(); _showSuccessDialog();
} }
} else { } else {
if (_signUpProvider.errorMessage != null) {
Fluttertoast.showToast( Fluttertoast.showToast(
msg: _signUpProvider.errorMessage ?? "Failed to submit signup request", msg: _signUpProvider.errorMessage!,
); );
} }
} }
}
void _showSuccessDialog() { void _showSuccessDialog() {
final successMessage = _signUpProvider.successMessage ?? 'Your signup request has been submitted successfully'; final successMessage = _signUpProvider.successMessage ?? 'Your signup request has been submitted successfully';

@ -179,6 +179,7 @@ class _SiteRequestHistoryScreenState extends State<SiteRequestHistoryScreen> {
Widget _buildUserInfo(SiteRequestModel request) { Widget _buildUserInfo(SiteRequestModel request) {
return Column( return Column(
crossAxisAlignment: CrossAxisAlignment.start,
children: [ children: [
InfoTextWidget(label: "Full Name", value: request.fullName), InfoTextWidget(label: "Full Name", value: request.fullName),
InfoTextWidget(label: "Employee ID", value: request.employeeId), InfoTextWidget(label: "Employee ID", value: request.employeeId),

Loading…
Cancel
Save