add notification when user registers
This commit is contained in:
@@ -203,12 +203,18 @@ avatar_provider = internal
|
|||||||
enable_export = true
|
enable_export = true
|
||||||
|
|
||||||
[notification]
|
[notification]
|
||||||
|
# Set to true to display custom notification in home page every time users register
|
||||||
|
enable_notification_after_register = false
|
||||||
|
|
||||||
|
# The notification content displayed each time users register, it supports multi-language configuration
|
||||||
|
# Add an underscore and a language tag after the setting key to configure the notification content in that language, the same below
|
||||||
|
# For example, after_login_notification_content_zh_hans means the notification content in Simplified Chinese
|
||||||
|
after_register_notification_content =
|
||||||
|
|
||||||
# Set to true to display custom notification in home page every time users login
|
# Set to true to display custom notification in home page every time users login
|
||||||
enable_notification_after_login = false
|
enable_notification_after_login = false
|
||||||
|
|
||||||
# The notification content displayed each time users log in, it supports multi-language configuration
|
# The notification content displayed each time users log in, it supports multi-language configuration
|
||||||
# Add an underscore and a language tag after the setting key to configure the notification content in that language, the same below
|
|
||||||
# For example, after_login_notification_content_zh_hans means the notification content in Simplified Chinese
|
|
||||||
after_login_notification_content =
|
after_login_notification_content =
|
||||||
|
|
||||||
# Set to true to display custom notification in home page every time users open the app
|
# Set to true to display custom notification in home page every time users open the app
|
||||||
|
|||||||
+1
-1
@@ -93,7 +93,7 @@ func (a *UsersApi) UserRegisterHandler(c *core.Context) (any, *errs.Error) {
|
|||||||
AuthResponse: models.AuthResponse{
|
AuthResponse: models.AuthResponse{
|
||||||
Need2FA: false,
|
Need2FA: false,
|
||||||
User: user.ToUserBasicInfo(),
|
User: user.ToUserBasicInfo(),
|
||||||
NotificationContent: settings.Container.GetAfterLoginNotificationContent(user.Language, c.GetClientLocale()),
|
NotificationContent: settings.Container.GetAfterRegisterNotificationContent(user.Language, c.GetClientLocale()),
|
||||||
},
|
},
|
||||||
NeedVerifyEmail: settings.Container.Current.EnableUserVerifyEmail && settings.Container.Current.EnableUserForceVerifyEmail,
|
NeedVerifyEmail: settings.Container.Current.EnableUserVerifyEmail && settings.Container.Current.EnableUserForceVerifyEmail,
|
||||||
PresetCategoriesSaved: presetCategoriesSaved,
|
PresetCategoriesSaved: presetCategoriesSaved,
|
||||||
|
|||||||
@@ -279,8 +279,9 @@ type Config struct {
|
|||||||
EnableDataExport bool
|
EnableDataExport bool
|
||||||
|
|
||||||
// Notification
|
// Notification
|
||||||
AfterLoginNotification NotificationConfig
|
AfterRegisterNotification NotificationConfig
|
||||||
AfterOpenNotification NotificationConfig
|
AfterLoginNotification NotificationConfig
|
||||||
|
AfterOpenNotification NotificationConfig
|
||||||
|
|
||||||
// Map
|
// Map
|
||||||
MapProvider string
|
MapProvider string
|
||||||
@@ -748,6 +749,7 @@ func loadDataConfiguration(config *Config, configFile *ini.File, sectionName str
|
|||||||
}
|
}
|
||||||
|
|
||||||
func loadNotificationConfiguration(config *Config, configFile *ini.File, sectionName string) error {
|
func loadNotificationConfiguration(config *Config, configFile *ini.File, sectionName string) error {
|
||||||
|
config.AfterRegisterNotification = getNotificationConfiguration(configFile, sectionName, "enable_notification_after_register", "after_register_notification_content")
|
||||||
config.AfterLoginNotification = getNotificationConfiguration(configFile, sectionName, "enable_notification_after_login", "after_login_notification_content")
|
config.AfterLoginNotification = getNotificationConfiguration(configFile, sectionName, "enable_notification_after_login", "after_login_notification_content")
|
||||||
config.AfterOpenNotification = getNotificationConfiguration(configFile, sectionName, "enable_notification_after_open", "after_open_notification_content")
|
config.AfterOpenNotification = getNotificationConfiguration(configFile, sectionName, "enable_notification_after_open", "after_open_notification_content")
|
||||||
|
|
||||||
|
|||||||
@@ -17,6 +17,25 @@ func SetCurrentConfig(config *Config) {
|
|||||||
Container.Current = config
|
Container.Current = config
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// GetAfterRegisterNotificationContent returns the notification content displayed each time users register
|
||||||
|
func (c *ConfigContainer) GetAfterRegisterNotificationContent(userLanguage string, clientLanguage string) string {
|
||||||
|
language := userLanguage
|
||||||
|
|
||||||
|
if language == "" {
|
||||||
|
language = clientLanguage
|
||||||
|
}
|
||||||
|
|
||||||
|
if !c.Current.AfterRegisterNotification.Enabled {
|
||||||
|
return ""
|
||||||
|
}
|
||||||
|
|
||||||
|
if multiLanguageContent, exists := c.Current.AfterRegisterNotification.MultiLanguageContent[language]; exists {
|
||||||
|
return multiLanguageContent
|
||||||
|
}
|
||||||
|
|
||||||
|
return c.Current.AfterRegisterNotification.DefaultContent
|
||||||
|
}
|
||||||
|
|
||||||
// GetAfterLoginNotificationContent returns the notification content displayed each time users log in
|
// GetAfterLoginNotificationContent returns the notification content displayed each time users log in
|
||||||
func (c *ConfigContainer) GetAfterLoginNotificationContent(userLanguage string, clientLanguage string) string {
|
func (c *ConfigContainer) GetAfterLoginNotificationContent(userLanguage string, clientLanguage string) string {
|
||||||
language := userLanguage
|
language := userLanguage
|
||||||
|
|||||||
Reference in New Issue
Block a user