From 95edfb00adefc07f0f7fc72b850d05f4bf767d8c Mon Sep 17 00:00:00 2001 From: Hillel Coren Date: Mon, 7 Oct 2019 17:16:14 +0300 Subject: [PATCH] Settings --- lib/data/models/company_model.dart | 9 +++++++++ lib/ui/group/view/group_view.dart | 21 ++++++++++++++++++++- lib/utils/i18n.dart | 12 ++++++++++++ 3 files changed, 41 insertions(+), 1 deletion(-) diff --git a/lib/data/models/company_model.dart b/lib/data/models/company_model.dart index 7e63a1b00..0c83470e8 100644 --- a/lib/data/models/company_model.dart +++ b/lib/data/models/company_model.dart @@ -735,6 +735,15 @@ abstract class SettingsEntity bool get hasTimezone => timezoneId != null && timezoneId.isNotEmpty; + bool get hasDateFormat => dateFormatId != null && dateFormatId.isNotEmpty; + + bool get hasDatetimeFormat => + datetimeFormatId != null && datetimeFormatId.isNotEmpty; + + bool get hasLanguage => languageId != null && languageId.isNotEmpty; + + bool get hasCurrency => currencyId != null && currencyId.isNotEmpty; + bool hasInvoiceField(String field, [EntityType entityType = EntityType.product]) { if (invoiceFields != null && invoiceFields.isNotEmpty) { diff --git a/lib/ui/group/view/group_view.dart b/lib/ui/group/view/group_view.dart index 8045d00ab..97f993f83 100644 --- a/lib/ui/group/view/group_view.dart +++ b/lib/ui/group/view/group_view.dart @@ -102,6 +102,7 @@ class SettingsViewer extends StatelessWidget { @override Widget build(BuildContext context) { final localization = AppLocalization.of(context); + final staticState = state.staticState; return FieldGrid({ localization.name: settings.name, @@ -114,8 +115,26 @@ class SettingsViewer extends StatelessWidget { localization.vatNumber: settings.vatNumber, localization.website: settings.website, localization.timezone: settings.hasTimezone - ? state.staticState.timezoneMap[settings.timezoneId]?.name + ? staticState.timezoneMap[settings.timezoneId]?.name : null, + localization.dateFormat: settings.hasDateFormat + ? staticState.dateFormatMap[settings.dateFormatId]?.format + : null, + localization.datetimeFormat: settings.hasDatetimeFormat + ? staticState.datetimeFormatMap[settings.datetimeFormatId]?.format + : null, + localization.militaryTime: + settings.enableMilitaryTime ? localization.enabled : null, + localization.language: settings.hasLanguage + ? staticState.languageMap[settings.languageId]?.name + : null, + localization.currency: settings.hasCurrency + ? staticState.currencyMap[settings.currencyId]?.name + : null, + localization.sendReminders: + settings.sendReminders ? localization.enabled : null, + localization.showTasks: + settings.showTasksInPortal ? localization.enabled : null, }); } } diff --git a/lib/utils/i18n.dart b/lib/utils/i18n.dart index 07d8831bf..d87061a0f 100644 --- a/lib/utils/i18n.dart +++ b/lib/utils/i18n.dart @@ -14,6 +14,10 @@ abstract class LocaleCodeAware { mixin LocalizationsProvider on LocaleCodeAware { static final Map> _localizedValues = { 'en': { + 'date_format': 'Date Format', + 'datetime_format': 'Datetime Format', + 'military_time': 'Military Time', + 'send_reminders': 'Send Reminders', 'timezone': 'Timezone', 'filtered_by_group': 'Filtered by Group', 'filtered_by_client': 'Filtered by Client', @@ -14729,6 +14733,14 @@ mixin LocalizationsProvider on LocaleCodeAware { String get timezone => _localizedValues[localeCode]['timezone']; + String get dateFormat => _localizedValues[localeCode]['date_format']; + + String get datetimeFormat => _localizedValues[localeCode]['datetime_format']; + + String get militaryTime => _localizedValues[localeCode]['military_time']; + + String get sendReminders => _localizedValues[localeCode]['send_reminders']; + String lookup(String key) { final lookupKey = toSnakeCase(key); return _localizedValues[localeCode][lookupKey] ??