diff --git a/lib/widgets/ItemScreens/Result/item_data_box.dart b/lib/widgets/ItemScreens/Result/item_data_box.dart index 291ae4f..91d61cb 100755 --- a/lib/widgets/ItemScreens/Result/item_data_box.dart +++ b/lib/widgets/ItemScreens/Result/item_data_box.dart @@ -139,20 +139,104 @@ class ItemItemBox extends StatelessWidget { // SizedBox( // width: 5.0, // ), - item?.status == "pending" || item?.status == "rejected" - ? userData['roles']?.contains('Admin') ?? false - ? InkWell( - customBorder: CircleBorder(), - onTap: () { - showDialog( - context: context, - builder: (context) { - return AlertDialog( - title: Text( - 'Are you Confirm this item?', + if (userData['roles']?.contains('Admin') || + (userData['roles']?.contains('Supervisor') && + item!.packageId != null)) + item?.status == "pending" || item?.status == "rejected" + ? InkWell( + customBorder: CircleBorder(), + onTap: () { + showDialog( + context: context, + builder: (context) { + return AlertDialog( + title: Text( + 'Are you Confirm this item?', + ), + actions: [ + Consumer(builder: + (context, itemProvider, _) { + return itemProvider.isloadingButton + ? CircularProgressIndicator( + color: Colors.black, + ) + : TextButton( + onPressed: () async { + itemProvider + .setLoadingButton(); + await Provider.of< + ItemProvider>( + context, + listen: false) + .changeStatus( + item!.id, + "approved") + .then( + (value) { + if (value) { + print('true'); + } + Navigator.of(context) + .pop(); + Navigator.of(context) + .popAndPushNamed( + Routes + .itemResultScreen); + Fluttertoast + .showToast( + msg: + "Item is Approved.", + toastLength: Toast + .LENGTH_SHORT, + gravity: + ToastGravity + .BOTTOM, + ); + itemProvider + .resetLoadingButton(); + }, + ); + }, + child: Text('Yes'), + ); + }), + TextButton( + onPressed: () { + Navigator.of(context).pop(); + }, + child: Text('No'), ), - actions: [ - Consumer(builder: + ], + ); + }, + ); + }, + child: Container( + padding: EdgeInsets.all(7), + width: 8 * _deviceBlockSize, + decoration: BoxDecoration( + shape: BoxShape.circle, + color: kLightBlue, + ), + child: Icon( + Icons.check, + size: 4 * _deviceBlockSize, + color: Colors.white, + ), + ), + ) + : InkWell( + customBorder: CircleBorder(), + onTap: () { + showDialog( + context: context, + builder: (context) { + return AlertDialog( + title: + Text('Are you Reject this item?'), + actions: [ + Consumer( + builder: (context, itemProvider, _) { return itemProvider .isloadingButton @@ -169,7 +253,7 @@ class ItemItemBox extends StatelessWidget { listen: false) .changeStatus( item!.id, - "approved") + "rejected") .then( (value) { if (value) { @@ -186,7 +270,7 @@ class ItemItemBox extends StatelessWidget { Fluttertoast .showToast( msg: - "Item is Approved.", + "Item is rejected.", toastLength: Toast .LENGTH_SHORT, gravity: @@ -200,209 +284,296 @@ class ItemItemBox extends StatelessWidget { }, child: Text('Yes'), ); - }), - TextButton( - onPressed: () { - Navigator.of(context).pop(); - }, - child: Text('No'), - ), - ], - ); - }, - ); - }, - child: Container( - padding: EdgeInsets.all(7), - width: 8 * _deviceBlockSize, - decoration: BoxDecoration( - shape: BoxShape.circle, - color: kLightBlue, - ), - child: Icon( - Icons.check, - size: 4 * _deviceBlockSize, - color: Colors.white, - ), - ), - ) - : userData['roles']?.contains('Supervisor') - ? item!.packageId != null - ? InkWell( - customBorder: CircleBorder(), - onTap: () { - showDialog( - context: context, - builder: (context) { - return AlertDialog( - title: Text( - 'Are you Confirm this item?', - ), - actions: [ - Consumer( - builder: (context, - itemProvider, _) { - return itemProvider - .isloadingButton - ? CircularProgressIndicator( - color: - Colors.black, - ) - : TextButton( - onPressed: - () async { - itemProvider - .setLoadingButton(); - await Provider.of< - ItemProvider>( - context, - listen: - false) - .changeStatus( - item! - .id, - "approved") - .then( - (value) { - if (value) { - print( - 'true'); - } - Navigator.of( - context) - .pop(); - Navigator.of( - context) - .popAndPushNamed( - Routes.itemResultScreen); - Fluttertoast - .showToast( - msg: - "Item is Approved.", - toastLength: - Toast - .LENGTH_SHORT, - gravity: - ToastGravity - .BOTTOM, - ); - itemProvider - .resetLoadingButton(); - }, - ); - }, - child: - Text('Yes'), - ); - }), - TextButton( - onPressed: () { - Navigator.of(context) - .pop(); - }, - child: Text('No'), - ), - ], - ); - }, - ); - }, - child: Container( - padding: EdgeInsets.all(7), - width: 8 * _deviceBlockSize, - decoration: BoxDecoration( - shape: BoxShape.circle, - color: kLightBlue, - ), - child: Icon( - Icons.check, - size: 4 * _deviceBlockSize, - color: Colors.white, - ), + }, ), - ) - : Container() - : Container() - : InkWell( - customBorder: CircleBorder(), - onTap: () { - showDialog( - context: context, - builder: (context) { - return AlertDialog( - title: Text('Are you Reject this item?'), - actions: [ - Consumer( - builder: (context, itemProvider, _) { - return itemProvider.isloadingButton - ? CircularProgressIndicator( - color: Colors.black, - ) - : TextButton( - onPressed: () async { - itemProvider - .setLoadingButton(); - await Provider.of< - ItemProvider>( - context, - listen: false) - .changeStatus( - item!.id, - "rejected") - .then( - (value) { - if (value) { - print('true'); - } - Navigator.of(context) - .pop(); - Navigator.of(context) - .popAndPushNamed( - Routes - .itemResultScreen); - Fluttertoast - .showToast( - msg: - "Item is rejected.", - toastLength: Toast - .LENGTH_SHORT, - gravity: - ToastGravity - .BOTTOM, - ); - itemProvider - .resetLoadingButton(); - }, - ); - }, - child: Text('Yes'), - ); - }, - ), - TextButton( - onPressed: () { - Navigator.of(context).pop(); - }, - child: Text('No'), - ), - ], - ); - }, - ); - }, - child: Container( - padding: EdgeInsets.all(7), - width: 8 * _deviceBlockSize, - decoration: BoxDecoration( - shape: BoxShape.circle, - color: Colors.black), - child: Icon( - Icons.close, - size: 4 * _deviceBlockSize, - color: Colors.white, + TextButton( + onPressed: () { + Navigator.of(context).pop(); + }, + child: Text('No'), + ), + ], + ); + }, + ); + }, + child: Container( + padding: EdgeInsets.all(7), + width: 8 * _deviceBlockSize, + decoration: BoxDecoration( + shape: BoxShape.circle, + color: Colors.black), + child: Icon( + Icons.close, + size: 4 * _deviceBlockSize, + color: Colors.white, + ), ), ), - ), + // item?.status == "pending" || item?.status == "rejected" + // ? userData['roles']?.contains('Admin') ?? false + // ? InkWell( + // customBorder: CircleBorder(), + // onTap: () { + // showDialog( + // context: context, + // builder: (context) { + // return AlertDialog( + // title: Text( + // 'Are you Confirm this item?', + // ), + // actions: [ + // Consumer(builder: + // (context, itemProvider, _) { + // return itemProvider + // .isloadingButton + // ? CircularProgressIndicator( + // color: Colors.black, + // ) + // : TextButton( + // onPressed: () async { + // itemProvider + // .setLoadingButton(); + // await Provider.of< + // ItemProvider>( + // context, + // listen: false) + // .changeStatus( + // item!.id, + // "approved") + // .then( + // (value) { + // if (value) { + // print('true'); + // } + // Navigator.of( + // context) + // .pop(); + // Navigator.of( + // context) + // .popAndPushNamed( + // Routes + // .itemResultScreen); + // Fluttertoast + // .showToast( + // msg: + // "Item is Approved.", + // toastLength: Toast + // .LENGTH_SHORT, + // gravity: + // ToastGravity + // .BOTTOM, + // ); + // itemProvider + // .resetLoadingButton(); + // }, + // ); + // }, + // child: Text('Yes'), + // ); + // }), + // TextButton( + // onPressed: () { + // Navigator.of(context).pop(); + // }, + // child: Text('No'), + // ), + // ], + // ); + // }, + // ); + // }, + // child: Container( + // padding: EdgeInsets.all(7), + // width: 8 * _deviceBlockSize, + // decoration: BoxDecoration( + // shape: BoxShape.circle, + // color: kLightBlue, + // ), + // child: Icon( + // Icons.check, + // size: 4 * _deviceBlockSize, + // color: Colors.white, + // ), + // ), + // ) + // : userData['roles']?.contains('Supervisor') + // ? item!.packageId != null + // ? InkWell( + // customBorder: CircleBorder(), + // onTap: () { + // showDialog( + // context: context, + // builder: (context) { + // return AlertDialog( + // title: Text( + // 'Are you Confirm this item?', + // ), + // actions: [ + // Consumer( + // builder: (context, + // itemProvider, _) { + // return itemProvider + // .isloadingButton + // ? CircularProgressIndicator( + // color: + // Colors.black, + // ) + // : TextButton( + // onPressed: + // () async { + // itemProvider + // .setLoadingButton(); + // await Provider.of< + // ItemProvider>( + // context, + // listen: + // false) + // .changeStatus( + // item! + // .id, + // "approved") + // .then( + // (value) { + // if (value) { + // print( + // 'true'); + // } + // Navigator.of( + // context) + // .pop(); + // Navigator.of( + // context) + // .popAndPushNamed( + // Routes.itemResultScreen); + // Fluttertoast + // .showToast( + // msg: + // "Item is Approved.", + // toastLength: + // Toast + // .LENGTH_SHORT, + // gravity: + // ToastGravity + // .BOTTOM, + // ); + // itemProvider + // .resetLoadingButton(); + // }, + // ); + // }, + // child: + // Text('Yes'), + // ); + // }), + // TextButton( + // onPressed: () { + // Navigator.of(context) + // .pop(); + // }, + // child: Text('No'), + // ), + // ], + // ); + // }, + // ); + // }, + // child: Container( + // padding: EdgeInsets.all(7), + // width: 8 * _deviceBlockSize, + // decoration: BoxDecoration( + // shape: BoxShape.circle, + // color: kLightBlue, + // ), + // child: Icon( + // Icons.check, + // size: 4 * _deviceBlockSize, + // color: Colors.white, + // ), + // ), + // ) + // : Container() + // : Container() + // : InkWell( + // customBorder: CircleBorder(), + // onTap: () { + // showDialog( + // context: context, + // builder: (context) { + // return AlertDialog( + // title: Text('Are you Reject this item?'), + // actions: [ + // Consumer( + // builder: (context, itemProvider, _) { + // return itemProvider.isloadingButton + // ? CircularProgressIndicator( + // color: Colors.black, + // ) + // : TextButton( + // onPressed: () async { + // itemProvider + // .setLoadingButton(); + // await Provider.of< + // ItemProvider>( + // context, + // listen: false) + // .changeStatus( + // item!.id, + // "rejected") + // .then( + // (value) { + // if (value) { + // print('true'); + // } + // Navigator.of(context) + // .pop(); + // Navigator.of(context) + // .popAndPushNamed( + // Routes + // .itemResultScreen); + // Fluttertoast + // .showToast( + // msg: + // "Item is rejected.", + // toastLength: Toast + // .LENGTH_SHORT, + // gravity: + // ToastGravity + // .BOTTOM, + // ); + // itemProvider + // .resetLoadingButton(); + // }, + // ); + // }, + // child: Text('Yes'), + // ); + // }, + // ), + // TextButton( + // onPressed: () { + // Navigator.of(context).pop(); + // }, + // child: Text('No'), + // ), + // ], + // ); + // }, + // ); + // }, + // child: Container( + // padding: EdgeInsets.all(7), + // width: 8 * _deviceBlockSize, + // decoration: BoxDecoration( + // shape: BoxShape.circle, + // color: Colors.black), + // child: Icon( + // Icons.close, + // size: 4 * _deviceBlockSize, + // color: Colors.white, + // ), + // ), + // ), SizedBox( width: 5.0, ),