Merge remote-tracking branch 'upstream/release-5.1' into release-5.1-daily-merge-20180712
Этот коммит содержится в:
@@ -163,6 +163,11 @@ func TestLoadTestHelpCommands(t *testing.T) {
|
||||
Client := th.Client
|
||||
channel := th.BasicChannel
|
||||
|
||||
enableTesting := th.App.Config().ServiceSettings.EnableTesting
|
||||
defer func() {
|
||||
th.App.UpdateConfig(func(cfg *model.Config) { cfg.ServiceSettings.EnableTesting = enableTesting })
|
||||
}()
|
||||
|
||||
th.App.UpdateConfig(func(cfg *model.Config) { cfg.ServiceSettings.EnableTesting = true })
|
||||
|
||||
rs := Client.Must(Client.ExecuteCommand(channel.Id, "/test help")).(*model.CommandResponse)
|
||||
@@ -180,6 +185,11 @@ func TestLoadTestSetupCommands(t *testing.T) {
|
||||
Client := th.Client
|
||||
channel := th.BasicChannel
|
||||
|
||||
enableTesting := th.App.Config().ServiceSettings.EnableTesting
|
||||
defer func() {
|
||||
th.App.UpdateConfig(func(cfg *model.Config) { cfg.ServiceSettings.EnableTesting = enableTesting })
|
||||
}()
|
||||
|
||||
th.App.UpdateConfig(func(cfg *model.Config) { cfg.ServiceSettings.EnableTesting = true })
|
||||
|
||||
rs := Client.Must(Client.ExecuteCommand(channel.Id, "/test setup fuzz 1 1 1")).(*model.CommandResponse)
|
||||
@@ -197,6 +207,11 @@ func TestLoadTestUsersCommands(t *testing.T) {
|
||||
Client := th.Client
|
||||
channel := th.BasicChannel
|
||||
|
||||
enableTesting := th.App.Config().ServiceSettings.EnableTesting
|
||||
defer func() {
|
||||
th.App.UpdateConfig(func(cfg *model.Config) { cfg.ServiceSettings.EnableTesting = enableTesting })
|
||||
}()
|
||||
|
||||
th.App.UpdateConfig(func(cfg *model.Config) { cfg.ServiceSettings.EnableTesting = true })
|
||||
|
||||
rs := Client.Must(Client.ExecuteCommand(channel.Id, "/test users fuzz 1 2")).(*model.CommandResponse)
|
||||
@@ -214,6 +229,11 @@ func TestLoadTestChannelsCommands(t *testing.T) {
|
||||
Client := th.Client
|
||||
channel := th.BasicChannel
|
||||
|
||||
enableTesting := th.App.Config().ServiceSettings.EnableTesting
|
||||
defer func() {
|
||||
th.App.UpdateConfig(func(cfg *model.Config) { cfg.ServiceSettings.EnableTesting = enableTesting })
|
||||
}()
|
||||
|
||||
th.App.UpdateConfig(func(cfg *model.Config) { cfg.ServiceSettings.EnableTesting = true })
|
||||
|
||||
rs := Client.Must(Client.ExecuteCommand(channel.Id, "/test channels fuzz 1 2")).(*model.CommandResponse)
|
||||
@@ -231,6 +251,11 @@ func TestLoadTestPostsCommands(t *testing.T) {
|
||||
Client := th.Client
|
||||
channel := th.BasicChannel
|
||||
|
||||
enableTesting := th.App.Config().ServiceSettings.EnableTesting
|
||||
defer func() {
|
||||
th.App.UpdateConfig(func(cfg *model.Config) { cfg.ServiceSettings.EnableTesting = enableTesting })
|
||||
}()
|
||||
|
||||
th.App.UpdateConfig(func(cfg *model.Config) { cfg.ServiceSettings.EnableTesting = true })
|
||||
|
||||
rs := Client.Must(Client.ExecuteCommand(channel.Id, "/test posts fuzz 2 3 2")).(*model.CommandResponse)
|
||||
|
||||
@@ -28,6 +28,15 @@ func TestGetImage(t *testing.T) {
|
||||
require.NoError(t, err)
|
||||
r.Header.Set(model.HEADER_AUTH, th.Client.AuthType+" "+th.Client.AuthToken)
|
||||
|
||||
imageProxyType := th.App.Config().ServiceSettings.ImageProxyType
|
||||
imageProxyOptions := th.App.Config().ServiceSettings.ImageProxyOptions
|
||||
imageProxyURL := th.App.Config().ServiceSettings.ImageProxyURL
|
||||
defer func() {
|
||||
th.App.UpdateConfig(func(cfg *model.Config) { cfg.ServiceSettings.ImageProxyType = imageProxyType })
|
||||
th.App.UpdateConfig(func(cfg *model.Config) { cfg.ServiceSettings.ImageProxyOptions = imageProxyOptions })
|
||||
th.App.UpdateConfig(func(cfg *model.Config) { cfg.ServiceSettings.ImageProxyOptions = imageProxyURL })
|
||||
}()
|
||||
|
||||
th.App.UpdateConfig(func(cfg *model.Config) {
|
||||
cfg.ServiceSettings.ImageProxyType = nil
|
||||
})
|
||||
|
||||
@@ -26,8 +26,10 @@ func TestCreateOAuthApp(t *testing.T) {
|
||||
AdminClient := th.SystemAdminClient
|
||||
|
||||
defaultRolePermissions := th.SaveDefaultRolePermissions()
|
||||
enableOAuthServiceProvider := th.App.Config().ServiceSettings.EnableOAuthServiceProvider
|
||||
defer func() {
|
||||
th.RestoreDefaultRolePermissions(defaultRolePermissions)
|
||||
th.App.UpdateConfig(func(cfg *model.Config) { cfg.ServiceSettings.EnableOAuthServiceProvider = enableOAuthServiceProvider })
|
||||
}()
|
||||
|
||||
// Grant permission to regular users.
|
||||
@@ -97,8 +99,10 @@ func TestUpdateOAuthApp(t *testing.T) {
|
||||
AdminClient := th.SystemAdminClient
|
||||
|
||||
defaultRolePermissions := th.SaveDefaultRolePermissions()
|
||||
enableOAuthServiceProvider := th.App.Config().ServiceSettings.EnableOAuthServiceProvider
|
||||
defer func() {
|
||||
th.RestoreDefaultRolePermissions(defaultRolePermissions)
|
||||
th.App.UpdateConfig(func(cfg *model.Config) { cfg.ServiceSettings.EnableOAuthServiceProvider = enableOAuthServiceProvider })
|
||||
}()
|
||||
|
||||
// Grant permission to regular users.
|
||||
@@ -212,8 +216,10 @@ func TestGetOAuthApps(t *testing.T) {
|
||||
AdminClient := th.SystemAdminClient
|
||||
|
||||
defaultRolePermissions := th.SaveDefaultRolePermissions()
|
||||
enableOAuthServiceProvider := th.App.Config().ServiceSettings.EnableOAuthServiceProvider
|
||||
defer func() {
|
||||
th.RestoreDefaultRolePermissions(defaultRolePermissions)
|
||||
th.App.UpdateConfig(func(cfg *model.Config) { cfg.ServiceSettings.EnableOAuthServiceProvider = enableOAuthServiceProvider })
|
||||
}()
|
||||
|
||||
// Grant permission to regular users.
|
||||
@@ -284,8 +290,10 @@ func TestGetOAuthApp(t *testing.T) {
|
||||
AdminClient := th.SystemAdminClient
|
||||
|
||||
defaultRolePermissions := th.SaveDefaultRolePermissions()
|
||||
enableOAuthServiceProvider := th.App.Config().ServiceSettings.EnableOAuthServiceProvider
|
||||
defer func() {
|
||||
th.RestoreDefaultRolePermissions(defaultRolePermissions)
|
||||
th.App.UpdateConfig(func(cfg *model.Config) { cfg.ServiceSettings.EnableOAuthServiceProvider = enableOAuthServiceProvider })
|
||||
}()
|
||||
|
||||
// Grant permission to regular users.
|
||||
@@ -358,8 +366,10 @@ func TestGetOAuthAppInfo(t *testing.T) {
|
||||
AdminClient := th.SystemAdminClient
|
||||
|
||||
defaultRolePermissions := th.SaveDefaultRolePermissions()
|
||||
enableOAuthServiceProvider := th.App.Config().ServiceSettings.EnableOAuthServiceProvider
|
||||
defer func() {
|
||||
th.RestoreDefaultRolePermissions(defaultRolePermissions)
|
||||
th.App.UpdateConfig(func(cfg *model.Config) { cfg.ServiceSettings.EnableOAuthServiceProvider = enableOAuthServiceProvider })
|
||||
}()
|
||||
|
||||
// Grant permission to regular users.
|
||||
@@ -432,8 +442,10 @@ func TestDeleteOAuthApp(t *testing.T) {
|
||||
AdminClient := th.SystemAdminClient
|
||||
|
||||
defaultRolePermissions := th.SaveDefaultRolePermissions()
|
||||
enableOAuthServiceProvider := th.App.Config().ServiceSettings.EnableOAuthServiceProvider
|
||||
defer func() {
|
||||
th.RestoreDefaultRolePermissions(defaultRolePermissions)
|
||||
th.App.UpdateConfig(func(cfg *model.Config) { cfg.ServiceSettings.EnableOAuthServiceProvider = enableOAuthServiceProvider })
|
||||
}()
|
||||
|
||||
// Grant permission to regular users.
|
||||
@@ -500,8 +512,10 @@ func TestRegenerateOAuthAppSecret(t *testing.T) {
|
||||
AdminClient := th.SystemAdminClient
|
||||
|
||||
defaultRolePermissions := th.SaveDefaultRolePermissions()
|
||||
enableOAuthServiceProvider := th.App.Config().ServiceSettings.EnableOAuthServiceProvider
|
||||
defer func() {
|
||||
th.RestoreDefaultRolePermissions(defaultRolePermissions)
|
||||
th.App.UpdateConfig(func(cfg *model.Config) { cfg.ServiceSettings.EnableOAuthServiceProvider = enableOAuthServiceProvider })
|
||||
}()
|
||||
|
||||
// Grant permission to regular users.
|
||||
@@ -631,6 +645,11 @@ func TestAuthorizeOAuthApp(t *testing.T) {
|
||||
Client := th.Client
|
||||
AdminClient := th.SystemAdminClient
|
||||
|
||||
enableOAuth := th.App.Config().ServiceSettings.EnableOAuthServiceProvider
|
||||
defer func() {
|
||||
th.App.UpdateConfig(func(cfg *model.Config) { cfg.ServiceSettings.EnableOAuthServiceProvider = enableOAuth })
|
||||
}()
|
||||
|
||||
th.App.UpdateConfig(func(cfg *model.Config) { cfg.ServiceSettings.EnableOAuthServiceProvider = true })
|
||||
|
||||
oapp := &model.OAuthApp{Name: GenerateTestAppName(), Homepage: "https://nowhere.com", Description: "test", CallbackUrls: []string{"https://nowhere.com"}}
|
||||
@@ -958,6 +977,23 @@ func TestOAuthComplete(t *testing.T) {
|
||||
|
||||
Client := th.Client
|
||||
|
||||
gitLabSettingsEnable := th.App.Config().GitLabSettings.Enable
|
||||
gitLabSettingsAuthEndpoint := th.App.Config().GitLabSettings.AuthEndpoint
|
||||
gitLabSettingsId := th.App.Config().GitLabSettings.Id
|
||||
gitLabSettingsSecret := th.App.Config().GitLabSettings.Secret
|
||||
gitLabSettingsTokenEndpoint := th.App.Config().GitLabSettings.TokenEndpoint
|
||||
gitLabSettingsUserApiEndpoint := th.App.Config().GitLabSettings.UserApiEndpoint
|
||||
enableOAuthServiceProvider := th.App.Config().ServiceSettings.EnableOAuthServiceProvider
|
||||
defer func() {
|
||||
th.App.UpdateConfig(func(cfg *model.Config) { cfg.GitLabSettings.Enable = gitLabSettingsEnable })
|
||||
th.App.UpdateConfig(func(cfg *model.Config) { cfg.GitLabSettings.AuthEndpoint = gitLabSettingsAuthEndpoint })
|
||||
th.App.UpdateConfig(func(cfg *model.Config) { cfg.GitLabSettings.Id = gitLabSettingsId })
|
||||
th.App.UpdateConfig(func(cfg *model.Config) { cfg.GitLabSettings.Secret = gitLabSettingsSecret })
|
||||
th.App.UpdateConfig(func(cfg *model.Config) { cfg.GitLabSettings.TokenEndpoint = gitLabSettingsTokenEndpoint })
|
||||
th.App.UpdateConfig(func(cfg *model.Config) { cfg.GitLabSettings.UserApiEndpoint = gitLabSettingsUserApiEndpoint })
|
||||
th.App.UpdateConfig(func(cfg *model.Config) { cfg.ServiceSettings.EnableOAuthServiceProvider = enableOAuthServiceProvider })
|
||||
}()
|
||||
|
||||
r, err := HttpGet(Client.Url+"/login/gitlab/complete?code=123", Client.HttpClient, "", true)
|
||||
assert.NotNil(t, err)
|
||||
closeBody(r)
|
||||
|
||||
@@ -170,6 +170,15 @@ func testCreatePostWithOutgoingHook(
|
||||
team := th.BasicTeam
|
||||
channel := th.BasicChannel
|
||||
|
||||
enableOutgoingWebhooks := th.App.Config().ServiceSettings.EnableOutgoingWebhooks
|
||||
allowedUntrustedInternalConnections := th.App.Config().ServiceSettings.AllowedUntrustedInternalConnections
|
||||
defer func() {
|
||||
th.App.UpdateConfig(func(cfg *model.Config) { cfg.ServiceSettings.EnableOutgoingWebhooks = enableOutgoingWebhooks })
|
||||
th.App.UpdateConfig(func(cfg *model.Config) {
|
||||
cfg.ServiceSettings.AllowedUntrustedInternalConnections = allowedUntrustedInternalConnections
|
||||
})
|
||||
}()
|
||||
|
||||
th.App.UpdateConfig(func(cfg *model.Config) { cfg.ServiceSettings.EnableOutgoingWebhooks = true })
|
||||
th.App.UpdateConfig(func(cfg *model.Config) {
|
||||
*cfg.ServiceSettings.AllowedUntrustedInternalConnections = "localhost 127.0.0.1"
|
||||
|
||||
@@ -540,6 +540,11 @@ func TestPermanentDeleteTeam(t *testing.T) {
|
||||
team := &model.Team{DisplayName: "DisplayName", Name: GenerateTestTeamName(), Email: th.GenerateTestEmail(), Type: model.TEAM_OPEN}
|
||||
team, _ = Client.CreateTeam(team)
|
||||
|
||||
enableAPITeamDeletion := *th.App.Config().ServiceSettings.EnableAPITeamDeletion
|
||||
defer func() {
|
||||
th.App.UpdateConfig(func(cfg *model.Config) { cfg.ServiceSettings.EnableAPITeamDeletion = &enableAPITeamDeletion })
|
||||
}()
|
||||
|
||||
th.App.UpdateConfig(func(cfg *model.Config) { *cfg.ServiceSettings.EnableAPITeamDeletion = false })
|
||||
|
||||
// Does not error when deletion is disabled, just soft deletes
|
||||
@@ -1935,15 +1940,20 @@ func TestInviteUsersToTeam(t *testing.T) {
|
||||
utils.DeleteMailBox(user1)
|
||||
utils.DeleteMailBox(user2)
|
||||
|
||||
th.App.UpdateConfig(func(cfg *model.Config) { *cfg.ServiceSettings.EnableEmailInvitations = false })
|
||||
enableEmailInvitations := *th.App.Config().ServiceSettings.EnableEmailInvitations
|
||||
restrictCreationToDomains := th.App.Config().TeamSettings.RestrictCreationToDomains
|
||||
defer func() {
|
||||
th.App.UpdateConfig(func(cfg *model.Config) { cfg.ServiceSettings.EnableEmailInvitations = &enableEmailInvitations })
|
||||
th.App.UpdateConfig(func(cfg *model.Config) { cfg.TeamSettings.RestrictCreationToDomains = restrictCreationToDomains })
|
||||
}()
|
||||
|
||||
th.App.UpdateConfig(func(cfg *model.Config) { *cfg.ServiceSettings.EnableEmailInvitations = false })
|
||||
_, resp := th.SystemAdminClient.InviteUsersToTeam(th.BasicTeam.Id, emailList)
|
||||
if resp.Error == nil {
|
||||
t.Fatal("Should be disabled")
|
||||
}
|
||||
|
||||
th.App.UpdateConfig(func(cfg *model.Config) { *cfg.ServiceSettings.EnableEmailInvitations = true })
|
||||
|
||||
okMsg, resp := th.SystemAdminClient.InviteUsersToTeam(th.BasicTeam.Id, emailList)
|
||||
CheckNoError(t, resp)
|
||||
if !okMsg {
|
||||
|
||||
@@ -22,6 +22,13 @@ func TestCreateUser(t *testing.T) {
|
||||
Client := th.Client
|
||||
AdminClient := th.SystemAdminClient
|
||||
|
||||
enableOpenServer := th.App.Config().TeamSettings.EnableOpenServer
|
||||
enableUserCreation := th.App.Config().TeamSettings.EnableUserCreation
|
||||
defer func() {
|
||||
th.App.UpdateConfig(func(cfg *model.Config) { cfg.TeamSettings.EnableOpenServer = enableOpenServer })
|
||||
th.App.UpdateConfig(func(cfg *model.Config) { cfg.TeamSettings.EnableUserCreation = enableUserCreation })
|
||||
}()
|
||||
|
||||
user := model.User{Email: th.GenerateTestEmail(), Nickname: "Corey Hulen", Password: "hello1", Username: GenerateTestUsername(), Roles: model.SYSTEM_ADMIN_ROLE_ID + " " + model.SYSTEM_USER_ROLE_ID}
|
||||
|
||||
ruser, resp := Client.CreateUser(&user)
|
||||
@@ -161,6 +168,12 @@ func TestCreateUserWithToken(t *testing.T) {
|
||||
})
|
||||
|
||||
t.Run("EnableUserCreationDisable", func(t *testing.T) {
|
||||
|
||||
enableUserCreation := th.App.Config().TeamSettings.EnableUserCreation
|
||||
defer func() {
|
||||
th.App.UpdateConfig(func(cfg *model.Config) { cfg.TeamSettings.EnableUserCreation = enableUserCreation })
|
||||
}()
|
||||
|
||||
user := model.User{Email: th.GenerateTestEmail(), Nickname: "Corey Hulen", Password: "hello1", Username: GenerateTestUsername(), Roles: model.SYSTEM_ADMIN_ROLE_ID + " " + model.SYSTEM_USER_ROLE_ID}
|
||||
|
||||
token := model.NewToken(
|
||||
@@ -176,7 +189,6 @@ func TestCreateUserWithToken(t *testing.T) {
|
||||
CheckNotImplementedStatus(t, resp)
|
||||
CheckErrorMessage(t, resp, "api.user.create_user.signup_email_disabled.app_error")
|
||||
|
||||
th.App.UpdateConfig(func(cfg *model.Config) { *cfg.TeamSettings.EnableUserCreation = true })
|
||||
})
|
||||
|
||||
t.Run("EnableOpenServerDisable", func(t *testing.T) {
|
||||
@@ -188,6 +200,11 @@ func TestCreateUserWithToken(t *testing.T) {
|
||||
)
|
||||
<-th.App.Srv.Store.Token().Save(token)
|
||||
|
||||
enableOpenServer := th.App.Config().TeamSettings.EnableOpenServer
|
||||
defer func() {
|
||||
th.App.UpdateConfig(func(cfg *model.Config) { cfg.TeamSettings.EnableOpenServer = enableOpenServer })
|
||||
}()
|
||||
|
||||
th.App.UpdateConfig(func(cfg *model.Config) { *cfg.TeamSettings.EnableOpenServer = false })
|
||||
|
||||
ruser, resp := Client.CreateUserWithToken(&user, token.Token)
|
||||
@@ -270,6 +287,11 @@ func TestCreateUserWithInviteId(t *testing.T) {
|
||||
t.Run("EnableUserCreationDisable", func(t *testing.T) {
|
||||
user := model.User{Email: th.GenerateTestEmail(), Nickname: "Corey Hulen", Password: "hello1", Username: GenerateTestUsername(), Roles: model.SYSTEM_ADMIN_ROLE_ID + " " + model.SYSTEM_USER_ROLE_ID}
|
||||
|
||||
enableUserCreation := th.App.Config().TeamSettings.EnableUserCreation
|
||||
defer func() {
|
||||
th.App.UpdateConfig(func(cfg *model.Config) { cfg.TeamSettings.EnableUserCreation = enableUserCreation })
|
||||
}()
|
||||
|
||||
th.App.UpdateConfig(func(cfg *model.Config) { *cfg.TeamSettings.EnableUserCreation = false })
|
||||
|
||||
inviteId := th.BasicTeam.InviteId
|
||||
@@ -277,13 +299,16 @@ func TestCreateUserWithInviteId(t *testing.T) {
|
||||
_, resp := Client.CreateUserWithInviteId(&user, inviteId)
|
||||
CheckNotImplementedStatus(t, resp)
|
||||
CheckErrorMessage(t, resp, "api.user.create_user.signup_email_disabled.app_error")
|
||||
|
||||
th.App.UpdateConfig(func(cfg *model.Config) { *cfg.TeamSettings.EnableUserCreation = true })
|
||||
})
|
||||
|
||||
t.Run("EnableOpenServerDisable", func(t *testing.T) {
|
||||
user := model.User{Email: th.GenerateTestEmail(), Nickname: "Corey Hulen", Password: "hello1", Username: GenerateTestUsername(), Roles: model.SYSTEM_ADMIN_ROLE_ID + " " + model.SYSTEM_USER_ROLE_ID}
|
||||
|
||||
enableOpenServer := th.App.Config().TeamSettings.EnableOpenServer
|
||||
defer func() {
|
||||
th.App.UpdateConfig(func(cfg *model.Config) { cfg.TeamSettings.EnableOpenServer = enableOpenServer })
|
||||
}()
|
||||
|
||||
th.App.UpdateConfig(func(cfg *model.Config) { *cfg.TeamSettings.EnableOpenServer = false })
|
||||
|
||||
inviteId := th.BasicTeam.InviteId
|
||||
@@ -332,6 +357,13 @@ func TestGetUser(t *testing.T) {
|
||||
|
||||
th.App.UpdateUser(user, false)
|
||||
|
||||
showEmailAddress := th.App.Config().PrivacySettings.ShowEmailAddress
|
||||
showFullName := th.App.Config().PrivacySettings.ShowFullName
|
||||
defer func() {
|
||||
th.App.UpdateConfig(func(cfg *model.Config) { cfg.PrivacySettings.ShowEmailAddress = showEmailAddress })
|
||||
th.App.UpdateConfig(func(cfg *model.Config) { cfg.PrivacySettings.ShowFullName = showFullName })
|
||||
}()
|
||||
|
||||
ruser, resp := Client.GetUser(user.Id, "")
|
||||
CheckNoError(t, resp)
|
||||
CheckUserSanitization(t, ruser)
|
||||
@@ -393,6 +425,13 @@ func TestGetUserByUsername(t *testing.T) {
|
||||
|
||||
user := th.BasicUser
|
||||
|
||||
showEmailAddress := th.App.Config().PrivacySettings.ShowEmailAddress
|
||||
showFullName := th.App.Config().PrivacySettings.ShowFullName
|
||||
defer func() {
|
||||
th.App.UpdateConfig(func(cfg *model.Config) { cfg.PrivacySettings.ShowEmailAddress = showEmailAddress })
|
||||
th.App.UpdateConfig(func(cfg *model.Config) { cfg.PrivacySettings.ShowFullName = showFullName })
|
||||
}()
|
||||
|
||||
ruser, resp := Client.GetUserByUsername(user.Username, "")
|
||||
CheckNoError(t, resp)
|
||||
CheckUserSanitization(t, ruser)
|
||||
@@ -452,6 +491,13 @@ func TestGetUserByEmail(t *testing.T) {
|
||||
defer th.TearDown()
|
||||
Client := th.Client
|
||||
|
||||
showEmailAddress := th.App.Config().PrivacySettings.ShowEmailAddress
|
||||
showFullName := th.App.Config().PrivacySettings.ShowFullName
|
||||
defer func() {
|
||||
th.App.UpdateConfig(func(cfg *model.Config) { cfg.PrivacySettings.ShowEmailAddress = showEmailAddress })
|
||||
th.App.UpdateConfig(func(cfg *model.Config) { cfg.PrivacySettings.ShowFullName = showFullName })
|
||||
}()
|
||||
|
||||
user := th.CreateUser()
|
||||
|
||||
ruser, resp := Client.GetUserByEmail(user.Email, "")
|
||||
@@ -510,6 +556,13 @@ func TestSearchUsers(t *testing.T) {
|
||||
defer th.TearDown()
|
||||
Client := th.Client
|
||||
|
||||
showEmailAddress := th.App.Config().PrivacySettings.ShowEmailAddress
|
||||
showFullName := th.App.Config().PrivacySettings.ShowFullName
|
||||
defer func() {
|
||||
th.App.UpdateConfig(func(cfg *model.Config) { cfg.PrivacySettings.ShowEmailAddress = showEmailAddress })
|
||||
th.App.UpdateConfig(func(cfg *model.Config) { cfg.PrivacySettings.ShowFullName = showFullName })
|
||||
}()
|
||||
|
||||
search := &model.UserSearch{Term: th.BasicUser.Username}
|
||||
|
||||
users, resp := Client.SearchUsers(search)
|
||||
@@ -696,6 +749,11 @@ func TestAutocompleteUsers(t *testing.T) {
|
||||
channelId := th.BasicChannel.Id
|
||||
username := th.BasicUser.Username
|
||||
|
||||
showFullName := th.App.Config().PrivacySettings.ShowFullName
|
||||
defer func() {
|
||||
th.App.UpdateConfig(func(cfg *model.Config) { cfg.PrivacySettings.ShowFullName = showFullName })
|
||||
}()
|
||||
|
||||
rusers, resp := Client.AutocompleteUsersInChannel(teamId, channelId, username, "")
|
||||
CheckNoError(t, resp)
|
||||
|
||||
|
||||
@@ -694,26 +694,15 @@ func (a *App) GetMessageForNotification(post *model.Post, translateFunc i18n.Tra
|
||||
|
||||
func (a *App) sendPushNotification(post *model.Post, user *model.User, channel *model.Channel, channelName string, sender *model.User, senderName string,
|
||||
explicitMention, channelWideMention bool, replyToThreadType string) *model.AppError {
|
||||
contentsConfig := *a.Config().EmailSettings.PushNotificationContents
|
||||
cfg := a.Config()
|
||||
contentsConfig := *cfg.EmailSettings.PushNotificationContents
|
||||
teammateNameConfig := *cfg.TeamSettings.TeammateNameDisplay
|
||||
sessions, err := a.getMobileAppSessions(user.Id)
|
||||
sentBySystem := senderName == utils.T("system.message.name")
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
if channel.Type == model.CHANNEL_DIRECT {
|
||||
if senderName == utils.T("system.message.name") {
|
||||
channelName = senderName
|
||||
} else {
|
||||
preference, prefError := a.GetPreferenceByCategoryAndNameForUser(user.Id, model.PREFERENCE_CATEGORY_DISPLAY_SETTINGS, "name_format")
|
||||
if prefError != nil {
|
||||
channelName = fmt.Sprintf("@%v", senderName)
|
||||
} else {
|
||||
channelName = fmt.Sprintf("@%v", sender.GetDisplayName(preference.Value))
|
||||
senderName = channelName
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
msg := model.PushNotification{}
|
||||
if badge := <-a.Srv.Store.User().GetUnreadCount(user.Id); badge.Err != nil {
|
||||
msg.Badge = 1
|
||||
@@ -731,15 +720,28 @@ func (a *App) sendPushNotification(post *model.Post, user *model.User, channel *
|
||||
msg.RootId = post.RootId
|
||||
msg.SenderId = post.UserId
|
||||
|
||||
if !sentBySystem {
|
||||
senderName = sender.GetDisplayName(teammateNameConfig)
|
||||
preference, prefError := a.GetPreferenceByCategoryAndNameForUser(user.Id, model.PREFERENCE_CATEGORY_DISPLAY_SETTINGS, "name_format")
|
||||
if prefError == nil && preference.Value != teammateNameConfig {
|
||||
senderName = sender.GetDisplayName(preference.Value)
|
||||
}
|
||||
}
|
||||
|
||||
if channel.Type == model.CHANNEL_DIRECT {
|
||||
channelName = fmt.Sprintf("@%v", senderName)
|
||||
}
|
||||
|
||||
if contentsConfig != model.GENERIC_NO_CHANNEL_NOTIFICATION || channel.Type == model.CHANNEL_DIRECT {
|
||||
msg.ChannelName = channelName
|
||||
}
|
||||
|
||||
if ou, ok := post.Props["override_username"].(string); ok {
|
||||
if ou, ok := post.Props["override_username"].(string); ok && cfg.ServiceSettings.EnablePostUsernameOverride {
|
||||
msg.OverrideUsername = ou
|
||||
senderName = ou
|
||||
}
|
||||
|
||||
if oi, ok := post.Props["override_icon_url"].(string); ok {
|
||||
if oi, ok := post.Props["override_icon_url"].(string); ok && cfg.ServiceSettings.EnablePostIconOverride {
|
||||
msg.OverrideIconUrl = oi
|
||||
}
|
||||
|
||||
|
||||
24
i18n/de.json
24
i18n/de.json
@@ -191,6 +191,10 @@
|
||||
"id": "api.channel.leave.left",
|
||||
"translation": "%v hat den Kanal verlassen."
|
||||
},
|
||||
{
|
||||
"id": "api.channel.patch_update_channel.forbidden.app_error",
|
||||
"translation": "Konnte das Kanalmitglied nicht aktualisieren."
|
||||
},
|
||||
{
|
||||
"id": "api.channel.post_channel_privacy_message.error",
|
||||
"translation": "Konnte Kanal-Privatsphären-Aktualisierungsnachricht nicht senden."
|
||||
@@ -307,6 +311,10 @@
|
||||
"id": "api.command.invite_people.desc",
|
||||
"translation": "Eine E-Mail-Einladung zu Ihrem Mattermost-Team senden"
|
||||
},
|
||||
{
|
||||
"id": "api.command.invite_people.email_invitations_off",
|
||||
"translation": "Email invitations are disabled, no invite(s) sent"
|
||||
},
|
||||
{
|
||||
"id": "api.command.invite_people.email_off",
|
||||
"translation": "E-Mail wurde bisher nicht konfiguriert, keine Einladung(en) versendet"
|
||||
@@ -574,6 +582,10 @@
|
||||
"id": "api.command_groupmsg.name",
|
||||
"translation": "nachricht"
|
||||
},
|
||||
{
|
||||
"id": "api.command_groupmsg.permission.app_error",
|
||||
"translation": "You don't have the appropriate permissions to create a new group message."
|
||||
},
|
||||
{
|
||||
"id": "api.command_help.desc",
|
||||
"translation": "Die Mattermost-Hilfeseite öffnen"
|
||||
@@ -634,6 +646,10 @@
|
||||
"id": "api.command_invite.user_already_in_channel.app_error",
|
||||
"translation": "{{.User}} ist bereits im Kanal."
|
||||
},
|
||||
{
|
||||
"id": "api.command_invite_people.permission.app_error",
|
||||
"translation": "You don't have permission to invite new users to this server."
|
||||
},
|
||||
{
|
||||
"id": "api.command_join.desc",
|
||||
"translation": "Öffentlichen Kanal beitreten"
|
||||
@@ -726,6 +742,10 @@
|
||||
"id": "api.command_msg.name",
|
||||
"translation": "nachricht"
|
||||
},
|
||||
{
|
||||
"id": "api.command_msg.permission.app_error",
|
||||
"translation": "You don't have the appropriate permissions to direct message this user."
|
||||
},
|
||||
{
|
||||
"id": "api.command_mute.desc",
|
||||
"translation": "Schaltet Desktop-, E-Mail- und Push-Benachrichtigungen für den aktuellen Kanal oder den spezifizierten [Kanal] ab."
|
||||
@@ -1598,6 +1618,10 @@
|
||||
"id": "api.team.import_team.unavailable.app_error",
|
||||
"translation": "Falsch gebildete Anfrage: Feld filesize fehlt."
|
||||
},
|
||||
{
|
||||
"id": "api.team.invite_members.disabled.app_error",
|
||||
"translation": "Email invitations are disabled."
|
||||
},
|
||||
{
|
||||
"id": "api.team.invite_members.invalid_email.app_error",
|
||||
"translation": "Die folgenden E-Mail-Adressen gehören nicht zu einer akzeptierten Domäne: {{.Addresses}}. Bitte kontaktieren Sie ihren Systemadministrator für Details."
|
||||
|
||||
48
i18n/en.json
48
i18n/en.json
@@ -87,10 +87,6 @@
|
||||
"id": "api.channel.add_user.to.channel.failed.app_error",
|
||||
"translation": "Failed to add user to channel"
|
||||
},
|
||||
{
|
||||
"id": "api.channel.patch_update_channel.forbidden.app_error",
|
||||
"translation": "Failed to update the channel"
|
||||
},
|
||||
{
|
||||
"id": "api.channel.add_user.to.channel.failed.deleted.app_error",
|
||||
"translation": "Failed to add user to channel because they have been removed from the team."
|
||||
@@ -195,6 +191,10 @@
|
||||
"id": "api.channel.leave.left",
|
||||
"translation": "%v left the channel."
|
||||
},
|
||||
{
|
||||
"id": "api.channel.patch_update_channel.forbidden.app_error",
|
||||
"translation": "Failed to update the channel"
|
||||
},
|
||||
{
|
||||
"id": "api.channel.post_channel_privacy_message.error",
|
||||
"translation": "Failed to post channel privacy update message."
|
||||
@@ -311,14 +311,14 @@
|
||||
"id": "api.command.invite_people.desc",
|
||||
"translation": "Send an email invite to your Mattermost team"
|
||||
},
|
||||
{
|
||||
"id": "api.command.invite_people.email_off",
|
||||
"translation": "Email has not been configured, no invite(s) sent"
|
||||
},
|
||||
{
|
||||
"id": "api.command.invite_people.email_invitations_off",
|
||||
"translation": "Email invitations are disabled, no invite(s) sent"
|
||||
},
|
||||
{
|
||||
"id": "api.command.invite_people.email_off",
|
||||
"translation": "Email has not been configured, no invite(s) sent"
|
||||
},
|
||||
{
|
||||
"id": "api.command.invite_people.fail",
|
||||
"translation": "Encountered an error sending email invite(s)"
|
||||
@@ -582,6 +582,10 @@
|
||||
"id": "api.command_groupmsg.name",
|
||||
"translation": "message"
|
||||
},
|
||||
{
|
||||
"id": "api.command_groupmsg.permission.app_error",
|
||||
"translation": "You don't have the appropriate permissions to create a new group message."
|
||||
},
|
||||
{
|
||||
"id": "api.command_help.desc",
|
||||
"translation": "Open the Mattermost help page"
|
||||
@@ -630,10 +634,6 @@
|
||||
"id": "api.command_invite.permission.app_error",
|
||||
"translation": "You don't have enough permissions to add {{.User}} in {{.Channel}}."
|
||||
},
|
||||
{
|
||||
"id": "api.command_invite_people.permission.app_error",
|
||||
"translation": "You don't have permission to invite new users to this server."
|
||||
},
|
||||
{
|
||||
"id": "api.command_invite.private_channel.app_error",
|
||||
"translation": "Could not find the channel {{.Channel}}. Please use the channel handle to identify channels."
|
||||
@@ -646,6 +646,10 @@
|
||||
"id": "api.command_invite.user_already_in_channel.app_error",
|
||||
"translation": "{{.User}} is already in the channel."
|
||||
},
|
||||
{
|
||||
"id": "api.command_invite_people.permission.app_error",
|
||||
"translation": "You don't have permission to invite new users to this server."
|
||||
},
|
||||
{
|
||||
"id": "api.command_join.desc",
|
||||
"translation": "Join the open channel"
|
||||
@@ -738,6 +742,10 @@
|
||||
"id": "api.command_msg.name",
|
||||
"translation": "message"
|
||||
},
|
||||
{
|
||||
"id": "api.command_msg.permission.app_error",
|
||||
"translation": "You don't have the appropriate permissions to direct message this user."
|
||||
},
|
||||
{
|
||||
"id": "api.command_mute.desc",
|
||||
"translation": "Turns off desktop, email and push notifications for the current channel or the [channel] specified."
|
||||
@@ -834,18 +842,10 @@
|
||||
"id": "api.command_remove.permission.app_error",
|
||||
"translation": "You do not have the appropriate permissions to remove the member."
|
||||
},
|
||||
{
|
||||
"id": "api.command_msg.permission.app_error",
|
||||
"translation": "You don't have the appropriate permissions to direct message this user."
|
||||
},
|
||||
{
|
||||
"id": "api.command_remove.user_not_in_channel",
|
||||
"translation": "{{.Username}} is not a member of this channel."
|
||||
},
|
||||
{
|
||||
"id": "api.command_groupmsg.permission.app_error",
|
||||
"translation": "You don't have the appropriate permissions to create a new group message."
|
||||
},
|
||||
{
|
||||
"id": "api.command_search.desc",
|
||||
"translation": "Search text in messages"
|
||||
@@ -1618,6 +1618,10 @@
|
||||
"id": "api.team.import_team.unavailable.app_error",
|
||||
"translation": "Malformed request: filesize field is not present."
|
||||
},
|
||||
{
|
||||
"id": "api.team.invite_members.disabled.app_error",
|
||||
"translation": "Email invitations are disabled."
|
||||
},
|
||||
{
|
||||
"id": "api.team.invite_members.invalid_email.app_error",
|
||||
"translation": "The following email addresses do not belong to an accepted domain: {{.Addresses}}. Please contact your System Administrator for details."
|
||||
@@ -1630,10 +1634,6 @@
|
||||
"id": "api.team.invite_members.no_one.app_error",
|
||||
"translation": "No one to invite."
|
||||
},
|
||||
{
|
||||
"id": "api.team.invite_members.disabled.app_error",
|
||||
"translation": "Email invitations are disabled."
|
||||
},
|
||||
{
|
||||
"id": "api.team.is_team_creation_allowed.disabled.app_error",
|
||||
"translation": "Team creation has been disabled. Please ask your systems administrator for details."
|
||||
|
||||
28
i18n/es.json
28
i18n/es.json
@@ -161,7 +161,7 @@
|
||||
},
|
||||
{
|
||||
"id": "api.channel.delete_channel.type.invalid",
|
||||
"translation": "Cannot delete direct or group message channels"
|
||||
"translation": "No se pueden eliminar canales de grupo o mensajes directos"
|
||||
},
|
||||
{
|
||||
"id": "api.channel.join_channel.already_deleted.app_error",
|
||||
@@ -191,6 +191,10 @@
|
||||
"id": "api.channel.leave.left",
|
||||
"translation": "%v abandonó el canal."
|
||||
},
|
||||
{
|
||||
"id": "api.channel.patch_update_channel.forbidden.app_error",
|
||||
"translation": "Error al actualizar el canal"
|
||||
},
|
||||
{
|
||||
"id": "api.channel.post_channel_privacy_message.error",
|
||||
"translation": "No pudo publicar el mensaje de actualización de la privacidad del canal."
|
||||
@@ -307,6 +311,10 @@
|
||||
"id": "api.command.invite_people.desc",
|
||||
"translation": "Envía un correo de invitación a tu equipo de Mattermost"
|
||||
},
|
||||
{
|
||||
"id": "api.command.invite_people.email_invitations_off",
|
||||
"translation": "Las invitaciones por correo electrónico han sido inhabilitadas, no se enviaron invitaciones"
|
||||
},
|
||||
{
|
||||
"id": "api.command.invite_people.email_off",
|
||||
"translation": "El servicio de correo electrónico no ha sido configurado. no se envió la(s) invitacion(es)"
|
||||
@@ -574,6 +582,10 @@
|
||||
"id": "api.command_groupmsg.name",
|
||||
"translation": "mensaje"
|
||||
},
|
||||
{
|
||||
"id": "api.command_groupmsg.permission.app_error",
|
||||
"translation": "No tienes los permisos necesarios para crear un grupo de mensajes."
|
||||
},
|
||||
{
|
||||
"id": "api.command_help.desc",
|
||||
"translation": "Abrir la página de ayuda de Mattermost"
|
||||
@@ -634,6 +646,10 @@
|
||||
"id": "api.command_invite.user_already_in_channel.app_error",
|
||||
"translation": "{{.User}} ya está en el canal."
|
||||
},
|
||||
{
|
||||
"id": "api.command_invite_people.permission.app_error",
|
||||
"translation": "No tienes permiso para invitar nuevos usuarios a este servidor."
|
||||
},
|
||||
{
|
||||
"id": "api.command_join.desc",
|
||||
"translation": "Unirte a un canal público"
|
||||
@@ -726,6 +742,10 @@
|
||||
"id": "api.command_msg.name",
|
||||
"translation": "mensaje"
|
||||
},
|
||||
{
|
||||
"id": "api.command_msg.permission.app_error",
|
||||
"translation": "No tienes los permisos necesarios para enviar un mensaje directo a este usuario."
|
||||
},
|
||||
{
|
||||
"id": "api.command_mute.desc",
|
||||
"translation": "Apaga las notificaciones de escritorio, correo electrónico y a dispositivos móviles para el canal actual o el [canal] especificado."
|
||||
@@ -1598,6 +1618,10 @@
|
||||
"id": "api.team.import_team.unavailable.app_error",
|
||||
"translation": "Solicitud con formato incorrecto: campo con el tamaño del archivo no está presente."
|
||||
},
|
||||
{
|
||||
"id": "api.team.invite_members.disabled.app_error",
|
||||
"translation": "Invitaciones por correo electrónico inhabilitadas."
|
||||
},
|
||||
{
|
||||
"id": "api.team.invite_members.invalid_email.app_error",
|
||||
"translation": "Las siguientes direcciones de correo electrónico no pertenecen a un dominio aceptado: {{.Addresses}}. Por favor, ponte en contacto con tu Administrador del Sistema para obtener más detalles."
|
||||
@@ -3784,7 +3808,7 @@
|
||||
},
|
||||
{
|
||||
"id": "model.config.is_valid.display.custom_url_schemes.app_error",
|
||||
"translation": "El esquema de URL personalizado {{.Scheme}} no es válido. Los esquemas de URL personalizados deben empezar con una letra, contener solo letras, números, más (+), punto (.), y guion (-)."
|
||||
"translation": "El esquema de URL personalizado {{.Scheme}} no es válido. Los esquemas de URL personalizados deben empezar con una letra, sólo tener letras, números y guion (-)."
|
||||
},
|
||||
{
|
||||
"id": "model.config.is_valid.elastic_search.aggregate_posts_after_days.app_error",
|
||||
|
||||
456
i18n/fr.json
456
i18n/fr.json
Разница между файлами не показана из-за своего большого размера
Загрузить разницу
26
i18n/it.json
26
i18n/it.json
@@ -191,6 +191,10 @@
|
||||
"id": "api.channel.leave.left",
|
||||
"translation": "%v ha lasciato il canale."
|
||||
},
|
||||
{
|
||||
"id": "api.channel.patch_update_channel.forbidden.app_error",
|
||||
"translation": "Errore durante l'aggiornamento del membro del canale"
|
||||
},
|
||||
{
|
||||
"id": "api.channel.post_channel_privacy_message.error",
|
||||
"translation": "Impossibile pubblicare il messaggio di aggiornamento privacy sul canale"
|
||||
@@ -307,6 +311,10 @@
|
||||
"id": "api.command.invite_people.desc",
|
||||
"translation": "Manda un email di invito al tuo gruppo Mattermost"
|
||||
},
|
||||
{
|
||||
"id": "api.command.invite_people.email_invitations_off",
|
||||
"translation": "Email invitations are disabled, no invite(s) sent"
|
||||
},
|
||||
{
|
||||
"id": "api.command.invite_people.email_off",
|
||||
"translation": "Le email non sono state configurate, quindi nessun invito è stato inviato"
|
||||
@@ -574,6 +582,10 @@
|
||||
"id": "api.command_groupmsg.name",
|
||||
"translation": "messaggio"
|
||||
},
|
||||
{
|
||||
"id": "api.command_groupmsg.permission.app_error",
|
||||
"translation": "You don't have the appropriate permissions to create a new group message."
|
||||
},
|
||||
{
|
||||
"id": "api.command_help.desc",
|
||||
"translation": "Vai alla pagina di aiuto di Mattermost"
|
||||
@@ -634,6 +646,10 @@
|
||||
"id": "api.command_invite.user_already_in_channel.app_error",
|
||||
"translation": "{{.User}} è già membro del canale."
|
||||
},
|
||||
{
|
||||
"id": "api.command_invite_people.permission.app_error",
|
||||
"translation": "You don't have permission to invite new users to this server."
|
||||
},
|
||||
{
|
||||
"id": "api.command_join.desc",
|
||||
"translation": "Entra nel canale aperto"
|
||||
@@ -726,6 +742,10 @@
|
||||
"id": "api.command_msg.name",
|
||||
"translation": "messaggio"
|
||||
},
|
||||
{
|
||||
"id": "api.command_msg.permission.app_error",
|
||||
"translation": "You don't have the appropriate permissions to direct message this user."
|
||||
},
|
||||
{
|
||||
"id": "api.command_mute.desc",
|
||||
"translation": "Disattiva le notifiche desktop, email e push per il canale corrente oppure per i canali specificati."
|
||||
@@ -1598,6 +1618,10 @@
|
||||
"id": "api.team.import_team.unavailable.app_error",
|
||||
"translation": "Richiesta mal formata: campo filesize non presente."
|
||||
},
|
||||
{
|
||||
"id": "api.team.invite_members.disabled.app_error",
|
||||
"translation": "Email invitations are disabled."
|
||||
},
|
||||
{
|
||||
"id": "api.team.invite_members.invalid_email.app_error",
|
||||
"translation": "I seguenti indirizzi email non appartengono ad un dominio accettato: {{.Addresses}}. Contattare l'amministratore di sistema per maggiori dettagli."
|
||||
@@ -3784,7 +3808,7 @@
|
||||
},
|
||||
{
|
||||
"id": "model.config.is_valid.display.custom_url_schemes.app_error",
|
||||
"translation": "Lo schema URL personalizzato {{.Scheme}} non è valido. Gli schemi URL personalizzati devono iniziare con una lettera e contenere solo lettere, numeri, più (+), punti, (.) e trattini (-)."
|
||||
"translation": "Lo schema URL personalizzato {{.Scheme}} non è valido. Gli schemi URL personalizzati devono iniziare con una lettera e contenere solo lettere, numeri e trattini (-)."
|
||||
},
|
||||
{
|
||||
"id": "model.config.is_valid.elastic_search.aggregate_posts_after_days.app_error",
|
||||
|
||||
24
i18n/ja.json
24
i18n/ja.json
@@ -191,6 +191,10 @@
|
||||
"id": "api.channel.leave.left",
|
||||
"translation": "%v がチャンネルから脱退しました。"
|
||||
},
|
||||
{
|
||||
"id": "api.channel.patch_update_channel.forbidden.app_error",
|
||||
"translation": "チャンネルメンバーを更新できませんでした"
|
||||
},
|
||||
{
|
||||
"id": "api.channel.post_channel_privacy_message.error",
|
||||
"translation": "チャンネル可視性更新メッセージを投稿できませんでした。"
|
||||
@@ -307,6 +311,10 @@
|
||||
"id": "api.command.invite_people.desc",
|
||||
"translation": "あなたのMattermostチームに招待の電子メールを送る"
|
||||
},
|
||||
{
|
||||
"id": "api.command.invite_people.email_invitations_off",
|
||||
"translation": "Email invitations are disabled, no invite(s) sent"
|
||||
},
|
||||
{
|
||||
"id": "api.command.invite_people.email_off",
|
||||
"translation": "電子メールが使えるように設定されていません。招待の電子メールは送信できませんでした。"
|
||||
@@ -574,6 +582,10 @@
|
||||
"id": "api.command_groupmsg.name",
|
||||
"translation": "メッセージ"
|
||||
},
|
||||
{
|
||||
"id": "api.command_groupmsg.permission.app_error",
|
||||
"translation": "You don't have the appropriate permissions to create a new group message."
|
||||
},
|
||||
{
|
||||
"id": "api.command_help.desc",
|
||||
"translation": "Mattermostヘルプページを開く"
|
||||
@@ -634,6 +646,10 @@
|
||||
"id": "api.command_invite.user_already_in_channel.app_error",
|
||||
"translation": "{{.User}} は既にチャンネルに追加されています。"
|
||||
},
|
||||
{
|
||||
"id": "api.command_invite_people.permission.app_error",
|
||||
"translation": "You don't have permission to invite new users to this server."
|
||||
},
|
||||
{
|
||||
"id": "api.command_join.desc",
|
||||
"translation": "公開されているチャンネルに参加する"
|
||||
@@ -726,6 +742,10 @@
|
||||
"id": "api.command_msg.name",
|
||||
"translation": "メッセージ"
|
||||
},
|
||||
{
|
||||
"id": "api.command_msg.permission.app_error",
|
||||
"translation": "You don't have the appropriate permissions to direct message this user."
|
||||
},
|
||||
{
|
||||
"id": "api.command_mute.desc",
|
||||
"translation": "現在のチャンネル、もしくは指定された [チャンネル] のデスクトップ、電子メール、プッシュ通知をオフにする。"
|
||||
@@ -1598,6 +1618,10 @@
|
||||
"id": "api.team.import_team.unavailable.app_error",
|
||||
"translation": "不正なリクエスト: ファイルサイズ項目が存在しません。"
|
||||
},
|
||||
{
|
||||
"id": "api.team.invite_members.disabled.app_error",
|
||||
"translation": "Email invitations are disabled."
|
||||
},
|
||||
{
|
||||
"id": "api.team.invite_members.invalid_email.app_error",
|
||||
"translation": "以下の電子メールアドレスのドメインは許可されていません: {{.Addresses}}。詳細についてはシステム管理者に問い合わせてください。"
|
||||
|
||||
142
i18n/ko.json
142
i18n/ko.json
@@ -37,7 +37,7 @@
|
||||
},
|
||||
{
|
||||
"id": "api.admin.saml.not_available.app_error",
|
||||
"translation": "SAML이 설정되지 않았거나 서버에서 지원하지 않습니다"
|
||||
"translation": "SAML 2.0이 설정되지 않았거나 해당 서버에서 지원하지 않습니다."
|
||||
},
|
||||
{
|
||||
"id": "api.admin.test_email.body",
|
||||
@@ -161,7 +161,7 @@
|
||||
},
|
||||
{
|
||||
"id": "api.channel.delete_channel.type.invalid",
|
||||
"translation": "Cannot delete direct or group message channels"
|
||||
"translation": "개인 혹은 단체 메시지 채널을 삭제할 수 없습니다."
|
||||
},
|
||||
{
|
||||
"id": "api.channel.join_channel.already_deleted.app_error",
|
||||
@@ -191,6 +191,10 @@
|
||||
"id": "api.channel.leave.left",
|
||||
"translation": "%v 가 채널을 떠났습니다."
|
||||
},
|
||||
{
|
||||
"id": "api.channel.patch_update_channel.forbidden.app_error",
|
||||
"translation": "Failed to update the channel"
|
||||
},
|
||||
{
|
||||
"id": "api.channel.post_channel_privacy_message.error",
|
||||
"translation": "채널 공개상태설정 업데이트 메시지 전달이 실패했습니다."
|
||||
@@ -257,7 +261,7 @@
|
||||
},
|
||||
{
|
||||
"id": "api.channel.update_channel_scheme.license.error",
|
||||
"translation": "지금 라이선스는 고급 퍼미션을 지원하지 않습니다."
|
||||
"translation": "귀하의 라이센스는 채널 스키마의 업데이트를 지원하지 않습니다."
|
||||
},
|
||||
{
|
||||
"id": "api.channel.update_channel_scheme.scheme_scope.error",
|
||||
@@ -307,6 +311,10 @@
|
||||
"id": "api.command.invite_people.desc",
|
||||
"translation": "여러분의 Mattermost 팀에게 초대 메일을 보내기"
|
||||
},
|
||||
{
|
||||
"id": "api.command.invite_people.email_invitations_off",
|
||||
"translation": "Email invitations are disabled, no invite(s) sent"
|
||||
},
|
||||
{
|
||||
"id": "api.command.invite_people.email_off",
|
||||
"translation": "이메일이 설정되어 있지 않아서 초대메일 보낼 수 없음"
|
||||
@@ -574,6 +582,10 @@
|
||||
"id": "api.command_groupmsg.name",
|
||||
"translation": "메시지"
|
||||
},
|
||||
{
|
||||
"id": "api.command_groupmsg.permission.app_error",
|
||||
"translation": "You don't have the appropriate permissions to create a new group message."
|
||||
},
|
||||
{
|
||||
"id": "api.command_help.desc",
|
||||
"translation": "Mattermost 도움말 페이지 열기"
|
||||
@@ -634,6 +646,10 @@
|
||||
"id": "api.command_invite.user_already_in_channel.app_error",
|
||||
"translation": "채널에 이미 {{.User}} 가 있습니다."
|
||||
},
|
||||
{
|
||||
"id": "api.command_invite_people.permission.app_error",
|
||||
"translation": "You don't have permission to invite new users to this server."
|
||||
},
|
||||
{
|
||||
"id": "api.command_join.desc",
|
||||
"translation": "열린 채널에 참가"
|
||||
@@ -726,6 +742,10 @@
|
||||
"id": "api.command_msg.name",
|
||||
"translation": "메시지"
|
||||
},
|
||||
{
|
||||
"id": "api.command_msg.permission.app_error",
|
||||
"translation": "You don't have the appropriate permissions to direct message this user."
|
||||
},
|
||||
{
|
||||
"id": "api.command_mute.desc",
|
||||
"translation": "지정된 현재 채널 또는[채널]에 대해 데스크 톱, 이메일 및 푸시 알림 기능을 해제합니다."
|
||||
@@ -1014,7 +1034,7 @@
|
||||
},
|
||||
{
|
||||
"id": "api.emoji.upload.open.app_error",
|
||||
"translation": "이모티콘을 생성할 수 없습니다. 이미지 인코딩 시도 중 오류가 발생했습니다."
|
||||
"translation": "이모티콘을 생성할 수 없습니다. 첨부된 이미지를 여는 도중에 문제가 발생하였습니다."
|
||||
},
|
||||
{
|
||||
"id": "api.file.attachments.disabled.app_error",
|
||||
@@ -1058,19 +1078,19 @@
|
||||
},
|
||||
{
|
||||
"id": "api.file.read_file.reading_local.app_error",
|
||||
"translation": "로컬 서버 저장소를 읽는 도중 에러가 발생했습니다."
|
||||
"translation": "로컬 서버의 파일 저장소를 읽는 도중에 문제가 발생했습니다."
|
||||
},
|
||||
{
|
||||
"id": "api.file.read_file.s3.app_error",
|
||||
"translation": "로컬 서버 저장소를 읽는 도중 에러가 발생했습니다."
|
||||
"translation": "S3저장소를 읽는 도중에 문제가 발생했습니다."
|
||||
},
|
||||
{
|
||||
"id": "api.file.reader.reading_local.app_error",
|
||||
"translation": "로컬 서버 저장소를 읽는 도중 에러가 발생했습니다."
|
||||
"translation": "로컬 서버의 파일 저장소를 읽는 도중 문제가 발생했습니다."
|
||||
},
|
||||
{
|
||||
"id": "api.file.reader.s3.app_error",
|
||||
"translation": "로컬 서버 저장소를 읽는 도중 에러가 발생했습니다."
|
||||
"translation": "S3저장소 탐색기를 여는 도중에 문제가 발생했습니다."
|
||||
},
|
||||
{
|
||||
"id": "api.file.test_connection.local.connection.app_error",
|
||||
@@ -1270,7 +1290,7 @@
|
||||
},
|
||||
{
|
||||
"id": "api.outgoing_webhook.disabled.app_error",
|
||||
"translation": "Outgoing webhook은 관리자가 사용할 수 없게 설정했습니다."
|
||||
"translation": "Outgoing webhook은 관리자에 의해 제한되었습니다."
|
||||
},
|
||||
{
|
||||
"id": "api.plugin.upload.array.app_error",
|
||||
@@ -1368,11 +1388,11 @@
|
||||
},
|
||||
{
|
||||
"id": "api.post.send_notifications_and_forget.push_explicit_mention",
|
||||
"translation": "~에서 메시지 전송"
|
||||
"translation": "~가 당신을 언급했습니다."
|
||||
},
|
||||
{
|
||||
"id": "api.post.send_notifications_and_forget.push_general_message",
|
||||
"translation": "메세지 게시"
|
||||
"translation": "~가 메시지를 게시했습니다."
|
||||
},
|
||||
{
|
||||
"id": "api.post.send_notifications_and_forget.push_image_only",
|
||||
@@ -1424,15 +1444,15 @@
|
||||
},
|
||||
{
|
||||
"id": "api.roles.patch_roles.license.error",
|
||||
"translation": "지금 라이선스는 고급 퍼미션을 지원하지 않습니다."
|
||||
"translation": "귀하의 라이센스는 고급 권한을 지원하지 않습니다."
|
||||
},
|
||||
{
|
||||
"id": "api.scheme.create_scheme.license.error",
|
||||
"translation": "지금 라이선스는 고급 퍼미션을 지원하지 않습니다."
|
||||
"translation": "귀하의 라이센스는 권한 스키마 생성을 지원하지 않습니다."
|
||||
},
|
||||
{
|
||||
"id": "api.scheme.delete_scheme.license.error",
|
||||
"translation": "지금 라이선스는 고급 퍼미션을 지원하지 않습니다."
|
||||
"translation": "귀하의 라이센스는 권한 스키마 삭제를 지원하지 않습니다."
|
||||
},
|
||||
{
|
||||
"id": "api.scheme.get_channels_for_scheme.scope.error",
|
||||
@@ -1444,7 +1464,7 @@
|
||||
},
|
||||
{
|
||||
"id": "api.scheme.patch_scheme.license.error",
|
||||
"translation": "지금 라이선스는 고급 퍼미션을 지원하지 않습니다."
|
||||
"translation": "귀하의 라이센스는 권한 스키마 업데이트를 지원하지 않습니다."
|
||||
},
|
||||
{
|
||||
"id": "api.server.start_server.forward80to443.disabled_while_using_lets_encrypt",
|
||||
@@ -1468,51 +1488,51 @@
|
||||
},
|
||||
{
|
||||
"id": "api.slackimport.slack_add_bot_user.email_pwd",
|
||||
"translation": "The Integration/Slack Bot user with email {{.Email}} and password {{.Password}} has been imported.\r\n"
|
||||
"translation": "이메일 {{.Email}}, 비밀번호 {{.Password}}를 사용하는 Slack Bot 계정이 추가되었습니다.\r\n"
|
||||
},
|
||||
{
|
||||
"id": "api.slackimport.slack_add_bot_user.unable_import",
|
||||
"translation": "Unable to import the Integration/Slack Bot user {{.Username}}.\r\n"
|
||||
"translation": "{{.Username}} Slack Bot계정을 추가할 수 없습니다.\r\n"
|
||||
},
|
||||
{
|
||||
"id": "api.slackimport.slack_add_channels.added",
|
||||
"translation": "\r\n 채널 추가됨 \r\n"
|
||||
"translation": "\r\n채널 추가되었습니다:\r\n"
|
||||
},
|
||||
{
|
||||
"id": "api.slackimport.slack_add_channels.failed_to_add_user",
|
||||
"translation": "Unable to add Slack user {{.Username}} to channel.\r\n"
|
||||
"translation": "Slack 사용자 {{.Username}}을(를) 채널에 추가할 수 없습니다.\r\n"
|
||||
},
|
||||
{
|
||||
"id": "api.slackimport.slack_add_channels.import_failed",
|
||||
"translation": "Unable to import Slack channel {{.DisplayName}}.\r\n"
|
||||
"translation": "Slack채널 {{.DisplayName}}을(를) 적용할 수 없습니다.\r\n"
|
||||
},
|
||||
{
|
||||
"id": "api.slackimport.slack_add_channels.merge",
|
||||
"translation": "The Slack channel {{.DisplayName}} already exists as an active Mattermost channel. Both channels have been merged.\r\n"
|
||||
"translation": "Slack채널 {{.DisplayName}}이(가) 이미 Mattermost채널에 활성상태로 존재합니다. 두 채널은 통합되었습니다.\r\n"
|
||||
},
|
||||
{
|
||||
"id": "api.slackimport.slack_add_users.created",
|
||||
"translation": "\r\n 사용자 생성됨\r\n"
|
||||
"translation": "\r\n사용자가 생성되었습니다:\r\n"
|
||||
},
|
||||
{
|
||||
"id": "api.slackimport.slack_add_users.email_pwd",
|
||||
"translation": "Slack user with email {{.Email}} and password {{.Password}} has been imported.\r\n"
|
||||
"translation": "이메일 {{.Email}}, 비밀번호 {{.Password}}의 Slack사용자가 추가되었습니다.\r\n"
|
||||
},
|
||||
{
|
||||
"id": "api.slackimport.slack_add_users.merge_existing",
|
||||
"translation": "Slack user merged with an existing Mattermost user with matching email {{.Email}} and username {{.Username}}.\r\n"
|
||||
"translation": "이메일 {{.Email}}, 사용자명 {{.Username}}을 통해 Slack유저와 Mattermost에 존재하는 유저를 통합하였습니다.\r\n"
|
||||
},
|
||||
{
|
||||
"id": "api.slackimport.slack_add_users.merge_existing_failed",
|
||||
"translation": "Slack user merged with an existing Mattermost user with matching email {{.Email}} and username {{.Username}}, but was unable to add the user to their team.\r\n"
|
||||
"translation": "이메일 {{.Email}}, 사용자명 {{.Username}}을 통해 Slack유저와 Mattermost에 존재하는 유저를 통합하였습니다, 하지만 팀에는 추가하지 못했습니다.\r\n"
|
||||
},
|
||||
{
|
||||
"id": "api.slackimport.slack_add_users.missing_email_address",
|
||||
"translation": "User {{.Username}} does not have an email address in the Slack export. Used {{.Email}} as a placeholder. The user should update their email address once logged in to the system.\r\n"
|
||||
"translation": "사용자 {{.Username}}은(는) Slack 추출 정보에 이메일 계정이 없습니다. {{.Email}}을(를) 표시합니다. 사용자는 시스템에 접속하여 이메일 주소를 업데이트 해야 합니다.\r\n"
|
||||
},
|
||||
{
|
||||
"id": "api.slackimport.slack_add_users.unable_import",
|
||||
"translation": "불러올 수 없는 사용자: {{.Username}}\r\n"
|
||||
"translation": "불러올 수 없는 Slack사용자 입니다: {{.Username}}\r\n"
|
||||
},
|
||||
{
|
||||
"id": "api.slackimport.slack_import.log",
|
||||
@@ -1520,11 +1540,11 @@
|
||||
},
|
||||
{
|
||||
"id": "api.slackimport.slack_import.note1",
|
||||
"translation": "- Some posts may not have been imported because they where not supported by this importer.\r\n"
|
||||
"translation": "- 몇몇 메시지는 이 불러오기 프로그램을 지원하지 않기 때문에 불러올 수 없을 수 없습니다.\r\n"
|
||||
},
|
||||
{
|
||||
"id": "api.slackimport.slack_import.note2",
|
||||
"translation": "- Slack bot posts are currently not supported.\r\n"
|
||||
"translation": "- Slack bot 메시지는 최근 지원하지 않습니다.\r\n"
|
||||
},
|
||||
{
|
||||
"id": "api.slackimport.slack_import.note3",
|
||||
@@ -1532,31 +1552,31 @@
|
||||
},
|
||||
{
|
||||
"id": "api.slackimport.slack_import.notes",
|
||||
"translation": "\r\n Notes \r\n"
|
||||
"translation": "\r\n알림:\r\n"
|
||||
},
|
||||
{
|
||||
"id": "api.slackimport.slack_import.open.app_error",
|
||||
"translation": "Unable to open the file: {{.Filename}}.\r\n"
|
||||
"translation": "{{.Filename}}을 열 수 없습니다.\r\n"
|
||||
},
|
||||
{
|
||||
"id": "api.slackimport.slack_import.team_fail",
|
||||
"translation": "팀을 가져오는데 실패했습니다.\r\n"
|
||||
"translation": "불러오기 할 팀을 가져올 수 없습니다.\r\n"
|
||||
},
|
||||
{
|
||||
"id": "api.slackimport.slack_import.zip.app_error",
|
||||
"translation": "Unable to open the Slack export zip file.\r\n"
|
||||
"translation": "Slack에서 불러온 zip파일을 열 수 없습니다.\r\n"
|
||||
},
|
||||
{
|
||||
"id": "api.status.user_not_found.app_error",
|
||||
"translation": "User not found"
|
||||
"translation": "사용자를 찾을 수 업습니다."
|
||||
},
|
||||
{
|
||||
"id": "api.team.add_user_to_team.added",
|
||||
"translation": "%v 이/가 %v에 의해 채널에 추가되었습니다"
|
||||
"translation": "%v이/가 %v를 채널에 추가했습니다."
|
||||
},
|
||||
{
|
||||
"id": "api.team.add_user_to_team.missing_parameter.app_error",
|
||||
"translation": "Parameter required to add user to team."
|
||||
"translation": "사용자를 팀에 추가하기 위해서는 매개변수가 필요합니다."
|
||||
},
|
||||
{
|
||||
"id": "api.team.get_invite_info.not_open_team",
|
||||
@@ -1564,11 +1584,11 @@
|
||||
},
|
||||
{
|
||||
"id": "api.team.get_team_icon.filesettings_no_driver.app_error",
|
||||
"translation": "Invalid driver name for file settings. Must be 'local' or 'amazons3'"
|
||||
"translation": "파일 설정을 위한 잘못된 드라이버 입니다.~ ~는 '로컬' 혹은 'amazons3'여야 합니다."
|
||||
},
|
||||
{
|
||||
"id": "api.team.get_team_icon.read_file.app_error",
|
||||
"translation": "Unable to read the team icon file."
|
||||
"translation": "팀 아이콘 파일을 읽을 수 없습니다."
|
||||
},
|
||||
{
|
||||
"id": "api.team.import_team.array.app_error",
|
||||
@@ -1584,7 +1604,7 @@
|
||||
},
|
||||
{
|
||||
"id": "api.team.import_team.no_import_from.app_error",
|
||||
"translation": "Malformed request: importFrom field is not present."
|
||||
"translation": "잘못된 리퀘스트: importFrom필드가 존재하지 않습니다."
|
||||
},
|
||||
{
|
||||
"id": "api.team.import_team.open.app_error",
|
||||
@@ -1596,11 +1616,15 @@
|
||||
},
|
||||
{
|
||||
"id": "api.team.import_team.unavailable.app_error",
|
||||
"translation": "Malformed request: filesize field is not present."
|
||||
"translation": "잘못된 리퀘스트: filesize필드가 존재하지 않습니다."
|
||||
},
|
||||
{
|
||||
"id": "api.team.invite_members.disabled.app_error",
|
||||
"translation": "Email invitations are disabled."
|
||||
},
|
||||
{
|
||||
"id": "api.team.invite_members.invalid_email.app_error",
|
||||
"translation": "The following email addresses do not belong to an accepted domain: {{.Addresses}}. Please contact your System Administrator for details."
|
||||
"translation": "해당 이메일은 허가된 도메인이 아닙니다: {{.Addresses}}. 시스템 어드민에게 문의해 주세요."
|
||||
},
|
||||
{
|
||||
"id": "api.team.invite_members.member",
|
||||
@@ -1620,55 +1644,55 @@
|
||||
},
|
||||
{
|
||||
"id": "api.team.join_team.post_and_forget",
|
||||
"translation": "%v joined the team."
|
||||
"translation": "%v가 팀에 가입했습니다."
|
||||
},
|
||||
{
|
||||
"id": "api.team.leave.left",
|
||||
"translation": "%v left the team."
|
||||
"translation": "%v가 팀을 떠났습니다."
|
||||
},
|
||||
{
|
||||
"id": "api.team.move_channel.post.error",
|
||||
"translation": "들어옴/나감 메시지를 등록하는 데 실패함"
|
||||
"translation": "채널 이동 메시지를 게시할 수 없습니다."
|
||||
},
|
||||
{
|
||||
"id": "api.team.move_channel.success",
|
||||
"translation": "This channel has been moved to this team from %v."
|
||||
"translation": "본 채널은 %v에 의해 해당 팀으로 이동되었습니다. "
|
||||
},
|
||||
{
|
||||
"id": "api.team.remove_team_icon.get_team.app_error",
|
||||
"translation": "An error occurred getting the team"
|
||||
"translation": "팀을 받아오는 도중에 문제가 발생했습니다."
|
||||
},
|
||||
{
|
||||
"id": "api.team.remove_user_from_team.missing.app_error",
|
||||
"translation": "The user does not appear to be part of this team."
|
||||
"translation": "사용자는 해당 팀의 소속이 아닙니다."
|
||||
},
|
||||
{
|
||||
"id": "api.team.remove_user_from_team.removed",
|
||||
"translation": "%v 가 채널에서 제거되었습니다."
|
||||
"translation": "%v가 팀에서 제외되었습니다."
|
||||
},
|
||||
{
|
||||
"id": "api.team.set_team_icon.array.app_error",
|
||||
"translation": "요청의 'image' 속성에 빈 배열이 전달되었습니다"
|
||||
"translation": "'이미지'요청의 배열이 비어있습니다."
|
||||
},
|
||||
{
|
||||
"id": "api.team.set_team_icon.decode.app_error",
|
||||
"translation": "Could not decode team icon"
|
||||
"translation": "팀 아이콘을 decode할 수 없습니다."
|
||||
},
|
||||
{
|
||||
"id": "api.team.set_team_icon.decode_config.app_error",
|
||||
"translation": "Could not decode team icon metadata"
|
||||
"translation": "팀 아이콘 메타데이터를 decode할 수 없습니다."
|
||||
},
|
||||
{
|
||||
"id": "api.team.set_team_icon.encode.app_error",
|
||||
"translation": "Could not encode team icon"
|
||||
"translation": "팀 아이콘을 encode할 수 없습니다."
|
||||
},
|
||||
{
|
||||
"id": "api.team.set_team_icon.get_team.app_error",
|
||||
"translation": "An error occurred getting the team"
|
||||
"translation": "팀을 불러오는 도중 문제가 발생했습니다."
|
||||
},
|
||||
{
|
||||
"id": "api.team.set_team_icon.no_file.app_error",
|
||||
"translation": "요청의 'image' 속성 아래에 파일이 없습니다"
|
||||
"translation": "'이미지'요청에 파일이 없습니다."
|
||||
},
|
||||
{
|
||||
"id": "api.team.set_team_icon.open.app_error",
|
||||
@@ -1676,23 +1700,23 @@
|
||||
},
|
||||
{
|
||||
"id": "api.team.set_team_icon.parse.app_error",
|
||||
"translation": "잘못된 multipart form을 파싱할 수 없습니다."
|
||||
"translation": "multipart form을 파싱할 수 없습니다."
|
||||
},
|
||||
{
|
||||
"id": "api.team.set_team_icon.storage.app_error",
|
||||
"translation": "파일을 업로드할 수 없습니다. 이미지 저장소가 설정되지 않았습니다."
|
||||
"translation": "팀 아이콘을 업로드할 수 없습니다. 이미지 저장소가 설정되지 않았습니다."
|
||||
},
|
||||
{
|
||||
"id": "api.team.set_team_icon.too_large.app_error",
|
||||
"translation": "이미지 파일을 불러올 수 없습니다. 파일이 너무 큽니다."
|
||||
"translation": "팀 아이콘을 업로드 할 수 없습니다. 파일이 너무 큽니다."
|
||||
},
|
||||
{
|
||||
"id": "api.team.set_team_icon.write_file.app_error",
|
||||
"translation": "Could not save team icon"
|
||||
"translation": "팀 아이콘을 decode할 수 없습니다."
|
||||
},
|
||||
{
|
||||
"id": "api.team.team_icon.update.app_error",
|
||||
"translation": "An error occurred updating the team icon"
|
||||
"translation": "팀을 받아오는 도중에 문제가 발생했습니다."
|
||||
},
|
||||
{
|
||||
"id": "api.team.update_member_roles.not_a_member",
|
||||
|
||||
24
i18n/nl.json
24
i18n/nl.json
@@ -191,6 +191,10 @@
|
||||
"id": "api.channel.leave.left",
|
||||
"translation": "%v heeft het kanaal verlaten."
|
||||
},
|
||||
{
|
||||
"id": "api.channel.patch_update_channel.forbidden.app_error",
|
||||
"translation": "Failed to update the channel"
|
||||
},
|
||||
{
|
||||
"id": "api.channel.post_channel_privacy_message.error",
|
||||
"translation": "Failed to post channel privacy update message."
|
||||
@@ -307,6 +311,10 @@
|
||||
"id": "api.command.invite_people.desc",
|
||||
"translation": "Stuur een email uitnodiging naar jouw Mattermost team"
|
||||
},
|
||||
{
|
||||
"id": "api.command.invite_people.email_invitations_off",
|
||||
"translation": "Email invitations are disabled, no invite(s) sent"
|
||||
},
|
||||
{
|
||||
"id": "api.command.invite_people.email_off",
|
||||
"translation": "Email is niet geconfigureerd, geen uitnodiging(en) verstuurd"
|
||||
@@ -574,6 +582,10 @@
|
||||
"id": "api.command_groupmsg.name",
|
||||
"translation": "bericht"
|
||||
},
|
||||
{
|
||||
"id": "api.command_groupmsg.permission.app_error",
|
||||
"translation": "You don't have the appropriate permissions to create a new group message."
|
||||
},
|
||||
{
|
||||
"id": "api.command_help.desc",
|
||||
"translation": "Open the Mattermost help page"
|
||||
@@ -634,6 +646,10 @@
|
||||
"id": "api.command_invite.user_already_in_channel.app_error",
|
||||
"translation": "{{.User}} is already in the channel."
|
||||
},
|
||||
{
|
||||
"id": "api.command_invite_people.permission.app_error",
|
||||
"translation": "You don't have permission to invite new users to this server."
|
||||
},
|
||||
{
|
||||
"id": "api.command_join.desc",
|
||||
"translation": "Neem deel aan het open kanaal"
|
||||
@@ -726,6 +742,10 @@
|
||||
"id": "api.command_msg.name",
|
||||
"translation": "bericht"
|
||||
},
|
||||
{
|
||||
"id": "api.command_msg.permission.app_error",
|
||||
"translation": "You don't have the appropriate permissions to direct message this user."
|
||||
},
|
||||
{
|
||||
"id": "api.command_mute.desc",
|
||||
"translation": "Turns off desktop, email and push notifications for the current channel or the [channel] specified."
|
||||
@@ -1598,6 +1618,10 @@
|
||||
"id": "api.team.import_team.unavailable.app_error",
|
||||
"translation": "Malformed request: filesize field is not present."
|
||||
},
|
||||
{
|
||||
"id": "api.team.invite_members.disabled.app_error",
|
||||
"translation": "Email invitations are disabled."
|
||||
},
|
||||
{
|
||||
"id": "api.team.invite_members.invalid_email.app_error",
|
||||
"translation": "The following email addresses do not belong to an accepted domain: {{.Addresses}}. Please contact your System Administrator for details."
|
||||
|
||||
24
i18n/pl.json
24
i18n/pl.json
@@ -191,6 +191,10 @@
|
||||
"id": "api.channel.leave.left",
|
||||
"translation": "%v opuszcza kanał."
|
||||
},
|
||||
{
|
||||
"id": "api.channel.patch_update_channel.forbidden.app_error",
|
||||
"translation": "Nie udało się zaktualizować tytułu bezpośredniego kanału"
|
||||
},
|
||||
{
|
||||
"id": "api.channel.post_channel_privacy_message.error",
|
||||
"translation": "Failed to post channel privacy update message."
|
||||
@@ -307,6 +311,10 @@
|
||||
"id": "api.command.invite_people.desc",
|
||||
"translation": "Wyślij email z zaproszeniem do Twojego zespołu Mattermost"
|
||||
},
|
||||
{
|
||||
"id": "api.command.invite_people.email_invitations_off",
|
||||
"translation": "Email invitations are disabled, no invite(s) sent"
|
||||
},
|
||||
{
|
||||
"id": "api.command.invite_people.email_off",
|
||||
"translation": "Email nie został jeszcze skonfigurowany, nie wysłano żadnych zaproszeń"
|
||||
@@ -574,6 +582,10 @@
|
||||
"id": "api.command_groupmsg.name",
|
||||
"translation": "wiadomość"
|
||||
},
|
||||
{
|
||||
"id": "api.command_groupmsg.permission.app_error",
|
||||
"translation": "You don't have the appropriate permissions to create a new group message."
|
||||
},
|
||||
{
|
||||
"id": "api.command_help.desc",
|
||||
"translation": "Otwórz stronę pomocy Mattermost"
|
||||
@@ -634,6 +646,10 @@
|
||||
"id": "api.command_invite.user_already_in_channel.app_error",
|
||||
"translation": "{{.User}} is already in the channel."
|
||||
},
|
||||
{
|
||||
"id": "api.command_invite_people.permission.app_error",
|
||||
"translation": "You don't have permission to invite new users to this server."
|
||||
},
|
||||
{
|
||||
"id": "api.command_join.desc",
|
||||
"translation": "Dołącz do otwartego kanału"
|
||||
@@ -726,6 +742,10 @@
|
||||
"id": "api.command_msg.name",
|
||||
"translation": "wiadomość"
|
||||
},
|
||||
{
|
||||
"id": "api.command_msg.permission.app_error",
|
||||
"translation": "You don't have the appropriate permissions to direct message this user."
|
||||
},
|
||||
{
|
||||
"id": "api.command_mute.desc",
|
||||
"translation": "Turns off desktop, email and push notifications for the current channel or the [channel] specified."
|
||||
@@ -1598,6 +1618,10 @@
|
||||
"id": "api.team.import_team.unavailable.app_error",
|
||||
"translation": "Nieprawidłowe zapytanie: pole rozmiaru pliku nie istnieje."
|
||||
},
|
||||
{
|
||||
"id": "api.team.invite_members.disabled.app_error",
|
||||
"translation": "Email invitations are disabled."
|
||||
},
|
||||
{
|
||||
"id": "api.team.invite_members.invalid_email.app_error",
|
||||
"translation": "Następujące adresy e-mail nie należą do akceptowanej domeny: {{.Addresses}}. Skontaktuj się z administratorem systemu, by dowiedzieć się więcej."
|
||||
|
||||
@@ -191,6 +191,10 @@
|
||||
"id": "api.channel.leave.left",
|
||||
"translation": "%v deixou o canal."
|
||||
},
|
||||
{
|
||||
"id": "api.channel.patch_update_channel.forbidden.app_error",
|
||||
"translation": "Falha ao atualizar o canal"
|
||||
},
|
||||
{
|
||||
"id": "api.channel.post_channel_privacy_message.error",
|
||||
"translation": "Falha ao publicar a mensagem de atualização de privacidade do canal."
|
||||
@@ -307,6 +311,10 @@
|
||||
"id": "api.command.invite_people.desc",
|
||||
"translation": "Enviar um email para convidar sua equipe para Mattermost"
|
||||
},
|
||||
{
|
||||
"id": "api.command.invite_people.email_invitations_off",
|
||||
"translation": "Convites por email estão desativados, nenhum convite enviado"
|
||||
},
|
||||
{
|
||||
"id": "api.command.invite_people.email_off",
|
||||
"translation": "Email não foi configurado, nenhum convite enviado"
|
||||
@@ -574,6 +582,10 @@
|
||||
"id": "api.command_groupmsg.name",
|
||||
"translation": "mensagem"
|
||||
},
|
||||
{
|
||||
"id": "api.command_groupmsg.permission.app_error",
|
||||
"translation": "Você não tem a permissão apropriada para criar um novo grupo de mensagens."
|
||||
},
|
||||
{
|
||||
"id": "api.command_help.desc",
|
||||
"translation": "Abrir a página de ajuda do Mattermost"
|
||||
@@ -634,6 +646,10 @@
|
||||
"id": "api.command_invite.user_already_in_channel.app_error",
|
||||
"translation": "{{.User}} já está no canal."
|
||||
},
|
||||
{
|
||||
"id": "api.command_invite_people.permission.app_error",
|
||||
"translation": "Você não tem permissão para convidar um novo usuário para este servidor."
|
||||
},
|
||||
{
|
||||
"id": "api.command_join.desc",
|
||||
"translation": "Junte-se ao canal aberto"
|
||||
@@ -726,6 +742,10 @@
|
||||
"id": "api.command_msg.name",
|
||||
"translation": "mensagem"
|
||||
},
|
||||
{
|
||||
"id": "api.command_msg.permission.app_error",
|
||||
"translation": "Você não tem a permissão apropriada para enviar uma mensagem direta a este usuário."
|
||||
},
|
||||
{
|
||||
"id": "api.command_mute.desc",
|
||||
"translation": "Desativa a área de trabalho, e-mail e envio notificações para o canal atual ou o [canal] especificado."
|
||||
@@ -1598,6 +1618,10 @@
|
||||
"id": "api.team.import_team.unavailable.app_error",
|
||||
"translation": "Requisição mal formada: campo filesize não está presente."
|
||||
},
|
||||
{
|
||||
"id": "api.team.invite_members.disabled.app_error",
|
||||
"translation": "Convites por email estão desativados."
|
||||
},
|
||||
{
|
||||
"id": "api.team.invite_members.invalid_email.app_error",
|
||||
"translation": "O seguinte endereço de email não pertence a um dominio aceito: {{.Addresses}}. Por favor contate o Administrador do Sistema para detalhes."
|
||||
@@ -3784,7 +3808,7 @@
|
||||
},
|
||||
{
|
||||
"id": "model.config.is_valid.display.custom_url_schemes.app_error",
|
||||
"translation": "O esquema de URL personalizado {{.Scheme}} é inválido. Os esquemas de URL personalizados devem começar com uma letra e conter apenas letras, números, mais (+), ponto (.) e hífen (-)."
|
||||
"translation": "O esquema de URL personalizado {{.Scheme}} é inválido. Os esquemas de URL personalizados devem começar com uma letra e conter apenas letras, números e hífen (-)."
|
||||
},
|
||||
{
|
||||
"id": "model.config.is_valid.elastic_search.aggregate_posts_after_days.app_error",
|
||||
|
||||
24
i18n/ru.json
24
i18n/ru.json
@@ -191,6 +191,10 @@
|
||||
"id": "api.channel.leave.left",
|
||||
"translation": "%v покинул канал."
|
||||
},
|
||||
{
|
||||
"id": "api.channel.patch_update_channel.forbidden.app_error",
|
||||
"translation": "Не удалось обновить заголовок канала"
|
||||
},
|
||||
{
|
||||
"id": "api.channel.post_channel_privacy_message.error",
|
||||
"translation": "Невозможно отправить сообщение обновления приватности канала."
|
||||
@@ -307,6 +311,10 @@
|
||||
"id": "api.command.invite_people.desc",
|
||||
"translation": "Отправить письмо с приглашением вашей команде в Mattermost"
|
||||
},
|
||||
{
|
||||
"id": "api.command.invite_people.email_invitations_off",
|
||||
"translation": "Email invitations are disabled, no invite(s) sent"
|
||||
},
|
||||
{
|
||||
"id": "api.command.invite_people.email_off",
|
||||
"translation": "Электронная почта не настроена, приглашение не отослано"
|
||||
@@ -574,6 +582,10 @@
|
||||
"id": "api.command_groupmsg.name",
|
||||
"translation": "сообщение"
|
||||
},
|
||||
{
|
||||
"id": "api.command_groupmsg.permission.app_error",
|
||||
"translation": "You don't have the appropriate permissions to create a new group message."
|
||||
},
|
||||
{
|
||||
"id": "api.command_help.desc",
|
||||
"translation": "Открыть страницу помощи Mattermost"
|
||||
@@ -634,6 +646,10 @@
|
||||
"id": "api.command_invite.user_already_in_channel.app_error",
|
||||
"translation": "{{.User}} уже находится в канале."
|
||||
},
|
||||
{
|
||||
"id": "api.command_invite_people.permission.app_error",
|
||||
"translation": "You don't have permission to invite new users to this server."
|
||||
},
|
||||
{
|
||||
"id": "api.command_join.desc",
|
||||
"translation": "Присоединиться к отрытому каналу"
|
||||
@@ -726,6 +742,10 @@
|
||||
"id": "api.command_msg.name",
|
||||
"translation": "сообщение"
|
||||
},
|
||||
{
|
||||
"id": "api.command_msg.permission.app_error",
|
||||
"translation": "You don't have the appropriate permissions to direct message this user."
|
||||
},
|
||||
{
|
||||
"id": "api.command_mute.desc",
|
||||
"translation": "Отключить уведомления на рабочем столе, электронной почте и push для текущего или указанного канала [канала]."
|
||||
@@ -1598,6 +1618,10 @@
|
||||
"id": "api.team.import_team.unavailable.app_error",
|
||||
"translation": "Неправильный запрос: отсутствует поле \"filesize\"."
|
||||
},
|
||||
{
|
||||
"id": "api.team.invite_members.disabled.app_error",
|
||||
"translation": "Email invitations are disabled."
|
||||
},
|
||||
{
|
||||
"id": "api.team.invite_members.invalid_email.app_error",
|
||||
"translation": "Данный адрес почтового ящика не принадлежит списку разрешенных доменов: {{.Addresses}}. Пожалуйста, обратитесь к Вашему системному администратору за информацией."
|
||||
|
||||
24
i18n/tr.json
24
i18n/tr.json
@@ -191,6 +191,10 @@
|
||||
"id": "api.channel.leave.left",
|
||||
"translation": "%v kanaldan ayrıldı."
|
||||
},
|
||||
{
|
||||
"id": "api.channel.patch_update_channel.forbidden.app_error",
|
||||
"translation": "Kanal üyesi güncellenemedi"
|
||||
},
|
||||
{
|
||||
"id": "api.channel.post_channel_privacy_message.error",
|
||||
"translation": "Kanal gizliliği güncelleme iletisi gönderilemedi."
|
||||
@@ -307,6 +311,10 @@
|
||||
"id": "api.command.invite_people.desc",
|
||||
"translation": "Mattermost takımına bir e-posta çağrısı gönderin"
|
||||
},
|
||||
{
|
||||
"id": "api.command.invite_people.email_invitations_off",
|
||||
"translation": "Email invitations are disabled, no invite(s) sent"
|
||||
},
|
||||
{
|
||||
"id": "api.command.invite_people.email_off",
|
||||
"translation": "E-posta ayarları yapılmamış. Hehrangi bir çağrı gönderilmedi"
|
||||
@@ -574,6 +582,10 @@
|
||||
"id": "api.command_groupmsg.name",
|
||||
"translation": "ileti"
|
||||
},
|
||||
{
|
||||
"id": "api.command_groupmsg.permission.app_error",
|
||||
"translation": "You don't have the appropriate permissions to create a new group message."
|
||||
},
|
||||
{
|
||||
"id": "api.command_help.desc",
|
||||
"translation": "Mattermost yardım sayfasını aç"
|
||||
@@ -634,6 +646,10 @@
|
||||
"id": "api.command_invite.user_already_in_channel.app_error",
|
||||
"translation": "{{.User}} zaten kanalda."
|
||||
},
|
||||
{
|
||||
"id": "api.command_invite_people.permission.app_error",
|
||||
"translation": "You don't have permission to invite new users to this server."
|
||||
},
|
||||
{
|
||||
"id": "api.command_join.desc",
|
||||
"translation": "Açık kanala katılın"
|
||||
@@ -726,6 +742,10 @@
|
||||
"id": "api.command_msg.name",
|
||||
"translation": "ileti"
|
||||
},
|
||||
{
|
||||
"id": "api.command_msg.permission.app_error",
|
||||
"translation": "You don't have the appropriate permissions to direct message this user."
|
||||
},
|
||||
{
|
||||
"id": "api.command_mute.desc",
|
||||
"translation": "Geçerli kanal ya da belirtilen [kanal] için masaüstü, e-posta ve anlık bildirimlerini kapatır."
|
||||
@@ -1598,6 +1618,10 @@
|
||||
"id": "api.team.import_team.unavailable.app_error",
|
||||
"translation": "İstek biçimi bozuk: Dosya boyutu alanı bulunamadı."
|
||||
},
|
||||
{
|
||||
"id": "api.team.invite_members.disabled.app_error",
|
||||
"translation": "Email invitations are disabled."
|
||||
},
|
||||
{
|
||||
"id": "api.team.invite_members.invalid_email.app_error",
|
||||
"translation": "Şu e-posta adresleri onaylanmış etki alanına ait değil: {{.Addresses}}. Ayrıntılar için sistem yöneticiniz ile görüşün."
|
||||
|
||||
@@ -191,6 +191,10 @@
|
||||
"id": "api.channel.leave.left",
|
||||
"translation": "%v 已退出该频道。"
|
||||
},
|
||||
{
|
||||
"id": "api.channel.patch_update_channel.forbidden.app_error",
|
||||
"translation": "更新频道成员失败"
|
||||
},
|
||||
{
|
||||
"id": "api.channel.post_channel_privacy_message.error",
|
||||
"translation": "发布频道隐私更新消息失败。"
|
||||
@@ -307,6 +311,10 @@
|
||||
"id": "api.command.invite_people.desc",
|
||||
"translation": "发送一封邀请邮件给你的Mattermost团队"
|
||||
},
|
||||
{
|
||||
"id": "api.command.invite_people.email_invitations_off",
|
||||
"translation": "Email invitations are disabled, no invite(s) sent"
|
||||
},
|
||||
{
|
||||
"id": "api.command.invite_people.email_off",
|
||||
"translation": "邮件没有配置,没发送邀请"
|
||||
@@ -574,6 +582,10 @@
|
||||
"id": "api.command_groupmsg.name",
|
||||
"translation": "消息"
|
||||
},
|
||||
{
|
||||
"id": "api.command_groupmsg.permission.app_error",
|
||||
"translation": "You don't have the appropriate permissions to create a new group message."
|
||||
},
|
||||
{
|
||||
"id": "api.command_help.desc",
|
||||
"translation": "打开 Mattermost 帮助页面"
|
||||
@@ -634,6 +646,10 @@
|
||||
"id": "api.command_invite.user_already_in_channel.app_error",
|
||||
"translation": "{{.User}} 已在频道。"
|
||||
},
|
||||
{
|
||||
"id": "api.command_invite_people.permission.app_error",
|
||||
"translation": "You don't have permission to invite new users to this server."
|
||||
},
|
||||
{
|
||||
"id": "api.command_join.desc",
|
||||
"translation": "添加到公开频道"
|
||||
@@ -726,6 +742,10 @@
|
||||
"id": "api.command_msg.name",
|
||||
"translation": "消息"
|
||||
},
|
||||
{
|
||||
"id": "api.command_msg.permission.app_error",
|
||||
"translation": "You don't have the appropriate permissions to direct message this user."
|
||||
},
|
||||
{
|
||||
"id": "api.command_mute.desc",
|
||||
"translation": "关闭当前频道或指定[频道]的桌面、邮件以及推送通知。"
|
||||
@@ -1598,6 +1618,10 @@
|
||||
"id": "api.team.import_team.unavailable.app_error",
|
||||
"translation": "错误请求:缺少 filesize 字段。"
|
||||
},
|
||||
{
|
||||
"id": "api.team.invite_members.disabled.app_error",
|
||||
"translation": "Email invitations are disabled."
|
||||
},
|
||||
{
|
||||
"id": "api.team.invite_members.invalid_email.app_error",
|
||||
"translation": "以下邮箱地址不在允许的域名范围内:{{.Addresses}}。请联系您的系统管理员了解详情。"
|
||||
@@ -3784,7 +3808,7 @@
|
||||
},
|
||||
{
|
||||
"id": "model.config.is_valid.display.custom_url_schemes.app_error",
|
||||
"translation": "无效的自定义 URL 方案 {{.Scheme}}。自定义 URL 方案必须以字母开头并且只能含有字母、数字、加号 (+)、句号 (.) 以及横杠 (-)。"
|
||||
"translation": "无效的自定义 URL 方案 {{.Scheme}}。自定义 URL 方案必须以字母开头并且只能含有字母、数字以及横杠 (-)。"
|
||||
},
|
||||
{
|
||||
"id": "model.config.is_valid.elastic_search.aggregate_posts_after_days.app_error",
|
||||
|
||||
@@ -191,6 +191,10 @@
|
||||
"id": "api.channel.leave.left",
|
||||
"translation": "%v 退出頻道。"
|
||||
},
|
||||
{
|
||||
"id": "api.channel.patch_update_channel.forbidden.app_error",
|
||||
"translation": "更新頻道成員時失敗"
|
||||
},
|
||||
{
|
||||
"id": "api.channel.post_channel_privacy_message.error",
|
||||
"translation": "發布頻道隱私更新訊息時失敗"
|
||||
@@ -307,6 +311,10 @@
|
||||
"id": "api.command.invite_people.desc",
|
||||
"translation": "送個邀請函給您的 Mattermost 團隊"
|
||||
},
|
||||
{
|
||||
"id": "api.command.invite_people.email_invitations_off",
|
||||
"translation": "Email invitations are disabled, no invite(s) sent"
|
||||
},
|
||||
{
|
||||
"id": "api.command.invite_people.email_off",
|
||||
"translation": "電子郵件還沒設定好,沒有任何邀請被送出"
|
||||
@@ -574,6 +582,10 @@
|
||||
"id": "api.command_groupmsg.name",
|
||||
"translation": "訊息"
|
||||
},
|
||||
{
|
||||
"id": "api.command_groupmsg.permission.app_error",
|
||||
"translation": "You don't have the appropriate permissions to create a new group message."
|
||||
},
|
||||
{
|
||||
"id": "api.command_help.desc",
|
||||
"translation": "開啟 Mattermost 說明頁面"
|
||||
@@ -634,6 +646,10 @@
|
||||
"id": "api.command_invite.user_already_in_channel.app_error",
|
||||
"translation": "{{.User}} 已在頻道當中。"
|
||||
},
|
||||
{
|
||||
"id": "api.command_invite_people.permission.app_error",
|
||||
"translation": "You don't have permission to invite new users to this server."
|
||||
},
|
||||
{
|
||||
"id": "api.command_join.desc",
|
||||
"translation": "加入公開頻道"
|
||||
@@ -726,6 +742,10 @@
|
||||
"id": "api.command_msg.name",
|
||||
"translation": "訊息"
|
||||
},
|
||||
{
|
||||
"id": "api.command_msg.permission.app_error",
|
||||
"translation": "You don't have the appropriate permissions to direct message this user."
|
||||
},
|
||||
{
|
||||
"id": "api.command_mute.desc",
|
||||
"translation": "對當前或指定的[頻道]關閉桌面、郵件及推播通知。"
|
||||
@@ -1598,6 +1618,10 @@
|
||||
"id": "api.team.import_team.unavailable.app_error",
|
||||
"translation": "要求格式錯誤:沒有檔案大小欄位。"
|
||||
},
|
||||
{
|
||||
"id": "api.team.invite_members.disabled.app_error",
|
||||
"translation": "Email invitations are disabled."
|
||||
},
|
||||
{
|
||||
"id": "api.team.invite_members.invalid_email.app_error",
|
||||
"translation": "這些電子郵件地址的網域不被接受:{{.Addresses}}。詳情請聯絡系統管理員。"
|
||||
|
||||
@@ -406,11 +406,11 @@ func (u *User) AddNotifyProp(key string, value string) {
|
||||
}
|
||||
|
||||
func (u *User) GetFullName() string {
|
||||
if u.FirstName != "" && u.LastName != "" {
|
||||
if len(u.FirstName) > 0 && len(u.LastName) > 0 {
|
||||
return u.FirstName + " " + u.LastName
|
||||
} else if u.FirstName != "" {
|
||||
} else if len(u.FirstName) > 0 {
|
||||
return u.FirstName
|
||||
} else if u.LastName != "" {
|
||||
} else if len(u.LastName) > 0 {
|
||||
return u.LastName
|
||||
} else {
|
||||
return ""
|
||||
@@ -421,13 +421,13 @@ func (u *User) GetDisplayName(nameFormat string) string {
|
||||
displayName := u.Username
|
||||
|
||||
if nameFormat == SHOW_NICKNAME_FULLNAME {
|
||||
if u.Nickname != "" {
|
||||
if len(u.Nickname) > 0 {
|
||||
displayName = u.Nickname
|
||||
} else if fullName := u.GetFullName(); fullName != "" {
|
||||
} else if fullName := u.GetFullName(); len(fullName) > 0 {
|
||||
displayName = fullName
|
||||
}
|
||||
} else if nameFormat == SHOW_FULLNAME {
|
||||
if fullName := u.GetFullName(); fullName != "" {
|
||||
if fullName := u.GetFullName(); len(fullName) > 0 {
|
||||
displayName = fullName
|
||||
}
|
||||
}
|
||||
|
||||
@@ -68,7 +68,9 @@ func (h Handler) ServeHTTP(w http.ResponseWriter, r *http.Request) {
|
||||
}
|
||||
}
|
||||
|
||||
c.SetSiteURLHeader(app.GetProtocol(r) + "://" + r.Host)
|
||||
subpath, _ := utils.GetSubpathFromConfig(c.App.Config())
|
||||
siteURLHeader := app.GetProtocol(r) + "://" + r.Host + subpath
|
||||
c.SetSiteURLHeader(siteURLHeader)
|
||||
|
||||
w.Header().Set(model.HEADER_REQUEST_ID, c.RequestId)
|
||||
w.Header().Set(model.HEADER_VERSION_ID, fmt.Sprintf("%v.%v.%v.%v", model.CurrentVersion, model.BuildNumber, c.App.ClientConfigHash(), c.App.License() != nil))
|
||||
|
||||
@@ -8,7 +8,6 @@ import (
|
||||
"net/http"
|
||||
"strings"
|
||||
|
||||
"github.com/mattermost/mattermost-server/app"
|
||||
"github.com/mattermost/mattermost-server/mlog"
|
||||
"github.com/mattermost/mattermost-server/model"
|
||||
)
|
||||
@@ -143,7 +142,7 @@ func completeSaml(c *Context, w http.ResponseWriter, r *http.Request) {
|
||||
if action == model.OAUTH_ACTION_MOBILE {
|
||||
ReturnStatusOK(w)
|
||||
} else {
|
||||
http.Redirect(w, r, app.GetProtocol(r)+"://"+r.Host, http.StatusFound)
|
||||
http.Redirect(w, r, c.GetSiteURLHeader(), http.StatusFound)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Ссылка в новой задаче
Block a user