summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorHarrison Healey <harrisonmhealey@gmail.com>2017-04-04 11:54:52 -0400
committerJoram Wilander <jwawilander@gmail.com>2017-04-04 11:54:52 -0400
commitc7bdce8a6641ed8d361a43b6004a351535c78423 (patch)
treef42d32d8a4d0cd4f702644dcb6a594f905f3f771
parent3a79e451ffe3ffe618311ee15b02dbebde6a77b0 (diff)
downloadchat-c7bdce8a6641ed8d361a43b6004a351535c78423.tar.gz
chat-c7bdce8a6641ed8d361a43b6004a351535c78423.tar.bz2
chat-c7bdce8a6641ed8d361a43b6004a351535c78423.zip
PLT-5900 Removed automatic configuration of SiteURL (#5952)
* Revert "PLT-5765 Passed SiteURL to SendNotifications (#5705)" This reverts commit a8e68bd8905972ae59de90fa33d5b3e3c274dc47. * Removed automatic configuration of SiteURL * Reverted unintentional config changes * Updated help text * Added link to docs in Site URL warning * Fixed merge conflict
-rw-r--r--Makefile1
-rw-r--r--api/admin.go2
-rw-r--r--api/apitestlib.go2
-rw-r--r--api/channel.go16
-rw-r--r--api/command.go2
-rw-r--r--api/context.go26
-rw-r--r--api/context_test.go8
-rw-r--r--api/file.go2
-rw-r--r--api/oauth.go16
-rw-r--r--api/post.go4
-rw-r--r--api/team.go10
-rw-r--r--api/user.go40
-rw-r--r--api/webhook.go2
-rw-r--r--api4/apitestlib.go2
-rw-r--r--api4/channel.go8
-rw-r--r--api4/channel_test.go2
-rw-r--r--api4/context.go31
-rw-r--r--api4/file.go2
-rw-r--r--api4/post.go2
-rw-r--r--api4/team.go12
-rw-r--r--api4/user.go26
-rw-r--r--app/apptestlib.go4
-rw-r--r--app/channel.go54
-rw-r--r--app/command.go6
-rw-r--r--app/command_echo.go2
-rw-r--r--app/command_invite_people.go2
-rw-r--r--app/command_join.go2
-rw-r--r--app/command_loadtest.go4
-rw-r--r--app/command_msg.go2
-rw-r--r--app/import.go4
-rw-r--r--app/notification.go10
-rw-r--r--app/notification_test.go5
-rw-r--r--app/post.go18
-rw-r--r--app/slackimport.go2
-rw-r--r--app/team.go44
-rw-r--r--app/team_test.go11
-rw-r--r--app/user.go64
-rw-r--r--app/user_test.go18
-rw-r--r--app/webhook.go12
-rw-r--r--cmd/platform/channel.go2
-rw-r--r--cmd/platform/team.go3
-rw-r--r--config/config.json6
-rw-r--r--einterfaces/saml.go2
-rw-r--r--web/web_test.go2
-rw-r--r--webapp/components/admin_console/admin_settings.jsx8
-rw-r--r--webapp/components/admin_console/configuration_settings.jsx26
-rw-r--r--webapp/components/error_bar.jsx65
-rwxr-xr-xwebapp/i18n/en.json6
-rw-r--r--webapp/stores/error_store.jsx4
49 files changed, 336 insertions, 268 deletions
diff --git a/Makefile b/Makefile
index ca12e6da1..580f0c34d 100644
--- a/Makefile
+++ b/Makefile
@@ -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
diff --git a/api/admin.go b/api/admin.go
index 59890c739..cb1b7efde 100644
--- a/api/admin.go
+++ b/api/admin.go
@@ -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
}
diff --git a/api/apitestlib.go b/api/apitestlib.go
index f1d06ec0f..e6d57503f 100644
--- a/api/apitestlib.go
+++ b/api/apitestlib.go
@@ -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()
diff --git a/api/channel.go b/api/channel.go
index d408e9478..0db3499e0 100644
--- a/api/channel.go
+++ b/api/channel.go
@@ -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
}
diff --git a/api/command.go b/api/command.go
index b97295160..75f37b9ff 100644
--- a/api/command.go
+++ b/api/command.go
@@ -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 {
diff --git a/api/context.go b/api/context.go
index 1b251eb53..ff6018920 100644
--- a/api/context.go
+++ b/api/context.go
@@ -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 {
diff --git a/api/context_test.go b/api/context_test.go
index cd6ca01aa..cd4d058cf 100644
--- a/api/context_test.go
+++ b/api/context_test.go
@@ -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)
}
}
diff --git a/api/file.go b/api/file.go
index 12219a2dc..54df78dd7 100644
--- a/api/file.go
+++ b/api/file.go
@@ -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))))
}
diff --git a/api/oauth.go b/api/oauth.go
index 754c49564..4a71500c4 100644
--- a/api/oauth.go
+++ b/api/oauth.go
@@ -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())
}
}()
diff --git a/api/post.go b/api/post.go
index b4c34bca2..27efcd44c 100644
--- a/api/post.go
+++ b/api/post.go
@@ -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) {
diff --git a/api/team.go b/api/team.go
index dda3b9d9d..ed46947a4 100644
--- a/api/team.go
+++ b/api/team.go
@@ -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
diff --git a/api/user.go b/api/user.go
index f5bed17ca..7f422b355 100644
--- a/api/user.go
+++ b/api/user.go
@@ -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
}
diff --git a/api/webhook.go b/api/webhook.go
index a86af98c0..12751943e 100644
--- a/api/webhook.go
+++ b/api/webhook.go
@@ -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
diff --git a/api4/apitestlib.go b/api4/apitestlib.go
index 863237367..eaeb827fc 100644
--- a/api4/apitestlib.go
+++ b/api4/apitestlib.go
@@ -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()
diff --git a/api4/channel.go b/api4/channel.go
index c9a6ac6c5..78d4cc733 100644
--- a/api4/channel.go
+++ b/api4/channel.go
@@ -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
}
diff --git a/api4/channel_test.go b/api4/channel_test.go
index 0496be495..c5deda83e 100644
--- a/api4/channel_test.go
+++ b/api4/channel_test.go
@@ -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")
}
diff --git a/api4/context.go b/api4/context.go
index 8f663431d..36a48eb9d 100644
--- a/api4/context.go
+++ b/api4/context.go
@@ -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 {
diff --git a/api4/file.go b/api4/file.go
index 6b649918f..e4bdbcc3c 100644
--- a/api4/file.go
+++ b/api4/file.go
@@ -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)))
}
diff --git a/api4/post.go b/api4/post.go
index f16a1ba3d..67cd325d9 100644
--- a/api4/post.go
+++ b/api4/post.go
@@ -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
diff --git a/api4/team.go b/api4/team.go
index 8da308a1c..9bde841ab 100644
--- a/api4/team.go
+++ b/api4/team.go
@@ -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
diff --git a/api4/user.go b/api4/user.go
index 593d704a5..b30d066ab 100644
--- a/api4/user.go
+++ b/api4/user.go
@@ -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)
diff --git a/app/apptestlib.go b/app/apptestlib.go
index 561c98ed2..41e234130 100644
--- a/app/apptestlib.go
+++ b/app/apptestlib.go
@@ -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()
diff --git a/app/channel.go b/app/channel.go
index 61b139e5b..c1e0afce9 100644
--- a/app/channel.go
+++ b/app/channel.go
@@ -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
}
diff --git a/app/command.go b/app/command.go
index 44e846a81..188729ad5 100644
--- a/app/command.go
+++ b/app/command.go
@@ -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())
}
diff --git a/app/command_echo.go b/app/command_echo.go
index 3bfe67cd7..40d70e54a 100644
--- a/app/command_echo.go
+++ b/app/command_echo.go
@@ -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)
}
}()
diff --git a/app/command_invite_people.go b/app/command_invite_people.go
index 12ef03f45..0496dadca 100644
--- a/app/command_invite_people.go
+++ b/app/command_invite_people.go
@@ -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")}
}
diff --git a/app/command_join.go b/app/command_join.go
index e7d25aa16..5b19dd7a0 100644
--- a/app/command_join.go
+++ b/app/command_join.go
@@ -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}
}
diff --git a/app/command_loadtest.go b/app/command_loadtest.go
index b1d89826b..d3c7474ae 100644
--- a/app/command_loadtest.go
+++ b/app/command_loadtest.go
@@ -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}
diff --git a/app/command_msg.go b/app/command_msg.go
index 06b17fdc4..fd4ace61a 100644
--- a/app/command_msg.go
+++ b/app/command_msg.go
@@ -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}
}
}
diff --git a/app/import.go b/app/import.go
index a5ed69843..8d1173c31 100644
--- a/app/import.go
+++ b/app/import.go
@@ -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)
}
diff --git a/app/notification.go b/app/notification.go
index 7b61de9ac..ef1b70aad 100644
--- a/app/notification.go
+++ b/app/notification.go
@@ -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
diff --git a/app/notification_test.go b/app/notification_test.go
index fd8c4bf57..3768a95c7 100644
--- a/app/notification_test.go
+++ b/app/notification_test.go
@@ -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 {
diff --git a/app/post.go b/app/post.go
index bf797b984..7589a19df 100644
--- a/app/post.go
+++ b/app/post.go
@@ -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
}
diff --git a/app/slackimport.go b/app/slackimport.go
index fcdd765bb..259d0a8d4 100644
--- a/app/slackimport.go
+++ b/app/slackimport.go
@@ -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}))
diff --git a/app/team.go b/app/team.go
index 8ad5dd466..b0f9ae723 100644
--- a/app/team.go
+++ b/app/team.go
@@ -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
}
diff --git a/app/team_test.go b/app/team_test.go
index 75f09f1ca..64af0c4af 100644
--- a/app/team_test.go
+++ b/app/team_test.go
@@ -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")
}
diff --git a/app/user.go b/app/user.go
index 00f6df471..d995e90fe 100644
--- a/app/user.go
+++ b/app/user.go
@@ -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 {
diff --git a/app/user_test.go b/app/user_test.go
index d8d6bdc79..ff9e4d500 100644
--- a/app/user_test.go
+++ b/app/user_test.go
@@ -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")
}
diff --git a/app/webhook.go b/app/webhook.go
index c3853b97b..0ec06365d 100644
--- a/app/webhook.go
+++ b/app/webhook.go
@@ -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
}
diff --git a/cmd/platform/channel.go b/cmd/platform/channel.go
index 550d0802e..cd8df0873 100644
--- a/cmd/platform/channel.go
+++ b/cmd/platform/channel.go
@@ -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())
}
}
diff --git a/cmd/platform/team.go b/cmd/platform/team.go
index 6dab2ad16..1dc5d46eb 100644
--- a/cmd/platform/team.go
+++ b/cmd/platform/team.go
@@ -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)
}
}
diff --git a/config/config.json b/config/config.json
index f1cb04c63..b3dac758a 100644
--- a/config/config.json
+++ b/config/config.json
@@ -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",
diff --git a/einterfaces/saml.go b/einterfaces/saml.go
index 478cf8a68..af2e815a5 100644
--- a/einterfaces/saml.go
+++ b/einterfaces/saml.go
@@ -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)
}
diff --git a/web/web_test.go b/web/web_test.go
index 03cacdddf..a977a113e 100644
--- a/web/web_test.go
+++ b/web/web_test.go
@@ -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)
diff --git a/webapp/components/admin_console/admin_settings.jsx b/webapp/components/admin_console/admin_settings.jsx
index 30b9cbd11..ffb10d9ec 100644
--- a/webapp/components/admin_console/admin_settings.jsx
+++ b/webapp/components/admin_console/admin_settings.jsx
@@ -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);
+ }
}
);
}
diff --git a/webapp/components/admin_console/configuration_settings.jsx b/webapp/components/admin_console/configuration_settings.jsx
index ec5606fa1..16ebf1952 100644
--- a/webapp/components/admin_console/configuration_settings.jsx
+++ b/webapp/components/admin_console/configuration_settings.jsx
@@ -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}
diff --git a/webapp/components/error_bar.jsx b/webapp/components/error_bar.jsx
index edb929f20..146b4955e 100644
--- a/webapp/components/error_bar.jsx
+++ b/webapp/components/error_bar.jsx
@@ -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 (
diff --git a/webapp/i18n/en.json b/webapp/i18n/en.json
index ae902e3f8..448cb436d 100755
--- a/webapp/i18n/en.json
+++ b/webapp/i18n/en.json
@@ -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 ",
diff --git a/webapp/stores/error_store.jsx b/webapp/stores/error_store.jsx
index e37de40ac..3b0bb023f 100644
--- a/webapp/stores/error_store.jsx
+++ b/webapp/stores/error_store.jsx
@@ -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;
}