fix user authentication data

merge-update-with-lab-changes
Mohammad Aljmma 5 years ago
parent 7d2f1cf318
commit a077d87dd8

@ -12,9 +12,10 @@ class MedicalViewModel extends BaseViewModel {
_medicalService.appoitmentAllHistoryResultList;
getAppointmentHistory() async {
var asd ="";
if (authenticatedUserObject.isLogin) {
setState(ViewState.Busy);
if (_medicalService.appoitmentAllHistoryResultList.length == 0)
// if (_medicalService.appoitmentAllHistoryResultList.length == 0)
await _medicalService.getAppointmentHistory();
if (_medicalService.hasError) {
error = _medicalService.error;

@ -18,6 +18,8 @@ class ProjectViewModel extends BaseViewModel {
bool isError = false;
String error = '';
dynamic searchvalue;
bool isLogin = false;
dynamic get searchValue => searchvalue;

@ -1,10 +1,15 @@
import 'package:diplomaticquarterapp/config/shared_pref_kay.dart';
import 'package:diplomaticquarterapp/core/service/AuthenticatedUserObject.dart';
import 'package:diplomaticquarterapp/core/viewModels/base_view_model.dart';
import 'package:diplomaticquarterapp/core/viewModels/project_view_model.dart';
import 'package:diplomaticquarterapp/uitl/app_shared_preferences.dart';
import 'package:flutter/material.dart';
import 'package:provider/provider.dart';
import '../../locator.dart';
AppSharedPreferences sharedPref = AppSharedPreferences();
class BaseView<T extends BaseViewModel> extends StatefulWidget {
final Widget Function(BuildContext context, T model, Widget child) builder;
final Function(T) onModelReady;
@ -20,16 +25,25 @@ class BaseView<T extends BaseViewModel> extends StatefulWidget {
class _BaseViewState<T extends BaseViewModel> extends State<BaseView<T>> {
T model = locator<T>();
AuthenticatedUserObject authenticatedUserObject = locator<AuthenticatedUserObject>();
AuthenticatedUserObject authenticatedUserObject =
locator<AuthenticatedUserObject>();
bool isLogin = false;
@override
void initState() {
if (widget.onModelReady != null && authenticatedUserObject.isLogin) {
//TODO fix it
//Provider.of<ProjectViewModel>(context, listen: false).isLogin;
if (widget.onModelReady != null && Provider.of<ProjectViewModel>(context, listen: false).isLogin) {
widget.onModelReady(model);
}
super.initState();
}
getUser() async {
var userData = await sharedPref.getObject(USER_PROFILE);
this.isLogin = userData != null;
}
@override
Widget build(BuildContext context) {
return ChangeNotifierProvider<T>(

@ -40,7 +40,7 @@ class HomePage extends StatefulWidget {
}
class _HomePageState extends State<HomePage> {
var toDoProvider;
ToDoCountProviderModel toDoProvider;
@override
void initState() {

@ -2,6 +2,7 @@ import 'package:diplomaticquarterapp/config/shared_pref_kay.dart';
import 'package:diplomaticquarterapp/config/size_config.dart';
import 'package:diplomaticquarterapp/core/service/AuthenticatedUserObject.dart';
import 'package:diplomaticquarterapp/core/viewModels/appointment_rate_view_model.dart';
import 'package:diplomaticquarterapp/core/viewModels/project_view_model.dart';
import 'package:diplomaticquarterapp/locator.dart';
import 'package:diplomaticquarterapp/models/Authentication/check_activation_code_response.dart';
import 'package:diplomaticquarterapp/models/Authentication/check_paitent_authentication_req.dart';
@ -23,6 +24,7 @@ import 'package:diplomaticquarterapp/widgets/text/app_texts_widget.dart';
import 'package:diplomaticquarterapp/widgets/transitions/fade_page.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 Login extends StatefulWidget {
@ -46,6 +48,8 @@ class _Login extends State<Login> {
AuthenticatedUserObject authenticatedUserObject =
locator<AuthenticatedUserObject>();
ProjectViewModel projectViewModel;
@override
void initState() {
// getDeviceToken();
@ -60,6 +64,7 @@ class _Login extends State<Login> {
@override
Widget build(BuildContext context) {
projectViewModel = Provider.of(context);
return AppScaffold(
appBarTitle: TranslationBase.of(context).login,
isShowAppBar: true,
@ -224,6 +229,7 @@ class _Login extends State<Login> {
// authenticatedUserObject.user = AuthenticatedUser.fromJson(result.list),
authenticatedUserObject.isLogin = true,
appointmentRateViewModel.isLogin = true,
projectViewModel.isLogin = true,
appointmentRateViewModel
.getIsLastAppointmentRatedList()
.then((value) => {

@ -61,7 +61,7 @@ class _MedicalProfilePageState extends State<MedicalProfilePage> {
width: double.infinity,
// color: Colors.black.withOpacity(0.0)
),
if (model.authenticatedUserObject.isLogin)
if (model.isLogin)
ListView.builder(
itemBuilder: (context, index) =>
TimeLineWidget(
@ -81,6 +81,7 @@ class _MedicalProfilePageState extends State<MedicalProfilePage> {
padding: EdgeInsets.symmetric(vertical: 5.0),
child: Column(
children: <Widget>[
if(model.isLogin)
Container(
width: double.infinity,
height: 55,
@ -323,7 +324,7 @@ class _MedicalProfilePageState extends State<MedicalProfilePage> {
)
],
),
if (model.user != null)
if (model.user != null && model.isLogin)
Positioned(
top: 185,
left: 20,

@ -350,6 +350,8 @@ class _AppDrawerState extends State<AppDrawer> {
logout() async {
authenticatedUserObject.logout();
projectProvider.isLogin = false;
await authenticatedUserObject.getUser();
await sharedPref.clear();
this.user = null;
Navigator.of(context).pushNamed(HOME);

@ -110,7 +110,7 @@ class AppScaffold extends StatelessWidget {
],
)
: null,
body: (!authenticatedUserObject.isLogin && isShowDecPage)
body: (!Provider.of<ProjectViewModel>(context, listen: false).isLogin && isShowDecPage)
? NotAutPage(
title: appBarTitle,
description: description,

Loading…
Cancel
Save