Purchase orders
This commit is contained in:
parent
6be1041f7a
commit
c89ac2dd0d
|
|
@ -43,10 +43,10 @@ class PurchaseOrderFields {
|
||||||
static const String autoBillEnabled = 'auto_bill_enabled';
|
static const String autoBillEnabled = 'auto_bill_enabled';
|
||||||
static const String contactName = 'contact_name';
|
static const String contactName = 'contact_name';
|
||||||
static const String contactEmail = 'contact_email';
|
static const String contactEmail = 'contact_email';
|
||||||
static const String clientCity = 'client_city';
|
static const String vendorCity = 'vendor_city';
|
||||||
static const String clientState = 'client_state';
|
static const String vendorState = 'vendor_state';
|
||||||
static const String clientPostalCode = 'client_postal_code';
|
static const String vendorPostalCode = 'vendor_postal_code';
|
||||||
static const String clientCountry = 'client_country';
|
static const String vendorCountry = 'vendor_country';
|
||||||
static const String quote = 'quote';
|
static const String quote = 'quote';
|
||||||
static const String recurringInvoice = 'recurring_invoice';
|
static const String recurringInvoice = 'recurring_invoice';
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -6,20 +6,20 @@ import 'package:built_collection/built_collection.dart';
|
||||||
import 'package:invoiceninja_flutter/data/models/models.dart';
|
import 'package:invoiceninja_flutter/data/models/models.dart';
|
||||||
import 'package:invoiceninja_flutter/redux/ui/list_ui_state.dart';
|
import 'package:invoiceninja_flutter/redux/ui/list_ui_state.dart';
|
||||||
|
|
||||||
ClientEntity purchaseOrderClientSelector(
|
VendorEntity purchaseOrderClientSelector(
|
||||||
InvoiceEntity purchaseOrder, BuiltMap<String, ClientEntity> clientMap) {
|
InvoiceEntity purchaseOrder, BuiltMap<String, VendorEntity> vendorMap) {
|
||||||
return clientMap[purchaseOrder.clientId];
|
return vendorMap[purchaseOrder.vendorId];
|
||||||
}
|
}
|
||||||
|
|
||||||
ClientContactEntity purchaseOrderContactSelector(
|
VendorContactEntity purchaseOrderContactSelector(
|
||||||
InvoiceEntity purchaseOrder, ClientEntity client) {
|
InvoiceEntity purchaseOrder, VendorEntity vendor) {
|
||||||
var contactIds = purchaseOrder.invitations
|
var contactIds = purchaseOrder.invitations
|
||||||
.map((invitation) => invitation.clientContactId)
|
.map((invitation) => invitation.clientContactId)
|
||||||
.toList();
|
.toList();
|
||||||
if (contactIds.contains(client.primaryContact.id)) {
|
if (contactIds.contains(vendor.primaryContact.id)) {
|
||||||
contactIds = [client.primaryContact.id];
|
contactIds = [vendor.primaryContact.id];
|
||||||
}
|
}
|
||||||
return client.contacts
|
return vendor.contacts
|
||||||
.firstWhere((contact) => contactIds.contains(contact.id), orElse: null);
|
.firstWhere((contact) => contactIds.contains(contact.id), orElse: null);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -22,7 +22,7 @@ class PurchaseOrderPresenter extends EntityPresenter {
|
||||||
return [
|
return [
|
||||||
PurchaseOrderFields.status,
|
PurchaseOrderFields.status,
|
||||||
PurchaseOrderFields.number,
|
PurchaseOrderFields.number,
|
||||||
PurchaseOrderFields.client,
|
PurchaseOrderFields.vendor,
|
||||||
PurchaseOrderFields.amount,
|
PurchaseOrderFields.amount,
|
||||||
PurchaseOrderFields.date,
|
PurchaseOrderFields.date,
|
||||||
PurchaseOrderFields.validUntil,
|
PurchaseOrderFields.validUntil,
|
||||||
|
|
@ -47,13 +47,13 @@ class PurchaseOrderPresenter extends EntityPresenter {
|
||||||
PurchaseOrderFields.isViewed,
|
PurchaseOrderFields.isViewed,
|
||||||
PurchaseOrderFields.lastSentDate,
|
PurchaseOrderFields.lastSentDate,
|
||||||
PurchaseOrderFields.project,
|
PurchaseOrderFields.project,
|
||||||
PurchaseOrderFields.vendor,
|
PurchaseOrderFields.client,
|
||||||
PurchaseOrderFields.contactName,
|
PurchaseOrderFields.contactName,
|
||||||
PurchaseOrderFields.contactEmail,
|
PurchaseOrderFields.contactEmail,
|
||||||
PurchaseOrderFields.clientState,
|
PurchaseOrderFields.vendorState,
|
||||||
PurchaseOrderFields.clientCity,
|
PurchaseOrderFields.vendorCity,
|
||||||
PurchaseOrderFields.clientPostalCode,
|
PurchaseOrderFields.vendorPostalCode,
|
||||||
PurchaseOrderFields.clientCountry,
|
PurchaseOrderFields.vendorCountry,
|
||||||
PurchaseOrderFields.partial,
|
PurchaseOrderFields.partial,
|
||||||
PurchaseOrderFields.partialDueDate,
|
PurchaseOrderFields.partialDueDate,
|
||||||
];
|
];
|
||||||
|
|
@ -65,6 +65,7 @@ class PurchaseOrderPresenter extends EntityPresenter {
|
||||||
final state = StoreProvider.of<AppState>(context).state;
|
final state = StoreProvider.of<AppState>(context).state;
|
||||||
final purchaseOrder = entity as InvoiceEntity;
|
final purchaseOrder = entity as InvoiceEntity;
|
||||||
final client = state.clientState.get(purchaseOrder.clientId);
|
final client = state.clientState.get(purchaseOrder.clientId);
|
||||||
|
final vendor = state.vendorState.get(purchaseOrder.vendorId);
|
||||||
|
|
||||||
switch (field) {
|
switch (field) {
|
||||||
case PurchaseOrderFields.status:
|
case PurchaseOrderFields.status:
|
||||||
|
|
@ -125,18 +126,18 @@ class PurchaseOrderPresenter extends EntityPresenter {
|
||||||
case PurchaseOrderFields.vendor:
|
case PurchaseOrderFields.vendor:
|
||||||
final vendor = state.vendorState.get(purchaseOrder.vendorId);
|
final vendor = state.vendorState.get(purchaseOrder.vendorId);
|
||||||
return LinkTextRelatedEntity(entity: vendor, relation: purchaseOrder);
|
return LinkTextRelatedEntity(entity: vendor, relation: purchaseOrder);
|
||||||
case PurchaseOrderFields.clientState:
|
case PurchaseOrderFields.vendorState:
|
||||||
return Text(client.state);
|
return Text(vendor.state);
|
||||||
case PurchaseOrderFields.clientCity:
|
case PurchaseOrderFields.vendorCity:
|
||||||
return Text(client.city);
|
return Text(vendor.city);
|
||||||
case PurchaseOrderFields.clientPostalCode:
|
case PurchaseOrderFields.vendorPostalCode:
|
||||||
return Text(client.postalCode);
|
return Text(vendor.postalCode);
|
||||||
case PurchaseOrderFields.clientCountry:
|
case PurchaseOrderFields.vendorCountry:
|
||||||
return Text(state.staticState.countryMap[client.countryId]?.name ?? '');
|
return Text(state.staticState.countryMap[client.countryId]?.name ?? '');
|
||||||
case PurchaseOrderFields.contactName:
|
case PurchaseOrderFields.contactName:
|
||||||
case PurchaseOrderFields.contactEmail:
|
case PurchaseOrderFields.contactEmail:
|
||||||
final contact = purchaseOrderContactSelector(
|
final contact = purchaseOrderContactSelector(
|
||||||
purchaseOrder, state.clientState.get(purchaseOrder.clientId));
|
purchaseOrder, state.vendorState.get(purchaseOrder.vendorId));
|
||||||
if (contact == null) {
|
if (contact == null) {
|
||||||
return SizedBox();
|
return SizedBox();
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue