Quotes
This commit is contained in:
parent
a950c6f0b8
commit
78c13d51aa
|
|
@ -4,6 +4,7 @@ import 'package:flutter_redux/flutter_redux.dart';
|
|||
import 'package:invoiceninja_flutter/data/models/models.dart';
|
||||
import 'package:invoiceninja_flutter/redux/app/app_state.dart';
|
||||
import 'package:invoiceninja_flutter/redux/invoice/invoice_actions.dart';
|
||||
import 'package:invoiceninja_flutter/redux/quote/quote_actions.dart';
|
||||
import 'package:invoiceninja_flutter/ui/app/actions_menu_button.dart';
|
||||
import 'package:invoiceninja_flutter/ui/app/buttons/edit_icon_button.dart';
|
||||
import 'package:invoiceninja_flutter/ui/client/view/client_view_activity.dart';
|
||||
|
|
@ -69,7 +70,8 @@ class _ClientViewState extends State<ClientView>
|
|||
context: context,
|
||||
builder: (BuildContext context) =>
|
||||
SimpleDialog(children: <Widget>[
|
||||
user.canCreate(EntityType.client) ? ListTile(
|
||||
user.canCreate(EntityType.client)
|
||||
? ListTile(
|
||||
dense: true,
|
||||
leading: Icon(Icons.add_circle_outline),
|
||||
title: Text(localization.invoice),
|
||||
|
|
@ -80,33 +82,22 @@ class _ClientViewState extends State<ClientView>
|
|||
.rebuild((b) => b.clientId = client.id),
|
||||
context: context));
|
||||
},
|
||||
) : Container(),
|
||||
/*
|
||||
ListTile(
|
||||
)
|
||||
: Container(),
|
||||
user.canCreate(EntityType.quote)
|
||||
? ListTile(
|
||||
dense: true,
|
||||
leading: Icon(Icons.add_circle_outline),
|
||||
title: Text(localization.quote),
|
||||
onTap: () {},
|
||||
),
|
||||
ListTile(
|
||||
dense: true,
|
||||
leading: Icon(Icons.add_circle_outline),
|
||||
title: Text(localization.payment),
|
||||
onTap: () {},
|
||||
),
|
||||
ListTile(
|
||||
dense: true,
|
||||
leading: Icon(Icons.add_circle_outline),
|
||||
title: Text(localization.expense),
|
||||
onTap: () {},
|
||||
),
|
||||
ListTile(
|
||||
dense: true,
|
||||
leading: Icon(Icons.add_circle_outline),
|
||||
title: Text(localization.task),
|
||||
onTap: () {},
|
||||
),
|
||||
*/
|
||||
onTap: () {
|
||||
Navigator.of(context).pop();
|
||||
store.dispatch(EditQuote(
|
||||
quote: InvoiceEntity(isQuote: true)
|
||||
.rebuild((b) => b.clientId = client.id),
|
||||
context: context));
|
||||
},
|
||||
)
|
||||
: Container(),
|
||||
]),
|
||||
);
|
||||
},
|
||||
|
|
@ -220,10 +211,12 @@ class _CustomAppBar extends StatelessWidget implements PreferredSizeWidget {
|
|||
actions: client.isNew
|
||||
? []
|
||||
: [
|
||||
user.canEditEntity(client) ? EditIconButton(
|
||||
user.canEditEntity(client)
|
||||
? EditIconButton(
|
||||
isVisible: !client.isDeleted,
|
||||
onPressed: () => viewModel.onEditPressed(context),
|
||||
) : Container(),
|
||||
)
|
||||
: Container(),
|
||||
ActionMenuButton(
|
||||
user: viewModel.company.user,
|
||||
isSaving: viewModel.isSaving,
|
||||
|
|
|
|||
|
|
@ -153,7 +153,7 @@ class QuoteEditDetailsState extends State<QuoteEditDetails> {
|
|||
},
|
||||
),
|
||||
DatePicker(
|
||||
labelText: localization.dueDate,
|
||||
labelText: localization.validUntil,
|
||||
selectedDate: quote.dueDate,
|
||||
onSelected: (date) {
|
||||
viewModel.onChanged(quote.rebuild((b) => b..dueDate = date));
|
||||
|
|
|
|||
|
|
@ -5,9 +5,9 @@ import 'package:flutter_redux/flutter_redux.dart';
|
|||
import 'package:invoiceninja_flutter/redux/quote/quote_actions.dart';
|
||||
import 'package:invoiceninja_flutter/redux/ui/ui_actions.dart';
|
||||
import 'package:invoiceninja_flutter/ui/app/dialogs/error_dialog.dart';
|
||||
import 'package:invoiceninja_flutter/ui/invoice/invoice_screen.dart';
|
||||
import 'package:invoiceninja_flutter/ui/invoice/view/invoice_view_vm.dart';
|
||||
import 'package:invoiceninja_flutter/ui/quote/edit/quote_edit.dart';
|
||||
import 'package:invoiceninja_flutter/ui/quote/quote_screen.dart';
|
||||
import 'package:invoiceninja_flutter/ui/quote/view/quote_view_vm.dart';
|
||||
import 'package:redux/redux.dart';
|
||||
import 'package:invoiceninja_flutter/data/models/models.dart';
|
||||
import 'package:invoiceninja_flutter/redux/app/app_state.dart';
|
||||
|
|
@ -61,19 +61,19 @@ class QuoteEditVM {
|
|||
company: state.selectedCompany,
|
||||
isSaving: state.isSaving,
|
||||
quote: quote,
|
||||
quoteItem: state.invoiceUIState.editingItem,
|
||||
origQuote: store.state.invoiceState.map[quote.id],
|
||||
quoteItem: state.quoteUIState.editingItem,
|
||||
origQuote: store.state.quoteState.map[quote.id],
|
||||
onBackPressed: () =>
|
||||
store.dispatch(UpdateCurrentRoute(InvoiceScreen.route)),
|
||||
store.dispatch(UpdateCurrentRoute(QuoteScreen.route)),
|
||||
onSavePressed: (BuildContext context) {
|
||||
final Completer<InvoiceEntity> completer = Completer<InvoiceEntity>();
|
||||
store.dispatch(
|
||||
SaveQuoteRequest(completer: completer, quote: quote));
|
||||
return completer.future.then((savedInvoice) {
|
||||
return completer.future.then((savedQuote) {
|
||||
if (quote.isNew) {
|
||||
Navigator.of(context).pushReplacementNamed(InvoiceViewScreen.route);
|
||||
Navigator.of(context).pushReplacementNamed(QuoteViewScreen.route);
|
||||
} else {
|
||||
Navigator.of(context).pop(savedInvoice);
|
||||
Navigator.of(context).pop(savedQuote);
|
||||
}
|
||||
}).catchError((Object error) {
|
||||
showDialog<ErrorDialog>(
|
||||
|
|
|
|||
Loading…
Reference in New Issue