PLT-5900 Removed automatic configuration of SiteURL (#5952)

* Revert "PLT-5765 Passed SiteURL to SendNotifications (#5705)"

This reverts commit a8e68bd890.

* Removed automatic configuration of SiteURL

* Reverted unintentional config changes

* Updated help text

* Added link to docs in Site URL warning

* Fixed merge conflict
Этот коммит содержится в:
Harrison Healey
2017-04-04 11:54:52 -04:00
коммит произвёл Joram Wilander
родитель 3a79e451ff
Коммит c7bdce8a66
49 изменённых файлов: 336 добавлений и 268 удалений

Просмотреть файл

@@ -319,6 +319,7 @@ package: build build-client
@# Disable developer settings
sed -i'' -e 's|"ConsoleLevel": "DEBUG"|"ConsoleLevel": "INFO"|g' $(DIST_PATH)/config/config.json
sed -i'' -e 's|"SiteURL": "http://localhost:8065"|"SiteURL": ""|g' $(DIST_PATH)/config/config.json
@# Reset email sending to original configuration
sed -i'' -e 's|"SendEmailNotifications": true,|"SendEmailNotifications": false,|g' $(DIST_PATH)/config/config.json

Просмотреть файл

@@ -311,7 +311,7 @@ func adminResetPassword(c *Context, w http.ResponseWriter, r *http.Request) {
return
}
if err := app.UpdatePasswordByUserIdSendEmail(userId, newPassword, c.T("api.user.reset_password.method"), c.GetSiteURL()); err != nil {
if err := app.UpdatePasswordByUserIdSendEmail(userId, newPassword, c.T("api.user.reset_password.method")); err != nil {
c.Err = err
return
}

Просмотреть файл

@@ -163,7 +163,7 @@ func (me *TestHelper) CreateUser(client *model.Client) *model.User {
func LinkUserToTeam(user *model.User, team *model.Team) {
utils.DisableDebugLogForTest()
err := app.JoinUserToTeam(team, user, utils.GetSiteURL())
err := app.JoinUserToTeam(team, user)
if err != nil {
l4g.Error(err.Error())
l4g.Close()

Просмотреть файл

@@ -207,7 +207,7 @@ func updateChannel(c *Context, w http.ResponseWriter, r *http.Request) {
return
} else {
if oldChannelDisplayName != channel.DisplayName {
if err := app.PostUpdateChannelDisplayNameMessage(c.Session.UserId, channel.Id, c.TeamId, oldChannelDisplayName, channel.DisplayName, c.GetSiteURL()); err != nil {
if err := app.PostUpdateChannelDisplayNameMessage(c.Session.UserId, channel.Id, c.TeamId, oldChannelDisplayName, channel.DisplayName); err != nil {
l4g.Error(err.Error())
}
}
@@ -255,7 +255,7 @@ func updateChannelHeader(c *Context, w http.ResponseWriter, r *http.Request) {
c.Err = err
return
} else {
if err := app.PostUpdateChannelHeaderMessage(c.Session.UserId, channel.Id, c.TeamId, oldChannelHeader, channelHeader, c.GetSiteURL()); err != nil {
if err := app.PostUpdateChannelHeaderMessage(c.Session.UserId, channel.Id, c.TeamId, oldChannelHeader, channelHeader); err != nil {
l4g.Error(err.Error())
}
c.LogAudit("name=" + channel.Name)
@@ -301,7 +301,7 @@ func updateChannelPurpose(c *Context, w http.ResponseWriter, r *http.Request) {
c.Err = err
return
} else {
if err := app.PostUpdateChannelPurposeMessage(c.Session.UserId, channel.Id, c.TeamId, oldChannelPurpose, channelPurpose, c.GetSiteURL()); err != nil {
if err := app.PostUpdateChannelPurposeMessage(c.Session.UserId, channel.Id, c.TeamId, oldChannelPurpose, channelPurpose); err != nil {
l4g.Error(err.Error())
}
c.LogAudit("name=" + channel.Name)
@@ -412,7 +412,7 @@ func join(c *Context, w http.ResponseWriter, r *http.Request) {
}
}
if err = app.JoinChannel(channel, c.Session.UserId, c.GetSiteURL()); err != nil {
if err = app.JoinChannel(channel, c.Session.UserId); err != nil {
c.Err = err
return
}
@@ -425,7 +425,7 @@ func leave(c *Context, w http.ResponseWriter, r *http.Request) {
params := mux.Vars(r)
id := params["channel_id"]
err := app.LeaveChannel(id, c.Session.UserId, c.GetSiteURL())
err := app.LeaveChannel(id, c.Session.UserId)
if err != nil {
c.Err = err
return
@@ -467,7 +467,7 @@ func deleteChannel(c *Context, w http.ResponseWriter, r *http.Request) {
}
}
err = app.DeleteChannel(channel, c.Session.UserId, c.GetSiteURL())
err = app.DeleteChannel(channel, c.Session.UserId)
if err != nil {
c.Err = err
return
@@ -663,7 +663,7 @@ func addMember(c *Context, w http.ResponseWriter, r *http.Request) {
return
}
go app.PostAddToChannelMessage(oUser, nUser, channel, c.GetSiteURL())
go app.PostAddToChannelMessage(oUser, nUser, channel)
app.UpdateChannelLastViewedAt([]string{id}, oUser.Id)
w.Write([]byte(cm.ToJson()))
@@ -698,7 +698,7 @@ func removeMember(c *Context, w http.ResponseWriter, r *http.Request) {
return
}
if err = app.RemoveUserFromChannel(userIdToRemove, c.Session.UserId, channel, c.GetSiteURL()); err != nil {
if err = app.RemoveUserFromChannel(userIdToRemove, c.Session.UserId, channel); err != nil {
c.Err = err
return
}

Просмотреть файл

@@ -66,7 +66,7 @@ func executeCommand(c *Context, w http.ResponseWriter, r *http.Request) {
commandArgs.UserId = c.Session.UserId
commandArgs.T = c.T
commandArgs.Session = c.Session
commandArgs.SiteURL = c.GetSiteURL()
commandArgs.SiteURL = c.GetSiteURLHeader()
response, err := app.ExecuteCommand(commandArgs)
if err != nil {

Просмотреть файл

@@ -26,7 +26,7 @@ type Context struct {
IpAddress string
Path string
Err *model.AppError
siteURL string
siteURLHeader string
teamURLValid bool
teamURL string
T goi18n.TranslateFunc
@@ -146,12 +146,7 @@ func (h handler) ServeHTTP(w http.ResponseWriter, r *http.Request) {
isTokenFromQueryString = true
}
if utils.GetSiteURL() == "" {
protocol := app.GetProtocol(r)
c.SetSiteURL(protocol + "://" + r.Host)
} else {
c.SetSiteURL(utils.GetSiteURL())
}
c.SetSiteURLHeader(app.GetProtocol(r) + "://" + r.Host)
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, utils.CfgHash, utils.IsLicensed))
@@ -191,11 +186,11 @@ func (h handler) ServeHTTP(w http.ResponseWriter, r *http.Request) {
}
if h.isApi || h.isTeamIndependent {
c.setTeamURL(c.GetSiteURL(), false)
c.setTeamURL(c.GetSiteURLHeader(), false)
c.Path = r.URL.Path
} else {
splitURL := strings.Split(r.URL.Path, "/")
c.setTeamURL(c.GetSiteURL()+"/"+splitURL[1], true)
c.setTeamURL(c.GetSiteURLHeader()+"/"+splitURL[1], true)
c.Path = "/" + strings.Join(splitURL[2:], "/")
}
@@ -391,16 +386,17 @@ func (c *Context) setTeamURL(url string, valid bool) {
func (c *Context) SetTeamURLFromSession() {
if result := <-app.Srv.Store.Team().Get(c.TeamId); result.Err == nil {
c.setTeamURL(c.GetSiteURL()+"/"+result.Data.(*model.Team).Name, true)
c.setTeamURL(c.GetSiteURLHeader()+"/"+result.Data.(*model.Team).Name, true)
}
}
func (c *Context) SetSiteURL(url string) {
c.siteURL = strings.TrimRight(url, "/")
func (c *Context) SetSiteURLHeader(url string) {
c.siteURLHeader = strings.TrimRight(url, "/")
}
// TODO see where these are used
func (c *Context) GetTeamURLFromTeam(team *model.Team) string {
return c.GetSiteURL() + "/" + team.Name
return c.GetSiteURLHeader() + "/" + team.Name
}
func (c *Context) GetTeamURL() string {
@@ -413,8 +409,8 @@ func (c *Context) GetTeamURL() string {
return c.teamURL
}
func (c *Context) GetSiteURL() string {
return c.siteURL
func (c *Context) GetSiteURLHeader() string {
return c.siteURLHeader
}
func (c *Context) GetCurrentTeamMember() *model.TeamMember {

Просмотреть файл

@@ -7,7 +7,7 @@ import (
"testing"
)
func TestSiteURL(t *testing.T) {
func TestSiteURLHeader(t *testing.T) {
c := &Context{}
testCases := []struct {
@@ -19,10 +19,10 @@ func TestSiteURL(t *testing.T) {
}
for _, tc := range testCases {
c.SetSiteURL(tc.url)
c.SetSiteURLHeader(tc.url)
if c.siteURL != tc.want {
t.Fatalf("expected %s, got %s", tc.want, c.siteURL)
if c.siteURLHeader != tc.want {
t.Fatalf("expected %s, got %s", tc.want, c.siteURLHeader)
}
}

Просмотреть файл

@@ -316,5 +316,5 @@ func getPublicLink(c *Context, w http.ResponseWriter, r *http.Request) {
return
}
w.Write([]byte(model.StringToJson(app.GeneratePublicLinkV3(c.GetSiteURL(), info))))
w.Write([]byte(model.StringToJson(app.GeneratePublicLinkV3(c.GetSiteURLHeader(), info))))
}

Просмотреть файл

@@ -271,7 +271,7 @@ func completeOAuth(c *Context, w http.ResponseWriter, r *http.Request) {
state := r.URL.Query().Get("state")
uri := c.GetSiteURL() + "/signup/" + service + "/complete"
uri := c.GetSiteURLHeader() + "/signup/" + service + "/complete"
if body, teamId, props, err := AuthorizeOAuthUser(service, code, state, uri); err != nil {
c.Err = err
@@ -285,7 +285,7 @@ func completeOAuth(c *Context, w http.ResponseWriter, r *http.Request) {
action := props["action"]
switch action {
case model.OAUTH_ACTION_SIGNUP:
if user, err := app.CreateOAuthUser(service, body, teamId, c.GetSiteURL()); err != nil {
if user, err := app.CreateOAuthUser(service, body, teamId); err != nil {
c.Err = err
} else {
doLogin(c, w, r, user, "")
@@ -297,11 +297,11 @@ func completeOAuth(c *Context, w http.ResponseWriter, r *http.Request) {
case model.OAUTH_ACTION_LOGIN:
user := LoginByOAuth(c, w, r, service, body)
if len(teamId) > 0 {
c.Err = app.AddUserToTeamByTeamId(teamId, user, c.GetSiteURL())
c.Err = app.AddUserToTeamByTeamId(teamId, user)
}
if c.Err == nil {
if val, ok := props["redirect_to"]; ok {
http.Redirect(w, r, c.GetSiteURL()+val, http.StatusTemporaryRedirect)
http.Redirect(w, r, c.GetSiteURLHeader()+val, http.StatusTemporaryRedirect)
return
}
http.Redirect(w, r, app.GetProtocol(r)+"://"+r.Host, http.StatusTemporaryRedirect)
@@ -361,7 +361,7 @@ func authorizeOAuth(c *Context, w http.ResponseWriter, r *http.Request) {
// here we should check if the user is logged in
if len(c.Session.UserId) == 0 {
http.Redirect(w, r, c.GetSiteURL()+"/login?redirect_to="+url.QueryEscape(r.RequestURI), http.StatusFound)
http.Redirect(w, r, c.GetSiteURLHeader()+"/login?redirect_to="+url.QueryEscape(r.RequestURI), http.StatusFound)
return
}
@@ -382,7 +382,7 @@ func authorizeOAuth(c *Context, w http.ResponseWriter, r *http.Request) {
doAllow := func() (*http.Response, *model.AppError) {
HttpClient := &http.Client{}
url := c.GetSiteURL() + "/api/v3/oauth/allow?response_type=" + model.AUTHCODE_RESPONSE_TYPE + "&client_id=" + clientId + "&redirect_uri=" + url.QueryEscape(redirect) + "&scope=" + scope + "&state=" + url.QueryEscape(state)
url := c.GetSiteURLHeader() + "/api/v3/oauth/allow?response_type=" + model.AUTHCODE_RESPONSE_TYPE + "&client_id=" + clientId + "&redirect_uri=" + url.QueryEscape(redirect) + "&scope=" + scope + "&state=" + url.QueryEscape(state)
rq, _ := http.NewRequest("GET", url, strings.NewReader(""))
rq.Header.Set(model.HEADER_AUTH, model.HEADER_BEARER+" "+c.Session.Token)
@@ -702,7 +702,7 @@ func GetAuthorizationCode(c *Context, service string, props map[string]string, l
props["hash"] = model.HashPassword(clientId)
state := b64.StdEncoding.EncodeToString([]byte(model.MapToJson(props)))
redirectUri := c.GetSiteURL() + "/signup/" + service + "/complete"
redirectUri := c.GetSiteURLHeader() + "/signup/" + service + "/complete"
authUrl := endpoint + "?response_type=code&client_id=" + clientId + "&redirect_uri=" + url.QueryEscape(redirectUri) + "&state=" + url.QueryEscape(state)
@@ -842,7 +842,7 @@ func CompleteSwitchWithOAuth(c *Context, w http.ResponseWriter, r *http.Request,
}
go func() {
if err := app.SendSignInChangeEmail(user.Email, strings.Title(service)+" SSO", user.Locale, c.GetSiteURL()); err != nil {
if err := app.SendSignInChangeEmail(user.Email, strings.Title(service)+" SSO", user.Locale, utils.GetSiteURL()); err != nil {
l4g.Error(err.Error())
}
}()

Просмотреть файл

@@ -60,7 +60,7 @@ func createPost(c *Context, w http.ResponseWriter, r *http.Request) {
post.CreateAt = 0
}
rp, err := app.CreatePostAsUser(post, c.GetSiteURL())
rp, err := app.CreatePostAsUser(post)
if err != nil {
c.Err = err
return
@@ -344,7 +344,7 @@ func getPermalinkTmp(c *Context, w http.ResponseWriter, r *http.Request) {
}
}
if list, err := app.GetPermalinkPost(postId, c.Session.UserId, c.GetSiteURL()); err != nil {
if list, err := app.GetPermalinkPost(postId, c.Session.UserId); err != nil {
c.Err = err
return
} else if HandleEtag(list.Etag(), "Get Permalink TMP", w, r) {

Просмотреть файл

@@ -61,7 +61,7 @@ func createTeam(c *Context, w http.ResponseWriter, r *http.Request) {
return
}
rteam, err := app.CreateTeamWithUser(team, c.Session.UserId, c.GetSiteURL())
rteam, err := app.CreateTeamWithUser(team, c.Session.UserId)
if err != nil {
c.Err = err
return
@@ -131,7 +131,7 @@ func inviteMembers(c *Context, w http.ResponseWriter, r *http.Request) {
return
}
if err := app.InviteNewUsersToTeam(invites.ToEmailList(), c.TeamId, c.Session.UserId, c.GetSiteURL()); err != nil {
if err := app.InviteNewUsersToTeam(invites.ToEmailList(), c.TeamId, c.Session.UserId); err != nil {
c.Err = err
return
}
@@ -153,7 +153,7 @@ func addUserToTeam(c *Context, w http.ResponseWriter, r *http.Request) {
return
}
if _, err := app.AddUserToTeam(c.TeamId, userId, c.GetSiteURL()); err != nil {
if _, err := app.AddUserToTeam(c.TeamId, userId); err != nil {
c.Err = err
return
}
@@ -195,9 +195,9 @@ func addUserToTeamFromInvite(c *Context, w http.ResponseWriter, r *http.Request)
var err *model.AppError
if len(hash) > 0 {
team, err = app.AddUserToTeamByHash(c.Session.UserId, hash, data, c.GetSiteURL())
team, err = app.AddUserToTeamByHash(c.Session.UserId, hash, data)
} else if len(inviteId) > 0 {
team, err = app.AddUserToTeamByInviteId(inviteId, c.Session.UserId, c.GetSiteURL())
team, err = app.AddUserToTeamByInviteId(inviteId, c.Session.UserId)
} else {
c.Err = model.NewLocAppError("addUserToTeamFromInvite", "api.user.create_user.signup_link_invalid.app_error", nil, "")
return

Просмотреть файл

@@ -87,11 +87,11 @@ func createUser(c *Context, w http.ResponseWriter, r *http.Request) {
var ruser *model.User
var err *model.AppError
if len(hash) > 0 {
ruser, err = app.CreateUserWithHash(user, hash, r.URL.Query().Get("d"), c.GetSiteURL())
ruser, err = app.CreateUserWithHash(user, hash, r.URL.Query().Get("d"))
} else if len(inviteId) > 0 {
ruser, err = app.CreateUserWithInviteId(user, inviteId, c.GetSiteURL())
ruser, err = app.CreateUserWithInviteId(user, inviteId)
} else {
ruser, err = app.CreateUserFromSignup(user, c.GetSiteURL())
ruser, err = app.CreateUserFromSignup(user)
}
if err != nil {
@@ -156,7 +156,7 @@ func LoginByOAuth(c *Context, w http.ResponseWriter, r *http.Request, service st
var err *model.AppError
if user, err = app.GetUserByAuth(&authData, service); err != nil {
if err.Id == store.MISSING_AUTH_ACCOUNT_ERROR {
if user, err = app.CreateOAuthUser(service, bytes.NewReader(buf.Bytes()), "", c.GetSiteURL()); err != nil {
if user, err = app.CreateOAuthUser(service, bytes.NewReader(buf.Bytes()), ""); err != nil {
c.Err = err
return nil
}
@@ -165,7 +165,7 @@ func LoginByOAuth(c *Context, w http.ResponseWriter, r *http.Request, service st
return nil
}
if err = app.UpdateOAuthUserAttrs(bytes.NewReader(buf.Bytes()), user, provider, service, c.siteURL); err != nil {
if err = app.UpdateOAuthUserAttrs(bytes.NewReader(buf.Bytes()), user, provider, service); err != nil {
c.Err = err
return nil
}
@@ -686,7 +686,7 @@ func updateUser(c *Context, w http.ResponseWriter, r *http.Request) {
return
}
if ruser, err := app.UpdateUserAsUser(user, c.GetSiteURL(), c.IsSystemAdmin()); err != nil {
if ruser, err := app.UpdateUserAsUser(user, c.IsSystemAdmin()); err != nil {
c.Err = err
return
} else {
@@ -719,7 +719,7 @@ func updatePassword(c *Context, w http.ResponseWriter, r *http.Request) {
return
}
if err := app.UpdatePasswordAsUser(userId, currentPassword, newPassword, c.GetSiteURL()); err != nil {
if err := app.UpdatePasswordAsUser(userId, currentPassword, newPassword); err != nil {
c.LogAudit("failed")
c.Err = err
return
@@ -801,7 +801,7 @@ func sendPasswordReset(c *Context, w http.ResponseWriter, r *http.Request) {
return
}
if sent, err := app.SendPasswordReset(email, c.GetSiteURL()); err != nil {
if sent, err := app.SendPasswordReset(email, utils.GetSiteURL()); err != nil {
c.Err = err
return
} else if sent {
@@ -824,7 +824,7 @@ func resetPassword(c *Context, w http.ResponseWriter, r *http.Request) {
c.LogAudit("attempt - code=" + code)
if err := app.ResetPasswordFromCode(code, newPassword, c.GetSiteURL()); err != nil {
if err := app.ResetPasswordFromCode(code, newPassword); err != nil {
c.LogAudit("fail - code=" + code)
c.Err = err
return
@@ -877,7 +877,7 @@ func updateUserNotify(c *Context, w http.ResponseWriter, r *http.Request) {
return
}
ruser, err := app.UpdateUserNotifyProps(userId, props, c.GetSiteURL())
ruser, err := app.UpdateUserNotifyProps(userId, props)
if err != nil {
c.Err = err
return
@@ -936,7 +936,7 @@ func emailToOAuth(c *Context, w http.ResponseWriter, r *http.Request) {
m := map[string]string{}
if service == model.USER_AUTH_SERVICE_SAML {
m["follow_link"] = c.GetSiteURL() + "/login/sso/saml?action=" + model.OAUTH_ACTION_EMAIL_TO_SSO + "&email=" + email
m["follow_link"] = c.GetSiteURLHeader() + "/login/sso/saml?action=" + model.OAUTH_ACTION_EMAIL_TO_SSO + "&email=" + email
} else {
if authUrl, err := GetAuthorizationCode(c, service, stateProps, ""); err != nil {
c.LogAuditWithUserId(user.Id, "fail - oauth issue")
@@ -990,7 +990,7 @@ func oauthToEmail(c *Context, w http.ResponseWriter, r *http.Request) {
}
go func() {
if err := app.SendSignInChangeEmail(user.Email, c.T("api.templates.signin_change_email.body.method_email"), user.Locale, c.GetSiteURL()); err != nil {
if err := app.SendSignInChangeEmail(user.Email, c.T("api.templates.signin_change_email.body.method_email"), user.Locale, utils.GetSiteURL()); err != nil {
l4g.Error(err.Error())
}
}()
@@ -1083,7 +1083,7 @@ func emailToLdap(c *Context, w http.ResponseWriter, r *http.Request) {
}
go func() {
if err := app.SendSignInChangeEmail(user.Email, "AD/LDAP", user.Locale, c.GetSiteURL()); err != nil {
if err := app.SendSignInChangeEmail(user.Email, "AD/LDAP", user.Locale, utils.GetSiteURL()); err != nil {
l4g.Error(err.Error())
}
}()
@@ -1170,7 +1170,7 @@ func ldapToEmail(c *Context, w http.ResponseWriter, r *http.Request) {
}
go func() {
if err := app.SendSignInChangeEmail(user.Email, c.T("api.templates.signin_change_email.body.method_email"), user.Locale, c.GetSiteURL()); err != nil {
if err := app.SendSignInChangeEmail(user.Email, c.T("api.templates.signin_change_email.body.method_email"), user.Locale, utils.GetSiteURL()); err != nil {
l4g.Error(err.Error())
}
}()
@@ -1224,9 +1224,9 @@ func resendVerification(c *Context, w http.ResponseWriter, r *http.Request) {
return
} else {
if _, err := app.GetStatus(user.Id); err != nil {
go app.SendVerifyEmail(user.Id, user.Email, user.Locale, c.GetSiteURL())
go app.SendVerifyEmail(user.Id, user.Email, user.Locale, utils.GetSiteURL())
} else {
go app.SendEmailChangeVerifyEmail(user.Id, user.Email, user.Locale, c.GetSiteURL())
go app.SendEmailChangeVerifyEmail(user.Id, user.Email, user.Locale, utils.GetSiteURL())
}
}
}
@@ -1286,7 +1286,7 @@ func updateMfa(c *Context, w http.ResponseWriter, r *http.Request) {
return
}
if err := app.SendMfaChangeEmail(user.Email, activate, user.Locale, c.GetSiteURL()); err != nil {
if err := app.SendMfaChangeEmail(user.Email, activate, user.Locale, utils.GetSiteURL()); err != nil {
l4g.Error(err.Error())
}
}()
@@ -1391,7 +1391,7 @@ func completeSaml(c *Context, w http.ResponseWriter, r *http.Request) {
relayProps = model.MapFromJson(strings.NewReader(stateStr))
}
if user, err := samlInterface.DoLogin(encodedXML, relayProps, c.GetSiteURL()); err != nil {
if user, err := samlInterface.DoLogin(encodedXML, relayProps); err != nil {
c.Err = err
c.Err.StatusCode = http.StatusFound
return
@@ -1416,7 +1416,7 @@ func completeSaml(c *Context, w http.ResponseWriter, r *http.Request) {
}
c.LogAuditWithUserId(user.Id, "Revoked all sessions for user")
go func() {
if err := app.SendSignInChangeEmail(user.Email, strings.Title(model.USER_AUTH_SERVICE_SAML)+" SSO", user.Locale, c.GetSiteURL()); err != nil {
if err := app.SendSignInChangeEmail(user.Email, strings.Title(model.USER_AUTH_SERVICE_SAML)+" SSO", user.Locale, utils.GetSiteURL()); err != nil {
l4g.Error(err.Error())
}
}()
@@ -1428,7 +1428,7 @@ func completeSaml(c *Context, w http.ResponseWriter, r *http.Request) {
}
if val, ok := relayProps["redirect_to"]; ok {
http.Redirect(w, r, c.GetSiteURL()+val, http.StatusFound)
http.Redirect(w, r, c.GetSiteURLHeader()+val, http.StatusFound)
return
}

Просмотреть файл

@@ -374,7 +374,7 @@ func incomingWebhook(c *Context, w http.ResponseWriter, r *http.Request) {
parsedRequest := model.IncomingWebhookRequestFromJson(payload)
err := app.HandleIncomingWebhook(id, parsedRequest, c.GetSiteURL())
err := app.HandleIncomingWebhook(id, parsedRequest)
if err != nil {
c.Err = err
return

Просмотреть файл

@@ -362,7 +362,7 @@ func (me *TestHelper) UpdateActiveUser(user *model.User, active bool) {
func LinkUserToTeam(user *model.User, team *model.Team) {
utils.DisableDebugLogForTest()
err := app.JoinUserToTeam(team, user, utils.GetSiteURL())
err := app.JoinUserToTeam(team, user)
if err != nil {
l4g.Error(err.Error())
l4g.Close()

Просмотреть файл

@@ -138,7 +138,7 @@ func updateChannel(c *Context, w http.ResponseWriter, r *http.Request) {
return
} else {
if oldChannelDisplayName != channel.DisplayName {
if err := app.PostUpdateChannelDisplayNameMessage(c.Session.UserId, channel.Id, c.Params.TeamId, oldChannelDisplayName, channel.DisplayName, c.GetSiteURL()); err != nil {
if err := app.PostUpdateChannelDisplayNameMessage(c.Session.UserId, channel.Id, c.Params.TeamId, oldChannelDisplayName, channel.DisplayName); err != nil {
l4g.Error(err.Error())
}
}
@@ -459,7 +459,7 @@ func deleteChannel(c *Context, w http.ResponseWriter, r *http.Request) {
return
}
err = app.DeleteChannel(channel, c.Session.UserId, c.GetSiteURL())
err = app.DeleteChannel(channel, c.Session.UserId)
if err != nil {
c.Err = err
return
@@ -733,7 +733,7 @@ func addChannelMember(c *Context, w http.ResponseWriter, r *http.Request) {
return
}
if cm, err := app.AddChannelMember(member.UserId, channel, c.Session.UserId, c.GetSiteURL()); err != nil {
if cm, err := app.AddChannelMember(member.UserId, channel, c.Session.UserId); err != nil {
c.Err = err
return
} else {
@@ -768,7 +768,7 @@ func removeChannelMember(c *Context, w http.ResponseWriter, r *http.Request) {
}
}
if err = app.RemoveUserFromChannel(c.Params.UserId, c.Session.UserId, channel, c.GetSiteURL()); err != nil {
if err = app.RemoveUserFromChannel(c.Params.UserId, c.Session.UserId, channel); err != nil {
c.Err = err
return
}

Просмотреть файл

@@ -680,7 +680,7 @@ func TestDeleteChannel(t *testing.T) {
if ch, err := app.GetChannel(publicChannel1.Id); err == nil && ch.DeleteAt == 0 {
t.Fatal("should have failed to get deleted channel")
} else if err := app.JoinChannel(ch, user2.Id, ""); err == nil {
} else if err := app.JoinChannel(ch, user2.Id); err == nil {
t.Fatal("should have failed to join deleted channel")
}

Просмотреть файл

@@ -19,14 +19,14 @@ import (
)
type Context struct {
Session model.Session
Params *ApiParams
Err *model.AppError
T goi18n.TranslateFunc
RequestId string
IpAddress string
Path string
siteURL string
Session model.Session
Params *ApiParams
Err *model.AppError
T goi18n.TranslateFunc
RequestId string
IpAddress string
Path string
siteURLHeader string
}
func ApiHandler(h func(*Context, http.ResponseWriter, *http.Request)) http.Handler {
@@ -125,12 +125,7 @@ func (h handler) ServeHTTP(w http.ResponseWriter, r *http.Request) {
isTokenFromQueryString = true
}
if utils.GetSiteURL() == "" {
protocol := app.GetProtocol(r)
c.SetSiteURL(protocol + "://" + r.Host)
} else {
c.SetSiteURL(utils.GetSiteURL())
}
c.SetSiteURLHeader(app.GetProtocol(r) + "://" + r.Host)
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, utils.CfgHash, utils.IsLicensed))
@@ -320,12 +315,12 @@ func (c *Context) SetPermissionError(permission *model.Permission) {
c.Err.StatusCode = http.StatusForbidden
}
func (c *Context) SetSiteURL(url string) {
c.siteURL = strings.TrimRight(url, "/")
func (c *Context) SetSiteURLHeader(url string) {
c.siteURLHeader = strings.TrimRight(url, "/")
}
func (c *Context) GetSiteURL() string {
return c.siteURL
func (c *Context) GetSiteURLHeader() string {
return c.siteURLHeader
}
func (c *Context) RequireUserId() *Context {

Просмотреть файл

@@ -160,7 +160,7 @@ func getFileLink(c *Context, w http.ResponseWriter, r *http.Request) {
}
resp := make(map[string]string)
resp["link"] = app.GeneratePublicLink(c.GetSiteURL(), info)
resp["link"] = app.GeneratePublicLink(c.GetSiteURLHeader(), info)
w.Write([]byte(model.MapToJson(resp)))
}

Просмотреть файл

@@ -48,7 +48,7 @@ func createPost(c *Context, w http.ResponseWriter, r *http.Request) {
post.CreateAt = 0
}
rp, err := app.CreatePostAsUser(post, c.GetSiteURL())
rp, err := app.CreatePostAsUser(post)
if err != nil {
c.Err = err
return

Просмотреть файл

@@ -63,7 +63,7 @@ func createTeam(c *Context, w http.ResponseWriter, r *http.Request) {
return
}
rteam, err := app.CreateTeamWithUser(team, c.Session.UserId, c.GetSiteURL())
rteam, err := app.CreateTeamWithUser(team, c.Session.UserId)
if err != nil {
c.Err = err
return
@@ -349,14 +349,14 @@ func addTeamMember(c *Context, w http.ResponseWriter, r *http.Request) {
return
}
member, err = app.AddTeamMember(member.TeamId, member.UserId, c.GetSiteURL())
member, err = app.AddTeamMember(member.TeamId, member.UserId)
} else if len(hash) > 0 && len(data) > 0 {
member, err = app.AddTeamMemberByHash(c.Session.UserId, hash, data, c.GetSiteURL())
member, err = app.AddTeamMemberByHash(c.Session.UserId, hash, data)
if err != nil {
err = model.NewAppError("addTeamMember", "api.team.add_user_to_team.invalid_data.app_error", nil, "", http.StatusNotFound)
}
} else if len(inviteId) > 0 {
member, err = app.AddTeamMemberByInviteId(inviteId, c.Session.UserId, c.GetSiteURL())
member, err = app.AddTeamMemberByInviteId(inviteId, c.Session.UserId)
if err != nil {
err = model.NewAppError("addTeamMember", "api.team.add_user_to_team.invalid_invite_id.app_error", nil, "", http.StatusNotFound)
}
@@ -407,7 +407,7 @@ func addTeamMembers(c *Context, w http.ResponseWriter, r *http.Request) {
return
}
members, err = app.AddTeamMembers(c.Params.TeamId, userIds, c.GetSiteURL())
members, err = app.AddTeamMembers(c.Params.TeamId, userIds)
if err != nil {
c.Err = err
@@ -673,7 +673,7 @@ func inviteUsersToTeam(c *Context, w http.ResponseWriter, r *http.Request) {
return
}
err := app.InviteNewUsersToTeam(emailList, c.Params.TeamId, c.Session.UserId, utils.GetSiteURL())
err := app.InviteNewUsersToTeam(emailList, c.Params.TeamId, c.Session.UserId)
if err != nil {
c.Err = err
return

Просмотреть файл

@@ -69,13 +69,13 @@ func createUser(c *Context, w http.ResponseWriter, r *http.Request) {
var ruser *model.User
var err *model.AppError
if len(hash) > 0 {
ruser, err = app.CreateUserWithHash(user, hash, r.URL.Query().Get("d"), c.GetSiteURL())
ruser, err = app.CreateUserWithHash(user, hash, r.URL.Query().Get("d"))
} else if len(inviteId) > 0 {
ruser, err = app.CreateUserWithInviteId(user, inviteId, c.GetSiteURL())
ruser, err = app.CreateUserWithInviteId(user, inviteId)
} else if c.IsSystemAdmin() {
ruser, err = app.CreateUserAsAdmin(user, c.GetSiteURL())
ruser, err = app.CreateUserAsAdmin(user)
} else {
ruser, err = app.CreateUserFromSignup(user, c.GetSiteURL())
ruser, err = app.CreateUserFromSignup(user)
}
if err != nil {
@@ -493,7 +493,7 @@ func updateUser(c *Context, w http.ResponseWriter, r *http.Request) {
return
}
if ruser, err := app.UpdateUserAsUser(user, c.GetSiteURL(), c.IsSystemAdmin()); err != nil {
if ruser, err := app.UpdateUserAsUser(user, c.IsSystemAdmin()); err != nil {
c.Err = err
return
} else {
@@ -519,7 +519,7 @@ func patchUser(c *Context, w http.ResponseWriter, r *http.Request) {
return
}
if ruser, err := app.PatchUser(c.Params.UserId, patch, c.GetSiteURL(), c.IsSystemAdmin()); err != nil {
if ruser, err := app.PatchUser(c.Params.UserId, patch, c.IsSystemAdmin()); err != nil {
c.Err = err
return
} else {
@@ -640,7 +640,7 @@ func updateUserMfa(c *Context, w http.ResponseWriter, r *http.Request) {
c.LogAudit("attempt")
if err := app.UpdateMfa(activate, c.Params.UserId, code, c.GetSiteURL()); err != nil {
if err := app.UpdateMfa(activate, c.Params.UserId, code); err != nil {
c.Err = err
return
}
@@ -692,9 +692,9 @@ func updatePassword(c *Context, w http.ResponseWriter, r *http.Request) {
return
}
err = app.UpdatePasswordAsUser(c.Params.UserId, currentPassword, newPassword, c.GetSiteURL())
err = app.UpdatePasswordAsUser(c.Params.UserId, currentPassword, newPassword)
} else if app.SessionHasPermissionTo(c.Session, model.PERMISSION_MANAGE_SYSTEM) {
err = app.UpdatePasswordByUserIdSendEmail(c.Params.UserId, newPassword, c.T("api.user.reset_password.method"), c.GetSiteURL())
err = app.UpdatePasswordByUserIdSendEmail(c.Params.UserId, newPassword, c.T("api.user.reset_password.method"))
} else {
err = model.NewAppError("updatePassword", "api.user.update_password.context.app_error", nil, "", http.StatusForbidden)
}
@@ -722,7 +722,7 @@ func resetPassword(c *Context, w http.ResponseWriter, r *http.Request) {
c.LogAudit("attempt - code=" + code)
if err := app.ResetPasswordFromCode(code, newPassword, c.GetSiteURL()); err != nil {
if err := app.ResetPasswordFromCode(code, newPassword); err != nil {
c.LogAudit("fail - code=" + code)
c.Err = err
return
@@ -742,7 +742,7 @@ func sendPasswordReset(c *Context, w http.ResponseWriter, r *http.Request) {
return
}
if sent, err := app.SendPasswordReset(email, c.GetSiteURL()); err != nil {
if sent, err := app.SendPasswordReset(email, utils.GetSiteURL()); err != nil {
c.Err = err
return
} else if sent {
@@ -974,9 +974,9 @@ func sendVerificationEmail(c *Context, w http.ResponseWriter, r *http.Request) {
}
if _, err := app.GetStatus(user.Id); err != nil {
go app.SendVerifyEmail(user.Id, user.Email, user.Locale, c.GetSiteURL())
go app.SendVerifyEmail(user.Id, user.Email, user.Locale, utils.GetSiteURL())
} else {
go app.SendEmailChangeVerifyEmail(user.Id, user.Email, user.Locale, c.GetSiteURL())
go app.SendEmailChangeVerifyEmail(user.Id, user.Email, user.Locale, utils.GetSiteURL())
}
ReturnStatusOK(w)

Просмотреть файл

@@ -161,7 +161,7 @@ func (me *TestHelper) CreatePost(channel *model.Channel) *model.Post {
utils.DisableDebugLogForTest()
var err *model.AppError
if post, err = CreatePost(post, channel.TeamId, false, utils.GetSiteURL()); err != nil {
if post, err = CreatePost(post, channel.TeamId, false); err != nil {
l4g.Error(err.Error())
l4g.Close()
time.Sleep(time.Second)
@@ -174,7 +174,7 @@ func (me *TestHelper) CreatePost(channel *model.Channel) *model.Post {
func LinkUserToTeam(user *model.User, team *model.Team) {
utils.DisableDebugLogForTest()
err := JoinUserToTeam(team, user, utils.GetSiteURL())
err := JoinUserToTeam(team, user)
if err != nil {
l4g.Error(err.Error())
l4g.Close()

Просмотреть файл

@@ -32,7 +32,7 @@ func CreateDefaultChannels(teamId string) ([]*model.Channel, *model.AppError) {
return channels, nil
}
func JoinDefaultChannels(teamId string, user *model.User, channelRole string, siteURL string) *model.AppError {
func JoinDefaultChannels(teamId string, user *model.User, channelRole string) *model.AppError {
var err *model.AppError = nil
if result := <-Srv.Store.Channel().GetByName(teamId, "town-square", true); result.Err != nil {
@@ -47,7 +47,7 @@ func JoinDefaultChannels(teamId string, user *model.User, channelRole string, si
err = cmResult.Err
}
if err := postJoinChannelMessage(user, townSquare, siteURL); err != nil {
if err := postJoinChannelMessage(user, townSquare); err != nil {
l4g.Error(utils.T("api.channel.post_user_add_remove_message_and_forget.error"), err)
}
@@ -66,7 +66,7 @@ func JoinDefaultChannels(teamId string, user *model.User, channelRole string, si
err = cmResult.Err
}
if err := postJoinChannelMessage(user, offTopic, siteURL); err != nil {
if err := postJoinChannelMessage(user, offTopic); err != nil {
l4g.Error(utils.T("api.channel.post_user_add_remove_message_and_forget.error"), err)
}
@@ -315,7 +315,7 @@ func UpdateChannelMemberNotifyProps(data map[string]string, channelId string, us
}
}
func DeleteChannel(channel *model.Channel, userId string, siteURL string) *model.AppError {
func DeleteChannel(channel *model.Channel, userId string) *model.AppError {
uc := Srv.Store.User().Get(userId)
ihc := Srv.Store.Webhook().GetIncomingByChannel(channel.Id)
ohc := Srv.Store.Webhook().GetOutgoingByChannel(channel.Id, -1, -1)
@@ -355,7 +355,7 @@ func DeleteChannel(channel *model.Channel, userId string, siteURL string) *model
},
}
if _, err := CreatePost(post, channel.TeamId, false, siteURL); err != nil {
if _, err := CreatePost(post, channel.TeamId, false); err != nil {
l4g.Error(utils.T("api.channel.delete_channel.failed_post.error"), err)
}
@@ -451,7 +451,7 @@ func AddUserToChannel(user *model.User, channel *model.Channel) (*model.ChannelM
return newMember, nil
}
func AddChannelMember(userId string, channel *model.Channel, userRequestorId, siteURL string) (*model.ChannelMember, *model.AppError) {
func AddChannelMember(userId string, channel *model.Channel, userRequestorId string) (*model.ChannelMember, *model.AppError) {
var user *model.User
var err *model.AppError
@@ -469,7 +469,7 @@ func AddChannelMember(userId string, channel *model.Channel, userRequestorId, si
return nil, err
}
go PostAddToChannelMessage(userRequestor, user, channel, siteURL)
go PostAddToChannelMessage(userRequestor, user, channel)
UpdateChannelLastViewedAt([]string{channel.Id}, userRequestor.Id)
@@ -512,7 +512,7 @@ func AddDirectChannels(teamId string, user *model.User) *model.AppError {
return nil
}
func PostUpdateChannelHeaderMessage(userId string, channelId string, teamId string, oldChannelHeader, newChannelHeader string, siteURL string) *model.AppError {
func PostUpdateChannelHeaderMessage(userId string, channelId string, teamId string, oldChannelHeader, newChannelHeader string) *model.AppError {
uc := Srv.Store.User().Get(userId)
if uresult := <-uc; uresult.Err != nil {
@@ -541,7 +541,7 @@ func PostUpdateChannelHeaderMessage(userId string, channelId string, teamId stri
},
}
if _, err := CreatePost(post, teamId, false, siteURL); err != nil {
if _, err := CreatePost(post, teamId, false); err != nil {
return model.NewLocAppError("", "api.channel.post_update_channel_header_message_and_forget.post.error", nil, err.Error())
}
}
@@ -549,7 +549,7 @@ func PostUpdateChannelHeaderMessage(userId string, channelId string, teamId stri
return nil
}
func PostUpdateChannelPurposeMessage(userId string, channelId string, teamId string, oldChannelPurpose string, newChannelPurpose string, siteURL string) *model.AppError {
func PostUpdateChannelPurposeMessage(userId string, channelId string, teamId string, oldChannelPurpose string, newChannelPurpose string) *model.AppError {
uc := Srv.Store.User().Get(userId)
if uresult := <-uc; uresult.Err != nil {
@@ -577,7 +577,7 @@ func PostUpdateChannelPurposeMessage(userId string, channelId string, teamId str
"new_purpose": newChannelPurpose,
},
}
if _, err := CreatePost(post, teamId, false, siteURL); err != nil {
if _, err := CreatePost(post, teamId, false); err != nil {
return model.NewLocAppError("", "app.channel.post_update_channel_purpose_message.post.error", nil, err.Error())
}
}
@@ -585,7 +585,7 @@ func PostUpdateChannelPurposeMessage(userId string, channelId string, teamId str
return nil
}
func PostUpdateChannelDisplayNameMessage(userId string, channelId string, teamId string, oldChannelDisplayName, newChannelDisplayName string, siteURL string) *model.AppError {
func PostUpdateChannelDisplayNameMessage(userId string, channelId string, teamId string, oldChannelDisplayName, newChannelDisplayName string) *model.AppError {
uc := Srv.Store.User().Get(userId)
if uresult := <-uc; uresult.Err != nil {
@@ -607,7 +607,7 @@ func PostUpdateChannelDisplayNameMessage(userId string, channelId string, teamId
},
}
if _, err := CreatePost(post, teamId, false, siteURL); err != nil {
if _, err := CreatePost(post, teamId, false); err != nil {
return model.NewLocAppError("PostUpdateChannelDisplayNameMessage", "api.channel.post_update_channel_displayname_message_and_forget.create_post.error", nil, err.Error())
}
}
@@ -754,7 +754,7 @@ func GetChannelUnread(channelId, userId string) (*model.ChannelUnread, *model.Ap
return channelUnread, nil
}
func JoinChannel(channel *model.Channel, userId string, siteURL string) *model.AppError {
func JoinChannel(channel *model.Channel, userId string) *model.AppError {
if channel.DeleteAt > 0 {
return model.NewLocAppError("JoinChannel", "api.channel.join_channel.already_deleted.app_error", nil, "")
}
@@ -775,7 +775,7 @@ func JoinChannel(channel *model.Channel, userId string, siteURL string) *model.A
return err
}
if err := postJoinChannelMessage(user, channel, siteURL); err != nil {
if err := postJoinChannelMessage(user, channel); err != nil {
return err
}
} else {
@@ -786,7 +786,7 @@ func JoinChannel(channel *model.Channel, userId string, siteURL string) *model.A
return nil
}
func postJoinChannelMessage(user *model.User, channel *model.Channel, siteURL string) *model.AppError {
func postJoinChannelMessage(user *model.User, channel *model.Channel) *model.AppError {
post := &model.Post{
ChannelId: channel.Id,
Message: fmt.Sprintf(utils.T("api.channel.join_channel.post_and_forget"), user.Username),
@@ -797,14 +797,14 @@ func postJoinChannelMessage(user *model.User, channel *model.Channel, siteURL st
},
}
if _, err := CreatePost(post, channel.TeamId, false, siteURL); err != nil {
if _, err := CreatePost(post, channel.TeamId, false); err != nil {
return model.NewLocAppError("postJoinChannelMessage", "api.channel.post_user_add_remove_message_and_forget.error", nil, err.Error())
}
return nil
}
func LeaveChannel(channelId string, userId string, siteURL string) *model.AppError {
func LeaveChannel(channelId string, userId string) *model.AppError {
sc := Srv.Store.Channel().Get(channelId, true)
uc := Srv.Store.User().Get(userId)
ccm := Srv.Store.Channel().GetMemberCount(channelId, false)
@@ -836,13 +836,13 @@ func LeaveChannel(channelId string, userId string, siteURL string) *model.AppErr
return err
}
go postLeaveChannelMessage(user, channel, siteURL)
go postLeaveChannelMessage(user, channel)
}
return nil
}
func postLeaveChannelMessage(user *model.User, channel *model.Channel, siteURL string) *model.AppError {
func postLeaveChannelMessage(user *model.User, channel *model.Channel) *model.AppError {
post := &model.Post{
ChannelId: channel.Id,
Message: fmt.Sprintf(utils.T("api.channel.leave.left"), user.Username),
@@ -853,14 +853,14 @@ func postLeaveChannelMessage(user *model.User, channel *model.Channel, siteURL s
},
}
if _, err := CreatePost(post, channel.TeamId, false, siteURL); err != nil {
if _, err := CreatePost(post, channel.TeamId, false); err != nil {
return model.NewLocAppError("postLeaveChannelMessage", "api.channel.post_user_add_remove_message_and_forget.error", nil, err.Error())
}
return nil
}
func PostAddToChannelMessage(user *model.User, addedUser *model.User, channel *model.Channel, siteURL string) *model.AppError {
func PostAddToChannelMessage(user *model.User, addedUser *model.User, channel *model.Channel) *model.AppError {
post := &model.Post{
ChannelId: channel.Id,
Message: fmt.Sprintf(utils.T("api.channel.add_member.added"), addedUser.Username, user.Username),
@@ -872,14 +872,14 @@ func PostAddToChannelMessage(user *model.User, addedUser *model.User, channel *m
},
}
if _, err := CreatePost(post, channel.TeamId, false, siteURL); err != nil {
if _, err := CreatePost(post, channel.TeamId, false); err != nil {
return model.NewLocAppError("postAddToChannelMessage", "api.channel.post_user_add_remove_message_and_forget.error", nil, err.Error())
}
return nil
}
func PostRemoveFromChannelMessage(removerUserId string, removedUser *model.User, channel *model.Channel, siteURL string) *model.AppError {
func PostRemoveFromChannelMessage(removerUserId string, removedUser *model.User, channel *model.Channel) *model.AppError {
post := &model.Post{
ChannelId: channel.Id,
Message: fmt.Sprintf(utils.T("api.channel.remove_member.removed"), removedUser.Username),
@@ -890,7 +890,7 @@ func PostRemoveFromChannelMessage(removerUserId string, removedUser *model.User,
},
}
if _, err := CreatePost(post, channel.TeamId, false, siteURL); err != nil {
if _, err := CreatePost(post, channel.TeamId, false); err != nil {
return model.NewLocAppError("postRemoveFromChannelMessage", "api.channel.post_user_add_remove_message_and_forget.error", nil, err.Error())
}
@@ -929,7 +929,7 @@ func removeUserFromChannel(userIdToRemove string, removerUserId string, channel
return nil
}
func RemoveUserFromChannel(userIdToRemove string, removerUserId string, channel *model.Channel, siteURL string) *model.AppError {
func RemoveUserFromChannel(userIdToRemove string, removerUserId string, channel *model.Channel) *model.AppError {
var err *model.AppError
if err = removeUserFromChannel(userIdToRemove, removerUserId, channel); err != nil {
return err
@@ -940,7 +940,7 @@ func RemoveUserFromChannel(userIdToRemove string, removerUserId string, channel
return err
}
go PostRemoveFromChannelMessage(removerUserId, user, channel, siteURL)
go PostRemoveFromChannelMessage(removerUserId, user, channel)
return nil
}

Просмотреть файл

@@ -38,7 +38,7 @@ func GetCommandProvider(name string) CommandProvider {
return nil
}
func CreateCommandPost(post *model.Post, teamId string, response *model.CommandResponse, siteURL string) (*model.Post, *model.AppError) {
func CreateCommandPost(post *model.Post, teamId string, response *model.CommandResponse) (*model.Post, *model.AppError) {
post.Message = parseSlackLinksToMarkdown(response.Text)
post.CreateAt = model.GetMillis()
@@ -48,7 +48,7 @@ func CreateCommandPost(post *model.Post, teamId string, response *model.CommandR
switch response.ResponseType {
case model.COMMAND_RESPONSE_TYPE_IN_CHANNEL:
return CreatePost(post, teamId, true, siteURL)
return CreatePost(post, teamId, true)
case model.COMMAND_RESPONSE_TYPE_EPHEMERAL:
if response.Text == "" {
return post, nil
@@ -268,7 +268,7 @@ func HandleCommandResponse(command *model.Command, args *model.CommandArgs, resp
}
}
if _, err := CreateCommandPost(post, args.TeamId, response, args.SiteURL); err != nil {
if _, err := CreateCommandPost(post, args.TeamId, response); err != nil {
l4g.Error(err.Error())
}

Просмотреть файл

@@ -88,7 +88,7 @@ func (me *EchoProvider) DoCommand(args *model.CommandArgs, message string) *mode
time.Sleep(time.Duration(delay) * time.Second)
if _, err := CreatePost(post, args.TeamId, true, args.SiteURL); err != nil {
if _, err := CreatePost(post, args.TeamId, true); err != nil {
l4g.Error(args.T("api.command_echo.create.app_error"), err)
}
}()

Просмотреть файл

@@ -55,7 +55,7 @@ func (me *InvitePeopleProvider) DoCommand(args *model.CommandArgs, message strin
return &model.CommandResponse{ResponseType: model.COMMAND_RESPONSE_TYPE_EPHEMERAL, Text: args.T("api.command.invite_people.no_email")}
}
if err := InviteNewUsersToTeam(emailList, args.TeamId, args.UserId, args.SiteURL); err != nil {
if err := InviteNewUsersToTeam(emailList, args.TeamId, args.UserId); err != nil {
l4g.Error(err.Error())
return &model.CommandResponse{ResponseType: model.COMMAND_RESPONSE_TYPE_EPHEMERAL, Text: args.T("api.command.invite_people.fail")}
}

Просмотреть файл

@@ -45,7 +45,7 @@ func (me *JoinProvider) DoCommand(args *model.CommandArgs, message string) *mode
return &model.CommandResponse{Text: args.T("api.command_join.fail.app_error"), ResponseType: model.COMMAND_RESPONSE_TYPE_EPHEMERAL}
}
if err := JoinChannel(channel, args.UserId, args.SiteURL); err != nil {
if err := JoinChannel(channel, args.UserId); err != nil {
return &model.CommandResponse{Text: args.T("api.command_join.fail.app_error"), ResponseType: model.COMMAND_RESPONSE_TYPE_EPHEMERAL}
}

Просмотреть файл

@@ -357,7 +357,7 @@ func (me *LoadTestProvider) UrlCommand(args *model.CommandArgs, message string)
post.ChannelId = args.ChannelId
post.UserId = args.UserId
if _, err := CreatePost(post, args.TeamId, false, args.SiteURL); err != nil {
if _, err := CreatePost(post, args.TeamId, false); err != nil {
return &model.CommandResponse{Text: "Unable to create post", ResponseType: model.COMMAND_RESPONSE_TYPE_EPHEMERAL}
}
}
@@ -396,7 +396,7 @@ func (me *LoadTestProvider) JsonCommand(args *model.CommandArgs, message string)
post.Message = message
}
if _, err := CreatePost(post, args.TeamId, false, args.SiteURL); err != nil {
if _, err := CreatePost(post, args.TeamId, false); err != nil {
return &model.CommandResponse{Text: "Unable to create post", ResponseType: model.COMMAND_RESPONSE_TYPE_EPHEMERAL}
}
return &model.CommandResponse{Text: "Loaded data", ResponseType: model.COMMAND_RESPONSE_TYPE_EPHEMERAL}

Просмотреть файл

@@ -89,7 +89,7 @@ func (me *msgProvider) DoCommand(args *model.CommandArgs, message string) *model
post.Message = parsedMessage
post.ChannelId = targetChannelId
post.UserId = args.UserId
if _, err := CreatePost(post, args.TeamId, true, args.SiteURL); err != nil {
if _, err := CreatePost(post, args.TeamId, true); err != nil {
return &model.CommandResponse{Text: args.T("api.command_msg.fail.app_error"), ResponseType: model.COMMAND_RESPONSE_TYPE_EPHEMERAL}
}
}

Просмотреть файл

@@ -415,7 +415,7 @@ func ImportUser(data *UserImportData, dryRun bool) *model.AppError {
return err
}
} else {
if _, err := UpdateUser(user, utils.GetSiteURL(), false); err != nil {
if _, err := UpdateUser(user, false); err != nil {
return err
}
if _, err := UpdateUserRoles(user.Id, roles); err != nil {
@@ -865,7 +865,7 @@ func OldImportUser(team *model.Team, user *model.User) *model.User {
l4g.Error(utils.T("api.import.import_user.set_email.error"), cresult.Err)
}
if err := JoinUserToTeam(team, user, utils.GetSiteURL()); err != nil {
if err := JoinUserToTeam(team, user); err != nil {
l4g.Error(utils.T("api.import.import_user.join_team.error"), err)
}

Просмотреть файл

@@ -24,7 +24,7 @@ import (
"github.com/nicksnyder/go-i18n/i18n"
)
func SendNotifications(post *model.Post, team *model.Team, channel *model.Channel, sender *model.User, siteURL string) ([]string, *model.AppError) {
func SendNotifications(post *model.Post, team *model.Team, channel *model.Channel, sender *model.User) ([]string, *model.AppError) {
pchan := Srv.Store.User().GetAllProfilesInChannel(channel.Id, true)
cmnchan := Srv.Store.Channel().GetAllChannelMembersNotifyPropsForChannel(channel.Id, true)
var fchan store.StoreChannel
@@ -171,7 +171,7 @@ func SendNotifications(post *model.Post, team *model.Team, channel *model.Channe
}
if userAllowsEmails && status.Status != model.STATUS_ONLINE && profileMap[id].DeleteAt == 0 {
sendNotificationEmail(post, profileMap[id], channel, team, senderName, sender, siteURL)
sendNotificationEmail(post, profileMap[id], channel, team, senderName, sender)
}
}
}
@@ -317,7 +317,7 @@ func SendNotifications(post *model.Post, team *model.Team, channel *model.Channe
return mentionedUsersList, nil
}
func sendNotificationEmail(post *model.Post, user *model.User, channel *model.Channel, team *model.Team, senderName string, sender *model.User, siteURL string) *model.AppError {
func sendNotificationEmail(post *model.Post, user *model.User, channel *model.Channel, team *model.Team, senderName string, sender *model.User) *model.AppError {
if channel.IsGroupOrDirect() {
if result := <-Srv.Store.Team().GetTeamsByUserId(user.Id); result.Err != nil {
return result.Err
@@ -367,7 +367,7 @@ func sendNotificationEmail(post *model.Post, user *model.User, channel *model.Ch
var mailTemplate string
var mailParameters map[string]interface{}
teamURL := siteURL + "/" + team.Name
teamURL := utils.GetSiteURL() + "/" + team.Name
tm := time.Unix(post.CreateAt/1000, 0)
userLocale := utils.GetUserTranslations(user.Locale)
@@ -405,7 +405,7 @@ func sendNotificationEmail(post *model.Post, user *model.User, channel *model.Ch
subject := fmt.Sprintf("[%v] %v", utils.Cfg.TeamSettings.SiteName, userLocale(mailTemplate, mailParameters))
bodyPage := utils.NewHTMLTemplate("post_body", user.Locale)
bodyPage.Props["SiteURL"] = siteURL
bodyPage.Props["SiteURL"] = utils.GetSiteURL()
bodyPage.Props["PostMessage"] = GetMessageForNotification(post, userLocale)
if team.Name != "select_team" {
bodyPage.Props["TeamLink"] = teamURL + "/pl/" + post.Id

Просмотреть файл

@@ -7,7 +7,6 @@ import (
"testing"
"github.com/mattermost/platform/model"
"github.com/mattermost/platform/utils"
)
func TestSendNotifications(t *testing.T) {
@@ -19,13 +18,13 @@ func TestSendNotifications(t *testing.T) {
UserId: th.BasicUser.Id,
ChannelId: th.BasicChannel.Id,
Message: "@" + th.BasicUser2.Username,
}, th.BasicTeam.Id, true, utils.GetSiteURL())
}, th.BasicTeam.Id, true)
if postErr != nil {
t.Fatal(postErr)
}
mentions, err := SendNotifications(post1, th.BasicTeam, th.BasicChannel, th.BasicUser, utils.GetSiteURL())
mentions, err := SendNotifications(post1, th.BasicTeam, th.BasicChannel, th.BasicUser)
if err != nil {
t.Fatal(err)
} else if mentions == nil {

Просмотреть файл

@@ -49,7 +49,7 @@ func init() {
}
}
func CreatePostAsUser(post *model.Post, siteURL string) (*model.Post, *model.AppError) {
func CreatePostAsUser(post *model.Post) (*model.Post, *model.AppError) {
// Check that channel has not been deleted
var channel *model.Channel
if result := <-Srv.Store.Channel().Get(post.ChannelId, true); result.Err != nil {
@@ -66,7 +66,7 @@ func CreatePostAsUser(post *model.Post, siteURL string) (*model.Post, *model.App
return nil, err
}
if rp, err := CreatePost(post, channel.TeamId, true, siteURL); err != nil {
if rp, err := CreatePost(post, channel.TeamId, true); err != nil {
if err.Id == "api.post.create_post.root_id.app_error" ||
err.Id == "api.post.create_post.channel_root_id.app_error" ||
err.Id == "api.post.create_post.parent_id.app_error" {
@@ -87,7 +87,7 @@ func CreatePostAsUser(post *model.Post, siteURL string) (*model.Post, *model.App
}
func CreatePost(post *model.Post, teamId string, triggerWebhooks bool, siteURL string) (*model.Post, *model.AppError) {
func CreatePost(post *model.Post, teamId string, triggerWebhooks bool) (*model.Post, *model.AppError) {
var pchan store.StoreChannel
if len(post.RootId) > 0 {
pchan = Srv.Store.Post().Get(post.RootId)
@@ -144,14 +144,14 @@ func CreatePost(post *model.Post, teamId string, triggerWebhooks bool, siteURL s
}
}
if err := handlePostEvents(rpost, teamId, triggerWebhooks, siteURL); err != nil {
if err := handlePostEvents(rpost, teamId, triggerWebhooks); err != nil {
return nil, err
}
return rpost, nil
}
func handlePostEvents(post *model.Post, teamId string, triggerWebhooks bool, siteURL string) *model.AppError {
func handlePostEvents(post *model.Post, teamId string, triggerWebhooks bool) *model.AppError {
var tchan store.StoreChannel
if len(teamId) > 0 {
tchan = Srv.Store.Team().Get(teamId)
@@ -188,13 +188,13 @@ func handlePostEvents(post *model.Post, teamId string, triggerWebhooks bool, sit
user = result.Data.(*model.User)
}
if _, err := SendNotifications(post, team, channel, user, siteURL); err != nil {
if _, err := SendNotifications(post, team, channel, user); err != nil {
return err
}
if triggerWebhooks {
go func() {
if err := handleWebhookEvents(post, team, channel, user, siteURL); err != nil {
if err := handleWebhookEvents(post, team, channel, user); err != nil {
l4g.Error(err.Error())
}
}()
@@ -405,7 +405,7 @@ func GetFlaggedPostsForTeam(userId, teamId string, offset int, limit int) (*mode
}
}
func GetPermalinkPost(postId string, userId string, siteURL string) (*model.PostList, *model.AppError) {
func GetPermalinkPost(postId string, userId string) (*model.PostList, *model.AppError) {
if result := <-Srv.Store.Post().Get(postId); result.Err != nil {
return nil, result.Err
} else {
@@ -422,7 +422,7 @@ func GetPermalinkPost(postId string, userId string, siteURL string) (*model.Post
return nil, err
}
if err = JoinChannel(channel, userId, siteURL); err != nil {
if err = JoinChannel(channel, userId); err != nil {
return nil, err
}

Просмотреть файл

@@ -160,7 +160,7 @@ func SlackAddUsers(teamId string, slackusers []SlackUser, log *bytes.Buffer) map
if result := <-Srv.Store.User().GetByEmail(email); result.Err == nil {
existingUser := result.Data.(*model.User)
addedUsers[sUser.Id] = existingUser
if err := JoinUserToTeam(team, addedUsers[sUser.Id], utils.GetSiteURL()); err != nil {
if err := JoinUserToTeam(team, addedUsers[sUser.Id]); err != nil {
log.WriteString(utils.T("api.slackimport.slack_add_users.merge_existing_failed", map[string]interface{}{"Email": existingUser.Email, "Username": existingUser.Username}))
} else {
log.WriteString(utils.T("api.slackimport.slack_add_users.merge_existing", map[string]interface{}{"Email": existingUser.Email, "Username": existingUser.Username}))

Просмотреть файл

@@ -29,7 +29,7 @@ func CreateTeam(team *model.Team) (*model.Team, *model.AppError) {
}
}
func CreateTeamWithUser(team *model.Team, userId string, siteURL string) (*model.Team, *model.AppError) {
func CreateTeamWithUser(team *model.Team, userId string) (*model.Team, *model.AppError) {
var user *model.User
var err *model.AppError
if user, err = GetUser(userId); err != nil {
@@ -47,7 +47,7 @@ func CreateTeamWithUser(team *model.Team, userId string, siteURL string) (*model
return nil, err
}
if err = JoinUserToTeam(rteam, user, siteURL); err != nil {
if err = JoinUserToTeam(rteam, user); err != nil {
return nil, err
}
@@ -161,7 +161,7 @@ func UpdateTeamMemberRoles(teamId string, userId string, newRoles string) (*mode
return member, nil
}
func AddUserToTeam(teamId string, userId string, siteURL string) (*model.Team, *model.AppError) {
func AddUserToTeam(teamId string, userId string) (*model.Team, *model.AppError) {
tchan := Srv.Store.Team().Get(teamId)
uchan := Srv.Store.User().Get(userId)
@@ -179,22 +179,22 @@ func AddUserToTeam(teamId string, userId string, siteURL string) (*model.Team, *
user = result.Data.(*model.User)
}
if err := JoinUserToTeam(team, user, siteURL); err != nil {
if err := JoinUserToTeam(team, user); err != nil {
return nil, err
}
return team, nil
}
func AddUserToTeamByTeamId(teamId string, user *model.User, siteURL string) *model.AppError {
func AddUserToTeamByTeamId(teamId string, user *model.User) *model.AppError {
if result := <-Srv.Store.Team().Get(teamId); result.Err != nil {
return result.Err
} else {
return JoinUserToTeam(result.Data.(*model.Team), user, siteURL)
return JoinUserToTeam(result.Data.(*model.Team), user)
}
}
func AddUserToTeamByHash(userId string, hash string, data string, siteURL string) (*model.Team, *model.AppError) {
func AddUserToTeamByHash(userId string, hash string, data string) (*model.Team, *model.AppError) {
props := model.MapFromJson(strings.NewReader(data))
if !model.ComparePassword(hash, fmt.Sprintf("%v:%v", data, utils.Cfg.EmailSettings.InviteSalt)) {
@@ -223,14 +223,14 @@ func AddUserToTeamByHash(userId string, hash string, data string, siteURL string
user = result.Data.(*model.User)
}
if err := JoinUserToTeam(team, user, siteURL); err != nil {
if err := JoinUserToTeam(team, user); err != nil {
return nil, err
}
return team, nil
}
func AddUserToTeamByInviteId(inviteId string, userId string, siteURL string) (*model.Team, *model.AppError) {
func AddUserToTeamByInviteId(inviteId string, userId string) (*model.Team, *model.AppError) {
tchan := Srv.Store.Team().GetByInviteId(inviteId)
uchan := Srv.Store.User().Get(userId)
@@ -248,7 +248,7 @@ func AddUserToTeamByInviteId(inviteId string, userId string, siteURL string) (*m
user = result.Data.(*model.User)
}
if err := JoinUserToTeam(team, user, siteURL); err != nil {
if err := JoinUserToTeam(team, user); err != nil {
return nil, err
}
@@ -293,7 +293,7 @@ func joinUserToTeam(team *model.Team, user *model.User) (bool, *model.AppError)
return false, nil
}
func JoinUserToTeam(team *model.Team, user *model.User, siteURL string) *model.AppError {
func JoinUserToTeam(team *model.Team, user *model.User) *model.AppError {
if alreadyAdded, err := joinUserToTeam(team, user); err != nil {
return err
@@ -308,7 +308,7 @@ func JoinUserToTeam(team *model.Team, user *model.User, siteURL string) *model.A
}
// Soft error if there is an issue joining the default channels
if err := JoinDefaultChannels(team.Id, user, channelRole, siteURL); err != nil {
if err := JoinDefaultChannels(team.Id, user, channelRole); err != nil {
l4g.Error(utils.T("api.user.create_user.joining.error"), user.Id, team.Id, err)
}
@@ -431,8 +431,8 @@ func GetTeamMembersByIds(teamId string, userIds []string) ([]*model.TeamMember,
}
}
func AddTeamMember(teamId, userId, siteURL string) (*model.TeamMember, *model.AppError) {
if _, err := AddUserToTeam(teamId, userId, siteURL); err != nil {
func AddTeamMember(teamId, userId string) (*model.TeamMember, *model.AppError) {
if _, err := AddUserToTeam(teamId, userId); err != nil {
return nil, err
}
@@ -450,11 +450,11 @@ func AddTeamMember(teamId, userId, siteURL string) (*model.TeamMember, *model.Ap
return teamMember, nil
}
func AddTeamMembers(teamId string, userIds []string, siteURL string) ([]*model.TeamMember, *model.AppError) {
func AddTeamMembers(teamId string, userIds []string) ([]*model.TeamMember, *model.AppError) {
var members []*model.TeamMember
for _, userId := range userIds {
if _, err := AddUserToTeam(teamId, userId, siteURL); err != nil {
if _, err := AddUserToTeam(teamId, userId); err != nil {
return nil, err
}
@@ -473,11 +473,11 @@ func AddTeamMembers(teamId string, userIds []string, siteURL string) ([]*model.T
return members, nil
}
func AddTeamMemberByHash(userId, hash, data, siteURL string) (*model.TeamMember, *model.AppError) {
func AddTeamMemberByHash(userId, hash, data string) (*model.TeamMember, *model.AppError) {
var team *model.Team
var err *model.AppError
if team, err = AddUserToTeamByHash(userId, hash, data, siteURL); err != nil {
if team, err = AddUserToTeamByHash(userId, hash, data); err != nil {
return nil, err
}
@@ -488,11 +488,11 @@ func AddTeamMemberByHash(userId, hash, data, siteURL string) (*model.TeamMember,
}
}
func AddTeamMemberByInviteId(inviteId, userId, siteURL string) (*model.TeamMember, *model.AppError) {
func AddTeamMemberByInviteId(inviteId, userId string) (*model.TeamMember, *model.AppError) {
var team *model.Team
var err *model.AppError
if team, err = AddUserToTeamByInviteId(inviteId, userId, siteURL); err != nil {
if team, err = AddUserToTeamByInviteId(inviteId, userId); err != nil {
return nil, err
}
@@ -610,7 +610,7 @@ func LeaveTeam(team *model.Team, user *model.User) *model.AppError {
return nil
}
func InviteNewUsersToTeam(emailList []string, teamId, senderId, siteURL string) *model.AppError {
func InviteNewUsersToTeam(emailList []string, teamId, senderId string) *model.AppError {
if len(emailList) == 0 {
err := model.NewLocAppError("InviteNewUsersToTeam", "api.team.invite_members.no_one.app_error", nil, "")
err.StatusCode = http.StatusBadRequest
@@ -634,7 +634,7 @@ func InviteNewUsersToTeam(emailList []string, teamId, senderId, siteURL string)
user = result.Data.(*model.User)
}
SendInviteEmails(team, user.GetDisplayName(), emailList, siteURL)
SendInviteEmails(team, user.GetDisplayName(), emailList, utils.GetSiteURL())
return nil
}

Просмотреть файл

@@ -8,7 +8,6 @@ import (
"testing"
"github.com/mattermost/platform/model"
"github.com/mattermost/platform/utils"
)
func TestCreateTeam(t *testing.T) {
@@ -43,12 +42,12 @@ func TestCreateTeamWithUser(t *testing.T) {
Type: model.TEAM_OPEN,
}
if _, err := CreateTeamWithUser(team, th.BasicUser.Id, utils.GetSiteURL()); err != nil {
if _, err := CreateTeamWithUser(team, th.BasicUser.Id); err != nil {
t.Log(err)
t.Fatal("Should create a new team with existing user")
}
if _, err := CreateTeamWithUser(team, model.NewId(), utils.GetSiteURL()); err == nil {
if _, err := CreateTeamWithUser(team, model.NewId()); err == nil {
t.Fatal("Should not create a new team - user does not exist")
}
@@ -64,7 +63,7 @@ func TestCreateTeamWithUser(t *testing.T) {
}
//Fail to create a team with user when user has set email without domain
if _, err := CreateTeamWithUser(team2, ruser.Id, utils.GetSiteURL()); err == nil {
if _, err := CreateTeamWithUser(team2, ruser.Id); err == nil {
t.Log(err.Message)
t.Fatal("Should not create a team with user when user has set email without domain")
} else {
@@ -96,7 +95,7 @@ func TestAddUserToTeam(t *testing.T) {
user := model.User{Email: strings.ToLower(model.NewId()) + "success+test@example.com", Nickname: "Darth Vader", Username: "vader" + model.NewId(), Password: "passwd1", AuthService: ""}
ruser, _ := CreateUser(&user)
if _, err := AddUserToTeam(th.BasicTeam.Id, ruser.Id, utils.GetSiteURL()); err != nil {
if _, err := AddUserToTeam(th.BasicTeam.Id, ruser.Id); err != nil {
t.Log(err)
t.Fatal("Should add user to the team")
}
@@ -108,7 +107,7 @@ func TestAddUserToTeamByTeamId(t *testing.T) {
user := model.User{Email: strings.ToLower(model.NewId()) + "success+test@example.com", Nickname: "Darth Vader", Username: "vader" + model.NewId(), Password: "passwd1", AuthService: ""}
ruser, _ := CreateUser(&user)
if err := AddUserToTeamByTeamId(th.BasicTeam.Id, ruser, utils.GetSiteURL()); err != nil {
if err := AddUserToTeamByTeamId(th.BasicTeam.Id, ruser); err != nil {
t.Log(err)
t.Fatal("Should add user to the team")
}

Просмотреть файл

@@ -30,7 +30,7 @@ import (
"github.com/mattermost/platform/utils"
)
func CreateUserWithHash(user *model.User, hash string, data string, siteURL string) (*model.User, *model.AppError) {
func CreateUserWithHash(user *model.User, hash string, data string) (*model.User, *model.AppError) {
if err := IsUserSignUpAllowed(); err != nil {
return nil, err
}
@@ -63,7 +63,7 @@ func CreateUserWithHash(user *model.User, hash string, data string, siteURL stri
return nil, err
}
if err := JoinUserToTeam(team, ruser, siteURL); err != nil {
if err := JoinUserToTeam(team, ruser); err != nil {
return nil, err
}
@@ -72,7 +72,7 @@ func CreateUserWithHash(user *model.User, hash string, data string, siteURL stri
return ruser, nil
}
func CreateUserWithInviteId(user *model.User, inviteId string, siteURL string) (*model.User, *model.AppError) {
func CreateUserWithInviteId(user *model.User, inviteId string) (*model.User, *model.AppError) {
if err := IsUserSignUpAllowed(); err != nil {
return nil, err
}
@@ -92,33 +92,33 @@ func CreateUserWithInviteId(user *model.User, inviteId string, siteURL string) (
return nil, err
}
if err := JoinUserToTeam(team, ruser, siteURL); err != nil {
if err := JoinUserToTeam(team, ruser); err != nil {
return nil, err
}
AddDirectChannels(team.Id, ruser)
if err := SendWelcomeEmail(ruser.Id, ruser.Email, ruser.EmailVerified, ruser.Locale, siteURL); err != nil {
if err := SendWelcomeEmail(ruser.Id, ruser.Email, ruser.EmailVerified, ruser.Locale, utils.GetSiteURL()); err != nil {
l4g.Error(err.Error())
}
return ruser, nil
}
func CreateUserAsAdmin(user *model.User, siteURL string) (*model.User, *model.AppError) {
func CreateUserAsAdmin(user *model.User) (*model.User, *model.AppError) {
ruser, err := CreateUser(user)
if err != nil {
return nil, err
}
if err := SendWelcomeEmail(ruser.Id, ruser.Email, ruser.EmailVerified, ruser.Locale, siteURL); err != nil {
if err := SendWelcomeEmail(ruser.Id, ruser.Email, ruser.EmailVerified, ruser.Locale, utils.GetSiteURL()); err != nil {
l4g.Error(err.Error())
}
return ruser, nil
}
func CreateUserFromSignup(user *model.User, siteURL string) (*model.User, *model.AppError) {
func CreateUserFromSignup(user *model.User) (*model.User, *model.AppError) {
if err := IsUserSignUpAllowed(); err != nil {
return nil, err
}
@@ -136,7 +136,7 @@ func CreateUserFromSignup(user *model.User, siteURL string) (*model.User, *model
return nil, err
}
if err := SendWelcomeEmail(ruser.Id, ruser.Email, ruser.EmailVerified, ruser.Locale, siteURL); err != nil {
if err := SendWelcomeEmail(ruser.Id, ruser.Email, ruser.EmailVerified, ruser.Locale, utils.GetSiteURL()); err != nil {
l4g.Error(err.Error())
}
@@ -230,7 +230,7 @@ func createUser(user *model.User) (*model.User, *model.AppError) {
}
}
func CreateOAuthUser(service string, userData io.Reader, teamId string, siteURL string) (*model.User, *model.AppError) {
func CreateOAuthUser(service string, userData io.Reader, teamId string) (*model.User, *model.AppError) {
if !utils.Cfg.TeamSettings.EnableUserCreation {
return nil, model.NewAppError("CreateOAuthUser", "api.user.create_user.disabled.app_error", nil, "", http.StatusNotImplemented)
}
@@ -282,7 +282,7 @@ func CreateOAuthUser(service string, userData io.Reader, teamId string, siteURL
}
if len(teamId) > 0 {
err = AddUserToTeamByTeamId(teamId, user, siteURL)
err = AddUserToTeamByTeamId(teamId, user)
if err != nil {
return nil, err
}
@@ -841,7 +841,7 @@ func SetProfileImage(userId string, imageData *multipart.FileHeader) *model.AppE
return nil
}
func UpdatePasswordAsUser(userId, currentPassword, newPassword, siteURL string) *model.AppError {
func UpdatePasswordAsUser(userId, currentPassword, newPassword string) *model.AppError {
var user *model.User
var err *model.AppError
@@ -868,7 +868,7 @@ func UpdatePasswordAsUser(userId, currentPassword, newPassword, siteURL string)
T := utils.GetUserTranslations(user.Locale)
if err := UpdatePasswordSendEmail(user, newPassword, T("api.user.update_password.menu"), siteURL); err != nil {
if err := UpdatePasswordSendEmail(user, newPassword, T("api.user.update_password.menu")); err != nil {
return err
}
@@ -934,8 +934,8 @@ func SanitizeProfile(user *model.User, asAdmin bool) {
user.SanitizeProfile(options)
}
func UpdateUserAsUser(user *model.User, siteURL string, asAdmin bool) (*model.User, *model.AppError) {
updatedUser, err := UpdateUser(user, siteURL, true)
func UpdateUserAsUser(user *model.User, asAdmin bool) (*model.User, *model.AppError) {
updatedUser, err := UpdateUser(user, true)
if err != nil {
return nil, err
}
@@ -947,7 +947,7 @@ func UpdateUserAsUser(user *model.User, siteURL string, asAdmin bool) (*model.Us
return updatedUser, nil
}
func PatchUser(userId string, patch *model.UserPatch, siteURL string, asAdmin bool) (*model.User, *model.AppError) {
func PatchUser(userId string, patch *model.UserPatch, asAdmin bool) (*model.User, *model.AppError) {
user, err := GetUser(userId)
if err != nil {
return nil, err
@@ -955,7 +955,7 @@ func PatchUser(userId string, patch *model.UserPatch, siteURL string, asAdmin bo
user.Patch(patch)
updatedUser, err := UpdateUser(user, siteURL, true)
updatedUser, err := UpdateUser(user, true)
if err != nil {
return nil, err
}
@@ -975,7 +975,7 @@ func sendUpdatedUserEvent(user *model.User) {
go Publish(message)
}
func UpdateUser(user *model.User, siteURL string, sendNotifications bool) (*model.User, *model.AppError) {
func UpdateUser(user *model.User, sendNotifications bool) (*model.User, *model.AppError) {
if result := <-Srv.Store.User().Update(user, false); result.Err != nil {
return nil, result.Err
} else {
@@ -984,14 +984,14 @@ func UpdateUser(user *model.User, siteURL string, sendNotifications bool) (*mode
if sendNotifications {
if rusers[0].Email != rusers[1].Email {
go func() {
if err := SendEmailChangeEmail(rusers[1].Email, rusers[0].Email, rusers[0].Locale, siteURL); err != nil {
if err := SendEmailChangeEmail(rusers[1].Email, rusers[0].Email, rusers[0].Locale, utils.GetSiteURL()); err != nil {
l4g.Error(err.Error())
}
}()
if utils.Cfg.EmailSettings.RequireEmailVerification {
go func() {
if err := SendEmailChangeVerifyEmail(rusers[0].Id, rusers[0].Email, rusers[0].Locale, siteURL); err != nil {
if err := SendEmailChangeVerifyEmail(rusers[0].Id, rusers[0].Email, rusers[0].Locale, utils.GetSiteURL()); err != nil {
l4g.Error(err.Error())
}
}()
@@ -1000,7 +1000,7 @@ func UpdateUser(user *model.User, siteURL string, sendNotifications bool) (*mode
if rusers[0].Username != rusers[1].Username {
go func() {
if err := SendChangeUsernameEmail(rusers[1].Username, rusers[0].Username, rusers[0].Email, rusers[0].Locale, siteURL); err != nil {
if err := SendChangeUsernameEmail(rusers[1].Username, rusers[0].Username, rusers[0].Email, rusers[0].Locale, utils.GetSiteURL()); err != nil {
l4g.Error(err.Error())
}
}()
@@ -1013,7 +1013,7 @@ func UpdateUser(user *model.User, siteURL string, sendNotifications bool) (*mode
}
}
func UpdateUserNotifyProps(userId string, props map[string]string, siteURL string) (*model.User, *model.AppError) {
func UpdateUserNotifyProps(userId string, props map[string]string) (*model.User, *model.AppError) {
var user *model.User
var err *model.AppError
if user, err = GetUser(userId); err != nil {
@@ -1023,14 +1023,14 @@ func UpdateUserNotifyProps(userId string, props map[string]string, siteURL strin
user.NotifyProps = props
var ruser *model.User
if ruser, err = UpdateUser(user, siteURL, true); err != nil {
if ruser, err = UpdateUser(user, true); err != nil {
return nil, err
}
return ruser, nil
}
func UpdateMfa(activate bool, userId, token, siteUrl string) *model.AppError {
func UpdateMfa(activate bool, userId, token string) *model.AppError {
if activate {
if err := ActivateMfa(userId, token); err != nil {
return err
@@ -1050,7 +1050,7 @@ func UpdateMfa(activate bool, userId, token, siteUrl string) *model.AppError {
return
}
if err := SendMfaChangeEmail(user.Email, activate, user.Locale, siteUrl); err != nil {
if err := SendMfaChangeEmail(user.Email, activate, user.Locale, utils.GetSiteURL()); err != nil {
l4g.Error(err.Error())
}
}()
@@ -1058,14 +1058,14 @@ func UpdateMfa(activate bool, userId, token, siteUrl string) *model.AppError {
return nil
}
func UpdatePasswordByUserIdSendEmail(userId, newPassword, method, siteURL string) *model.AppError {
func UpdatePasswordByUserIdSendEmail(userId, newPassword, method string) *model.AppError {
var user *model.User
var err *model.AppError
if user, err = GetUser(userId); err != nil {
return err
}
return UpdatePasswordSendEmail(user, newPassword, method, siteURL)
return UpdatePasswordSendEmail(user, newPassword, method)
}
func UpdatePassword(user *model.User, newPassword string) *model.AppError {
@@ -1082,13 +1082,13 @@ func UpdatePassword(user *model.User, newPassword string) *model.AppError {
return nil
}
func UpdatePasswordSendEmail(user *model.User, newPassword, method, siteURL string) *model.AppError {
func UpdatePasswordSendEmail(user *model.User, newPassword, method string) *model.AppError {
if err := UpdatePassword(user, newPassword); err != nil {
return err
}
go func() {
if err := SendPasswordChangeEmail(user.Email, method, user.Locale, siteURL); err != nil {
if err := SendPasswordChangeEmail(user.Email, method, user.Locale, utils.GetSiteURL()); err != nil {
l4g.Error(err.Error())
}
}()
@@ -1096,7 +1096,7 @@ func UpdatePasswordSendEmail(user *model.User, newPassword, method, siteURL stri
return nil
}
func ResetPasswordFromCode(code, newPassword, siteURL string) *model.AppError {
func ResetPasswordFromCode(code, newPassword string) *model.AppError {
var recovery *model.PasswordRecovery
var err *model.AppError
if recovery, err = GetPasswordRecovery(code); err != nil {
@@ -1118,7 +1118,7 @@ func ResetPasswordFromCode(code, newPassword, siteURL string) *model.AppError {
T := utils.GetUserTranslations(user.Locale)
if err := UpdatePasswordSendEmail(user, newPassword, T("api.user.reset_password.method"), siteURL); err != nil {
if err := UpdatePasswordSendEmail(user, newPassword, T("api.user.reset_password.method")); err != nil {
return err
}
@@ -1427,7 +1427,7 @@ func AutocompleteUsersInTeam(teamId string, term string, searchOptions map[strin
return autocomplete, nil
}
func UpdateOAuthUserAttrs(userData io.Reader, user *model.User, provider einterfaces.OauthProvider, service string, siteURL string) *model.AppError {
func UpdateOAuthUserAttrs(userData io.Reader, user *model.User, provider einterfaces.OauthProvider, service string) *model.AppError {
oauthUser := provider.GetUserFromJson(userData)
if oauthUser == nil {

Просмотреть файл

@@ -70,7 +70,7 @@ func TestCreateOAuthUser(t *testing.T) {
glUser := oauthgitlab.GitLabUser{Id: int64(r.Intn(1000)), Username: "joram" + model.NewId(), Email: model.NewId() + "@simulator.amazonses.com", Name: "Joram Wilander"}
json := glUser.ToJson()
user, err := CreateOAuthUser(model.USER_AUTH_SERVICE_GITLAB, strings.NewReader(json), th.BasicTeam.Id, utils.GetSiteURL())
user, err := CreateOAuthUser(model.USER_AUTH_SERVICE_GITLAB, strings.NewReader(json), th.BasicTeam.Id)
if err != nil {
t.Fatal(err)
}
@@ -87,7 +87,7 @@ func TestCreateOAuthUser(t *testing.T) {
}()
utils.Cfg.TeamSettings.EnableUserCreation = false
_, err = CreateOAuthUser(model.USER_AUTH_SERVICE_GITLAB, strings.NewReader(json), th.BasicTeam.Id, utils.GetSiteURL())
_, err = CreateOAuthUser(model.USER_AUTH_SERVICE_GITLAB, strings.NewReader(json), th.BasicTeam.Id)
if err == nil {
t.Fatal("should have failed - user creation disabled")
}
@@ -138,7 +138,7 @@ func TestUpdateOAuthUserAttrs(t *testing.T) {
data := bytes.NewReader(gitlabUser)
user = getUserFromDB(user.Id, t)
UpdateOAuthUserAttrs(data, user, gitlabProvider, "gitlab", "http://localhost:8065")
UpdateOAuthUserAttrs(data, user, gitlabProvider, "gitlab")
user = getUserFromDB(user.Id, t)
if user.Username != gitlabUserObj.Username {
@@ -153,7 +153,7 @@ func TestUpdateOAuthUserAttrs(t *testing.T) {
data := bytes.NewReader(gitlabUser)
user = getUserFromDB(user.Id, t)
UpdateOAuthUserAttrs(data, user, gitlabProvider, "gitlab", "http://localhost:8065")
UpdateOAuthUserAttrs(data, user, gitlabProvider, "gitlab")
user = getUserFromDB(user.Id, t)
if user.Username == gitlabUserObj.Username {
@@ -169,7 +169,7 @@ func TestUpdateOAuthUserAttrs(t *testing.T) {
data := bytes.NewReader(gitlabUser)
user = getUserFromDB(user.Id, t)
UpdateOAuthUserAttrs(data, user, gitlabProvider, "gitlab", "http://localhost:8065")
UpdateOAuthUserAttrs(data, user, gitlabProvider, "gitlab")
user = getUserFromDB(user.Id, t)
if user.Email != gitlabUserObj.Email {
@@ -188,7 +188,7 @@ func TestUpdateOAuthUserAttrs(t *testing.T) {
data := bytes.NewReader(gitlabUser)
user = getUserFromDB(user.Id, t)
UpdateOAuthUserAttrs(data, user, gitlabProvider, "gitlab", "http://localhost:8065")
UpdateOAuthUserAttrs(data, user, gitlabProvider, "gitlab")
user = getUserFromDB(user.Id, t)
if user.Email == gitlabUserObj.Email {
@@ -203,7 +203,7 @@ func TestUpdateOAuthUserAttrs(t *testing.T) {
data := bytes.NewReader(gitlabUser)
user = getUserFromDB(user.Id, t)
UpdateOAuthUserAttrs(data, user, gitlabProvider, "gitlab", "http://localhost:8065")
UpdateOAuthUserAttrs(data, user, gitlabProvider, "gitlab")
user = getUserFromDB(user.Id, t)
if user.FirstName != "Updated" {
@@ -217,7 +217,7 @@ func TestUpdateOAuthUserAttrs(t *testing.T) {
data := bytes.NewReader(gitlabUser)
user = getUserFromDB(user.Id, t)
UpdateOAuthUserAttrs(data, user, gitlabProvider, "gitlab", "http://localhost:8065")
UpdateOAuthUserAttrs(data, user, gitlabProvider, "gitlab")
user = getUserFromDB(user.Id, t)
if user.LastName != "Lastname" {
@@ -253,7 +253,7 @@ func createGitlabUser(t *testing.T, email string, username string) (*model.User,
var user *model.User
var err *model.AppError
if user, err = CreateOAuthUser("gitlab", bytes.NewReader(gitlabUser), "", utils.GetSiteURL()); err != nil {
if user, err = CreateOAuthUser("gitlab", bytes.NewReader(gitlabUser), ""); err != nil {
t.Fatal("unable to create the user")
}

Просмотреть файл

@@ -24,7 +24,7 @@ const (
TRIGGERWORDS_STARTSWITH = 1
)
func handleWebhookEvents(post *model.Post, team *model.Team, channel *model.Channel, user *model.User, siteURL string) *model.AppError {
func handleWebhookEvents(post *model.Post, team *model.Team, channel *model.Channel, user *model.User) *model.AppError {
if !utils.Cfg.ServiceSettings.EnableOutgoingWebhooks {
return nil
}
@@ -107,7 +107,7 @@ func handleWebhookEvents(post *model.Post, team *model.Team, channel *model.Chan
respProps := model.MapFromJson(resp.Body)
if text, ok := respProps["text"]; ok {
if _, err := CreateWebhookPost(hook.CreatorId, hook.TeamId, post.ChannelId, text, respProps["username"], respProps["icon_url"], post.Props, post.Type, siteURL); err != nil {
if _, err := CreateWebhookPost(hook.CreatorId, hook.TeamId, post.ChannelId, text, respProps["username"], respProps["icon_url"], post.Props, post.Type); err != nil {
l4g.Error(utils.T("api.post.handle_webhook_events_and_forget.create_post.error"), err)
}
}
@@ -121,7 +121,7 @@ func handleWebhookEvents(post *model.Post, team *model.Team, channel *model.Chan
return nil
}
func CreateWebhookPost(userId, teamId, channelId, text, overrideUsername, overrideIconUrl string, props model.StringInterface, postType string, siteURL string) (*model.Post, *model.AppError) {
func CreateWebhookPost(userId, teamId, channelId, text, overrideUsername, overrideIconUrl string, props model.StringInterface, postType string) (*model.Post, *model.AppError) {
// parse links into Markdown format
linkWithTextRegex := regexp.MustCompile(`<([^<\|]+)\|([^>]+)>`)
text = linkWithTextRegex.ReplaceAllString(text, "[${2}](${1})")
@@ -159,7 +159,7 @@ func CreateWebhookPost(userId, teamId, channelId, text, overrideUsername, overri
}
}
if _, err := CreatePost(post, teamId, false, siteURL); err != nil {
if _, err := CreatePost(post, teamId, false); err != nil {
return nil, model.NewLocAppError("CreateWebhookPost", "api.post.create_webhook_post.creating.app_error", nil, "err="+err.Message)
}
@@ -423,7 +423,7 @@ func RegenOutgoingWebhookToken(hook *model.OutgoingWebhook) (*model.OutgoingWebh
}
}
func HandleIncomingWebhook(hookId string, req *model.IncomingWebhookRequest, siteURL string) *model.AppError {
func HandleIncomingWebhook(hookId string, req *model.IncomingWebhookRequest) *model.AppError {
if !utils.Cfg.ServiceSettings.EnableIncomingWebhooks {
return model.NewAppError("HandleIncomingWebhook", "web.incoming_webhook.disabled.app_error", nil, "", http.StatusNotImplemented)
}
@@ -514,7 +514,7 @@ func HandleIncomingWebhook(hookId string, req *model.IncomingWebhookRequest, sit
return model.NewAppError("HandleIncomingWebhook", "web.incoming_webhook.permissions.app_error", nil, "", http.StatusForbidden)
}
if _, err := CreateWebhookPost(hook.UserId, hook.TeamId, channel.Id, text, overrideUsername, overrideIconUrl, req.Props, webhookType, siteURL); err != nil {
if _, err := CreateWebhookPost(hook.UserId, hook.TeamId, channel.Id, text, overrideUsername, overrideIconUrl, req.Props, webhookType); err != nil {
return err
}

Просмотреть файл

@@ -166,7 +166,7 @@ func removeUserFromChannel(channel *model.Channel, user *model.User, userArg str
CommandPrintErrorln("Can't find user '" + userArg + "'")
return
}
if err := app.RemoveUserFromChannel(user.Id, "", channel, utils.GetSiteURL()); err != nil {
if err := app.RemoveUserFromChannel(user.Id, "", channel); err != nil {
CommandPrintErrorln("Unable to remove '" + userArg + "' from " + channel.Name + ". Error: " + err.Error())
}
}

Просмотреть файл

@@ -8,7 +8,6 @@ import (
"github.com/mattermost/platform/app"
"github.com/mattermost/platform/model"
"github.com/mattermost/platform/utils"
"github.com/spf13/cobra"
)
@@ -155,7 +154,7 @@ func addUserToTeam(team *model.Team, user *model.User, userArg string) {
CommandPrintErrorln("Can't find user '" + userArg + "'")
return
}
if err := app.JoinUserToTeam(team, user, utils.GetSiteURL()); err != nil {
if err := app.JoinUserToTeam(team, user); err != nil {
CommandPrintErrorln("Unable to add '" + userArg + "' to " + team.Name)
}
}

Просмотреть файл

@@ -1,6 +1,6 @@
{
"ServiceSettings": {
"SiteURL": "",
"SiteURL": "http://localhost:8065",
"ListenAddress": ":8065",
"ConnectionSecurity": "",
"TLSCertFile": "",
@@ -55,10 +55,10 @@
"CustomDescriptionText": "",
"RestrictDirectMessage": "any",
"RestrictTeamInvite": "all",
"RestrictPublicChannelCreation": "all",
"RestrictPrivateChannelCreation": "all",
"RestrictPublicChannelManagement": "all",
"RestrictPrivateChannelManagement": "all",
"RestrictPublicChannelCreation": "all",
"RestrictPrivateChannelCreation": "all",
"RestrictPublicChannelDeletion": "all",
"RestrictPrivateChannelDeletion": "all",
"RestrictPrivateChannelManageMembers": "all",

Просмотреть файл

@@ -10,7 +10,7 @@ import (
type SamlInterface interface {
ConfigureSP() *model.AppError
BuildRequest(relayState string) (*model.SamlAuthRequest, *model.AppError)
DoLogin(encodedXML string, relayState map[string]string, siteURL string) (*model.User, *model.AppError)
DoLogin(encodedXML string, relayState map[string]string) (*model.User, *model.AppError)
GetMetadata() (string, *model.AppError)
}

Просмотреть файл

@@ -72,7 +72,7 @@ func TestIncomingWebhook(t *testing.T) {
team := &model.Team{DisplayName: "Name", Name: "z-z-" + model.NewId() + "a", Email: "test@nowhere.com", Type: model.TEAM_OPEN}
team = ApiClient.Must(ApiClient.CreateTeam(team)).Data.(*model.Team)
app.JoinUserToTeam(team, user, utils.GetSiteURL())
app.JoinUserToTeam(team, user)
app.UpdateUserRoles(user.Id, model.ROLE_SYSTEM_ADMIN.Id)
ApiClient.SetTeamId(team.Id)

Просмотреть файл

@@ -69,6 +69,10 @@ export default class AdminSettings extends React.Component {
if (callback) {
callback();
}
if (this.handleSaved) {
this.handleSaved(config);
}
},
(err) => {
this.setState({
@@ -79,6 +83,10 @@ export default class AdminSettings extends React.Component {
if (callback) {
callback();
}
if (this.handleSaved) {
this.handleSaved(config);
}
}
);
}

Просмотреть файл

@@ -2,18 +2,20 @@
// See License.txt for license information.
import React from 'react';
import {FormattedMessage} from 'react-intl';
import ErrorStore from 'stores/error_store.jsx';
import * as Utils from 'utils/utils.jsx';
import AdminSettings from './admin_settings.jsx';
import {FormattedMessage, FormattedHTMLMessage} from 'react-intl';
import BooleanSetting from './boolean_setting.jsx';
import {ConnectionSecurityDropdownSettingWebserver} from './connection_security_dropdown_setting.jsx';
import PurgeCachesButton from './purge_caches.jsx';
import ReloadConfigButton from './reload_config.jsx';
import SettingsGroup from './settings_group.jsx';
import TextSetting from './text_setting.jsx';
import ReloadConfigButton from './reload_config.jsx';
import PurgeCachesButton from './purge_caches.jsx';
import WebserverModeDropdownSetting from './webserver_mode_dropdown_setting.jsx';
import {ConnectionSecurityDropdownSettingWebserver} from './connection_security_dropdown_setting.jsx';
import BooleanSetting from './boolean_setting.jsx';
export default class ConfigurationSettings extends AdminSettings {
constructor(props) {
@@ -21,6 +23,8 @@ export default class ConfigurationSettings extends AdminSettings {
this.getConfigFromState = this.getConfigFromState.bind(this);
this.handleSaved = this.handleSaved.bind(this);
this.renderSettings = this.renderSettings.bind(this);
}
@@ -62,6 +66,14 @@ export default class ConfigurationSettings extends AdminSettings {
};
}
handleSaved(newConfig) {
const lastError = ErrorStore.getLastError();
if (lastError && lastError.message === 'error_bar.site_url' && newConfig.ServiceSettings.SiteURL) {
ErrorStore.clearLastError(true);
}
}
renderTitle() {
return (
<FormattedMessage
@@ -92,9 +104,9 @@ export default class ConfigurationSettings extends AdminSettings {
}
placeholder={Utils.localizeMessage('admin.service.siteURLExample', 'Ex "https://mattermost.example.com:1234"')}
helpText={
<FormattedHTMLMessage
<FormattedMessage
id='admin.service.siteURLDescription'
defaultMessage='The URL, including port number and protocol, that users will use to access Mattermost. This field can be left blank unless you are configuring email batching in <b>Notifications > Email</b>. When blank, the URL is automatically configured based on incoming traffic.'
defaultMessage='The URL, including port number and protocol, that users will use to access Mattermost. This setting is required.'
/>
}
value={this.state.siteURL}

Просмотреть файл

@@ -13,11 +13,13 @@ const StatTypes = Constants.StatTypes;
import React from 'react';
import {FormattedMessage, FormattedHTMLMessage} from 'react-intl';
import {Link} from 'react-router';
const EXPIRING_ERROR = 'error_bar.expiring';
const EXPIRED_ERROR = 'error_bar.expired';
const PAST_GRACE_ERROR = 'error_bar.past_grace';
const RENEWAL_LINK = 'https://licensing.mattermost.com/renew';
const SITE_URL_ERROR = 'error_bar.site_url';
const BAR_DEVELOPER_TYPE = 'developer';
const BAR_CRITICAL_TYPE = 'critical';
@@ -32,15 +34,31 @@ export default class ErrorBar extends React.Component {
ErrorStore.clearLastError();
this.setInitialError();
this.state = ErrorStore.getLastError();
}
setInitialError() {
let isSystemAdmin = false;
const user = UserStore.getCurrentUser();
if (user) {
isSystemAdmin = Utils.isSystemAdmin(user.roles);
}
if (!ErrorStore.getIgnoreNotification() && global.window.mm_config.SendEmailNotifications === 'false') {
ErrorStore.storeLastError({notification: true, message: Utils.localizeMessage('error_bar.preview_mode', 'Preview Mode: Email notifications have not been configured')});
} else if (isLicensePastGracePeriod()) {
const errorIgnored = ErrorStore.getIgnoreNotification();
if (!errorIgnored) {
if (global.mm_config.SendEmailNotifications === 'false') {
ErrorStore.storeLastError({notification: true, message: Utils.localizeMessage('error_bar.preview_mode', 'Preview Mode: Email notifications have not been configured')});
return;
} else if (isSystemAdmin && global.mm_config.SiteURL === '') {
ErrorStore.storeLastError({notification: true, message: SITE_URL_ERROR});
return;
}
}
if (isLicensePastGracePeriod()) {
if (isSystemAdmin) {
ErrorStore.storeLastError({notification: true, message: EXPIRED_ERROR, type: BAR_CRITICAL_TYPE});
} else {
@@ -51,8 +69,6 @@ export default class ErrorBar extends React.Component {
} else if (isLicenseExpiring() && isSystemAdmin) {
ErrorStore.storeLastError({notification: true, message: EXPIRING_ERROR});
}
this.state = ErrorStore.getLastError();
}
isValidError(s) {
@@ -157,6 +173,45 @@ export default class ErrorBar extends React.Component {
defaultMessage='Enterprise license is expired and some features may be disabled. Please contact your System Administrator for details.'
/>
);
} else if (message === SITE_URL_ERROR) {
let id;
let defaultMessage;
if (global.mm_config.EnableSignUpWithGitLab === 'true') {
id = 'error_bar.site_url_gitlab';
defaultMessage = '{docsLink} is now a required setting. Please configure it in the System Console or in gitlab.rb if you\'re using GitLab Mattermost.';
} else {
id = 'error_bar.site_url';
defaultMessage = '{docsLink} is now a required setting. Please configure it in {link}.';
}
message = (
<FormattedMessage
id={id}
defaultMessage={defaultMessage}
values={{
docsLink: (
<a
href='https://docs.mattermost.com/administration/config-settings.html#site-url'
rel='noopener noreferrer'
target='_blank'
>
<FormattedMessage
id='error_bar.site_url.docsLink'
defaultMessage='Site URL'
/>
</a>
),
link: (
<Link to='/admin_console/general/configuration'>
<FormattedMessage
id='error_bar.site_url.link'
defaultMessage='the System Console'
/>
</Link>
)
}}
/>
);
}
return (

Просмотреть файл

@@ -725,7 +725,7 @@
"admin.service.sessionCacheDesc": "The number of minutes to cache a session in memory.",
"admin.service.sessionDaysEx": "E.g.: \"30\"",
"admin.service.siteURL": "Site URL:",
"admin.service.siteURLDescription": "The URL, including port number and protocol, that users will use to access Mattermost. This field can be left blank unless you are configuring email batching in <b>Notifications > Email</b>. When blank, the URL is automatically configured based on incoming traffic.",
"admin.service.siteURLDescription": "The URL, including port number and protocol, that users will use to access Mattermost. This setting is required.",
"admin.service.siteURLExample": "E.g.: \"https://mattermost.example.com:1234\"",
"admin.service.ssoSessionDays": "Session length SSO (days):",
"admin.service.ssoSessionDaysDesc": "The number of days from the last time a user entered their credentials to the expiry of the user's session. If the authentication method is SAML or GitLab, the user may automatically be logged back in to Mattermost if they are already logged in to SAML or GitLab. After changing this setting, the setting will take effect after the next time the user enters their credentials.",
@@ -1310,6 +1310,10 @@
"error_bar.expiring": "Enterprise license expires on {date}. <a href='{link}' target='_blank'>Please renew.</a>",
"error_bar.past_grace": "Enterprise license is expired and some features may be disabled. Please contact your System Administrator for details.",
"error_bar.preview_mode": "Preview Mode: Email notifications have not been configured",
"error_bar.site_url": "{docsLink} is now a required setting. Please configure it in {link}.",
"error_bar.site_url.docsLink": "Site URL",
"error_bar.site_url.link": "the System Console",
"error_bar.site_url_gitlab": "{docsLink} is now a required setting. Please configure it in the System Console or in gitlab.rb if you're using GitLab Mattermost.",
"file_attachment.download": "Download",
"file_info_preview.size": "Size ",
"file_info_preview.type": "File type ",

Просмотреть файл

@@ -62,11 +62,11 @@ class ErrorStoreClass extends EventEmitter {
BrowserStore.setGlobalItem('last_error_conn', count);
}
clearLastError() {
clearLastError(force) {
var lastError = this.getLastError();
// preview message can only be cleared by clearNotificationError
if (lastError && lastError.notification) {
if (!force && lastError && lastError.notification) {
return;
}