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

View File

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

View File

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