Add PO's to activities

This commit is contained in:
Hillel Coren 2022-08-29 13:50:28 +03:00
parent 6120964a7b
commit 1c43af4107
4 changed files with 55 additions and 15 deletions

View File

@ -649,6 +649,10 @@ abstract class ActivityEntity
@BuiltValueField(wireName: 'recurring_expense_id')
String get recurringExpenseId;
@nullable
@BuiltValueField(wireName: 'purchase_order_id')
String get purchaseOrderId;
@nullable
@BuiltValueField(wireName: 'quote_id')
String get quoteId;
@ -845,6 +849,7 @@ abstract class ActivityEntity
VendorEntity vendor,
InvoiceEntity recurringInvoice,
ExpenseEntity recurringExpense,
InvoiceEntity purchaseOrder,
}) {
ClientContactEntity contact;
if (client != null && contactId != null && contactId.isNotEmpty) {
@ -868,6 +873,8 @@ abstract class ActivityEntity
activity = activity.replaceFirst(':task', task?.number ?? '');
activity = activity.replaceFirst(':expense', expense?.number ?? '');
activity = activity.replaceFirst(':vendor', vendor?.name ?? '');
activity =
activity.replaceFirst(':purchase_order', purchaseOrder?.number ?? '');
activity = activity.replaceFirst(
':recurring_expense', vendor?.name ?? ''); // TODO implement
activity = activity.replaceAll(' ', ' ');

View File

@ -543,6 +543,13 @@ class _$ActivityEntitySerializer
..add(serializers.serialize(value,
specifiedType: const FullType(String)));
}
value = object.purchaseOrderId;
if (value != null) {
result
..add('purchase_order_id')
..add(serializers.serialize(value,
specifiedType: const FullType(String)));
}
value = object.quoteId;
if (value != null) {
result
@ -674,6 +681,10 @@ class _$ActivityEntitySerializer
result.recurringExpenseId = serializers.deserialize(value,
specifiedType: const FullType(String)) as String;
break;
case 'purchase_order_id':
result.purchaseOrderId = serializers.deserialize(value,
specifiedType: const FullType(String)) as String;
break;
case 'quote_id':
result.quoteId = serializers.deserialize(value,
specifiedType: const FullType(String)) as String;
@ -1034,6 +1045,8 @@ class _$ActivityEntity extends ActivityEntity {
@override
final String recurringExpenseId;
@override
final String purchaseOrderId;
@override
final String quoteId;
@override
final String paymentId;
@ -1072,6 +1085,7 @@ class _$ActivityEntity extends ActivityEntity {
this.invoiceId,
this.recurringInvoiceId,
this.recurringExpenseId,
this.purchaseOrderId,
this.quoteId,
this.paymentId,
this.creditId,
@ -1115,6 +1129,7 @@ class _$ActivityEntity extends ActivityEntity {
invoiceId == other.invoiceId &&
recurringInvoiceId == other.recurringInvoiceId &&
recurringExpenseId == other.recurringExpenseId &&
purchaseOrderId == other.purchaseOrderId &&
quoteId == other.quoteId &&
paymentId == other.paymentId &&
creditId == other.creditId &&
@ -1151,13 +1166,13 @@ class _$ActivityEntity extends ActivityEntity {
$jc(
$jc(
$jc(
$jc($jc($jc(0, notes.hashCode), key.hashCode),
activityTypeId.hashCode),
clientId.hashCode),
userId.hashCode),
invoiceId.hashCode),
recurringInvoiceId.hashCode),
recurringExpenseId.hashCode),
$jc($jc($jc($jc(0, notes.hashCode), key.hashCode), activityTypeId.hashCode),
clientId.hashCode),
userId.hashCode),
invoiceId.hashCode),
recurringInvoiceId.hashCode),
recurringExpenseId.hashCode),
purchaseOrderId.hashCode),
quoteId.hashCode),
paymentId.hashCode),
creditId.hashCode),
@ -1184,6 +1199,7 @@ class _$ActivityEntity extends ActivityEntity {
..add('invoiceId', invoiceId)
..add('recurringInvoiceId', recurringInvoiceId)
..add('recurringExpenseId', recurringExpenseId)
..add('purchaseOrderId', purchaseOrderId)
..add('quoteId', quoteId)
..add('paymentId', paymentId)
..add('creditId', creditId)
@ -1240,6 +1256,11 @@ class ActivityEntityBuilder
set recurringExpenseId(String recurringExpenseId) =>
_$this._recurringExpenseId = recurringExpenseId;
String _purchaseOrderId;
String get purchaseOrderId => _$this._purchaseOrderId;
set purchaseOrderId(String purchaseOrderId) =>
_$this._purchaseOrderId = purchaseOrderId;
String _quoteId;
String get quoteId => _$this._quoteId;
set quoteId(String quoteId) => _$this._quoteId = quoteId;
@ -1306,6 +1327,7 @@ class ActivityEntityBuilder
_invoiceId = $v.invoiceId;
_recurringInvoiceId = $v.recurringInvoiceId;
_recurringExpenseId = $v.recurringExpenseId;
_purchaseOrderId = $v.purchaseOrderId;
_quoteId = $v.quoteId;
_paymentId = $v.paymentId;
_creditId = $v.creditId;
@ -1353,6 +1375,7 @@ class ActivityEntityBuilder
invoiceId: invoiceId,
recurringInvoiceId: recurringInvoiceId,
recurringExpenseId: recurringExpenseId,
purchaseOrderId: purchaseOrderId,
quoteId: quoteId,
paymentId: paymentId,
creditId: creditId,

View File

@ -42,6 +42,8 @@ class ActivityListTile extends StatelessWidget {
final expense = state.expenseState.map[activity.expenseId];
final recurringExpense =
state.recurringExpenseState.map[activity.recurringExpenseId];
final purchaseOrder =
state.purchaseOrderState.map[activity.purchaseOrderId];
String title = localization.lookup('activity_${activity.activityTypeId}');
title = activity.getDescription(
@ -58,6 +60,7 @@ class ActivityListTile extends StatelessWidget {
recurringInvoice: recurringInvoice,
recurringExpense: recurringExpense,
vendor: vendor,
purchaseOrder: purchaseOrder,
);
return ListTile(
@ -114,6 +117,13 @@ class ActivityListTile extends StatelessWidget {
filterEntity: client,
);
break;
case EntityType.purchaseOrder:
viewEntityById(
entityId: activity.purchaseOrderId,
entityType: EntityType.purchaseOrder,
filterEntity: vendor,
);
break;
default:
print(
'Error: entity type ${activity.entityType} not handled in activity_list_tile');

View File

@ -36,14 +36,14 @@ mixin LocalizationsProvider on LocaleCodeAware {
'total_pending_expenses': 'Pending Expenses',
'total_invoiced_expenses': 'Invoiced Expenses',
'total_invoice_paid_expenses': 'Invoice Paid Expenses',
'activity_130': ':user created purchase order',
'activity_131': ':user updated purchase order',
'activity_132': ':user archived purchase order',
'activity_133': ':user deleted purchase order',
'activity_134': ':user restored purchase order',
'activity_135': ':user emailed purchase order',
'activity_136': ':contact viewed purchase order',
'activity_137': ':contact accepted purchase order',
'activity_130': ':user created purchase order :purchase_order',
'activity_131': ':user updated purchase order :purchase_order',
'activity_132': ':user archived purchase order :purchase_order',
'activity_133': ':user deleted purchase order :purchase_order',
'activity_134': ':user restored purchase order :purchase_order',
'activity_135': ':user emailed purchase order :purchase_order',
'activity_136': ':contact viewed purchase order :purchase_order',
'activity_137': ':contact accepted purchase order :purchase_order',
'vendor_portal': 'Vendor Portal',
'send_code': 'Send Code',
'save_to_upload_documents': 'Save the record to upload documents',