test commit

This commit is contained in:
HooDie
2023-10-27 20:50:17 +03:30
parent 11f910bb1c
commit eab99539d5
22 changed files with 504 additions and 288 deletions
+26
View File
@@ -95,15 +95,33 @@ class Url {
return '$baseUrl/transfer-items?page=$id'; return '$baseUrl/transfer-items?page=$id';
} }
static String getMyPackages(int id) {
return '$baseUrl/transfer-my-packages?page=$id';
}
static String getHospitalPackages(int id) {
return '$baseUrl/transfer-packages?page=$id';
}
static String getMyItemRequests = '$baseUrl/my-suspended-transfer-items'; static String getMyItemRequests = '$baseUrl/my-suspended-transfer-items';
static const String getHospitalItemRequests = static const String getHospitalItemRequests =
'$baseUrl/suspended-transfer-items'; '$baseUrl/suspended-transfer-items';
static String getMyPackageRequests =
'$baseUrl/my-suspended-transfer-packages';
static const String getHospitalPackageRequests =
'$baseUrl/suspended-transfer-packages';
static String transferItems(String id) { static String transferItems(String id) {
return '$baseUrl/transfer-items/$id'; return '$baseUrl/transfer-items/$id';
} }
static String transferPackages(String id) {
return '$baseUrl/transfer-packages/$id';
}
static String testResultVerification(String id, String value) { static String testResultVerification(String id, String value) {
return '$baseUrl/TestResults/Verify/$id/$value'; return '$baseUrl/TestResults/Verify/$id/$value';
} }
@@ -112,6 +130,10 @@ class Url {
return '$baseUrl/transfer-items/ChangeStatus/$id'; return '$baseUrl/transfer-items/ChangeStatus/$id';
} }
static String verifyPackageRequests(String id, String value) {
return '$baseUrl/transfer-packages/ChangeStatus/$id';
}
static String updateLabelResult(String id) { static String updateLabelResult(String id) {
return '$baseUrl/Labels/$id'; return '$baseUrl/Labels/$id';
} }
@@ -160,6 +182,10 @@ class Url {
return '$baseUrl/Items/ChangeStatus/$id'; return '$baseUrl/Items/ChangeStatus/$id';
} }
static String repairItems(String id) {
return '$baseUrl/transfer-items/ChangeRepair/$id';
}
static String getUsers(String id) { static String getUsers(String id) {
return '$baseUrl/Users?medicalCenter_id=$id'; return '$baseUrl/Users?medicalCenter_id=$id';
} }
+3
View File
@@ -3,6 +3,7 @@ import 'package:equatable/equatable.dart';
class MyPackageResultObject extends Equatable { class MyPackageResultObject extends Equatable {
final String id; final String id;
final String name; final String name;
final List<String>? items;
final String? userName; final String? userName;
final String? fromDate; final String? fromDate;
final String? toDate; final String? toDate;
@@ -13,12 +14,14 @@ class MyPackageResultObject extends Equatable {
this.userName, this.userName,
this.fromDate, this.fromDate,
this.toDate, this.toDate,
this.items,
}); });
@override @override
List<Object> get props => [ List<Object> get props => [
id, id,
name, name,
items!,
userName!, userName!,
fromDate!, fromDate!,
toDate!, toDate!,
@@ -1,6 +1,5 @@
// ignore_for_file: public_member_api_docs, sort_constructors_first // ignore_for_file: public_member_api_docs, sort_constructors_first
import 'package:cssd/config/routes.dart'; import 'package:cssd/config/routes.dart';
import 'package:cssd/pages/MyItemsPages/my_items_history_screen.dart';
import 'package:cssd/providers/auth.dart'; import 'package:cssd/providers/auth.dart';
import 'package:cssd/providers/connectivity.dart'; import 'package:cssd/providers/connectivity.dart';
import 'package:cssd/providers/my_items.dart'; import 'package:cssd/providers/my_items.dart';
@@ -206,16 +205,10 @@ class _MyItemsMineScreenState extends State<MyItemsMineScreen> {
isAdmin: false, isAdmin: false,
items: itemResults.myItems?[index], items: itemResults.myItems?[index],
push: () { push: () {
Navigator.push( Navigator.pushNamed(context,
context, Routes.myItemsHistoryScreen,
MaterialPageRoute( arguments:
builder: ((context) => itemResults.myItems?[index]);
MyItemsHistoryScreen(
items: itemResults
.myItems?[index],
)),
),
);
}, },
); );
} else { } else {
@@ -225,16 +218,10 @@ class _MyItemsMineScreenState extends State<MyItemsMineScreen> {
items: items:
itemResults.hospitalItems?[index], itemResults.hospitalItems?[index],
push: () { push: () {
Navigator.push( Navigator.pushNamed(context,
context, Routes.myItemsHistoryScreen,
MaterialPageRoute( arguments: itemResults
builder: ((context) => .hospitalItems?[index]);
MyItemsHistoryScreen(
items: itemResults
.myItems?[index],
)),
),
);
}, },
); );
} }
@@ -1,5 +1,5 @@
import 'package:cssd/config/routes.dart';
import 'package:cssd/models/item_model.dart'; import 'package:cssd/models/item_model.dart';
import 'package:cssd/pages/MyItemsPages/my_items_transfer_screen.dart';
import 'package:cssd/providers/items.dart'; import 'package:cssd/providers/items.dart';
import 'package:cssd/widgets/MyItemsScreens/Detail/my_items_detail_box_widget.dart'; import 'package:cssd/widgets/MyItemsScreens/Detail/my_items_detail_box_widget.dart';
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
@@ -82,14 +82,9 @@ class _MyItemsDetailScreenState extends State<MyItemsDetailScreen> {
datas: datas!, datas: datas!,
deviceBlockSize: _deviceBlockSize, deviceBlockSize: _deviceBlockSize,
push: () { push: () {
Navigator.push( Navigator.pushNamed(
context, context, Routes.itemsTransferScreen,
MaterialPageRoute( arguments: datas);
builder: (context) => ItemsTransferScreen(
items: datas,
),
),
);
}, },
) )
: ConnectionErrorBox(); : ConnectionErrorBox();
@@ -39,6 +39,14 @@ class _MyItemsFilterScreenState extends State<MyItemsFilterScreen> {
super.initState(); super.initState();
} }
@override
void didChangeDependencies() {
if (isInit) {
isInit = false;
}
super.didChangeDependencies();
}
@override @override
Widget build(BuildContext context) { Widget build(BuildContext context) {
final _media = MediaQuery.of(context); final _media = MediaQuery.of(context);
@@ -26,6 +26,7 @@ class MyItemsHistoryScreen extends StatefulWidget {
class _MyItemsHistoryScreenState extends State<MyItemsHistoryScreen> { class _MyItemsHistoryScreenState extends State<MyItemsHistoryScreen> {
bool _isInit = true; bool _isInit = true;
ScrollController? sc; ScrollController? sc;
MyItemResultObject? itemData;
@override @override
void initState() { void initState() {
@@ -34,13 +35,15 @@ class _MyItemsHistoryScreenState extends State<MyItemsHistoryScreen> {
} }
@override @override
void didChangeDependencies() { void didChangeDependencies() async {
if (_isInit) { if (_isInit) {
itemData =
ModalRoute.of(context)!.settings.arguments as MyItemResultObject?;
var userResults = Provider.of<UsersProvider>(context); var userResults = Provider.of<UsersProvider>(context);
userResults.setLoading(); userResults.setLoading();
userResults String medicalCenterId =
.getUsers(userResults.getUserMedicalCenter() as String) await userResults.getUserMedicalCenter() as String;
.then((_) { userResults.getUsers(medicalCenterId).then((_) {
userResults.resetLoading(); userResults.resetLoading();
sc?.addListener( sc?.addListener(
() { () {
@@ -49,8 +52,7 @@ class _MyItemsHistoryScreenState extends State<MyItemsHistoryScreen> {
context, context,
listen: false, listen: false,
); );
userResults userResults.getUsers(medicalCenterId);
.getUsers(userResults.getUserMedicalCenter() as String);
} }
}, },
); );
@@ -105,20 +107,13 @@ class _MyItemsHistoryScreenState extends State<MyItemsHistoryScreen> {
MyItemsItemDataBox( MyItemsItemDataBox(
deviceBlockSize: _deviceBlockSize, deviceBlockSize: _deviceBlockSize,
hasHistoryBtn: false, hasHistoryBtn: false,
items: MyItemsHistoryScreen().items!, items: itemData,
isAdmin: userData['roles']?.contains('User') isAdmin: userData['roles']?.contains('User')
? false ? false
: true, : true,
), ),
SizedBox( SizedBox(
height: 10.0, height: 20.0,
),
Divider(
color: Colors.grey,
height: 2.0,
),
SizedBox(
height: 10.0,
), ),
Expanded( Expanded(
child: Consumer<UsersProvider>( child: Consumer<UsersProvider>(
@@ -136,8 +131,7 @@ class _MyItemsHistoryScreenState extends State<MyItemsHistoryScreen> {
children: [ children: [
ItemHistoryDate( ItemHistoryDate(
deviceBlockSize: _deviceBlockSize, deviceBlockSize: _deviceBlockSize,
items: items: itemData!,
MyItemsHistoryScreen().items!,
), ),
SizedBox( SizedBox(
height: 20.0, height: 20.0,
@@ -30,19 +30,26 @@ class _ItemsTransferScreenState extends State<ItemsTransferScreen> {
bool _isInit = true; bool _isInit = true;
ScrollController? sc; ScrollController? sc;
TextEditingController searchCTRL = new TextEditingController(); TextEditingController searchCTRL = new TextEditingController();
ItemDetailObject? itemData;
@override @override
void initState() { void initState() {
sc = new ScrollController(); sc = new ScrollController();
print(itemData);
super.initState(); super.initState();
} }
@override @override
void didChangeDependencies() { void didChangeDependencies() async {
if (_isInit) { if (_isInit) {
itemData =
ModalRoute.of(context)!.settings.arguments as ItemDetailObject?;
var userResults = Provider.of<UsersProvider>(context); var userResults = Provider.of<UsersProvider>(context);
userResults.setLoading(); userResults.setLoading();
userResults.getUsers(userResults.getUserMedicalCenter() as String).then( String medicalCenterId =
await userResults.getUserMedicalCenter() as String;
print(medicalCenterId);
userResults.getUsers(medicalCenterId).then(
(_) { (_) {
userResults.resetLoading(); userResults.resetLoading();
sc!.addListener( sc!.addListener(
@@ -53,8 +60,7 @@ class _ItemsTransferScreenState extends State<ItemsTransferScreen> {
context, context,
listen: false, listen: false,
); );
userResults userResults.getUsers(medicalCenterId);
.getUsers(userResults.getUserMedicalCenter() as String);
} }
}, },
); );
@@ -113,7 +119,7 @@ class _ItemsTransferScreenState extends State<ItemsTransferScreen> {
ResultSearchBox( ResultSearchBox(
searchCTRL: searchCTRL, searchCTRL: searchCTRL,
text: 'user', text: 'user',
text2: 'name', text2: 'name or ID',
deviceBlockSize: _deviceBlockSize, deviceBlockSize: _deviceBlockSize,
onChanged: (value) { onChanged: (value) {
Provider.of<UsersProvider>(context, listen: false) Provider.of<UsersProvider>(context, listen: false)
@@ -138,6 +144,7 @@ class _ItemsTransferScreenState extends State<ItemsTransferScreen> {
return TransferDataBox( return TransferDataBox(
deviceBlockSize: _deviceBlockSize, deviceBlockSize: _deviceBlockSize,
user: userResults.usersBox?[index], user: userResults.usersBox?[index],
clickColor: kDarkBlue,
isClicked: isClicked:
userResults.selectedUserIndex == userResults.selectedUserIndex ==
index, index,
@@ -148,8 +155,14 @@ class _ItemsTransferScreenState extends State<ItemsTransferScreen> {
).selectUser(index); ).selectUser(index);
print(userId); print(userId);
Provider.of<UsersProvider>( Provider.of<UsersProvider>(
context) context,
listen: false)
.saveUserId = userId; .saveUserId = userId;
Provider.of<UsersProvider>(
context,
listen: false)
.selectedUserForItems =
userResults.usersBox?[index];
}, },
); );
}, },
@@ -176,7 +189,7 @@ class _ItemsTransferScreenState extends State<ItemsTransferScreen> {
), ),
content: SizedBox( content: SizedBox(
width: _deviceBlockSize, width: _deviceBlockSize,
height: 280, height: 300,
child: Column( child: Column(
children: [ children: [
Text( Text(
@@ -188,7 +201,7 @@ class _ItemsTransferScreenState extends State<ItemsTransferScreen> {
SizedBox( SizedBox(
height: 10.0, height: 10.0,
), ),
ItemCard(_deviceBlockSize), ItemCard(_deviceBlockSize, itemData!),
SizedBox( SizedBox(
height: 5.0, height: 5.0,
), ),
@@ -199,7 +212,14 @@ class _ItemsTransferScreenState extends State<ItemsTransferScreen> {
SizedBox( SizedBox(
width: 5.0, width: 5.0,
), ),
ItemCard(_deviceBlockSize), TransferDataBox(
deviceBlockSize:
_deviceBlockSize,
user:
Provider.of<UsersProvider>(
context)
.selectedUserForItems,
)
], ],
), ),
SizedBox( SizedBox(
@@ -214,11 +234,16 @@ class _ItemsTransferScreenState extends State<ItemsTransferScreen> {
context, context,
listen: false, listen: false,
).transferItems( ).transferItems(
ItemsTransferScreen().items!.id, itemData!.id,
Provider.of<UsersProvider>( Provider.of<UsersProvider>(
context, context,
).saveUserId!, listen: false)
.saveUserId!,
); );
Navigator.of(context).pop();
Navigator.of(context)
.popAndPushNamed(Routes
.myItemsResultScreen);
}, },
text: 'Transfer', text: 'Transfer',
), ),
@@ -252,7 +277,7 @@ class _ItemsTransferScreenState extends State<ItemsTransferScreen> {
); );
} }
Container ItemCard(double _deviceBlockSize) { Container ItemCard(double _deviceBlockSize, ItemDetailObject item) {
return Container( return Container(
decoration: BoxDecoration( decoration: BoxDecoration(
border: Border.all(color: Colors.grey), border: Border.all(color: Colors.grey),
@@ -262,9 +287,9 @@ class _ItemsTransferScreenState extends State<ItemsTransferScreen> {
crossAxisAlignment: CrossAxisAlignment.center, crossAxisAlignment: CrossAxisAlignment.center,
children: <Widget>[ children: <Widget>[
Container( Container(
padding: const EdgeInsets.all(6.0), padding: const EdgeInsets.all(10.0),
child: Text( child: Text(
ItemsTransferScreen().items!.id, item.id,
style: TextStyle( style: TextStyle(
fontWeight: FontWeight.w700, fontWeight: FontWeight.w700,
fontSize: 5 * _deviceBlockSize, fontSize: 5 * _deviceBlockSize,
@@ -281,7 +306,7 @@ class _ItemsTransferScreenState extends State<ItemsTransferScreen> {
Container( Container(
width: 40 * _deviceBlockSize, width: 40 * _deviceBlockSize,
child: Text( child: Text(
ItemsTransferScreen().items!.name, item.name,
style: TextStyle( style: TextStyle(
fontSize: 3 * _deviceBlockSize, fontSize: 3 * _deviceBlockSize,
fontWeight: FontWeight.w700, fontWeight: FontWeight.w700,
@@ -301,7 +326,7 @@ class _ItemsTransferScreenState extends State<ItemsTransferScreen> {
), ),
), ),
Text( Text(
ItemsTransferScreen().items!.size, item.size,
overflow: TextOverflow.ellipsis, overflow: TextOverflow.ellipsis,
style: TextStyle( style: TextStyle(
fontWeight: FontWeight.w700, fontWeight: FontWeight.w700,
@@ -323,7 +348,7 @@ class _ItemsTransferScreenState extends State<ItemsTransferScreen> {
), ),
), ),
Text( Text(
ItemsTransferScreen().items!.userName, item.userName,
style: TextStyle( style: TextStyle(
fontSize: 3 * _deviceBlockSize, fontSize: 3 * _deviceBlockSize,
fontWeight: FontWeight.w700, fontWeight: FontWeight.w700,
@@ -1,6 +1,5 @@
// ignore_for_file: public_member_api_docs, sort_constructors_first // ignore_for_file: public_member_api_docs, sort_constructors_first
import 'package:cssd/config/routes.dart'; import 'package:cssd/config/routes.dart';
import 'package:cssd/pages/MyPackagesPages/my_packages_history_screen.dart';
import 'package:cssd/providers/auth.dart'; import 'package:cssd/providers/auth.dart';
import 'package:cssd/providers/connectivity.dart'; import 'package:cssd/providers/connectivity.dart';
import 'package:cssd/providers/my_packages.dart'; import 'package:cssd/providers/my_packages.dart';
@@ -49,11 +48,11 @@ class _MyPackagesMineScreenState extends State<MyPackagesMineScreen> {
() { () {
if (sc!.position.pixels == sc!.position.maxScrollExtent && if (sc!.position.pixels == sc!.position.maxScrollExtent &&
searchCTRL.text == '') { searchCTRL.text == '') {
var myItemResults = Provider.of<MyPackageProvider>( var myPackageResults = Provider.of<MyPackageProvider>(
context, context,
listen: false, listen: false,
); );
myItemResults.getMyPackages(); myPackageResults.getMyPackages();
} }
}, },
); );
@@ -181,16 +180,10 @@ class _MyPackagesMineScreenState extends State<MyPackagesMineScreen> {
packages: packages:
packageResults.myPackages?[index], packageResults.myPackages?[index],
push: () { push: () {
Navigator.push( Navigator.pushNamed(context,
context, Routes.myItemsHistoryScreen,
MaterialPageRoute( arguments: packageResults
builder: ((context) => .myPackages?[index]);
MyPackagesHistoryScreen(
packages: packageResults
.myPackages?[index],
)),
),
);
}, },
); );
} else { } else {
@@ -200,16 +193,10 @@ class _MyPackagesMineScreenState extends State<MyPackagesMineScreen> {
packages: packageResults packages: packageResults
.hospitalPackages?[index], .hospitalPackages?[index],
push: () { push: () {
Navigator.push( Navigator.pushNamed(context,
context, Routes.myItemsHistoryScreen,
MaterialPageRoute( arguments: packageResults
builder: ((context) => .hospitalPackages?[index]);
MyPackagesHistoryScreen(
packages: packageResults
.myPackages?[index],
)),
),
);
}, },
); );
} }
@@ -1,5 +1,5 @@
import 'package:cssd/config/routes.dart';
import 'package:cssd/models/package_model.dart'; import 'package:cssd/models/package_model.dart';
import 'package:cssd/pages/MyPackagesPages/my_packages_transfer_screen.dart';
import 'package:cssd/providers/packages.dart'; import 'package:cssd/providers/packages.dart';
import 'package:cssd/widgets/MyPackagesScreens/Detail/my_packages_detail_box_widget.dart'; import 'package:cssd/widgets/MyPackagesScreens/Detail/my_packages_detail_box_widget.dart';
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
@@ -82,14 +82,9 @@ class _MyPackagesDetailScreenState extends State<MyPackagesDetailScreen> {
datas: datas!, datas: datas!,
deviceBlockSize: _deviceBlockSize, deviceBlockSize: _deviceBlockSize,
push: () { push: () {
Navigator.push( Navigator.pushNamed(
context, context, Routes.packagesTransferScreen,
MaterialPageRoute( arguments: datas);
builder: (context) => PackageTransferScreen(
packages: datas,
),
),
);
}, },
) )
: ConnectionErrorBox(); : ConnectionErrorBox();
@@ -36,6 +36,14 @@ class _MyPackageFilterScreenState extends State<MyPackageFilterScreen> {
super.initState(); super.initState();
} }
@override
void didChangeDependencies() {
if (isInit) {
isInit = false;
}
super.didChangeDependencies();
}
@override @override
Widget build(BuildContext context) { Widget build(BuildContext context) {
final _media = MediaQuery.of(context); final _media = MediaQuery.of(context);
@@ -198,7 +206,11 @@ class _MyPackageFilterScreenState extends State<MyPackageFilterScreen> {
SizedBox( SizedBox(
height: 30, height: 30,
), ),
TextFormField( Row(
children: [
Flexible(
flex: 8,
child: TextFormField(
controller: udiCTRL, controller: udiCTRL,
decoration: InputDecoration( decoration: InputDecoration(
icon: Icon( icon: Icon(
@@ -224,6 +236,42 @@ class _MyPackageFilterScreenState extends State<MyPackageFilterScreen> {
keyboardType: TextInputType.text, keyboardType: TextInputType.text,
textInputAction: TextInputAction.next, textInputAction: TextInputAction.next,
), ),
),
Flexible(
flex: 1,
child: InkWell(
onTap: () {
scan().then(
(String result) {
if (result == 'cancel') {
print('cancel');
} else if (result == 'error') {
print('error');
} else if (result == 'access') {
print('access');
} else {
print(result);
idCTRL.text = result;
}
},
);
},
child: Container(
padding: EdgeInsets.all(8),
decoration: BoxDecoration(
shape: BoxShape.circle,
color: Colors.black,
),
child: Icon(
Icons.qr_code_scanner,
size: 5 * _deviceBlockSize,
color: Colors.white,
),
),
),
)
],
),
SizedBox( SizedBox(
height: 90, height: 90,
), ),
@@ -15,9 +15,9 @@ import 'package:provider/provider.dart';
class MyPackagesHistoryScreen extends StatefulWidget { class MyPackagesHistoryScreen extends StatefulWidget {
final bool? isAdmin; final bool? isAdmin;
final MyPackageResultObject? packages; final MyPackageResultObject? items;
MyPackagesHistoryScreen({this.isAdmin, this.packages}); MyPackagesHistoryScreen({this.isAdmin, this.items});
@override @override
_MyPackagesHistoryScreenState createState() => _MyPackagesHistoryScreenState createState() =>
@@ -27,6 +27,7 @@ class MyPackagesHistoryScreen extends StatefulWidget {
class _MyPackagesHistoryScreenState extends State<MyPackagesHistoryScreen> { class _MyPackagesHistoryScreenState extends State<MyPackagesHistoryScreen> {
bool _isInit = true; bool _isInit = true;
ScrollController? sc; ScrollController? sc;
MyPackageResultObject? packageData;
@override @override
void initState() { void initState() {
@@ -35,13 +36,15 @@ class _MyPackagesHistoryScreenState extends State<MyPackagesHistoryScreen> {
} }
@override @override
void didChangeDependencies() { void didChangeDependencies() async {
if (_isInit) { if (_isInit) {
packageData =
ModalRoute.of(context)!.settings.arguments as MyPackageResultObject?;
var userResults = Provider.of<UsersProvider>(context); var userResults = Provider.of<UsersProvider>(context);
userResults.setLoading(); userResults.setLoading();
userResults String medicalCenterId =
.getUsers(userResults.getUserMedicalCenter() as String) await userResults.getUserMedicalCenter() as String;
.then((_) { userResults.getUsers(medicalCenterId).then((_) {
userResults.resetLoading(); userResults.resetLoading();
sc?.addListener( sc?.addListener(
() { () {
@@ -50,8 +53,7 @@ class _MyPackagesHistoryScreenState extends State<MyPackagesHistoryScreen> {
context, context,
listen: false, listen: false,
); );
userResults userResults.getUsers(medicalCenterId);
.getUsers(userResults.getUserMedicalCenter() as String);
} }
}, },
); );
@@ -106,20 +108,13 @@ class _MyPackagesHistoryScreenState extends State<MyPackagesHistoryScreen> {
MyPackagesItemDataBox( MyPackagesItemDataBox(
deviceBlockSize: _deviceBlockSize, deviceBlockSize: _deviceBlockSize,
hasHistoryBtn: false, hasHistoryBtn: false,
packages: MyPackagesHistoryScreen().packages!, packages: packageData,
isAdmin: userData['roles']?.contains('User') isAdmin: userData['roles']?.contains('User')
? false ? false
: true, : true,
), ),
SizedBox( SizedBox(
height: 10.0, height: 20.0,
),
Divider(
color: Colors.grey,
height: 2.0,
),
SizedBox(
height: 10.0,
), ),
Expanded( Expanded(
child: Consumer<UsersProvider>( child: Consumer<UsersProvider>(
@@ -137,9 +132,7 @@ class _MyPackagesHistoryScreenState extends State<MyPackagesHistoryScreen> {
children: [ children: [
PackageHistoryDate( PackageHistoryDate(
deviceBlockSize: _deviceBlockSize, deviceBlockSize: _deviceBlockSize,
packages: packages: packageData!,
MyPackagesHistoryScreen()
.packages!,
), ),
SizedBox( SizedBox(
height: 20.0, height: 20.0,
@@ -30,6 +30,7 @@ class _PackageTransferScreenState extends State<PackageTransferScreen> {
bool _isInit = true; bool _isInit = true;
ScrollController? sc; ScrollController? sc;
TextEditingController searchCTRL = new TextEditingController(); TextEditingController searchCTRL = new TextEditingController();
PackageDetailObject? packageData;
@override @override
void initState() { void initState() {
@@ -38,13 +39,15 @@ class _PackageTransferScreenState extends State<PackageTransferScreen> {
} }
@override @override
void didChangeDependencies() { void didChangeDependencies() async {
if (_isInit) { if (_isInit) {
packageData =
ModalRoute.of(context)!.settings.arguments as PackageDetailObject?;
var userResults = Provider.of<UsersProvider>(context); var userResults = Provider.of<UsersProvider>(context);
userResults.setLoading(); userResults.setLoading();
userResults String medicalCenterId =
.getUsers(userResults.getUserMedicalCenter() as String) await userResults.getUserMedicalCenter() as String;
.then((_) { userResults.getUsers(medicalCenterId).then((_) {
userResults.resetLoading(); userResults.resetLoading();
sc!.addListener( sc!.addListener(
() { () {
@@ -54,8 +57,7 @@ class _PackageTransferScreenState extends State<PackageTransferScreen> {
context, context,
listen: false, listen: false,
); );
userResults userResults.getUsers(medicalCenterId);
.getUsers(userResults.getUserMedicalCenter() as String);
} }
}, },
); );
@@ -138,6 +140,7 @@ class _PackageTransferScreenState extends State<PackageTransferScreen> {
return TransferDataBox( return TransferDataBox(
deviceBlockSize: _deviceBlockSize, deviceBlockSize: _deviceBlockSize,
user: userResults.usersBox?[index], user: userResults.usersBox?[index],
clickColor: kDarkPurple,
isClicked: isClicked:
userResults.selectedUserIndex == userResults.selectedUserIndex ==
index, index,
@@ -148,8 +151,14 @@ class _PackageTransferScreenState extends State<PackageTransferScreen> {
).selectUser(index); ).selectUser(index);
print(userId); print(userId);
Provider.of<UsersProvider>( Provider.of<UsersProvider>(
context) context,
listen: false)
.saveUserId = userId; .saveUserId = userId;
Provider.of<UsersProvider>(
context,
listen: false)
.selectedUserForPackages =
userResults.usersBox?[index];
}, },
); );
}, },
@@ -188,7 +197,8 @@ class _PackageTransferScreenState extends State<PackageTransferScreen> {
SizedBox( SizedBox(
height: 10.0, height: 10.0,
), ),
PackageCard(_deviceBlockSize), PackageCard(
_deviceBlockSize, packageData!),
SizedBox( SizedBox(
height: 5.0, height: 5.0,
), ),
@@ -199,7 +209,13 @@ class _PackageTransferScreenState extends State<PackageTransferScreen> {
SizedBox( SizedBox(
width: 5.0, width: 5.0,
), ),
PackageCard(_deviceBlockSize), TransferDataBox(
deviceBlockSize:
_deviceBlockSize,
user: Provider.of<
UsersProvider>(context)
.selectedUserForPackages,
)
], ],
), ),
SizedBox( SizedBox(
@@ -207,20 +223,23 @@ class _PackageTransferScreenState extends State<PackageTransferScreen> {
), ),
TransferDestroyButton( TransferDestroyButton(
deviceBlockSize: _deviceBlockSize, deviceBlockSize: _deviceBlockSize,
firstColor: kDarkBlue, firstColor: kDarkPurple,
secondColor: kDarkBlueSub, secondColor: kDarkPurpleSub,
onTap: () { onTap: () {
Provider.of<MyPackageProvider>( Provider.of<MyPackageProvider>(
context, context,
listen: false, listen: false,
).transferPackage( ).transferPackage(
PackageTransferScreen() packageData!.id,
.packages!
.id,
Provider.of<UsersProvider>( Provider.of<UsersProvider>(
context, context,
).saveUserId!, listen: false)
.saveUserId!,
); );
Navigator.of(context).pop();
Navigator.of(context)
.popAndPushNamed(Routes
.myPackagesResultScreen);
}, },
text: 'Transfer', text: 'Transfer',
), ),
@@ -254,7 +273,7 @@ class _PackageTransferScreenState extends State<PackageTransferScreen> {
); );
} }
Container PackageCard(double _deviceBlockSize) { Container PackageCard(double _deviceBlockSize, PackageDetailObject package) {
return Container( return Container(
decoration: BoxDecoration( decoration: BoxDecoration(
border: Border.all(color: Colors.grey), border: Border.all(color: Colors.grey),
@@ -266,7 +285,7 @@ class _PackageTransferScreenState extends State<PackageTransferScreen> {
Container( Container(
padding: const EdgeInsets.all(6.0), padding: const EdgeInsets.all(6.0),
child: Text( child: Text(
PackageTransferScreen().packages!.id, package.id,
style: TextStyle( style: TextStyle(
fontWeight: FontWeight.w700, fontWeight: FontWeight.w700,
fontSize: 5 * _deviceBlockSize, fontSize: 5 * _deviceBlockSize,
@@ -283,7 +302,7 @@ class _PackageTransferScreenState extends State<PackageTransferScreen> {
Container( Container(
width: 40 * _deviceBlockSize, width: 40 * _deviceBlockSize,
child: Text( child: Text(
PackageTransferScreen().packages!.name, package.name,
style: TextStyle( style: TextStyle(
fontSize: 3 * _deviceBlockSize, fontSize: 3 * _deviceBlockSize,
fontWeight: FontWeight.w700, fontWeight: FontWeight.w700,
+42 -11
View File
@@ -92,6 +92,7 @@ class MyItemProvider extends ChangeNotifier {
String url = Url.getMyItems(pageNumber); String url = Url.getMyItems(pageNumber);
if (filterOn) { if (filterOn) {
if (filters!.id != '') { if (filters!.id != '') {
//!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! Modify this. Filter Items by ID dos'nt work!!!!
url += '&item_id=${filters!.id}'; url += '&item_id=${filters!.id}';
} }
if (filters!.name != '') { if (filters!.name != '') {
@@ -124,8 +125,12 @@ class MyItemProvider extends ChangeNotifier {
name: item['name'], name: item['name'],
id: item['id'].toString(), id: item['id'].toString(),
size: item['size'].toString(), size: item['size'].toString(),
fromDate: item['transfers']['from_date'], fromDate: item['transfers'].isNotEmpty
toDate: item['transfers']['to_date'], ? item['transfers']['from_date'].toString()
: '',
toDate: item['transfers'].isNotEmpty
? item['transfers']['to_date'].toString()
: '',
), ),
); );
} }
@@ -137,6 +142,7 @@ class MyItemProvider extends ChangeNotifier {
String url = Url.getHospitalItems(pageNumber); String url = Url.getHospitalItems(pageNumber);
if (filterOn) { if (filterOn) {
if (filters!.id != '') { if (filters!.id != '') {
//!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! Modify this. Filter Items by ID dos'nt work!!!!
url += '&item_id=${filters!.id}'; url += '&item_id=${filters!.id}';
} }
if (filters!.name != '') { if (filters!.name != '') {
@@ -158,7 +164,6 @@ class MyItemProvider extends ChangeNotifier {
); );
print(response.body); print(response.body);
print(response.statusCode);
var itemsData = json.decode(response.body); var itemsData = json.decode(response.body);
@@ -173,8 +178,12 @@ class MyItemProvider extends ChangeNotifier {
id: item['id'].toString(), id: item['id'].toString(),
size: item['size'].toString(), size: item['size'].toString(),
userName: item['user'] != null ? item['user']['name'] : '', userName: item['user'] != null ? item['user']['name'] : '',
// fromDate: item['transfers']['from_date'], fromDate: item['transfers'].isNotEmpty
// toDate: item['transfers']['to_date'], ? item['transfers']['from_date'].toString()
: '',
toDate: item['transfers'].isNotEmpty
? item['transfers']['to_date'].toString()
: '',
), ),
); );
} }
@@ -196,9 +205,9 @@ class MyItemProvider extends ChangeNotifier {
for (var item in itemsData['data']) { for (var item in itemsData['data']) {
originalMyItemsRequests!.add( originalMyItemsRequests!.add(
MyItemResultObject( MyItemResultObject(
name: item['name'], name: item['transferable']['name'],
id: item['id'].toString(), id: item['transferable']['id'].toString(),
size: item['size'].toString(), size: item['transferable']['size'].toString(),
), ),
); );
} }
@@ -212,15 +221,16 @@ class MyItemProvider extends ChangeNotifier {
); );
var itemsData = json.decode(response.body); var itemsData = json.decode(response.body);
print(itemsData);
originalHospitalItemsRequests = []; originalHospitalItemsRequests = [];
for (var item in itemsData['data']) { for (var item in itemsData['data']) {
originalHospitalItemsRequests!.add( originalHospitalItemsRequests!.add(
MyItemResultObject( MyItemResultObject(
name: item['name'], name: item['transferable']['name'].toString(),
id: item['id'].toString(), id: item['transferable']['id'].toString(),
size: item['size'].toString(), size: item['transferable']['size'].toString(),
userName: item['user'] != null ? item['user']['name'] : '', userName: item['user'] != null ? item['user']['name'] : '',
), ),
); );
@@ -247,6 +257,24 @@ class MyItemProvider extends ChangeNotifier {
print(itemData); print(itemData);
} }
Future<void> repairItems(String itemId, String value) async {
var response = await http.post(
Uri.parse(Url.repairItems(itemId)),
body: json.encode(
{
'status': value,
},
),
headers: {
'Authorization': User.token,
'X-Requested-With': 'XMLHttpRequest',
"Content-Type": "application/json",
"Accept": "application/json"
},
);
print(response.statusCode);
}
Future<bool> verifyItemRequests(String id, String value) async { Future<bool> verifyItemRequests(String id, String value) async {
var response = await http.post( var response = await http.post(
Uri.parse(Url.verifyItemRequests(id, value)), Uri.parse(Url.verifyItemRequests(id, value)),
@@ -260,6 +288,8 @@ class MyItemProvider extends ChangeNotifier {
); );
var itemData = json.decode(response.body); var itemData = json.decode(response.body);
print(response.statusCode);
print(itemData);
try { try {
if (itemData['data']['transfers']['status'] == 'approved') { if (itemData['data']['transfers']['status'] == 'approved') {
@@ -268,6 +298,7 @@ class MyItemProvider extends ChangeNotifier {
return false; return false;
} }
} catch (e) { } catch (e) {
print(e);
return false; return false;
} }
} }
+22 -14
View File
@@ -79,7 +79,7 @@ class MyPackageProvider extends ChangeNotifier {
} }
Future<void> getMyPackages() async { Future<void> getMyPackages() async {
String url = Url.getMyItems(pageNumber); String url = Url.getMyPackages(pageNumber);
if (filterOn) { if (filterOn) {
if (filters!.id != '') { if (filters!.id != '') {
url += '&package_id=${filters!.id}'; url += '&package_id=${filters!.id}';
@@ -107,8 +107,12 @@ class MyPackageProvider extends ChangeNotifier {
MyPackageResultObject( MyPackageResultObject(
name: package['name'], name: package['name'],
id: package['id'].toString(), id: package['id'].toString(),
fromDate: package['transfers']['from_date'], // fromDate: package['transfers'].isNotEmpty
toDate: package['transfers']['to_date'], // ? package['transfers']['from_date'].toString()
// : '',
// toDate: package['transfers'].isNotEmpty
// ? package['transfers']['to_date'].toString()
// : '',
), ),
); );
} }
@@ -117,7 +121,7 @@ class MyPackageProvider extends ChangeNotifier {
} }
Future<void> getHospitalPackages() async { Future<void> getHospitalPackages() async {
String url = Url.getHospitalItems(pageNumber); String url = Url.getHospitalPackages(pageNumber);
if (filterOn) { if (filterOn) {
if (filters!.id != '') { if (filters!.id != '') {
url += '&package_id=${filters!.id}'; url += '&package_id=${filters!.id}';
@@ -146,8 +150,12 @@ class MyPackageProvider extends ChangeNotifier {
name: package['name'], name: package['name'],
id: package['id'].toString(), id: package['id'].toString(),
userName: package['user'] != null ? package['user']['name'] : '', userName: package['user'] != null ? package['user']['name'] : '',
fromDate: package['transfers']['from_date'], // fromDate: package['transfers'].isNotEmpty
toDate: package['transfers']['to_date'], // ? package['transfers']['from_date'].toString()
// : '',
// toDate: package['transfers'].isNotEmpty
// ? package['transfers']['to_date'].toString()
// : '',
), ),
); );
} }
@@ -156,7 +164,7 @@ class MyPackageProvider extends ChangeNotifier {
} }
Future<void> getMyPackageRequests() async { Future<void> getMyPackageRequests() async {
String url = Url.getMyItemRequests; String url = Url.getMyPackageRequests;
var response = await http.get( var response = await http.get(
Uri.parse(url), Uri.parse(url),
headers: {'Authorization': User.token, "Accept": "application/json"}, headers: {'Authorization': User.token, "Accept": "application/json"},
@@ -169,15 +177,15 @@ class MyPackageProvider extends ChangeNotifier {
for (var package in packagesData['data']) { for (var package in packagesData['data']) {
originalMyPackagesRequests!.add( originalMyPackagesRequests!.add(
MyPackageResultObject( MyPackageResultObject(
name: package['name'], name: package['transferable']['name'],
id: package['id'].toString(), id: package['transferable']['id'].toString(),
), ),
); );
} }
} }
Future<void> getHospitalPackageRequests() async { Future<void> getHospitalPackageRequests() async {
String url = Url.getHospitalItemRequests; String url = Url.getHospitalPackageRequests;
var response = await http.get( var response = await http.get(
Uri.parse(url), Uri.parse(url),
headers: {'Authorization': User.token, "Accept": "application/json"}, headers: {'Authorization': User.token, "Accept": "application/json"},
@@ -190,8 +198,8 @@ class MyPackageProvider extends ChangeNotifier {
for (var package in packagesData['data']) { for (var package in packagesData['data']) {
originalHospitalPackagesRequests!.add( originalHospitalPackagesRequests!.add(
MyPackageResultObject( MyPackageResultObject(
name: package['name'], name: package['transferable']['name'],
id: package['id'].toString(), id: package['transferable']['id'].toString(),
userName: package['user'] != null ? package['user']['name'] : '', userName: package['user'] != null ? package['user']['name'] : '',
), ),
); );
@@ -200,7 +208,7 @@ class MyPackageProvider extends ChangeNotifier {
Future<void> transferPackage(String packageId, String userId) async { Future<void> transferPackage(String packageId, String userId) async {
var response = await http.post( var response = await http.post(
Uri.parse(Url.transferItems(packageId)), Uri.parse(Url.transferPackages(packageId)),
body: json.encode( body: json.encode(
{ {
'user_id': userId, 'user_id': userId,
@@ -220,7 +228,7 @@ class MyPackageProvider extends ChangeNotifier {
Future<bool> verifyPackageRequests(String id, String value) async { Future<bool> verifyPackageRequests(String id, String value) async {
var response = await http.post( var response = await http.post(
Uri.parse(Url.verifyItemRequests(id, value)), Uri.parse(Url.verifyPackageRequests(id, value)),
body: json.encode({'status': value}), body: json.encode({'status': value}),
headers: { headers: {
'Authorization': User.token, 'Authorization': User.token,
+3
View File
@@ -16,6 +16,8 @@ class UsersProvider extends ChangeNotifier {
String? medicalCenterId; String? medicalCenterId;
int? selectedUserIndex; int? selectedUserIndex;
Users? selectedUserForItems;
Users? selectedUserForPackages;
String? saveUserId; String? saveUserId;
@@ -66,6 +68,7 @@ class UsersProvider extends ChangeNotifier {
), ),
); );
} }
searchUsers('');
} }
Future<String?> getUserMedicalCenter() async { Future<String?> getUserMedicalCenter() async {
@@ -3,6 +3,7 @@ import 'package:cssd/config/routes.dart';
import 'package:cssd/models/item_model.dart'; import 'package:cssd/models/item_model.dart';
import 'package:cssd/providers/auth.dart'; import 'package:cssd/providers/auth.dart';
import 'package:cssd/providers/items.dart'; import 'package:cssd/providers/items.dart';
import 'package:cssd/providers/my_items.dart';
import 'package:cssd/widgets/MyItemsScreens/Detail/cancel_transfer_button.dart'; import 'package:cssd/widgets/MyItemsScreens/Detail/cancel_transfer_button.dart';
import 'package:cssd/widgets/MyItemsScreens/Detail/transfer_destroy_button.dart'; import 'package:cssd/widgets/MyItemsScreens/Detail/transfer_destroy_button.dart';
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
@@ -417,6 +418,83 @@ class MyItemsDetailsDataBox extends StatelessWidget {
); );
}, },
), ),
SizedBox(
height: 10.0,
),
userData['roles']?.contains('User') ?? false
? Container()
: TransferDestroyButton(
deviceBlockSize: _deviceBlockSize,
firstColor: Colors.black,
secondColor: Colors.black87,
text: 'Repair',
onTap: () {
showDialog(
context: context,
builder: (context) {
return AlertDialog(
title: Text(
'Are you sure to repair this Item?',
style: TextStyle(
fontSize: 4 * _deviceBlockSize,
),
),
content: SizedBox(
width: _deviceBlockSize,
height: 220,
child: Column(
children: [
Text(
'By approving, your item will be set in repair mode and it can be use anymore unless you disable repair mode.',
style: TextStyle(
fontSize: 3 * _deviceBlockSize,
),
),
SizedBox(
height: 10.0,
),
ItemCard(_deviceBlockSize),
SizedBox(
height: 20.0,
),
TransferDestroyButton(
deviceBlockSize: _deviceBlockSize,
firstColor: Colors.black,
secondColor: Colors.black87,
onTap: () {
Provider.of<MyItemProvider>(context,
listen: false)
.repairItems(datas.id, 'approved')
.then(
(value) {
Navigator.of(context).pop();
Navigator.pushReplacementNamed(
context,
Routes.myItemsResultScreen,
);
},
);
},
text: 'Repair',
),
SizedBox(
height: 5.0,
),
CancelTransferButton(
deviceBlockSize: _deviceBlockSize,
color: kDarkBlue,
onTap: () {
Navigator.pop(context);
},
),
],
),
),
);
},
);
},
),
SizedBox( SizedBox(
height: 20.0, height: 20.0,
), ),
@@ -1,4 +1,3 @@
import 'package:cssd/config/colors.dart';
import 'package:cssd/models/users_model.dart'; import 'package:cssd/models/users_model.dart';
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
@@ -6,12 +5,14 @@ class TransferDataBox extends StatelessWidget {
final Users? user; final Users? user;
final Function(String)? onTap; final Function(String)? onTap;
final bool isClicked; final bool isClicked;
final Color? clickColor;
const TransferDataBox({ const TransferDataBox({
Key? key, Key? key,
required double deviceBlockSize, required double deviceBlockSize,
this.user, this.user,
this.onTap, this.onTap,
this.clickColor,
this.isClicked = false, this.isClicked = false,
}) : _deviceBlockSize = deviceBlockSize, }) : _deviceBlockSize = deviceBlockSize,
super(key: key); super(key: key);
@@ -32,7 +33,7 @@ class TransferDataBox extends StatelessWidget {
borderRadius: BorderRadius.all( borderRadius: BorderRadius.all(
Radius.circular(10), Radius.circular(10),
), ),
border: Border.all(color: kDarkBlue, width: 2.0), border: Border.all(color: clickColor!, width: 2.0),
) )
: BoxDecoration(), : BoxDecoration(),
padding: EdgeInsets.all(8), padding: EdgeInsets.all(8),
@@ -1,3 +1,4 @@
import 'package:cssd/providers/auth.dart';
import 'package:cssd/providers/my_items.dart'; import 'package:cssd/providers/my_items.dart';
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
import 'package:provider/provider.dart'; import 'package:provider/provider.dart';
@@ -31,6 +32,7 @@ class MyItemFilterChip extends StatelessWidget {
@override @override
Widget build(BuildContext context) { Widget build(BuildContext context) {
final userData = Provider.of<Auth>(context, listen: false).user;
return Row( return Row(
children: <Widget>[ children: <Widget>[
SizedBox( SizedBox(
@@ -59,11 +61,19 @@ class MyItemFilterChip extends StatelessWidget {
_specific, _specific,
); );
itemProvider.setLoading(); itemProvider.setLoading();
if (userData['roles']?.contains('User')) {
itemProvider.getMyItems().then( itemProvider.getMyItems().then(
(_) { (_) {
itemProvider.resetLoading(); itemProvider.resetLoading();
}, },
); );
} else {
itemProvider.getHospitalItems().then(
(_) {
itemProvider.resetLoading();
},
);
}
}, },
), ),
], ],
@@ -1,13 +1,8 @@
import 'package:cssd/config/colors.dart'; import 'package:cssd/config/colors.dart';
import 'package:cssd/config/routes.dart';
import 'package:cssd/models/package_model.dart'; import 'package:cssd/models/package_model.dart';
import 'package:cssd/providers/auth.dart';
import 'package:cssd/providers/packages.dart';
import 'package:cssd/widgets/MyItemsScreens/Detail/cancel_transfer_button.dart';
import 'package:cssd/widgets/MyItemsScreens/Detail/transfer_destroy_button.dart'; import 'package:cssd/widgets/MyItemsScreens/Detail/transfer_destroy_button.dart';
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
import 'package:intl/intl.dart'; import 'package:intl/intl.dart';
import 'package:provider/provider.dart';
import 'package:url_launcher/url_launcher.dart'; import 'package:url_launcher/url_launcher.dart';
class MyPackageDetailsDataBox extends StatelessWidget { class MyPackageDetailsDataBox extends StatelessWidget {
@@ -25,7 +20,7 @@ class MyPackageDetailsDataBox extends StatelessWidget {
@override @override
Widget build(BuildContext context) { Widget build(BuildContext context) {
final userData = Provider.of<Auth>(context, listen: false).user; // final userData = Provider.of<Auth>(context, listen: false).user;
return Padding( return Padding(
padding: EdgeInsets.all(20), padding: EdgeInsets.all(20),
child: ListView( child: ListView(
@@ -276,83 +271,83 @@ class MyPackageDetailsDataBox extends StatelessWidget {
push(); push();
}, },
), ),
SizedBox( // SizedBox(
height: 10.0, // height: 10.0,
), // ),
userData['roles']?.contains('User') ?? false // userData['roles']?.contains('User') ?? false
? Container() // ? Container()
: TransferDestroyButton( // : TransferDestroyButton(
deviceBlockSize: _deviceBlockSize, // deviceBlockSize: _deviceBlockSize,
firstColor: kPink, // firstColor: kPink,
secondColor: kPinkSub, // secondColor: kPinkSub,
text: 'Destroy', // text: 'Destroy',
onTap: () { // onTap: () {
showDialog( // showDialog(
context: context, // context: context,
builder: (context) { // builder: (context) {
return AlertDialog( // return AlertDialog(
title: Text( // title: Text(
'Are you sure to destroy this Package?', // 'Are you sure to destroy this Package?',
style: TextStyle( // style: TextStyle(
fontSize: 4 * _deviceBlockSize, // fontSize: 4 * _deviceBlockSize,
), // ),
), // ),
content: SizedBox( // content: SizedBox(
width: _deviceBlockSize, // width: _deviceBlockSize,
height: 220, // height: 220,
child: Column( // child: Column(
children: [ // children: [
Text( // Text(
'By approving, your package will be removed and it can not be used any more.', // 'By approving, your package will be removed and it can not be used any more.',
style: TextStyle( // style: TextStyle(
fontSize: 3 * _deviceBlockSize, // fontSize: 3 * _deviceBlockSize,
), // ),
), // ),
SizedBox( // SizedBox(
height: 10.0, // height: 10.0,
), // ),
PackageCard(_deviceBlockSize), // PackageCard(_deviceBlockSize),
SizedBox( // SizedBox(
height: 20.0, // height: 20.0,
), // ),
TransferDestroyButton( // TransferDestroyButton(
deviceBlockSize: _deviceBlockSize, // deviceBlockSize: _deviceBlockSize,
firstColor: kPink, // firstColor: kPink,
secondColor: kPinkSub, // secondColor: kPinkSub,
onTap: () { // onTap: () {
Provider.of<PackageProvider>(context, // Provider.of<PackageProvider>(context,
listen: false) // listen: false)
.removePackages(datas.id) // .removePackages(datas.id)
.then( // .then(
(value) { // (value) {
Navigator.of(context).pop(); // Navigator.of(context).pop();
Navigator.pushReplacementNamed( // Navigator.pushReplacementNamed(
context, // context,
Routes.myPackagesResultScreen, // Routes.myPackagesResultScreen,
); // );
}, // },
); // );
}, // },
text: 'Destroy', // text: 'Destroy',
), // ),
SizedBox( // SizedBox(
height: 5.0, // height: 5.0,
), // ),
CancelTransferButton( // CancelTransferButton(
deviceBlockSize: _deviceBlockSize, // deviceBlockSize: _deviceBlockSize,
color: kDarkPurple, // color: kDarkPurple,
onTap: () { // onTap: () {
Navigator.pop(context); // Navigator.pop(context);
}, // },
), // ),
], // ],
), // ),
), // ),
); // );
}, // },
); // );
}, // },
), // ),
SizedBox( SizedBox(
height: 20, height: 20,
), ),
@@ -1,3 +1,4 @@
import 'package:cssd/providers/auth.dart';
import 'package:cssd/providers/my_packages.dart'; import 'package:cssd/providers/my_packages.dart';
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
import 'package:provider/provider.dart'; import 'package:provider/provider.dart';
@@ -25,6 +26,7 @@ class MyPackageFilterChip extends StatelessWidget {
@override @override
Widget build(BuildContext context) { Widget build(BuildContext context) {
final userData = Provider.of<Auth>(context, listen: false).user;
return Row( return Row(
children: <Widget>[ children: <Widget>[
SizedBox( SizedBox(
@@ -51,11 +53,19 @@ class MyPackageFilterChip extends StatelessWidget {
_udi, _udi,
); );
packageProvider.setLoading(); packageProvider.setLoading();
if (userData['roles']?.contains('User')) {
packageProvider.getMyPackages().then( packageProvider.getMyPackages().then(
(_) { (_) {
packageProvider.resetLoading(); packageProvider.resetLoading();
}, },
); );
} else {
packageProvider.getHospitalPackages().then(
(_) {
packageProvider.resetLoading();
},
);
}
}, },
), ),
], ],
@@ -106,7 +106,7 @@ class MyPackagesItemDataBox extends StatelessWidget {
width: 9 * _deviceBlockSize, width: 9 * _deviceBlockSize,
decoration: BoxDecoration( decoration: BoxDecoration(
shape: BoxShape.circle, shape: BoxShape.circle,
color: kDarkBlue, color: kDarkPurple,
), ),
child: Icon( child: Icon(
FontAwesomeIcons.history, FontAwesomeIcons.history,
@@ -1,6 +1,6 @@
import 'package:cssd/config/colors.dart'; import 'package:cssd/config/colors.dart';
import 'package:cssd/models/my_package_model.dart'; import 'package:cssd/models/my_package_model.dart';
import 'package:cssd/providers/my_items.dart'; import 'package:cssd/providers/my_packages.dart';
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
import 'package:provider/provider.dart'; import 'package:provider/provider.dart';
@@ -104,9 +104,9 @@ class PackageRequestsDataBox extends StatelessWidget {
actions: <Widget>[ actions: <Widget>[
TextButton( TextButton(
onPressed: () async { onPressed: () async {
Provider.of<MyItemProvider>(context, Provider.of<MyPackageProvider>(context,
listen: false) listen: false)
.verifyItemRequests( .verifyPackageRequests(
package!.id, 'approved') package!.id, 'approved')
.then((result) { .then((result) {
if (result) { if (result) {
@@ -114,7 +114,7 @@ class PackageRequestsDataBox extends StatelessWidget {
} }
Navigator.of(ctx).pop(); Navigator.of(ctx).pop();
Navigator.of(context).popAndPushNamed( Navigator.of(context).popAndPushNamed(
Routes.myItemsResultScreen); Routes.myPackagesResultScreen);
}); });
}, },
child: Text('Yes'), child: Text('Yes'),
@@ -158,9 +158,9 @@ class PackageRequestsDataBox extends StatelessWidget {
actions: <Widget>[ actions: <Widget>[
TextButton( TextButton(
onPressed: () async { onPressed: () async {
Provider.of<MyItemProvider>(context, Provider.of<MyPackageProvider>(context,
listen: false) listen: false)
.verifyItemRequests( .verifyPackageRequests(
package!.id, 'rejected') package!.id, 'rejected')
.then((result) { .then((result) {
if (result) { if (result) {
@@ -168,7 +168,7 @@ class PackageRequestsDataBox extends StatelessWidget {
} }
Navigator.of(ctx).pop(); Navigator.of(ctx).pop();
Navigator.of(context).popAndPushNamed( Navigator.of(context).popAndPushNamed(
Routes.myItemsResultScreen); Routes.myPackagesResultScreen);
}); });
}, },
child: Text('Yes'), child: Text('Yes'),