return privilege

merge-requests/224/head
Mohammad Aljammal 4 years ago
parent f77d2b497e
commit 952e106531

@ -1,5 +1,6 @@
import 'package:diplomaticquarterapp/config/shared_pref_kay.dart'; import 'package:diplomaticquarterapp/config/shared_pref_kay.dart';
import 'package:diplomaticquarterapp/core/service/weather_service.dart'; import 'package:diplomaticquarterapp/core/service/weather_service.dart';
import 'package:diplomaticquarterapp/core/viewModels/project_view_model.dart';
import 'package:diplomaticquarterapp/models/Authentication/authenticated_user.dart'; import 'package:diplomaticquarterapp/models/Authentication/authenticated_user.dart';
import 'package:diplomaticquarterapp/pages/AlHabibMedicalService/%E2%80%8B%20health_calculators.dart'; import 'package:diplomaticquarterapp/pages/AlHabibMedicalService/%E2%80%8B%20health_calculators.dart';
import 'package:diplomaticquarterapp/pages/AlHabibMedicalService/E-Referral/e_referral_index_page.dart'; import 'package:diplomaticquarterapp/pages/AlHabibMedicalService/E-Referral/e_referral_index_page.dart';
@ -33,6 +34,7 @@ import 'package:diplomaticquarterapp/widgets/transitions/fade_page.dart';
import 'package:flutter/cupertino.dart'; import 'package:flutter/cupertino.dart';
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
import 'package:geolocator/geolocator.dart'; import 'package:geolocator/geolocator.dart';
import 'package:provider/provider.dart';
import 'package:url_launcher/url_launcher.dart'; import 'package:url_launcher/url_launcher.dart';
class AllHabibMedicalService extends StatefulWidget { class AllHabibMedicalService extends StatefulWidget {
@ -66,6 +68,7 @@ class _AllHabibMedicalServiceState extends State<AllHabibMedicalService> {
@override @override
Widget build(BuildContext context) { Widget build(BuildContext context) {
ProjectViewModel projectViewModel = Provider.of(context);
return AppScaffold( return AppScaffold(
isShowAppBar: true, isShowAppBar: true,
appBarTitle: TranslationBase.of(context).alhabiServices, appBarTitle: TranslationBase.of(context).alhabiServices,
@ -258,6 +261,7 @@ class _AllHabibMedicalServiceState extends State<AllHabibMedicalService> {
'assets/images/new-design/family_menu_icon_red.png', 'assets/images/new-design/family_menu_icon_red.png',
title: 'My Family', title: 'My Family',
), ),
if(projectViewModel.havePrivilege(35))
ServicesContainer( ServicesContainer(
onTap: () => Navigator.push( onTap: () => Navigator.push(
context, context,
@ -278,6 +282,7 @@ class _AllHabibMedicalServiceState extends State<AllHabibMedicalService> {
'assets/images/new-design/upcoming_icon_bottom_bar.png', 'assets/images/new-design/upcoming_icon_bottom_bar.png',
title: TranslationBase.of(context).todoList, title: TranslationBase.of(context).todoList,
), ),
if(projectViewModel.havePrivilege(42))
ServicesContainer( ServicesContainer(
onTap: () => Navigator.push( onTap: () => Navigator.push(
context, context,
@ -285,7 +290,8 @@ class _AllHabibMedicalServiceState extends State<AllHabibMedicalService> {
), ),
imageLocation: 'assets/images/new-design/body_icon.png', imageLocation: 'assets/images/new-design/body_icon.png',
title: 'Symptom Checker'), title: 'Symptom Checker'),
ServicesContainer( if(projectViewModel.havePrivilege(36))
ServicesContainer(
onTap: () => Navigator.push( onTap: () => Navigator.push(
context, context,
FadePage(page: BloodDonationPage()), FadePage(page: BloodDonationPage()),
@ -315,6 +321,7 @@ class _AllHabibMedicalServiceState extends State<AllHabibMedicalService> {
'assets/images/new-design/health_convertor_icon.png', 'assets/images/new-design/health_convertor_icon.png',
title: 'Health Converter', title: 'Health Converter',
), ),
if(projectViewModel.havePrivilege(38))
ServicesContainer( ServicesContainer(
onTap: () => Navigator.push( onTap: () => Navigator.push(
context, context,
@ -325,6 +332,7 @@ class _AllHabibMedicalServiceState extends State<AllHabibMedicalService> {
imageLocation: 'assets/images/new-design/water_icon.png', imageLocation: 'assets/images/new-design/water_icon.png',
title: 'H2O', title: 'H2O',
), ),
if(projectViewModel.havePrivilege(41))
ServicesContainer( ServicesContainer(
onTap: () => Navigator.push( onTap: () => Navigator.push(
context, context,

@ -708,6 +708,7 @@ class _MyFamily extends State<MyFamily> with TickerProviderStateMixin {
loginAfter(result, context) async { loginAfter(result, context) async {
//GifLoaderDialogUtils.hideDialog(context); //GifLoaderDialogUtils.hideDialog(context);
Provider.of<ProjectViewModel>(context, listen: false).setPrivilege(privilegeList: result,isLoginChild: true);
var currentLang = await sharedPref.getString(APP_LANGUAGE); var currentLang = await sharedPref.getString(APP_LANGUAGE);
result = list.CheckActivationCode.fromJson(result); result = list.CheckActivationCode.fromJson(result);
var familyFile = await sharedPref.getObject(FAMILY_FILE); var familyFile = await sharedPref.getObject(FAMILY_FILE);

@ -612,21 +612,13 @@ class _LandingPageState extends State<LandingPage> with WidgetsBindingObserver {
getText(currentTab) { getText(currentTab) {
switch (currentTab) { switch (currentTab) {
case 0: case 0:
return TranslationBase return TranslationBase.of(context).home;
.of(context)
.home;
case 1: case 1:
return TranslationBase return TranslationBase.of(context).medicalProfile;
.of(context)
.medicalProfile;
case 2: case 2:
return TranslationBase return TranslationBase.of(context).bookAppo;
.of(context)
.mySchedule;
case 3: case 3:
return TranslationBase return TranslationBase.of(context).services;
.of(context)
.services;
case 4: case 4:
return TranslationBase return TranslationBase
.of(context) .of(context)

@ -510,7 +510,8 @@ class _ConfirmLogin extends State<ConfirmLogin> {
.then((result) => { .then((result) => {
if (result is Map) if (result is Map)
{ {
result = CheckActivationCode.fromJson(result), projectViewModel.setPrivilege(privilegeList: result),
result = CheckActivationCode.fromJson(result),
if (this.registerd_data != null && if (this.registerd_data != null &&
this.registerd_data.isRegister == true) this.registerd_data.isRegister == true)
{ {

@ -243,7 +243,7 @@ class _Login extends State<Login> {
sharedPref.remove(FAMILY_FILE); sharedPref.remove(FAMILY_FILE);
// Register GeoZones after login // Register GeoZones after login
registerGeoZones(); registerGeoZones();
projectViewModel.setPrivilege(privilegeList: result);
result = CheckActivationCode.fromJson(result); result = CheckActivationCode.fromJson(result);
result.list.isFamily = false; result.list.isFamily = false;
// this.sharedPref.setString(BLOOD_TYPE, result['PatientBloodType']), // this.sharedPref.setString(BLOOD_TYPE, result['PatientBloodType']),

@ -1,10 +1,12 @@
import 'package:diplomaticquarterapp/core/model/eye/AppoimentAllHistoryResult.dart'; import 'package:diplomaticquarterapp/core/model/eye/AppoimentAllHistoryResult.dart';
import 'package:diplomaticquarterapp/core/viewModels/project_view_model.dart';
import 'package:diplomaticquarterapp/uitl/translations_delegate_base.dart'; import 'package:diplomaticquarterapp/uitl/translations_delegate_base.dart';
import 'package:diplomaticquarterapp/widgets/buttons/secondary_button.dart'; import 'package:diplomaticquarterapp/widgets/buttons/secondary_button.dart';
import 'package:diplomaticquarterapp/widgets/data_display/text.dart'; import 'package:diplomaticquarterapp/widgets/data_display/text.dart';
import 'package:diplomaticquarterapp/widgets/others/app_scaffold_widget.dart'; import 'package:diplomaticquarterapp/widgets/others/app_scaffold_widget.dart';
import 'package:flutter/cupertino.dart'; import 'package:flutter/cupertino.dart';
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
import 'package:provider/provider.dart';
class ContactLensPage extends StatelessWidget { class ContactLensPage extends StatelessWidget {
final ListHISGetContactLensPerscription listHISGetContactLensPerscription; final ListHISGetContactLensPerscription listHISGetContactLensPerscription;
@ -14,6 +16,7 @@ class ContactLensPage extends StatelessWidget {
@override @override
Widget build(BuildContext context) { Widget build(BuildContext context) {
ProjectViewModel projectViewModel = Provider.of(context);
return AppScaffold( return AppScaffold(
body: SingleChildScrollView( body: SingleChildScrollView(
child: Container( child: Container(
@ -82,6 +85,7 @@ class ContactLensPage extends StatelessWidget {
SizedBox( SizedBox(
height: 17, height: 17,
), ),
if(projectViewModel.havePrivilege(15))
Container( Container(
width: double.infinity, width: double.infinity,
child: SecondaryButton( child: SecondaryButton(

@ -2,6 +2,7 @@ import 'package:diplomaticquarterapp/core/enum/viewstate.dart';
import 'package:diplomaticquarterapp/core/model/prescriptions/Prescriptions.dart'; import 'package:diplomaticquarterapp/core/model/prescriptions/Prescriptions.dart';
import 'package:diplomaticquarterapp/core/model/prescriptions/prescription_report.dart'; import 'package:diplomaticquarterapp/core/model/prescriptions/prescription_report.dart';
import 'package:diplomaticquarterapp/core/viewModels/medical/prescriptions_view_model.dart'; import 'package:diplomaticquarterapp/core/viewModels/medical/prescriptions_view_model.dart';
import 'package:diplomaticquarterapp/core/viewModels/project_view_model.dart';
import 'package:diplomaticquarterapp/pages/base/base_view.dart'; import 'package:diplomaticquarterapp/pages/base/base_view.dart';
import 'package:diplomaticquarterapp/pages/medical/prescriptions/prescription_details_page.dart'; import 'package:diplomaticquarterapp/pages/medical/prescriptions/prescription_details_page.dart';
import 'package:diplomaticquarterapp/uitl/translations_delegate_base.dart'; import 'package:diplomaticquarterapp/uitl/translations_delegate_base.dart';
@ -11,7 +12,7 @@ import 'package:diplomaticquarterapp/widgets/others/app_scaffold_widget.dart';
import 'package:diplomaticquarterapp/widgets/transitions/fade_page.dart'; import 'package:diplomaticquarterapp/widgets/transitions/fade_page.dart';
import 'package:flutter/cupertino.dart'; import 'package:flutter/cupertino.dart';
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
import 'package:provider/provider.dart';
import '../../../widgets/dialogs/confirm_send_email_dialog.dart'; import '../../../widgets/dialogs/confirm_send_email_dialog.dart';
class PrescriptionItemsPage extends StatelessWidget { class PrescriptionItemsPage extends StatelessWidget {
@ -21,6 +22,7 @@ class PrescriptionItemsPage extends StatelessWidget {
@override @override
Widget build(BuildContext context) { Widget build(BuildContext context) {
ProjectViewModel projectViewModel = Provider.of(context);
return BaseView<PrescriptionsViewModel>( return BaseView<PrescriptionsViewModel>(
onModelReady: (model) => onModelReady: (model) =>
model.getPrescriptionReport(prescriptions: prescriptions), model.getPrescriptionReport(prescriptions: prescriptions),
@ -184,6 +186,7 @@ class PrescriptionItemsPage extends StatelessWidget {
child: Column( child: Column(
children: <Widget>[ children: <Widget>[
Divider(), Divider(),
if(projectViewModel.havePrivilege(13))
Container( Container(
width: MediaQuery.of(context).size.width * 0.8, width: MediaQuery.of(context).size.width * 0.8,
child: Button( child: Button(

@ -2,6 +2,7 @@ import 'package:diplomaticquarterapp/config/config.dart';
import 'package:diplomaticquarterapp/core/enum/viewstate.dart'; import 'package:diplomaticquarterapp/core/enum/viewstate.dart';
import 'package:diplomaticquarterapp/core/model/radiology/final_radiology.dart'; import 'package:diplomaticquarterapp/core/model/radiology/final_radiology.dart';
import 'package:diplomaticquarterapp/core/viewModels/medical/radiology_view_model.dart'; import 'package:diplomaticquarterapp/core/viewModels/medical/radiology_view_model.dart';
import 'package:diplomaticquarterapp/core/viewModels/project_view_model.dart';
import 'package:diplomaticquarterapp/pages/base/base_view.dart'; import 'package:diplomaticquarterapp/pages/base/base_view.dart';
import 'package:diplomaticquarterapp/uitl/translations_delegate_base.dart'; import 'package:diplomaticquarterapp/uitl/translations_delegate_base.dart';
import 'package:diplomaticquarterapp/widgets/buttons/button.dart'; import 'package:diplomaticquarterapp/widgets/buttons/button.dart';
@ -10,6 +11,7 @@ import 'package:diplomaticquarterapp/widgets/dialogs/confirm_send_email_dialog.d
import 'package:diplomaticquarterapp/widgets/others/app_scaffold_widget.dart'; import 'package:diplomaticquarterapp/widgets/others/app_scaffold_widget.dart';
import 'package:flutter/cupertino.dart'; import 'package:flutter/cupertino.dart';
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
import 'package:provider/provider.dart';
import 'package:url_launcher/url_launcher.dart'; import 'package:url_launcher/url_launcher.dart';
class RadiologyDetailsPage extends StatelessWidget { class RadiologyDetailsPage extends StatelessWidget {
@ -19,6 +21,7 @@ class RadiologyDetailsPage extends StatelessWidget {
@override @override
Widget build(BuildContext context) { Widget build(BuildContext context) {
ProjectViewModel projectViewModel = Provider.of(context);
return BaseView<RadiologyViewModel>( return BaseView<RadiologyViewModel>(
onModelReady: (model) => model.getRadImageURL( onModelReady: (model) => model.getRadImageURL(
projectId: finalRadiology.projectID, projectId: finalRadiology.projectID,
@ -51,7 +54,9 @@ class RadiologyDetailsPage extends StatelessWidget {
], ],
), ),
), ),
bottomSheet: Container( bottomSheet: (projectViewModel.havePrivilege(9) ||
projectViewModel.havePrivilege(8))
? Container(
width: double.infinity, width: double.infinity,
height: finalRadiology.dIAPACSURL != "" height: finalRadiology.dIAPACSURL != ""
? MediaQuery.of(context).size.height * 0.25 ? MediaQuery.of(context).size.height * 0.25
@ -61,7 +66,7 @@ class RadiologyDetailsPage extends StatelessWidget {
mainAxisSize: MainAxisSize.min, mainAxisSize: MainAxisSize.min,
children: <Widget>[ children: <Widget>[
Divider(), Divider(),
if (finalRadiology.dIAPACSURL != "") if (finalRadiology.dIAPACSURL != "" && projectViewModel.havePrivilege(9))
Container( Container(
width: MediaQuery.of(context).size.width * 0.8, width: MediaQuery.of(context).size.width * 0.8,
child: Button( child: Button(
@ -72,6 +77,7 @@ class RadiologyDetailsPage extends StatelessWidget {
backgroundColor: Colors.grey[800], backgroundColor: Colors.grey[800],
), ),
), ),
if (projectViewModel.havePrivilege(8))
Container( Container(
width: MediaQuery.of(context).size.width * 0.8, width: MediaQuery.of(context).size.width * 0.8,
child: Button( child: Button(
@ -86,7 +92,7 @@ class RadiologyDetailsPage extends StatelessWidget {
) )
], ],
), ),
)), ):Container()),
); );
} }

@ -2,6 +2,7 @@ import 'dart:ui';
import 'package:diplomaticquarterapp/core/model/ImagesInfo.dart'; import 'package:diplomaticquarterapp/core/model/ImagesInfo.dart';
import 'package:diplomaticquarterapp/core/viewModels/medical/reports_view_model.dart'; import 'package:diplomaticquarterapp/core/viewModels/medical/reports_view_model.dart';
import 'package:diplomaticquarterapp/core/viewModels/project_view_model.dart';
import 'package:diplomaticquarterapp/pages/base/base_view.dart'; import 'package:diplomaticquarterapp/pages/base/base_view.dart';
import 'package:diplomaticquarterapp/pages/medical/reports/report_list_widget.dart'; import 'package:diplomaticquarterapp/pages/medical/reports/report_list_widget.dart';
import 'package:diplomaticquarterapp/pages/medical/reports/reports_page.dart'; import 'package:diplomaticquarterapp/pages/medical/reports/reports_page.dart';
@ -12,6 +13,7 @@ import 'package:diplomaticquarterapp/widgets/others/app_scaffold_widget.dart';
import 'package:diplomaticquarterapp/widgets/transitions/fade_page.dart'; import 'package:diplomaticquarterapp/widgets/transitions/fade_page.dart';
import 'package:flutter/cupertino.dart'; import 'package:flutter/cupertino.dart';
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
import 'package:provider/provider.dart';
class HomeReportPage extends StatefulWidget { class HomeReportPage extends StatefulWidget {
@override @override
@ -37,6 +39,7 @@ class _HomeReportPageState extends State<HomeReportPage>
@override @override
Widget build(BuildContext context) { Widget build(BuildContext context) {
ProjectViewModel projectViewModel = Provider.of(context);
imagesInfo.add(ImagesInfo( imagesInfo.add(ImagesInfo(
imageEn: imageEn:
'https://hmgwebservices.com/Images/MobileAppDq/imges-info/medical-reorts/en/0.png', 'https://hmgwebservices.com/Images/MobileAppDq/imges-info/medical-reorts/en/0.png',
@ -169,7 +172,7 @@ class _HomeReportPageState extends State<HomeReportPage>
) )
], ],
), ),
bottomSheet: Container( bottomSheet: projectViewModel.havePrivilege(21) ?Container(
width: double.infinity, width: double.infinity,
height: 90, height: 90,
margin: EdgeInsets.all(8.0), margin: EdgeInsets.all(8.0),
@ -183,7 +186,7 @@ class _HomeReportPageState extends State<HomeReportPage>
), ),
), ),
), ),
), ):null,
), ),
), ),
); );

@ -74,6 +74,7 @@ class PaymentService extends StatelessWidget {
), ),
), ),
), ),
if(!projectViewModel.havePrivilege(33))
Expanded( Expanded(
child: InkWell( child: InkWell(
onTap: () => navigateToToDoPage(context), onTap: () => navigateToToDoPage(context),
@ -116,6 +117,7 @@ class PaymentService extends StatelessWidget {
) )
], ],
), ),
if(!projectViewModel.havePrivilege(33))
Row( Row(
crossAxisAlignment: CrossAxisAlignment.start, crossAxisAlignment: CrossAxisAlignment.start,
children: [ children: [

@ -1,4 +1,5 @@
import 'package:diplomaticquarterapp/core/enum/viewstate.dart'; import 'package:diplomaticquarterapp/core/enum/viewstate.dart';
import 'package:diplomaticquarterapp/core/viewModels/project_view_model.dart';
import 'package:diplomaticquarterapp/uitl/translations_delegate_base.dart'; import 'package:diplomaticquarterapp/uitl/translations_delegate_base.dart';
import 'package:diplomaticquarterapp/widgets/buttons/button.dart'; import 'package:diplomaticquarterapp/widgets/buttons/button.dart';
import 'package:diplomaticquarterapp/widgets/buttons/secondary_button.dart'; import 'package:diplomaticquarterapp/widgets/buttons/secondary_button.dart';
@ -6,6 +7,7 @@ import 'package:diplomaticquarterapp/widgets/transitions/fade_page.dart';
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
import 'package:diplomaticquarterapp/config/size_config.dart'; import 'package:diplomaticquarterapp/config/size_config.dart';
import 'package:flutter/cupertino.dart'; import 'package:flutter/cupertino.dart';
import 'package:provider/provider.dart';
import '../base/base_view.dart'; import '../base/base_view.dart';
import 'package:diplomaticquarterapp/widgets/others/app_scaffold_widget.dart'; import 'package:diplomaticquarterapp/widgets/others/app_scaffold_widget.dart';
import 'package:diplomaticquarterapp/core/viewModels/vaccine_view_model.dart'; import 'package:diplomaticquarterapp/core/viewModels/vaccine_view_model.dart';
@ -22,6 +24,7 @@ class MyVaccines extends StatefulWidget {
class _MyVaccinesState extends State<MyVaccines> { class _MyVaccinesState extends State<MyVaccines> {
@override @override
Widget build(BuildContext context) { Widget build(BuildContext context) {
ProjectViewModel projectViewModel = Provider.of(context);
return BaseView<VaccineViewModel>( return BaseView<VaccineViewModel>(
onModelReady: (model) => model.getVaccine(), onModelReady: (model) => model.getVaccine(),
builder: (BuildContext context, VaccineViewModel model, Widget child) => builder: (BuildContext context, VaccineViewModel model, Widget child) =>
@ -171,6 +174,7 @@ class _MyVaccinesState extends State<MyVaccines> {
Navigator.push(context, FadePage(page: MyVaccinesItemPage())), Navigator.push(context, FadePage(page: MyVaccinesItemPage())),
), ),
), ),
if(projectViewModel.havePrivilege(27))
Container( Container(
width: double.infinity, width: double.infinity,
// height: 80.0, // height: 80.0,

@ -9,6 +9,7 @@ import 'package:provider/provider.dart';
import 'config/shared_pref_kay.dart'; import 'config/shared_pref_kay.dart';
import 'config/size_config.dart'; import 'config/size_config.dart';
import 'core/service/AuthenticatedUserObject.dart'; import 'core/service/AuthenticatedUserObject.dart';
import 'core/service/privilege_service.dart';
import 'core/viewModels/project_view_model.dart'; import 'core/viewModels/project_view_model.dart';
import 'locator.dart'; import 'locator.dart';
import 'models/Authentication/authenticated_user.dart'; import 'models/Authentication/authenticated_user.dart';
@ -24,23 +25,29 @@ class SplashScreen extends StatefulWidget {
} }
class _SplashScreenState extends State<SplashScreen> { class _SplashScreenState extends State<SplashScreen> {
//Provider.of<ProjectViewModel>(context, listen: false).isLogin PrivilegeService _privilegeService = locator<PrivilegeService>();
@override @override
void initState() { void initState() {
super.initState(); super.initState();
Timer( Timer(
Duration(seconds: 1, milliseconds: 800), Duration(seconds: 1, milliseconds: 500),
() { () {
Provider.of<ProjectViewModel>(context, listen: false).loadSharedPrefLanguage().then((value) { loadPrivilege().then((value) {
Navigator.of(context).pushReplacement(FadePage(page: LandingPage())); Navigator.of(context).pushReplacement(
MaterialPageRoute(
builder: (BuildContext context) => LandingPage(),
),
);
});
});
}, },
); );
} }
Future getUserData() async { /// load the Privilege from service
Provider.of<ProjectViewModel>(context, listen: false).loadSharedPrefLanguage(); Future loadPrivilege() async {
await _privilegeService.getPrivilege();
Provider.of<ProjectViewModel>(context, listen: false).setPrivilegeModelList(privilege: _privilegeService.privilegeModelList);
} }
@override @override

@ -1,4 +1,5 @@
import 'package:diplomaticquarterapp/core/service/AuthenticatedUserObject.dart'; import 'package:diplomaticquarterapp/core/service/AuthenticatedUserObject.dart';
import 'package:diplomaticquarterapp/core/viewModels/project_view_model.dart';
import 'package:diplomaticquarterapp/locator.dart'; import 'package:diplomaticquarterapp/locator.dart';
import 'package:diplomaticquarterapp/models/Appointments/toDoCountProviderModel.dart'; import 'package:diplomaticquarterapp/models/Appointments/toDoCountProviderModel.dart';
import 'package:diplomaticquarterapp/pages/BookAppointment/BookingOptions.dart'; import 'package:diplomaticquarterapp/pages/BookAppointment/BookingOptions.dart';
@ -49,6 +50,7 @@ class _BottomNavBarState extends State<BottomNavBar> {
@override @override
Widget build(BuildContext context) { Widget build(BuildContext context) {
model = Provider.of<ToDoCountProviderModel>(context); model = Provider.of<ToDoCountProviderModel>(context);
ProjectViewModel projectViewModel = Provider.of(context);
return BottomAppBar( return BottomAppBar(
elevation: 4, elevation: 4,
shape: CircularNotchedRectangle(), shape: CircularNotchedRectangle(),
@ -75,7 +77,7 @@ class _BottomNavBarState extends State<BottomNavBar> {
currentIndex: 1, currentIndex: 1,
name: TranslationBase.of(context).medicalProfile, name: TranslationBase.of(context).medicalProfile,
), ),
if(widget.index == 0) if(widget.index == 0 && projectViewModel.havePrivilege(34))
Expanded( Expanded(
child: SizedBox( child: SizedBox(
height: 50, height: 50,
@ -88,7 +90,7 @@ class _BottomNavBarState extends State<BottomNavBar> {
), ),
), ),
), ),
if(widget.index != 0) if(widget.index != 0 && projectViewModel.havePrivilege(34))
BottomNavigationItem( BottomNavigationItem(
icon: EvaIcons.calendar, icon: EvaIcons.calendar,
activeIcon: EvaIcons.calendar, activeIcon: EvaIcons.calendar,
@ -106,6 +108,7 @@ class _BottomNavBarState extends State<BottomNavBar> {
currentIndex: 3, currentIndex: 3,
name: TranslationBase.of(context).myFamily, name: TranslationBase.of(context).myFamily,
), ),
if(projectViewModel.havePrivilege(51))
BottomNavigationItem( BottomNavigationItem(
icon: EvaIcons.calendar, icon: EvaIcons.calendar,
activeIcon: EvaIcons.calendar, activeIcon: EvaIcons.calendar,

@ -151,7 +151,7 @@ class DoctorCard extends StatelessWidget {
), ),
), ),
), ),
if (onEmailTap != null) if (onEmailTap != null && projectViewModel.havePrivilege(17))
InkWell( InkWell(
onTap: onEmailTap, onTap: onEmailTap,
child: Icon( child: Icon(

@ -155,8 +155,8 @@ class _AppDrawerState extends State<AppDrawer> {
? Column( ? Column(
mainAxisAlignment: MainAxisAlignment.start, mainAxisAlignment: MainAxisAlignment.start,
children: <Widget>[ children: <Widget>[
user.isFamily == null || (user.isFamily == null ||
user.isFamily == false user.isFamily == false)&& projectProvider.havePrivilege(2)
? InkWell( ? InkWell(
child: DrawerItem( child: DrawerItem(
TranslationBase.of(context).family, TranslationBase.of(context).family,
@ -292,7 +292,9 @@ class _AppDrawerState extends State<AppDrawer> {
} }
}, },
), ),
InkWell( if(projectProvider.havePrivilege(1))
InkWell(
child: DrawerItem( child: DrawerItem(
TranslationBase.of(context) TranslationBase.of(context)
.arabicChange, .arabicChange,
@ -353,6 +355,7 @@ class _AppDrawerState extends State<AppDrawer> {
NotificationsPage())); NotificationsPage()));
}, },
), ),
if(projectProvider.havePrivilege(3))
InkWell( InkWell(
child: DrawerItem( child: DrawerItem(
TranslationBase.of(context).appsetting, TranslationBase.of(context).appsetting,
@ -567,6 +570,7 @@ class _AppDrawerState extends State<AppDrawer> {
loginAfter(result, context) async { loginAfter(result, context) async {
result = CheckActivationCode.fromJson(result); result = CheckActivationCode.fromJson(result);
Provider.of<ProjectViewModel>(context, listen: false).setPrivilege(privilegeList: result,isLoginChild: true);
var familyFile = await sharedPref.getObject(FAMILY_FILE); var familyFile = await sharedPref.getObject(FAMILY_FILE);
var currentLang = await sharedPref.getString(APP_LANGUAGE); var currentLang = await sharedPref.getString(APP_LANGUAGE);
var mainUser = await sharedPref.getObject(MAIN_USER); var mainUser = await sharedPref.getObject(MAIN_USER);

Loading…
Cancel
Save