Finish the prompt page logic.

This commit is contained in:
Yang Luo
2021-06-20 09:46:06 +08:00
parent e0b6270f50
commit d3a8ab8347
8 changed files with 175 additions and 79 deletions

View File

@ -180,62 +180,3 @@ func DeleteApplication(application *Application) bool {
return affected != 0
}
func (application *Application) getProviderByCategory(category string) *Provider {
providers := GetProviders(application.Owner)
m := map[string]*Provider{}
for _, provider := range providers {
if provider.Category != category {
continue
}
m[provider.Name] = provider
}
for _, providerItem := range application.Providers {
if provider, ok := m[providerItem.Name]; ok {
return provider
}
}
return nil
}
func (application *Application) GetEmailProvider() *Provider {
return application.getProviderByCategory("Email")
}
func (application *Application) GetSmsProvider() *Provider {
return application.getProviderByCategory("SMS")
}
func (application *Application) getSignupItem(itemName string) *SignupItem {
for _, signupItem := range application.SignupItems {
if signupItem.Name == itemName {
return signupItem
}
}
return nil
}
func (application *Application) IsSignupItemEnabled(itemName string) bool {
return application.getSignupItem(itemName) != nil
}
func (application *Application) IsSignupItemVisible(itemName string) bool {
signupItem := application.getSignupItem(itemName)
if signupItem == nil {
return false
}
return signupItem.Visible
}
func (application *Application) GetSignupItemRule(itemName string) string {
signupItem := application.getSignupItem(itemName)
if signupItem == nil {
return ""
}
return signupItem.Rule
}