From 0a848af7426625a403cd242053531a01132d8a01 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Cornelius=20Wei=C3=9F?= Date: Thu, 18 Aug 2022 14:13:07 +0200 Subject: [PATCH] fix(Calendar): reload client when on web template change --- tine20/Calendar/Preference.php | 4 +++- tine20/Calendar/translations/de.po | 2 +- tine20/Tinebase/js/widgets/dialog/PreferencesDialog.js | 4 ++-- tine20/Tinebase/js/widgets/dialog/PreferencesPanel.js | 3 +-- 4 files changed, 7 insertions(+), 6 deletions(-) diff --git a/tine20/Calendar/Preference.php b/tine20/Calendar/Preference.php index ef18c3717b4..9ecc6474758 100644 --- a/tine20/Calendar/Preference.php +++ b/tine20/Calendar/Preference.php @@ -195,7 +195,6 @@ public function getTranslatedPreferences() self::WEB_EVENT_TITLE_TEMPLATE => [ 'label' => $translate->_('Web Event Title Template'), 'description' => $translate->_('How to build event titles in web ui.'), - self::CLIENT_NEEDS_RELOAD => true, ], self::NOTIFICATION_LEVEL => array( 'label' => $translate->_('Get Notification Emails'), @@ -329,6 +328,9 @@ public function getApplicationPreferenceDefaults($_preferenceName, $_accountId = break; case self::WEB_EVENT_TITLE_TEMPLATE: $translate = Tinebase_Translation::getTranslation($this->_application); + $preference->uiconfig = [ + self::CLIENT_NEEDS_RELOAD => true + ]; $preference->value = '{{ summary }}'; $preference->options = ' diff --git a/tine20/Calendar/translations/de.po b/tine20/Calendar/translations/de.po index 34f099b31d3..6e3c9433015 100644 --- a/tine20/Calendar/translations/de.po +++ b/tine20/Calendar/translations/de.po @@ -2833,7 +2833,7 @@ msgid "Attendee status if the user has the status grant" msgstr "Teilnehmer Status, wenn der Benutzer über das Status Recht verfügt" msgid "Web Event Title Template" -msgstr "Termin Titel Template" +msgstr "Termin Titel Schablone" msgid "How to build event titles in web ui." msgstr "Wie der Titel in der Web-Anwendung gebildet wird." diff --git a/tine20/Tinebase/js/widgets/dialog/PreferencesDialog.js b/tine20/Tinebase/js/widgets/dialog/PreferencesDialog.js index 3d930d99253..34423a21f23 100644 --- a/tine20/Tinebase/js/widgets/dialog/PreferencesDialog.js +++ b/tine20/Tinebase/js/widgets/dialog/PreferencesDialog.js @@ -247,7 +247,7 @@ Tine.widgets.dialog.Preferences = Ext.extend(Ext.FormPanel, { this.loadMask.show(); // get values from card panels - const [data,clientneedsreload] = this.getValuesFromPanels(); + const [data, clientneedsreload] = this.getValuesFromPanels(); // save preference data Ext.Ajax.request({ @@ -322,7 +322,7 @@ Tine.widgets.dialog.Preferences = Ext.extend(Ext.FormPanel, { } } else { data[panel.appName][item.name] = {value: item.getValue()}; - if(!clientneedsreload && (item.startValue !== item.getValue()) && item.startValue && item.clientneedsreload) { + if(!clientneedsreload && (item.startValue !== item.getValue()) && item.startValue && _.get(item, 'pref.data.uiconfig.clientneedsreload')) { clientneedsreload = true; } } diff --git a/tine20/Tinebase/js/widgets/dialog/PreferencesPanel.js b/tine20/Tinebase/js/widgets/dialog/PreferencesPanel.js index c9b9e2556b3..e320030fdfa 100644 --- a/tine20/Tinebase/js/widgets/dialog/PreferencesPanel.js +++ b/tine20/Tinebase/js/widgets/dialog/PreferencesPanel.js @@ -107,8 +107,7 @@ Tine.widgets.dialog.PreferencesPanel = Ext.extend(Ext.Panel, { }, prefId: pref.id, description: pref.get('description'), - clientneedsreload: pref.get('uiconfig').clientneedsreload - + pref }; var options = pref.get('options');