diff --git a/lib/constants.dart b/lib/constants.dart index ce5d7d800..815240904 100644 --- a/lib/constants.dart +++ b/lib/constants.dart @@ -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; diff --git a/lib/ui/app/invoice/invoice_email_dialog.dart b/lib/ui/app/invoice/invoice_email_dialog.dart index d003b017e..863f886bc 100644 --- a/lib/ui/app/invoice/invoice_email_dialog.dart +++ b/lib/ui/app/invoice/invoice_email_dialog.dart @@ -36,18 +36,21 @@ class _InvoiceEmailViewState extends State { 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('', '\n'); + + _controllers + .forEach((dynamic controller) => controller.addListener(_onChanged)); } @override @@ -66,19 +69,36 @@ class _InvoiceEmailViewState extends State { }); } + 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('', '\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 { DropdownButtonHideUnderline( child: DropdownButton( 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: [