Email templates

This commit is contained in:
Hillel Coren 2018-08-13 22:07:49 -07:00
parent 2a1de4b231
commit 0683c789fd
3 changed files with 34 additions and 10 deletions

View File

@ -51,6 +51,7 @@ abstract class CompanyEntity
customFields: BuiltMap<String, String>(), customFields: BuiltMap<String, String>(),
invoiceFields: '', invoiceFields: '',
countryId: kCountryUnitedStates, countryId: kCountryUnitedStates,
emailFooter: '',
emailSubjectInvoice: '', emailSubjectInvoice: '',
emailSubjectQuote: '', emailSubjectQuote: '',
emailSubjectPayment: '', emailSubjectPayment: '',
@ -187,6 +188,9 @@ abstract class CompanyEntity
@BuiltValueField(wireName: 'invoice_fields') @BuiltValueField(wireName: 'invoice_fields')
String get invoiceFields; String get invoiceFields;
@BuiltValueField(wireName: 'email_footer')
String get emailFooter;
@BuiltValueField(wireName: 'email_subject_invoice') @BuiltValueField(wireName: 'email_subject_invoice')
String get emailSubjectInvoice; String get emailSubjectInvoice;

View File

@ -160,6 +160,9 @@ class _$CompanyEntitySerializer implements StructuredSerializer<CompanyEntity> {
'invoice_fields', 'invoice_fields',
serializers.serialize(object.invoiceFields, serializers.serialize(object.invoiceFields,
specifiedType: const FullType(String)), specifiedType: const FullType(String)),
'email_footer',
serializers.serialize(object.emailFooter,
specifiedType: const FullType(String)),
'email_subject_invoice', 'email_subject_invoice',
serializers.serialize(object.emailSubjectInvoice, serializers.serialize(object.emailSubjectInvoice,
specifiedType: const FullType(String)), specifiedType: const FullType(String)),
@ -387,6 +390,10 @@ class _$CompanyEntitySerializer implements StructuredSerializer<CompanyEntity> {
result.invoiceFields = serializers.deserialize(value, result.invoiceFields = serializers.deserialize(value,
specifiedType: const FullType(String)) as String; specifiedType: const FullType(String)) as String;
break; break;
case 'email_footer':
result.emailFooter = serializers.deserialize(value,
specifiedType: const FullType(String)) as String;
break;
case 'email_subject_invoice': case 'email_subject_invoice':
result.emailSubjectInvoice = serializers.deserialize(value, result.emailSubjectInvoice = serializers.deserialize(value,
specifiedType: const FullType(String)) as String; specifiedType: const FullType(String)) as String;
@ -714,6 +721,8 @@ class _$CompanyEntity extends CompanyEntity {
@override @override
final String invoiceFields; final String invoiceFields;
@override @override
final String emailFooter;
@override
final String emailSubjectInvoice; final String emailSubjectInvoice;
@override @override
final String emailSubjectQuote; final String emailSubjectQuote;
@ -783,6 +792,7 @@ class _$CompanyEntity extends CompanyEntity {
this.customFields, this.customFields,
this.customPaymentTerms, this.customPaymentTerms,
this.invoiceFields, this.invoiceFields,
this.emailFooter,
this.emailSubjectInvoice, this.emailSubjectInvoice,
this.emailSubjectQuote, this.emailSubjectQuote,
this.emailSubjectPayment, this.emailSubjectPayment,
@ -891,6 +901,8 @@ class _$CompanyEntity extends CompanyEntity {
throw new BuiltValueNullFieldError('CompanyEntity', 'customPaymentTerms'); throw new BuiltValueNullFieldError('CompanyEntity', 'customPaymentTerms');
if (invoiceFields == null) if (invoiceFields == null)
throw new BuiltValueNullFieldError('CompanyEntity', 'invoiceFields'); throw new BuiltValueNullFieldError('CompanyEntity', 'invoiceFields');
if (emailFooter == null)
throw new BuiltValueNullFieldError('CompanyEntity', 'emailFooter');
if (emailSubjectInvoice == null) if (emailSubjectInvoice == null)
throw new BuiltValueNullFieldError( throw new BuiltValueNullFieldError(
'CompanyEntity', 'emailSubjectInvoice'); 'CompanyEntity', 'emailSubjectInvoice');
@ -974,6 +986,7 @@ class _$CompanyEntity extends CompanyEntity {
customFields == other.customFields && customFields == other.customFields &&
customPaymentTerms == other.customPaymentTerms && customPaymentTerms == other.customPaymentTerms &&
invoiceFields == other.invoiceFields && invoiceFields == other.invoiceFields &&
emailFooter == other.emailFooter &&
emailSubjectInvoice == other.emailSubjectInvoice && emailSubjectInvoice == other.emailSubjectInvoice &&
emailSubjectQuote == other.emailSubjectQuote && emailSubjectQuote == other.emailSubjectQuote &&
emailSubjectPayment == other.emailSubjectPayment && emailSubjectPayment == other.emailSubjectPayment &&
@ -1008,14 +1021,14 @@ class _$CompanyEntity extends CompanyEntity {
$jc( $jc(
$jc( $jc(
$jc( $jc(
$jc($jc($jc($jc($jc($jc($jc($jc($jc($jc($jc($jc($jc($jc($jc($jc($jc($jc($jc($jc($jc($jc($jc($jc($jc($jc($jc($jc($jc($jc($jc($jc($jc($jc($jc(0, name.hashCode), token.hashCode), plan.hashCode), logoUrl.hashCode), currencyId.hashCode), timezoneId.hashCode), countryId.hashCode), dateFormatId.hashCode), datetimeFormatId.hashCode), defaultInvoiceTerms.hashCode), enableInvoiceTaxes.hashCode), enableInvoiceItemTaxes.hashCode), defaultInvoiceDesignId.hashCode), defaultQuoteDesignId.hashCode), languageId.hashCode), defaultInvoiceFooter.hashCode), showInvoiceItemTaxes.hashCode), enableMilitaryTime.hashCode), defaultTaxName1.hashCode), defaultTaxRate1.hashCode), defaultTaxName2.hashCode), defaultTaxRate2.hashCode), defaultQuoteTerms.hashCode), showCurrencyCode.hashCode), enableSecondTaxRate.hashCode), startOfWeek.hashCode), financialYearStart.hashCode), enabledModules.hashCode), defaultPaymentTerms.hashCode), defaultPaymentTypeId.hashCode), defaultTaskRate.hashCode), enableInclusiveTaxes.hashCode), convertProductExchangeRate.hashCode), enableCustomInvoiceTaxes1.hashCode), $jc($jc($jc($jc($jc($jc($jc($jc($jc($jc($jc($jc($jc($jc($jc($jc($jc($jc($jc($jc($jc($jc($jc($jc($jc($jc($jc($jc($jc($jc($jc($jc($jc($jc($jc($jc(0, name.hashCode), token.hashCode), plan.hashCode), logoUrl.hashCode), currencyId.hashCode), timezoneId.hashCode), countryId.hashCode), dateFormatId.hashCode), datetimeFormatId.hashCode), defaultInvoiceTerms.hashCode), enableInvoiceTaxes.hashCode), enableInvoiceItemTaxes.hashCode), defaultInvoiceDesignId.hashCode), defaultQuoteDesignId.hashCode), languageId.hashCode), defaultInvoiceFooter.hashCode), showInvoiceItemTaxes.hashCode), enableMilitaryTime.hashCode), defaultTaxName1.hashCode), defaultTaxRate1.hashCode), defaultTaxName2.hashCode), defaultTaxRate2.hashCode), defaultQuoteTerms.hashCode), showCurrencyCode.hashCode), enableSecondTaxRate.hashCode), startOfWeek.hashCode), financialYearStart.hashCode), enabledModules.hashCode), defaultPaymentTerms.hashCode), defaultPaymentTypeId.hashCode), defaultTaskRate.hashCode), enableInclusiveTaxes.hashCode), convertProductExchangeRate.hashCode), enableCustomInvoiceTaxes1.hashCode), enableCustomInvoiceTaxes2.hashCode),
enableCustomInvoiceTaxes2.hashCode),
taxRates.hashCode), taxRates.hashCode),
users.hashCode), users.hashCode),
userMap.hashCode), userMap.hashCode),
customFields.hashCode), customFields.hashCode),
customPaymentTerms.hashCode), customPaymentTerms.hashCode),
invoiceFields.hashCode), invoiceFields.hashCode),
emailFooter.hashCode),
emailSubjectInvoice.hashCode), emailSubjectInvoice.hashCode),
emailSubjectQuote.hashCode), emailSubjectQuote.hashCode),
emailSubjectPayment.hashCode), emailSubjectPayment.hashCode),
@ -1074,6 +1087,7 @@ class _$CompanyEntity extends CompanyEntity {
..add('customFields', customFields) ..add('customFields', customFields)
..add('customPaymentTerms', customPaymentTerms) ..add('customPaymentTerms', customPaymentTerms)
..add('invoiceFields', invoiceFields) ..add('invoiceFields', invoiceFields)
..add('emailFooter', emailFooter)
..add('emailSubjectInvoice', emailSubjectInvoice) ..add('emailSubjectInvoice', emailSubjectInvoice)
..add('emailSubjectQuote', emailSubjectQuote) ..add('emailSubjectQuote', emailSubjectQuote)
..add('emailSubjectPayment', emailSubjectPayment) ..add('emailSubjectPayment', emailSubjectPayment)
@ -1292,6 +1306,10 @@ class CompanyEntityBuilder
set invoiceFields(String invoiceFields) => set invoiceFields(String invoiceFields) =>
_$this._invoiceFields = invoiceFields; _$this._invoiceFields = invoiceFields;
String _emailFooter;
String get emailFooter => _$this._emailFooter;
set emailFooter(String emailFooter) => _$this._emailFooter = emailFooter;
String _emailSubjectInvoice; String _emailSubjectInvoice;
String get emailSubjectInvoice => _$this._emailSubjectInvoice; String get emailSubjectInvoice => _$this._emailSubjectInvoice;
set emailSubjectInvoice(String emailSubjectInvoice) => set emailSubjectInvoice(String emailSubjectInvoice) =>
@ -1397,6 +1415,7 @@ class CompanyEntityBuilder
_customFields = _$v.customFields?.toBuilder(); _customFields = _$v.customFields?.toBuilder();
_customPaymentTerms = _$v.customPaymentTerms?.toBuilder(); _customPaymentTerms = _$v.customPaymentTerms?.toBuilder();
_invoiceFields = _$v.invoiceFields; _invoiceFields = _$v.invoiceFields;
_emailFooter = _$v.emailFooter;
_emailSubjectInvoice = _$v.emailSubjectInvoice; _emailSubjectInvoice = _$v.emailSubjectInvoice;
_emailSubjectQuote = _$v.emailSubjectQuote; _emailSubjectQuote = _$v.emailSubjectQuote;
_emailSubjectPayment = _$v.emailSubjectPayment; _emailSubjectPayment = _$v.emailSubjectPayment;
@ -1472,6 +1491,7 @@ class CompanyEntityBuilder
customFields: customFields.build(), customFields: customFields.build(),
customPaymentTerms: customPaymentTerms.build(), customPaymentTerms: customPaymentTerms.build(),
invoiceFields: invoiceFields, invoiceFields: invoiceFields,
emailFooter: emailFooter,
emailSubjectInvoice: emailSubjectInvoice, emailSubjectInvoice: emailSubjectInvoice,
emailSubjectQuote: emailSubjectQuote, emailSubjectQuote: emailSubjectQuote,
emailSubjectPayment: emailSubjectPayment, emailSubjectPayment: emailSubjectPayment,

View File

@ -21,8 +21,8 @@ String processTemplate(
const String sampleLink = 'https://example.com/...'; const String sampleLink = 'https://example.com/...';
template = template template = template
.replaceAll('\$footer', '') .replaceAll('\$footer', company.emailFooter)
.replaceAll('\$emailSignature', '') .replaceAll('\$emailSignature', company.emailFooter)
.replaceAll('\$client', client.displayName) .replaceAll('\$client', client.displayName)
.replaceAll('\$idNumber', client.idNumber) .replaceAll('\$idNumber', client.idNumber)
.replaceAll('\$vatNumber', client.vatNumber) .replaceAll('\$vatNumber', client.vatNumber)