Login Api Issue Fixed Manually

merge-requests/24/head
zaid_daoud 3 years ago
parent 1bf9d612ad
commit f7057f4827

@ -7,7 +7,6 @@ import 'package:test_sa/controllers/api_routes/urls.dart';
import 'package:test_sa/models/user.dart';
class UserProvider extends ChangeNotifier {
//reset provider data
void reset() {
_user = null;
@ -25,7 +24,6 @@ class UserProvider extends ChangeNotifier{
notifyListeners();
}
// when login or register in-process _login = true
// when login or register is done or not start = false
bool _loading = false;
@ -45,8 +43,7 @@ class UserProvider extends ChangeNotifier{
@required String host,
@required User user,
}) async {
if(_loading == true)
return -2;
if (_loading == true) return -2;
_loading = true;
notifyListeners();
Response response;
@ -60,6 +57,7 @@ class UserProvider extends ChangeNotifier{
// client's request was successfully received
_user = User.fromJson(jsonDecode(response.body));
ApiManager.instance.user = _user;
notifyListeners();
return response.statusCode;
}
notifyListeners();
@ -81,8 +79,7 @@ class UserProvider extends ChangeNotifier{
@required String host,
@required User user,
}) async {
if(_loading == true)
return -2;
if (_loading == true) return -2;
_loading = true;
notifyListeners();
Response response;
@ -118,8 +115,7 @@ class UserProvider extends ChangeNotifier{
@required String host,
@required User user,
}) async {
if(_loading == true)
return -2;
if (_loading == true) return -2;
_loading = true;
notifyListeners();
Response response;
@ -127,12 +123,9 @@ class UserProvider extends ChangeNotifier{
Map<String, dynamic> jsonObject = {};
jsonObject["uid"] = user.id;
jsonObject["token"] = user.token;
if(user.department.id != _user.department.id)
jsonObject["department"] = user.department.id;
if(user.whatsApp != _user.whatsApp)
jsonObject["whatsapp"] = user.whatsApp;
if(user.phoneNumber != _user.phoneNumber)
jsonObject["phone"] = user.phoneNumber;
if (user.department.id != _user.department.id) jsonObject["department"] = user.department.id;
if (user.whatsApp != _user.whatsApp) jsonObject["whatsapp"] = user.whatsApp;
if (user.phoneNumber != _user.phoneNumber) jsonObject["phone"] = user.phoneNumber;
try {
response = response = await ApiManager.instance.post(
URLs.login,
@ -157,5 +150,4 @@ class UserProvider extends ChangeNotifier{
}
return response.statusCode;
}
}

@ -13,8 +13,6 @@ import 'package:test_sa/views/widgets/app_text_form_field.dart';
import 'package:test_sa/views/widgets/buttons/app_button.dart';
import 'package:test_sa/views/widgets/loaders/loading_manager.dart';
import '../widgets/buttons/app_outlined_button.dart';
class Login extends StatefulWidget {
static final String id = "/login";
@ -115,7 +113,7 @@ class _LoginState extends State<Login> {
user: _user,
host: _settingProvider.host,
);
if (status >= 200 && status < 300) {
if (status >= 200 && status < 300 && _userProvider.user?.userName != null) {
_settingProvider.setUser(_userProvider.user);
// if (_userProvider.user.isActive)
Navigator.of(context).pushNamed(LandPage.id);
@ -124,7 +122,8 @@ class _LoginState extends State<Login> {
} else {
if (status >= 400 && status < 500) return;
String errorMessage = status == 400 ? _subtitle.wrongEmailOrPassword : HttpStatusManger.getStatusMessage(status: status, subtitle: _subtitle);
String errorMessage =
status == 400 || _userProvider.user?.userName == null ? _subtitle.wrongEmailOrPassword : HttpStatusManger.getStatusMessage(status: status, subtitle: _subtitle);
ScaffoldMessenger.of(context).showSnackBar(SnackBar(
content: Text(errorMessage),
));

@ -182,7 +182,7 @@ class _LandPageState extends State<LandPage> {
// Navigator.of(context).pushNamed(PreventiveMaintenanceVisitsPage.id);
// },
// ),
if (_userProvider.user.type != UsersTypes.engineer)
if (_userProvider.user != null && _userProvider.user.type != UsersTypes.engineer)
LandPageItem(
text: "Request Gas Refill",
icon: FontAwesomeIcons.truckFast,

Loading…
Cancel
Save