From 570aa514cd77b2e9f937c7166722dd214f0d2bd7 Mon Sep 17 00:00:00 2001 From: Mohammad Aljmma Date: Sun, 8 Nov 2020 13:47:46 +0200 Subject: [PATCH] fix user authentication data --- lib/core/service/AuthenticatedUserObject.dart | 4 +-- lib/core/service/medical/labs_service.dart | 1 + lib/core/viewModels/base_view_model.dart | 3 +++ lib/core/viewModels/dashboard_view_model.dart | 2 +- lib/pages/Blood/dialogs/ConfirmSMSDialog.dart | 25 +++++++++++-------- lib/pages/landing/home_page.dart | 2 +- lib/pages/login/login.dart | 5 ++-- lib/splashPage.dart | 3 +++ lib/widgets/others/app_scaffold_widget.dart | 2 -- 9 files changed, 29 insertions(+), 18 deletions(-) diff --git a/lib/core/service/AuthenticatedUserObject.dart b/lib/core/service/AuthenticatedUserObject.dart index 600e17e1..f48b1179 100644 --- a/lib/core/service/AuthenticatedUserObject.dart +++ b/lib/core/service/AuthenticatedUserObject.dart @@ -17,8 +17,8 @@ class AuthenticatedUserObject { if (userData != null) user = AuthenticatedUser.fromJson(userData); } - var isLogin = await sharedPref.getString(LOGIN_TOKEN_ID); - this.isLogin = isLogin != null; + // var isLogin = await sharedPref.getString(LOGIN_TOKEN_ID); + this.isLogin = user != null; } logout() async { diff --git a/lib/core/service/medical/labs_service.dart b/lib/core/service/medical/labs_service.dart index c1ad65f3..027d755b 100644 --- a/lib/core/service/medical/labs_service.dart +++ b/lib/core/service/medical/labs_service.dart @@ -13,6 +13,7 @@ class LabsService extends BaseService { List patientLabOrdersList = List(); Future getPatientLabOrdersList() async { + hasError = false; await baseAppClient.post(GET_Patient_LAB_ORDERS, onSuccess: (dynamic response, int statusCode) { patientLabOrdersList.clear(); diff --git a/lib/core/viewModels/base_view_model.dart b/lib/core/viewModels/base_view_model.dart index 18ab02e3..d8ea5196 100644 --- a/lib/core/viewModels/base_view_model.dart +++ b/lib/core/viewModels/base_view_model.dart @@ -30,6 +30,9 @@ class BaseViewModel extends ChangeNotifier { } BaseViewModel() { + //authenticatedUserObject.getUser(); + user = authenticatedUserObject.user; + this.isLogin = authenticatedUserObject.isLogin; _getUser(); } diff --git a/lib/core/viewModels/dashboard_view_model.dart b/lib/core/viewModels/dashboard_view_model.dart index e2523120..4cf22b23 100644 --- a/lib/core/viewModels/dashboard_view_model.dart +++ b/lib/core/viewModels/dashboard_view_model.dart @@ -10,7 +10,7 @@ class DashboardViewModel extends BaseViewModel { String bloadType = ""; getPatientRadOrders() async { - if (!isLogin && _vitalSignService.weightKg.isEmpty) { + if (isLogin && _vitalSignService.weightKg.isEmpty) { setState(ViewState.Busy); await _vitalSignService.getPatientRadOrders(); if (_vitalSignService.hasError) { diff --git a/lib/pages/Blood/dialogs/ConfirmSMSDialog.dart b/lib/pages/Blood/dialogs/ConfirmSMSDialog.dart index 8dd2b29e..d165a895 100644 --- a/lib/pages/Blood/dialogs/ConfirmSMSDialog.dart +++ b/lib/pages/Blood/dialogs/ConfirmSMSDialog.dart @@ -6,12 +6,14 @@ import 'package:diplomaticquarterapp/core/enum/viewstate.dart'; import 'package:diplomaticquarterapp/core/model/my_balance/AdvanceModel.dart'; import 'package:diplomaticquarterapp/core/model/my_balance/patient_info_and_mobile_number.dart'; import 'package:diplomaticquarterapp/core/viewModels/medical/my_balance_view_model.dart'; +import 'package:diplomaticquarterapp/core/viewModels/project_view_model.dart'; import 'package:diplomaticquarterapp/pages/base/base_view.dart'; import 'package:diplomaticquarterapp/uitl/translations_delegate_base.dart'; import 'package:diplomaticquarterapp/widgets/buttons/secondary_button.dart'; import 'package:diplomaticquarterapp/widgets/data_display/text.dart'; import 'package:flutter/cupertino.dart'; import 'package:flutter/material.dart'; +import 'package:provider/provider.dart'; import 'package:smart_progress_bar/smart_progress_bar.dart'; class ConfirmSMSDialog extends StatefulWidget { @@ -97,6 +99,7 @@ class _ConfirmSMSDialogState extends State { @override Widget build(BuildContext context) { + ProjectViewModel projectViewModel = Provider.of(context); return BaseView( builder: (_, model, w) => Dialog( elevation: 0.6, @@ -107,20 +110,18 @@ class _ConfirmSMSDialogState extends State { Container( width: double.infinity, height: 40, - color: Colors.grey[700], - child: Row( - crossAxisAlignment: CrossAxisAlignment.center, + color: Theme.of(context).primaryColor, + child: Stack( + children: [ - Expanded( - flex: 4, - child: Center( - child: Texts( + Center( + child: Texts( 'SMS', color: Colors.white, textAlign: TextAlign.center, - ))), - Expanded( - flex: 1, + ), + ), + Positioned(child: Container( child: InkWell( onTap: () => Navigator.pop(context), child: Container( @@ -131,8 +132,12 @@ class _ConfirmSMSDialogState extends State { color: Colors.grey[900], )), ), + ), + left: projectViewModel.isArabic? 2:0, + right: projectViewModel.isArabic? 0:2, ) ], + ), ), Image.asset( diff --git a/lib/pages/landing/home_page.dart b/lib/pages/landing/home_page.dart index 82fd6d22..fabfeda8 100644 --- a/lib/pages/landing/home_page.dart +++ b/lib/pages/landing/home_page.dart @@ -110,7 +110,7 @@ class _HomePageState extends State { Orientation.landscape ? 0.02 : 0.03), - child: (!authenticatedUserObject.isLogin && projectViewModel.user == null) + child: (!model.isLogin ) ? Container( width: double.infinity, height: 160, diff --git a/lib/pages/login/login.dart b/lib/pages/login/login.dart index a190e52a..2937db11 100644 --- a/lib/pages/login/login.dart +++ b/lib/pages/login/login.dart @@ -217,12 +217,13 @@ class _Login extends State { // request.isRegister = false; this.authService.checkActivationCode(request, code).then((result) => { result = CheckActivationCode.fromJson(result), - authenticatedUserObject.getUser(), this.sharedPref.setObject(USER_PROFILE, result.list), this.sharedPref.setObject(LOGIN_TOKEN_ID, result.logInTokenID), this.sharedPref.setString(TOKEN, result.authenticationTokenID), + authenticatedUserObject.getUser(), + // authenticatedUserObject.user = AuthenticatedUser.fromJson(result.list), authenticatedUserObject.isLogin = true, - appointmentRateViewModel.isLogin =true, + appointmentRateViewModel.isLogin = true, appointmentRateViewModel .getIsLastAppointmentRatedList() .then((value) => { diff --git a/lib/splashPage.dart b/lib/splashPage.dart index ceec604c..3b9b3bd0 100644 --- a/lib/splashPage.dart +++ b/lib/splashPage.dart @@ -2,6 +2,9 @@ import 'dart:async'; import 'package:diplomaticquarterapp/pages/landing/landing_page.dart'; import 'package:flutter/material.dart'; +import 'core/service/AuthenticatedUserObject.dart'; +import 'locator.dart'; + class SplashScreen extends StatefulWidget { @override _SplashScreenState createState() => _SplashScreenState(); diff --git a/lib/widgets/others/app_scaffold_widget.dart b/lib/widgets/others/app_scaffold_widget.dart index 616b0d9b..f56f7784 100644 --- a/lib/widgets/others/app_scaffold_widget.dart +++ b/lib/widgets/others/app_scaffold_widget.dart @@ -101,8 +101,6 @@ class AppScaffold extends StatelessWidget { icon: Icon(FontAwesomeIcons.home), color: Colors.white, onPressed: () { - - Navigator.pushAndRemoveUntil( context, MaterialPageRoute(builder: (context) => LandingPage()),