From 703a633108b8b32a652eb72dc79cb715a10053fd Mon Sep 17 00:00:00 2001 From: Sai Naw Wun Date: Wed, 28 Oct 2020 06:58:45 +0630 Subject: [PATCH] disable cancel invoice in customer --- lib/pages/invoice/invoice_info.dart | 5 ++++- lib/pages/invoice/invoice_list_row.dart | 22 +++++++++++++++++++++ lib/pages/invoice/payment/payment_page.dart | 22 ++++++++++++--------- 3 files changed, 39 insertions(+), 10 deletions(-) diff --git a/lib/pages/invoice/invoice_info.dart b/lib/pages/invoice/invoice_info.dart index a495df5..8681798 100644 --- a/lib/pages/invoice/invoice_info.dart +++ b/lib/pages/invoice/invoice_info.dart @@ -66,6 +66,7 @@ class _InvoiceInfoState extends State { @override Widget build(BuildContext context) { bool isCanceled = _invoice.status == invoice_cancel_status; + bool isPaid = _invoice.status == invoice_paid_status; var rateModel = Provider.of(context); var rate = rateModel.rate; @@ -182,7 +183,9 @@ class _InvoiceInfoState extends State { SizedBox( height: 10, ), - isCanceled || widget.forCustomer ? Container() : cancelBtn, + isCanceled || isPaid || widget.forCustomer + ? Container() + : cancelBtn, ], ), ), diff --git a/lib/pages/invoice/invoice_list_row.dart b/lib/pages/invoice/invoice_list_row.dart index b369960..bc68360 100644 --- a/lib/pages/invoice/invoice_list_row.dart +++ b/lib/pages/invoice/invoice_list_row.dart @@ -141,6 +141,28 @@ class InvoiceListRow extends StatelessWidget { builder: (context) => InvoiceInfo(invoice: invoice, forCustomer: forCustomer))); }, + ), + CupertinoActionSheetAction( + child: Row( + children: [ + Padding( + padding: const EdgeInsets.only(left: 8.0), + child: Text( + 'Payments', + style: TextStyle(fontSize: 16, color: Colors.black), + ), + ), + ], + ), + onPressed: () async { + //to go invoice info page + Navigator.pop(context); + Navigator.of(context).push(CupertinoPageRoute( + builder: (context) => PaymentPage( + invoice: invoice, + forCustomer: forCustomer, + ))); + }, ) ], ); diff --git a/lib/pages/invoice/payment/payment_page.dart b/lib/pages/invoice/payment/payment_page.dart index a98e1ec..680bec1 100644 --- a/lib/pages/invoice/payment/payment_page.dart +++ b/lib/pages/invoice/payment/payment_page.dart @@ -37,11 +37,13 @@ class _PaymentPageState extends State { bool isNew; File _file; + bool _hasBalance; @override void initState() { super.initState(); _invoice = widget.invoice; + _hasBalance = widget.invoice.balance > 0; _loadInvoice(); } @@ -100,16 +102,18 @@ class _PaymentPageState extends State { body: ListView( padding: const EdgeInsets.all(10.0), children: [ - amountBox, + _hasBalance ? amountBox : Container(), SizedBox(height: 10), - Align( - child: Padding( - padding: const EdgeInsets.all(8.0), - child: receiptFileBox, - ), - alignment: Alignment.centerLeft, - ), - payBtnBox, + _hasBalance + ? Align( + child: Padding( + padding: const EdgeInsets.all(8.0), + child: receiptFileBox, + ), + alignment: Alignment.centerLeft, + ) + : Container(), + _hasBalance ? payBtnBox : Container(), SizedBox(height: 15), LocalTitle(textKey: "pm.receipt"), Column(