Email templates
This commit is contained in:
parent
55b3c02e18
commit
fc7cd128f7
|
|
@ -15,8 +15,8 @@ const int kMinPatchAppVersion = 2;
|
|||
|
||||
const int kMaxRecordsPerApiPage = 5000;
|
||||
const int kMillisecondsToRefreshData = 1000 * 60 * 15; // 15 minutes
|
||||
const int kMillisecondsToRefreshActivities = 1000 * 15; // 15 seconds
|
||||
//const int kMillisecondsToRefreshActivities = 1000 * 60 * 60 * 24; // 1 day
|
||||
//const int kMillisecondsToRefreshActivities = 1000 * 15; // 15 seconds
|
||||
const int kMillisecondsToRefreshActivities = 1000 * 60 * 60 * 24; // 1 day
|
||||
|
||||
const int kCurrencyUSDollar = 1;
|
||||
const int kCurrencyEuro = 3;
|
||||
|
|
|
|||
|
|
@ -36,18 +36,21 @@ class _InvoiceEmailViewState extends State<InvoiceEmailView> {
|
|||
void didChangeDependencies() {
|
||||
super.didChangeDependencies();
|
||||
|
||||
final company = widget.viewModel.company;
|
||||
|
||||
selectedTemplate = EmailTemplate.initial;
|
||||
emailSubject = company.emailSubjectInvoice;
|
||||
emailBody = company.emailBodyInvoice;
|
||||
|
||||
updateTemplate();
|
||||
loadTemplate(EmailTemplate.initial);
|
||||
|
||||
_controllers = [
|
||||
_subjectController,
|
||||
_bodyController,
|
||||
];
|
||||
|
||||
_controllers
|
||||
.forEach((dynamic controller) => controller.removeListener(_onChanged));
|
||||
|
||||
_subjectController.text = emailSubject;
|
||||
_bodyController.text = emailBody.replaceAll('</div>', '</div>\n');
|
||||
|
||||
_controllers
|
||||
.forEach((dynamic controller) => controller.addListener(_onChanged));
|
||||
}
|
||||
|
||||
@override
|
||||
|
|
@ -66,19 +69,36 @@ class _InvoiceEmailViewState extends State<InvoiceEmailView> {
|
|||
});
|
||||
}
|
||||
|
||||
void loadTemplate(EmailTemplate template) {
|
||||
final company = widget.viewModel.company;
|
||||
|
||||
selectedTemplate = template;
|
||||
|
||||
switch (template) {
|
||||
case EmailTemplate.initial:
|
||||
emailSubject = company.emailSubjectInvoice;
|
||||
emailBody = company.emailBodyInvoice;
|
||||
break;
|
||||
case EmailTemplate.reminder1:
|
||||
emailSubject = company.emailSubjectReminder1;
|
||||
emailBody = company.emailBodyReminder1;
|
||||
break;
|
||||
case EmailTemplate.reminder2:
|
||||
emailSubject = company.emailSubjectReminder2;
|
||||
emailBody = company.emailBodyReminder2;
|
||||
break;
|
||||
case EmailTemplate.reminder3:
|
||||
emailSubject = company.emailSubjectReminder3;
|
||||
emailBody = company.emailBodyReminder3;
|
||||
break;
|
||||
}
|
||||
|
||||
updateTemplate();
|
||||
}
|
||||
|
||||
void updateTemplate() {
|
||||
final viewModel = widget.viewModel;
|
||||
|
||||
_controllers
|
||||
.forEach((dynamic controller) => controller.removeListener(_onChanged));
|
||||
|
||||
_subjectController.text = emailSubject;
|
||||
_bodyController.text = emailBody
|
||||
.replaceAll('</div>', '</div>\n');
|
||||
|
||||
_controllers
|
||||
.forEach((dynamic controller) => controller.addListener(_onChanged));
|
||||
|
||||
emailSubject = processTemplate(emailSubject, viewModel.invoice, context);
|
||||
emailBody = processTemplate(emailBody, viewModel.invoice, context);
|
||||
}
|
||||
|
|
@ -99,32 +119,9 @@ class _InvoiceEmailViewState extends State<InvoiceEmailView> {
|
|||
DropdownButtonHideUnderline(
|
||||
child: DropdownButton<EmailTemplate>(
|
||||
value: selectedTemplate,
|
||||
onChanged: (value) {
|
||||
onChanged: (template) {
|
||||
setState(() {
|
||||
final viewModel = widget.viewModel;
|
||||
final company = viewModel.company;
|
||||
selectedTemplate = value;
|
||||
|
||||
switch (value) {
|
||||
case EmailTemplate.initial:
|
||||
emailSubject = company.emailSubjectInvoice;
|
||||
emailBody = company.emailBodyInvoice;
|
||||
break;
|
||||
case EmailTemplate.reminder1:
|
||||
emailSubject = company.emailSubjectReminder1;
|
||||
emailBody = company.emailBodyReminder1;
|
||||
break;
|
||||
case EmailTemplate.reminder2:
|
||||
emailSubject = company.emailSubjectReminder2;
|
||||
emailBody = company.emailBodyReminder2;
|
||||
break;
|
||||
case EmailTemplate.reminder3:
|
||||
emailSubject = company.emailSubjectReminder3;
|
||||
emailBody = company.emailBodyReminder3;
|
||||
break;
|
||||
}
|
||||
|
||||
updateTemplate();
|
||||
loadTemplate(template);
|
||||
});
|
||||
},
|
||||
items: [
|
||||
|
|
|
|||
Loading…
Reference in New Issue