Add recurring to activities

This commit is contained in:
Hillel Coren 2022-01-17 12:51:43 +02:00
parent 1d5c1c2afb
commit 0e36ef4e92
3 changed files with 42 additions and 9 deletions

View File

@ -604,6 +604,10 @@ abstract class ActivityEntity
@BuiltValueField(wireName: 'recurring_invoice_id')
String get recurringInvoiceId;
@nullable
@BuiltValueField(wireName: 'recurring_expense_id')
String get recurringExpenseId;
@nullable
@BuiltValueField(wireName: 'quote_id')
String get quoteId;
@ -788,6 +792,7 @@ abstract class ActivityEntity
ExpenseEntity expense,
VendorEntity vendor,
InvoiceEntity recurringInvoice,
ExpenseEntity recurringExpense,
}) {
ContactEntity contact;
if (client != null && contactId != null && contactId.isNotEmpty) {
@ -799,8 +804,10 @@ abstract class ActivityEntity
activity.replaceFirst(':user', user?.listDisplayName ?? systemString);
activity = activity.replaceFirst(':client', client?.displayName ?? '');
activity = activity.replaceFirst(':invoice', invoice?.number ?? '');
activity =
activity.replaceFirst(':recurring_invoice', invoice?.number ?? '');
activity = activity.replaceFirst(
':recurring_invoice', recurringInvoice?.number ?? '');
activity = activity.replaceFirst(
':recurring_expense', recurringExpense?.number ?? '');
activity = activity.replaceFirst(':quote', quote?.number ?? '');
activity = activity.replaceFirst(':contact',
contact?.fullName ?? client?.displayName ?? user?.fullName ?? '');

View File

@ -532,6 +532,13 @@ class _$ActivityEntitySerializer
..add(serializers.serialize(value,
specifiedType: const FullType(String)));
}
value = object.recurringExpenseId;
if (value != null) {
result
..add('recurring_expense_id')
..add(serializers.serialize(value,
specifiedType: const FullType(String)));
}
value = object.quoteId;
if (value != null) {
result
@ -659,6 +666,10 @@ class _$ActivityEntitySerializer
result.recurringInvoiceId = serializers.deserialize(value,
specifiedType: const FullType(String)) as String;
break;
case 'recurring_expense_id':
result.recurringExpenseId = serializers.deserialize(value,
specifiedType: const FullType(String)) as String;
break;
case 'quote_id':
result.quoteId = serializers.deserialize(value,
specifiedType: const FullType(String)) as String;
@ -1017,6 +1028,8 @@ class _$ActivityEntity extends ActivityEntity {
@override
final String recurringInvoiceId;
@override
final String recurringExpenseId;
@override
final String quoteId;
@override
final String paymentId;
@ -1054,6 +1067,7 @@ class _$ActivityEntity extends ActivityEntity {
this.userId,
this.invoiceId,
this.recurringInvoiceId,
this.recurringExpenseId,
this.quoteId,
this.paymentId,
this.creditId,
@ -1096,6 +1110,7 @@ class _$ActivityEntity extends ActivityEntity {
userId == other.userId &&
invoiceId == other.invoiceId &&
recurringInvoiceId == other.recurringInvoiceId &&
recurringExpenseId == other.recurringExpenseId &&
quoteId == other.quoteId &&
paymentId == other.paymentId &&
creditId == other.creditId &&
@ -1132,13 +1147,13 @@ class _$ActivityEntity extends ActivityEntity {
$jc(
$jc(
$jc(
$jc($jc(0, notes.hashCode),
key.hashCode),
activityTypeId.hashCode),
clientId.hashCode),
userId.hashCode),
invoiceId.hashCode),
recurringInvoiceId.hashCode),
$jc($jc($jc(0, notes.hashCode), key.hashCode),
activityTypeId.hashCode),
clientId.hashCode),
userId.hashCode),
invoiceId.hashCode),
recurringInvoiceId.hashCode),
recurringExpenseId.hashCode),
quoteId.hashCode),
paymentId.hashCode),
creditId.hashCode),
@ -1164,6 +1179,7 @@ class _$ActivityEntity extends ActivityEntity {
..add('userId', userId)
..add('invoiceId', invoiceId)
..add('recurringInvoiceId', recurringInvoiceId)
..add('recurringExpenseId', recurringExpenseId)
..add('quoteId', quoteId)
..add('paymentId', paymentId)
..add('creditId', creditId)
@ -1215,6 +1231,11 @@ class ActivityEntityBuilder
set recurringInvoiceId(String recurringInvoiceId) =>
_$this._recurringInvoiceId = recurringInvoiceId;
String _recurringExpenseId;
String get recurringExpenseId => _$this._recurringExpenseId;
set recurringExpenseId(String recurringExpenseId) =>
_$this._recurringExpenseId = recurringExpenseId;
String _quoteId;
String get quoteId => _$this._quoteId;
set quoteId(String quoteId) => _$this._quoteId = quoteId;
@ -1280,6 +1301,7 @@ class ActivityEntityBuilder
_userId = $v.userId;
_invoiceId = $v.invoiceId;
_recurringInvoiceId = $v.recurringInvoiceId;
_recurringExpenseId = $v.recurringExpenseId;
_quoteId = $v.quoteId;
_paymentId = $v.paymentId;
_creditId = $v.creditId;
@ -1326,6 +1348,7 @@ class ActivityEntityBuilder
userId, 'ActivityEntity', 'userId'),
invoiceId: invoiceId,
recurringInvoiceId: recurringInvoiceId,
recurringExpenseId: recurringExpenseId,
quoteId: quoteId,
paymentId: paymentId,
creditId: creditId,

View File

@ -40,6 +40,8 @@ class ActivityListTile extends StatelessWidget {
final payment = state.paymentState.map[activity.paymentId];
final task = state.taskState.map[activity.taskId];
final expense = state.expenseState.map[activity.expenseId];
final recurringExpense =
state.recurringExpenseState.map[activity.recurringExpenseId];
String title = localization.lookup('activity_${activity.activityTypeId}');
title = activity.getDescription(
@ -54,6 +56,7 @@ class ActivityListTile extends StatelessWidget {
expense: expense,
credit: credit,
recurringInvoice: recurringInvoice,
recurringExpense: recurringExpense,
vendor: vendor,
);