PLT-5900 Removed automatic configuration of SiteURL (#5952)
* Revert "PLT-5765 Passed SiteURL to SendNotifications (#5705)"
This reverts commit a8e68bd890.
* Removed automatic configuration of SiteURL
* Reverted unintentional config changes
* Updated help text
* Added link to docs in Site URL warning
* Fixed merge conflict
Этот коммит содержится в:
коммит произвёл
Joram Wilander
родитель
3a79e451ff
Коммит
c7bdce8a66
1
Makefile
1
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
|
||||
|
||||
@@ -311,7 +311,7 @@ func adminResetPassword(c *Context, w http.ResponseWriter, r *http.Request) {
|
||||
return
|
||||
}
|
||||
|
||||
if err := app.UpdatePasswordByUserIdSendEmail(userId, newPassword, c.T("api.user.reset_password.method"), c.GetSiteURL()); err != nil {
|
||||
if err := app.UpdatePasswordByUserIdSendEmail(userId, newPassword, c.T("api.user.reset_password.method")); err != nil {
|
||||
c.Err = err
|
||||
return
|
||||
}
|
||||
|
||||
@@ -163,7 +163,7 @@ func (me *TestHelper) CreateUser(client *model.Client) *model.User {
|
||||
func LinkUserToTeam(user *model.User, team *model.Team) {
|
||||
utils.DisableDebugLogForTest()
|
||||
|
||||
err := app.JoinUserToTeam(team, user, utils.GetSiteURL())
|
||||
err := app.JoinUserToTeam(team, user)
|
||||
if err != nil {
|
||||
l4g.Error(err.Error())
|
||||
l4g.Close()
|
||||
|
||||
@@ -207,7 +207,7 @@ func updateChannel(c *Context, w http.ResponseWriter, r *http.Request) {
|
||||
return
|
||||
} else {
|
||||
if oldChannelDisplayName != channel.DisplayName {
|
||||
if err := app.PostUpdateChannelDisplayNameMessage(c.Session.UserId, channel.Id, c.TeamId, oldChannelDisplayName, channel.DisplayName, c.GetSiteURL()); err != nil {
|
||||
if err := app.PostUpdateChannelDisplayNameMessage(c.Session.UserId, channel.Id, c.TeamId, oldChannelDisplayName, channel.DisplayName); err != nil {
|
||||
l4g.Error(err.Error())
|
||||
}
|
||||
}
|
||||
@@ -255,7 +255,7 @@ func updateChannelHeader(c *Context, w http.ResponseWriter, r *http.Request) {
|
||||
c.Err = err
|
||||
return
|
||||
} else {
|
||||
if err := app.PostUpdateChannelHeaderMessage(c.Session.UserId, channel.Id, c.TeamId, oldChannelHeader, channelHeader, c.GetSiteURL()); err != nil {
|
||||
if err := app.PostUpdateChannelHeaderMessage(c.Session.UserId, channel.Id, c.TeamId, oldChannelHeader, channelHeader); err != nil {
|
||||
l4g.Error(err.Error())
|
||||
}
|
||||
c.LogAudit("name=" + channel.Name)
|
||||
@@ -301,7 +301,7 @@ func updateChannelPurpose(c *Context, w http.ResponseWriter, r *http.Request) {
|
||||
c.Err = err
|
||||
return
|
||||
} else {
|
||||
if err := app.PostUpdateChannelPurposeMessage(c.Session.UserId, channel.Id, c.TeamId, oldChannelPurpose, channelPurpose, c.GetSiteURL()); err != nil {
|
||||
if err := app.PostUpdateChannelPurposeMessage(c.Session.UserId, channel.Id, c.TeamId, oldChannelPurpose, channelPurpose); err != nil {
|
||||
l4g.Error(err.Error())
|
||||
}
|
||||
c.LogAudit("name=" + channel.Name)
|
||||
@@ -412,7 +412,7 @@ func join(c *Context, w http.ResponseWriter, r *http.Request) {
|
||||
}
|
||||
}
|
||||
|
||||
if err = app.JoinChannel(channel, c.Session.UserId, c.GetSiteURL()); err != nil {
|
||||
if err = app.JoinChannel(channel, c.Session.UserId); err != nil {
|
||||
c.Err = err
|
||||
return
|
||||
}
|
||||
@@ -425,7 +425,7 @@ func leave(c *Context, w http.ResponseWriter, r *http.Request) {
|
||||
params := mux.Vars(r)
|
||||
id := params["channel_id"]
|
||||
|
||||
err := app.LeaveChannel(id, c.Session.UserId, c.GetSiteURL())
|
||||
err := app.LeaveChannel(id, c.Session.UserId)
|
||||
if err != nil {
|
||||
c.Err = err
|
||||
return
|
||||
@@ -467,7 +467,7 @@ func deleteChannel(c *Context, w http.ResponseWriter, r *http.Request) {
|
||||
}
|
||||
}
|
||||
|
||||
err = app.DeleteChannel(channel, c.Session.UserId, c.GetSiteURL())
|
||||
err = app.DeleteChannel(channel, c.Session.UserId)
|
||||
if err != nil {
|
||||
c.Err = err
|
||||
return
|
||||
@@ -663,7 +663,7 @@ func addMember(c *Context, w http.ResponseWriter, r *http.Request) {
|
||||
return
|
||||
}
|
||||
|
||||
go app.PostAddToChannelMessage(oUser, nUser, channel, c.GetSiteURL())
|
||||
go app.PostAddToChannelMessage(oUser, nUser, channel)
|
||||
|
||||
app.UpdateChannelLastViewedAt([]string{id}, oUser.Id)
|
||||
w.Write([]byte(cm.ToJson()))
|
||||
@@ -698,7 +698,7 @@ func removeMember(c *Context, w http.ResponseWriter, r *http.Request) {
|
||||
return
|
||||
}
|
||||
|
||||
if err = app.RemoveUserFromChannel(userIdToRemove, c.Session.UserId, channel, c.GetSiteURL()); err != nil {
|
||||
if err = app.RemoveUserFromChannel(userIdToRemove, c.Session.UserId, channel); err != nil {
|
||||
c.Err = err
|
||||
return
|
||||
}
|
||||
|
||||
@@ -66,7 +66,7 @@ func executeCommand(c *Context, w http.ResponseWriter, r *http.Request) {
|
||||
commandArgs.UserId = c.Session.UserId
|
||||
commandArgs.T = c.T
|
||||
commandArgs.Session = c.Session
|
||||
commandArgs.SiteURL = c.GetSiteURL()
|
||||
commandArgs.SiteURL = c.GetSiteURLHeader()
|
||||
|
||||
response, err := app.ExecuteCommand(commandArgs)
|
||||
if err != nil {
|
||||
|
||||
@@ -26,7 +26,7 @@ type Context struct {
|
||||
IpAddress string
|
||||
Path string
|
||||
Err *model.AppError
|
||||
siteURL string
|
||||
siteURLHeader string
|
||||
teamURLValid bool
|
||||
teamURL string
|
||||
T goi18n.TranslateFunc
|
||||
@@ -146,12 +146,7 @@ func (h handler) ServeHTTP(w http.ResponseWriter, r *http.Request) {
|
||||
isTokenFromQueryString = true
|
||||
}
|
||||
|
||||
if utils.GetSiteURL() == "" {
|
||||
protocol := app.GetProtocol(r)
|
||||
c.SetSiteURL(protocol + "://" + r.Host)
|
||||
} else {
|
||||
c.SetSiteURL(utils.GetSiteURL())
|
||||
}
|
||||
c.SetSiteURLHeader(app.GetProtocol(r) + "://" + r.Host)
|
||||
|
||||
w.Header().Set(model.HEADER_REQUEST_ID, c.RequestId)
|
||||
w.Header().Set(model.HEADER_VERSION_ID, fmt.Sprintf("%v.%v.%v.%v", model.CurrentVersion, model.BuildNumber, utils.CfgHash, utils.IsLicensed))
|
||||
@@ -191,11 +186,11 @@ func (h handler) ServeHTTP(w http.ResponseWriter, r *http.Request) {
|
||||
}
|
||||
|
||||
if h.isApi || h.isTeamIndependent {
|
||||
c.setTeamURL(c.GetSiteURL(), false)
|
||||
c.setTeamURL(c.GetSiteURLHeader(), false)
|
||||
c.Path = r.URL.Path
|
||||
} else {
|
||||
splitURL := strings.Split(r.URL.Path, "/")
|
||||
c.setTeamURL(c.GetSiteURL()+"/"+splitURL[1], true)
|
||||
c.setTeamURL(c.GetSiteURLHeader()+"/"+splitURL[1], true)
|
||||
c.Path = "/" + strings.Join(splitURL[2:], "/")
|
||||
}
|
||||
|
||||
@@ -391,16 +386,17 @@ func (c *Context) setTeamURL(url string, valid bool) {
|
||||
|
||||
func (c *Context) SetTeamURLFromSession() {
|
||||
if result := <-app.Srv.Store.Team().Get(c.TeamId); result.Err == nil {
|
||||
c.setTeamURL(c.GetSiteURL()+"/"+result.Data.(*model.Team).Name, true)
|
||||
c.setTeamURL(c.GetSiteURLHeader()+"/"+result.Data.(*model.Team).Name, true)
|
||||
}
|
||||
}
|
||||
|
||||
func (c *Context) SetSiteURL(url string) {
|
||||
c.siteURL = strings.TrimRight(url, "/")
|
||||
func (c *Context) SetSiteURLHeader(url string) {
|
||||
c.siteURLHeader = strings.TrimRight(url, "/")
|
||||
}
|
||||
|
||||
// TODO see where these are used
|
||||
func (c *Context) GetTeamURLFromTeam(team *model.Team) string {
|
||||
return c.GetSiteURL() + "/" + team.Name
|
||||
return c.GetSiteURLHeader() + "/" + team.Name
|
||||
}
|
||||
|
||||
func (c *Context) GetTeamURL() string {
|
||||
@@ -413,8 +409,8 @@ func (c *Context) GetTeamURL() string {
|
||||
return c.teamURL
|
||||
}
|
||||
|
||||
func (c *Context) GetSiteURL() string {
|
||||
return c.siteURL
|
||||
func (c *Context) GetSiteURLHeader() string {
|
||||
return c.siteURLHeader
|
||||
}
|
||||
|
||||
func (c *Context) GetCurrentTeamMember() *model.TeamMember {
|
||||
|
||||
@@ -7,7 +7,7 @@ import (
|
||||
"testing"
|
||||
)
|
||||
|
||||
func TestSiteURL(t *testing.T) {
|
||||
func TestSiteURLHeader(t *testing.T) {
|
||||
c := &Context{}
|
||||
|
||||
testCases := []struct {
|
||||
@@ -19,10 +19,10 @@ func TestSiteURL(t *testing.T) {
|
||||
}
|
||||
|
||||
for _, tc := range testCases {
|
||||
c.SetSiteURL(tc.url)
|
||||
c.SetSiteURLHeader(tc.url)
|
||||
|
||||
if c.siteURL != tc.want {
|
||||
t.Fatalf("expected %s, got %s", tc.want, c.siteURL)
|
||||
if c.siteURLHeader != tc.want {
|
||||
t.Fatalf("expected %s, got %s", tc.want, c.siteURLHeader)
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -316,5 +316,5 @@ func getPublicLink(c *Context, w http.ResponseWriter, r *http.Request) {
|
||||
return
|
||||
}
|
||||
|
||||
w.Write([]byte(model.StringToJson(app.GeneratePublicLinkV3(c.GetSiteURL(), info))))
|
||||
w.Write([]byte(model.StringToJson(app.GeneratePublicLinkV3(c.GetSiteURLHeader(), info))))
|
||||
}
|
||||
|
||||
16
api/oauth.go
16
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())
|
||||
}
|
||||
}()
|
||||
|
||||
@@ -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) {
|
||||
|
||||
10
api/team.go
10
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
|
||||
|
||||
40
api/user.go
40
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
|
||||
}
|
||||
|
||||
|
||||
@@ -374,7 +374,7 @@ func incomingWebhook(c *Context, w http.ResponseWriter, r *http.Request) {
|
||||
|
||||
parsedRequest := model.IncomingWebhookRequestFromJson(payload)
|
||||
|
||||
err := app.HandleIncomingWebhook(id, parsedRequest, c.GetSiteURL())
|
||||
err := app.HandleIncomingWebhook(id, parsedRequest)
|
||||
if err != nil {
|
||||
c.Err = err
|
||||
return
|
||||
|
||||
@@ -362,7 +362,7 @@ func (me *TestHelper) UpdateActiveUser(user *model.User, active bool) {
|
||||
func LinkUserToTeam(user *model.User, team *model.Team) {
|
||||
utils.DisableDebugLogForTest()
|
||||
|
||||
err := app.JoinUserToTeam(team, user, utils.GetSiteURL())
|
||||
err := app.JoinUserToTeam(team, user)
|
||||
if err != nil {
|
||||
l4g.Error(err.Error())
|
||||
l4g.Close()
|
||||
|
||||
@@ -138,7 +138,7 @@ func updateChannel(c *Context, w http.ResponseWriter, r *http.Request) {
|
||||
return
|
||||
} else {
|
||||
if oldChannelDisplayName != channel.DisplayName {
|
||||
if err := app.PostUpdateChannelDisplayNameMessage(c.Session.UserId, channel.Id, c.Params.TeamId, oldChannelDisplayName, channel.DisplayName, c.GetSiteURL()); err != nil {
|
||||
if err := app.PostUpdateChannelDisplayNameMessage(c.Session.UserId, channel.Id, c.Params.TeamId, oldChannelDisplayName, channel.DisplayName); err != nil {
|
||||
l4g.Error(err.Error())
|
||||
}
|
||||
}
|
||||
@@ -459,7 +459,7 @@ func deleteChannel(c *Context, w http.ResponseWriter, r *http.Request) {
|
||||
return
|
||||
}
|
||||
|
||||
err = app.DeleteChannel(channel, c.Session.UserId, c.GetSiteURL())
|
||||
err = app.DeleteChannel(channel, c.Session.UserId)
|
||||
if err != nil {
|
||||
c.Err = err
|
||||
return
|
||||
@@ -733,7 +733,7 @@ func addChannelMember(c *Context, w http.ResponseWriter, r *http.Request) {
|
||||
return
|
||||
}
|
||||
|
||||
if cm, err := app.AddChannelMember(member.UserId, channel, c.Session.UserId, c.GetSiteURL()); err != nil {
|
||||
if cm, err := app.AddChannelMember(member.UserId, channel, c.Session.UserId); err != nil {
|
||||
c.Err = err
|
||||
return
|
||||
} else {
|
||||
@@ -768,7 +768,7 @@ func removeChannelMember(c *Context, w http.ResponseWriter, r *http.Request) {
|
||||
}
|
||||
}
|
||||
|
||||
if err = app.RemoveUserFromChannel(c.Params.UserId, c.Session.UserId, channel, c.GetSiteURL()); err != nil {
|
||||
if err = app.RemoveUserFromChannel(c.Params.UserId, c.Session.UserId, channel); err != nil {
|
||||
c.Err = err
|
||||
return
|
||||
}
|
||||
|
||||
@@ -680,7 +680,7 @@ func TestDeleteChannel(t *testing.T) {
|
||||
|
||||
if ch, err := app.GetChannel(publicChannel1.Id); err == nil && ch.DeleteAt == 0 {
|
||||
t.Fatal("should have failed to get deleted channel")
|
||||
} else if err := app.JoinChannel(ch, user2.Id, ""); err == nil {
|
||||
} else if err := app.JoinChannel(ch, user2.Id); err == nil {
|
||||
t.Fatal("should have failed to join deleted channel")
|
||||
}
|
||||
|
||||
|
||||
@@ -19,14 +19,14 @@ import (
|
||||
)
|
||||
|
||||
type Context struct {
|
||||
Session model.Session
|
||||
Params *ApiParams
|
||||
Err *model.AppError
|
||||
T goi18n.TranslateFunc
|
||||
RequestId string
|
||||
IpAddress string
|
||||
Path string
|
||||
siteURL string
|
||||
Session model.Session
|
||||
Params *ApiParams
|
||||
Err *model.AppError
|
||||
T goi18n.TranslateFunc
|
||||
RequestId string
|
||||
IpAddress string
|
||||
Path string
|
||||
siteURLHeader string
|
||||
}
|
||||
|
||||
func ApiHandler(h func(*Context, http.ResponseWriter, *http.Request)) http.Handler {
|
||||
@@ -125,12 +125,7 @@ func (h handler) ServeHTTP(w http.ResponseWriter, r *http.Request) {
|
||||
isTokenFromQueryString = true
|
||||
}
|
||||
|
||||
if utils.GetSiteURL() == "" {
|
||||
protocol := app.GetProtocol(r)
|
||||
c.SetSiteURL(protocol + "://" + r.Host)
|
||||
} else {
|
||||
c.SetSiteURL(utils.GetSiteURL())
|
||||
}
|
||||
c.SetSiteURLHeader(app.GetProtocol(r) + "://" + r.Host)
|
||||
|
||||
w.Header().Set(model.HEADER_REQUEST_ID, c.RequestId)
|
||||
w.Header().Set(model.HEADER_VERSION_ID, fmt.Sprintf("%v.%v.%v.%v", model.CurrentVersion, model.BuildNumber, utils.CfgHash, utils.IsLicensed))
|
||||
@@ -320,12 +315,12 @@ func (c *Context) SetPermissionError(permission *model.Permission) {
|
||||
c.Err.StatusCode = http.StatusForbidden
|
||||
}
|
||||
|
||||
func (c *Context) SetSiteURL(url string) {
|
||||
c.siteURL = strings.TrimRight(url, "/")
|
||||
func (c *Context) SetSiteURLHeader(url string) {
|
||||
c.siteURLHeader = strings.TrimRight(url, "/")
|
||||
}
|
||||
|
||||
func (c *Context) GetSiteURL() string {
|
||||
return c.siteURL
|
||||
func (c *Context) GetSiteURLHeader() string {
|
||||
return c.siteURLHeader
|
||||
}
|
||||
|
||||
func (c *Context) RequireUserId() *Context {
|
||||
|
||||
@@ -160,7 +160,7 @@ func getFileLink(c *Context, w http.ResponseWriter, r *http.Request) {
|
||||
}
|
||||
|
||||
resp := make(map[string]string)
|
||||
resp["link"] = app.GeneratePublicLink(c.GetSiteURL(), info)
|
||||
resp["link"] = app.GeneratePublicLink(c.GetSiteURLHeader(), info)
|
||||
|
||||
w.Write([]byte(model.MapToJson(resp)))
|
||||
}
|
||||
|
||||
@@ -48,7 +48,7 @@ func createPost(c *Context, w http.ResponseWriter, r *http.Request) {
|
||||
post.CreateAt = 0
|
||||
}
|
||||
|
||||
rp, err := app.CreatePostAsUser(post, c.GetSiteURL())
|
||||
rp, err := app.CreatePostAsUser(post)
|
||||
if err != nil {
|
||||
c.Err = err
|
||||
return
|
||||
|
||||
12
api4/team.go
12
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
|
||||
|
||||
26
api4/user.go
26
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)
|
||||
|
||||
@@ -161,7 +161,7 @@ func (me *TestHelper) CreatePost(channel *model.Channel) *model.Post {
|
||||
|
||||
utils.DisableDebugLogForTest()
|
||||
var err *model.AppError
|
||||
if post, err = CreatePost(post, channel.TeamId, false, utils.GetSiteURL()); err != nil {
|
||||
if post, err = CreatePost(post, channel.TeamId, false); err != nil {
|
||||
l4g.Error(err.Error())
|
||||
l4g.Close()
|
||||
time.Sleep(time.Second)
|
||||
@@ -174,7 +174,7 @@ func (me *TestHelper) CreatePost(channel *model.Channel) *model.Post {
|
||||
func LinkUserToTeam(user *model.User, team *model.Team) {
|
||||
utils.DisableDebugLogForTest()
|
||||
|
||||
err := JoinUserToTeam(team, user, utils.GetSiteURL())
|
||||
err := JoinUserToTeam(team, user)
|
||||
if err != nil {
|
||||
l4g.Error(err.Error())
|
||||
l4g.Close()
|
||||
|
||||
@@ -32,7 +32,7 @@ func CreateDefaultChannels(teamId string) ([]*model.Channel, *model.AppError) {
|
||||
return channels, nil
|
||||
}
|
||||
|
||||
func JoinDefaultChannels(teamId string, user *model.User, channelRole string, siteURL string) *model.AppError {
|
||||
func JoinDefaultChannels(teamId string, user *model.User, channelRole string) *model.AppError {
|
||||
var err *model.AppError = nil
|
||||
|
||||
if result := <-Srv.Store.Channel().GetByName(teamId, "town-square", true); result.Err != nil {
|
||||
@@ -47,7 +47,7 @@ func JoinDefaultChannels(teamId string, user *model.User, channelRole string, si
|
||||
err = cmResult.Err
|
||||
}
|
||||
|
||||
if err := postJoinChannelMessage(user, townSquare, siteURL); err != nil {
|
||||
if err := postJoinChannelMessage(user, townSquare); err != nil {
|
||||
l4g.Error(utils.T("api.channel.post_user_add_remove_message_and_forget.error"), err)
|
||||
}
|
||||
|
||||
@@ -66,7 +66,7 @@ func JoinDefaultChannels(teamId string, user *model.User, channelRole string, si
|
||||
err = cmResult.Err
|
||||
}
|
||||
|
||||
if err := postJoinChannelMessage(user, offTopic, siteURL); err != nil {
|
||||
if err := postJoinChannelMessage(user, offTopic); err != nil {
|
||||
l4g.Error(utils.T("api.channel.post_user_add_remove_message_and_forget.error"), err)
|
||||
}
|
||||
|
||||
@@ -315,7 +315,7 @@ func UpdateChannelMemberNotifyProps(data map[string]string, channelId string, us
|
||||
}
|
||||
}
|
||||
|
||||
func DeleteChannel(channel *model.Channel, userId string, siteURL string) *model.AppError {
|
||||
func DeleteChannel(channel *model.Channel, userId string) *model.AppError {
|
||||
uc := Srv.Store.User().Get(userId)
|
||||
ihc := Srv.Store.Webhook().GetIncomingByChannel(channel.Id)
|
||||
ohc := Srv.Store.Webhook().GetOutgoingByChannel(channel.Id, -1, -1)
|
||||
@@ -355,7 +355,7 @@ func DeleteChannel(channel *model.Channel, userId string, siteURL string) *model
|
||||
},
|
||||
}
|
||||
|
||||
if _, err := CreatePost(post, channel.TeamId, false, siteURL); err != nil {
|
||||
if _, err := CreatePost(post, channel.TeamId, false); err != nil {
|
||||
l4g.Error(utils.T("api.channel.delete_channel.failed_post.error"), err)
|
||||
}
|
||||
|
||||
@@ -451,7 +451,7 @@ func AddUserToChannel(user *model.User, channel *model.Channel) (*model.ChannelM
|
||||
return newMember, nil
|
||||
}
|
||||
|
||||
func AddChannelMember(userId string, channel *model.Channel, userRequestorId, siteURL string) (*model.ChannelMember, *model.AppError) {
|
||||
func AddChannelMember(userId string, channel *model.Channel, userRequestorId string) (*model.ChannelMember, *model.AppError) {
|
||||
var user *model.User
|
||||
var err *model.AppError
|
||||
|
||||
@@ -469,7 +469,7 @@ func AddChannelMember(userId string, channel *model.Channel, userRequestorId, si
|
||||
return nil, err
|
||||
}
|
||||
|
||||
go PostAddToChannelMessage(userRequestor, user, channel, siteURL)
|
||||
go PostAddToChannelMessage(userRequestor, user, channel)
|
||||
|
||||
UpdateChannelLastViewedAt([]string{channel.Id}, userRequestor.Id)
|
||||
|
||||
@@ -512,7 +512,7 @@ func AddDirectChannels(teamId string, user *model.User) *model.AppError {
|
||||
return nil
|
||||
}
|
||||
|
||||
func PostUpdateChannelHeaderMessage(userId string, channelId string, teamId string, oldChannelHeader, newChannelHeader string, siteURL string) *model.AppError {
|
||||
func PostUpdateChannelHeaderMessage(userId string, channelId string, teamId string, oldChannelHeader, newChannelHeader string) *model.AppError {
|
||||
uc := Srv.Store.User().Get(userId)
|
||||
|
||||
if uresult := <-uc; uresult.Err != nil {
|
||||
@@ -541,7 +541,7 @@ func PostUpdateChannelHeaderMessage(userId string, channelId string, teamId stri
|
||||
},
|
||||
}
|
||||
|
||||
if _, err := CreatePost(post, teamId, false, siteURL); err != nil {
|
||||
if _, err := CreatePost(post, teamId, false); err != nil {
|
||||
return model.NewLocAppError("", "api.channel.post_update_channel_header_message_and_forget.post.error", nil, err.Error())
|
||||
}
|
||||
}
|
||||
@@ -549,7 +549,7 @@ func PostUpdateChannelHeaderMessage(userId string, channelId string, teamId stri
|
||||
return nil
|
||||
}
|
||||
|
||||
func PostUpdateChannelPurposeMessage(userId string, channelId string, teamId string, oldChannelPurpose string, newChannelPurpose string, siteURL string) *model.AppError {
|
||||
func PostUpdateChannelPurposeMessage(userId string, channelId string, teamId string, oldChannelPurpose string, newChannelPurpose string) *model.AppError {
|
||||
uc := Srv.Store.User().Get(userId)
|
||||
|
||||
if uresult := <-uc; uresult.Err != nil {
|
||||
@@ -577,7 +577,7 @@ func PostUpdateChannelPurposeMessage(userId string, channelId string, teamId str
|
||||
"new_purpose": newChannelPurpose,
|
||||
},
|
||||
}
|
||||
if _, err := CreatePost(post, teamId, false, siteURL); err != nil {
|
||||
if _, err := CreatePost(post, teamId, false); err != nil {
|
||||
return model.NewLocAppError("", "app.channel.post_update_channel_purpose_message.post.error", nil, err.Error())
|
||||
}
|
||||
}
|
||||
@@ -585,7 +585,7 @@ func PostUpdateChannelPurposeMessage(userId string, channelId string, teamId str
|
||||
return nil
|
||||
}
|
||||
|
||||
func PostUpdateChannelDisplayNameMessage(userId string, channelId string, teamId string, oldChannelDisplayName, newChannelDisplayName string, siteURL string) *model.AppError {
|
||||
func PostUpdateChannelDisplayNameMessage(userId string, channelId string, teamId string, oldChannelDisplayName, newChannelDisplayName string) *model.AppError {
|
||||
uc := Srv.Store.User().Get(userId)
|
||||
|
||||
if uresult := <-uc; uresult.Err != nil {
|
||||
@@ -607,7 +607,7 @@ func PostUpdateChannelDisplayNameMessage(userId string, channelId string, teamId
|
||||
},
|
||||
}
|
||||
|
||||
if _, err := CreatePost(post, teamId, false, siteURL); err != nil {
|
||||
if _, err := CreatePost(post, teamId, false); err != nil {
|
||||
return model.NewLocAppError("PostUpdateChannelDisplayNameMessage", "api.channel.post_update_channel_displayname_message_and_forget.create_post.error", nil, err.Error())
|
||||
}
|
||||
}
|
||||
@@ -754,7 +754,7 @@ func GetChannelUnread(channelId, userId string) (*model.ChannelUnread, *model.Ap
|
||||
return channelUnread, nil
|
||||
}
|
||||
|
||||
func JoinChannel(channel *model.Channel, userId string, siteURL string) *model.AppError {
|
||||
func JoinChannel(channel *model.Channel, userId string) *model.AppError {
|
||||
if channel.DeleteAt > 0 {
|
||||
return model.NewLocAppError("JoinChannel", "api.channel.join_channel.already_deleted.app_error", nil, "")
|
||||
}
|
||||
@@ -775,7 +775,7 @@ func JoinChannel(channel *model.Channel, userId string, siteURL string) *model.A
|
||||
return err
|
||||
}
|
||||
|
||||
if err := postJoinChannelMessage(user, channel, siteURL); err != nil {
|
||||
if err := postJoinChannelMessage(user, channel); err != nil {
|
||||
return err
|
||||
}
|
||||
} else {
|
||||
@@ -786,7 +786,7 @@ func JoinChannel(channel *model.Channel, userId string, siteURL string) *model.A
|
||||
return nil
|
||||
}
|
||||
|
||||
func postJoinChannelMessage(user *model.User, channel *model.Channel, siteURL string) *model.AppError {
|
||||
func postJoinChannelMessage(user *model.User, channel *model.Channel) *model.AppError {
|
||||
post := &model.Post{
|
||||
ChannelId: channel.Id,
|
||||
Message: fmt.Sprintf(utils.T("api.channel.join_channel.post_and_forget"), user.Username),
|
||||
@@ -797,14 +797,14 @@ func postJoinChannelMessage(user *model.User, channel *model.Channel, siteURL st
|
||||
},
|
||||
}
|
||||
|
||||
if _, err := CreatePost(post, channel.TeamId, false, siteURL); err != nil {
|
||||
if _, err := CreatePost(post, channel.TeamId, false); err != nil {
|
||||
return model.NewLocAppError("postJoinChannelMessage", "api.channel.post_user_add_remove_message_and_forget.error", nil, err.Error())
|
||||
}
|
||||
|
||||
return nil
|
||||
}
|
||||
|
||||
func LeaveChannel(channelId string, userId string, siteURL string) *model.AppError {
|
||||
func LeaveChannel(channelId string, userId string) *model.AppError {
|
||||
sc := Srv.Store.Channel().Get(channelId, true)
|
||||
uc := Srv.Store.User().Get(userId)
|
||||
ccm := Srv.Store.Channel().GetMemberCount(channelId, false)
|
||||
@@ -836,13 +836,13 @@ func LeaveChannel(channelId string, userId string, siteURL string) *model.AppErr
|
||||
return err
|
||||
}
|
||||
|
||||
go postLeaveChannelMessage(user, channel, siteURL)
|
||||
go postLeaveChannelMessage(user, channel)
|
||||
}
|
||||
|
||||
return nil
|
||||
}
|
||||
|
||||
func postLeaveChannelMessage(user *model.User, channel *model.Channel, siteURL string) *model.AppError {
|
||||
func postLeaveChannelMessage(user *model.User, channel *model.Channel) *model.AppError {
|
||||
post := &model.Post{
|
||||
ChannelId: channel.Id,
|
||||
Message: fmt.Sprintf(utils.T("api.channel.leave.left"), user.Username),
|
||||
@@ -853,14 +853,14 @@ func postLeaveChannelMessage(user *model.User, channel *model.Channel, siteURL s
|
||||
},
|
||||
}
|
||||
|
||||
if _, err := CreatePost(post, channel.TeamId, false, siteURL); err != nil {
|
||||
if _, err := CreatePost(post, channel.TeamId, false); err != nil {
|
||||
return model.NewLocAppError("postLeaveChannelMessage", "api.channel.post_user_add_remove_message_and_forget.error", nil, err.Error())
|
||||
}
|
||||
|
||||
return nil
|
||||
}
|
||||
|
||||
func PostAddToChannelMessage(user *model.User, addedUser *model.User, channel *model.Channel, siteURL string) *model.AppError {
|
||||
func PostAddToChannelMessage(user *model.User, addedUser *model.User, channel *model.Channel) *model.AppError {
|
||||
post := &model.Post{
|
||||
ChannelId: channel.Id,
|
||||
Message: fmt.Sprintf(utils.T("api.channel.add_member.added"), addedUser.Username, user.Username),
|
||||
@@ -872,14 +872,14 @@ func PostAddToChannelMessage(user *model.User, addedUser *model.User, channel *m
|
||||
},
|
||||
}
|
||||
|
||||
if _, err := CreatePost(post, channel.TeamId, false, siteURL); err != nil {
|
||||
if _, err := CreatePost(post, channel.TeamId, false); err != nil {
|
||||
return model.NewLocAppError("postAddToChannelMessage", "api.channel.post_user_add_remove_message_and_forget.error", nil, err.Error())
|
||||
}
|
||||
|
||||
return nil
|
||||
}
|
||||
|
||||
func PostRemoveFromChannelMessage(removerUserId string, removedUser *model.User, channel *model.Channel, siteURL string) *model.AppError {
|
||||
func PostRemoveFromChannelMessage(removerUserId string, removedUser *model.User, channel *model.Channel) *model.AppError {
|
||||
post := &model.Post{
|
||||
ChannelId: channel.Id,
|
||||
Message: fmt.Sprintf(utils.T("api.channel.remove_member.removed"), removedUser.Username),
|
||||
@@ -890,7 +890,7 @@ func PostRemoveFromChannelMessage(removerUserId string, removedUser *model.User,
|
||||
},
|
||||
}
|
||||
|
||||
if _, err := CreatePost(post, channel.TeamId, false, siteURL); err != nil {
|
||||
if _, err := CreatePost(post, channel.TeamId, false); err != nil {
|
||||
return model.NewLocAppError("postRemoveFromChannelMessage", "api.channel.post_user_add_remove_message_and_forget.error", nil, err.Error())
|
||||
}
|
||||
|
||||
@@ -929,7 +929,7 @@ func removeUserFromChannel(userIdToRemove string, removerUserId string, channel
|
||||
return nil
|
||||
}
|
||||
|
||||
func RemoveUserFromChannel(userIdToRemove string, removerUserId string, channel *model.Channel, siteURL string) *model.AppError {
|
||||
func RemoveUserFromChannel(userIdToRemove string, removerUserId string, channel *model.Channel) *model.AppError {
|
||||
var err *model.AppError
|
||||
if err = removeUserFromChannel(userIdToRemove, removerUserId, channel); err != nil {
|
||||
return err
|
||||
@@ -940,7 +940,7 @@ func RemoveUserFromChannel(userIdToRemove string, removerUserId string, channel
|
||||
return err
|
||||
}
|
||||
|
||||
go PostRemoveFromChannelMessage(removerUserId, user, channel, siteURL)
|
||||
go PostRemoveFromChannelMessage(removerUserId, user, channel)
|
||||
|
||||
return nil
|
||||
}
|
||||
|
||||
@@ -38,7 +38,7 @@ func GetCommandProvider(name string) CommandProvider {
|
||||
return nil
|
||||
}
|
||||
|
||||
func CreateCommandPost(post *model.Post, teamId string, response *model.CommandResponse, siteURL string) (*model.Post, *model.AppError) {
|
||||
func CreateCommandPost(post *model.Post, teamId string, response *model.CommandResponse) (*model.Post, *model.AppError) {
|
||||
post.Message = parseSlackLinksToMarkdown(response.Text)
|
||||
post.CreateAt = model.GetMillis()
|
||||
|
||||
@@ -48,7 +48,7 @@ func CreateCommandPost(post *model.Post, teamId string, response *model.CommandR
|
||||
|
||||
switch response.ResponseType {
|
||||
case model.COMMAND_RESPONSE_TYPE_IN_CHANNEL:
|
||||
return CreatePost(post, teamId, true, siteURL)
|
||||
return CreatePost(post, teamId, true)
|
||||
case model.COMMAND_RESPONSE_TYPE_EPHEMERAL:
|
||||
if response.Text == "" {
|
||||
return post, nil
|
||||
@@ -268,7 +268,7 @@ func HandleCommandResponse(command *model.Command, args *model.CommandArgs, resp
|
||||
}
|
||||
}
|
||||
|
||||
if _, err := CreateCommandPost(post, args.TeamId, response, args.SiteURL); err != nil {
|
||||
if _, err := CreateCommandPost(post, args.TeamId, response); err != nil {
|
||||
l4g.Error(err.Error())
|
||||
}
|
||||
|
||||
|
||||
@@ -88,7 +88,7 @@ func (me *EchoProvider) DoCommand(args *model.CommandArgs, message string) *mode
|
||||
|
||||
time.Sleep(time.Duration(delay) * time.Second)
|
||||
|
||||
if _, err := CreatePost(post, args.TeamId, true, args.SiteURL); err != nil {
|
||||
if _, err := CreatePost(post, args.TeamId, true); err != nil {
|
||||
l4g.Error(args.T("api.command_echo.create.app_error"), err)
|
||||
}
|
||||
}()
|
||||
|
||||
@@ -55,7 +55,7 @@ func (me *InvitePeopleProvider) DoCommand(args *model.CommandArgs, message strin
|
||||
return &model.CommandResponse{ResponseType: model.COMMAND_RESPONSE_TYPE_EPHEMERAL, Text: args.T("api.command.invite_people.no_email")}
|
||||
}
|
||||
|
||||
if err := InviteNewUsersToTeam(emailList, args.TeamId, args.UserId, args.SiteURL); err != nil {
|
||||
if err := InviteNewUsersToTeam(emailList, args.TeamId, args.UserId); err != nil {
|
||||
l4g.Error(err.Error())
|
||||
return &model.CommandResponse{ResponseType: model.COMMAND_RESPONSE_TYPE_EPHEMERAL, Text: args.T("api.command.invite_people.fail")}
|
||||
}
|
||||
|
||||
@@ -45,7 +45,7 @@ func (me *JoinProvider) DoCommand(args *model.CommandArgs, message string) *mode
|
||||
return &model.CommandResponse{Text: args.T("api.command_join.fail.app_error"), ResponseType: model.COMMAND_RESPONSE_TYPE_EPHEMERAL}
|
||||
}
|
||||
|
||||
if err := JoinChannel(channel, args.UserId, args.SiteURL); err != nil {
|
||||
if err := JoinChannel(channel, args.UserId); err != nil {
|
||||
return &model.CommandResponse{Text: args.T("api.command_join.fail.app_error"), ResponseType: model.COMMAND_RESPONSE_TYPE_EPHEMERAL}
|
||||
}
|
||||
|
||||
|
||||
@@ -357,7 +357,7 @@ func (me *LoadTestProvider) UrlCommand(args *model.CommandArgs, message string)
|
||||
post.ChannelId = args.ChannelId
|
||||
post.UserId = args.UserId
|
||||
|
||||
if _, err := CreatePost(post, args.TeamId, false, args.SiteURL); err != nil {
|
||||
if _, err := CreatePost(post, args.TeamId, false); err != nil {
|
||||
return &model.CommandResponse{Text: "Unable to create post", ResponseType: model.COMMAND_RESPONSE_TYPE_EPHEMERAL}
|
||||
}
|
||||
}
|
||||
@@ -396,7 +396,7 @@ func (me *LoadTestProvider) JsonCommand(args *model.CommandArgs, message string)
|
||||
post.Message = message
|
||||
}
|
||||
|
||||
if _, err := CreatePost(post, args.TeamId, false, args.SiteURL); err != nil {
|
||||
if _, err := CreatePost(post, args.TeamId, false); err != nil {
|
||||
return &model.CommandResponse{Text: "Unable to create post", ResponseType: model.COMMAND_RESPONSE_TYPE_EPHEMERAL}
|
||||
}
|
||||
return &model.CommandResponse{Text: "Loaded data", ResponseType: model.COMMAND_RESPONSE_TYPE_EPHEMERAL}
|
||||
|
||||
@@ -89,7 +89,7 @@ func (me *msgProvider) DoCommand(args *model.CommandArgs, message string) *model
|
||||
post.Message = parsedMessage
|
||||
post.ChannelId = targetChannelId
|
||||
post.UserId = args.UserId
|
||||
if _, err := CreatePost(post, args.TeamId, true, args.SiteURL); err != nil {
|
||||
if _, err := CreatePost(post, args.TeamId, true); err != nil {
|
||||
return &model.CommandResponse{Text: args.T("api.command_msg.fail.app_error"), ResponseType: model.COMMAND_RESPONSE_TYPE_EPHEMERAL}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -415,7 +415,7 @@ func ImportUser(data *UserImportData, dryRun bool) *model.AppError {
|
||||
return err
|
||||
}
|
||||
} else {
|
||||
if _, err := UpdateUser(user, utils.GetSiteURL(), false); err != nil {
|
||||
if _, err := UpdateUser(user, false); err != nil {
|
||||
return err
|
||||
}
|
||||
if _, err := UpdateUserRoles(user.Id, roles); err != nil {
|
||||
@@ -865,7 +865,7 @@ func OldImportUser(team *model.Team, user *model.User) *model.User {
|
||||
l4g.Error(utils.T("api.import.import_user.set_email.error"), cresult.Err)
|
||||
}
|
||||
|
||||
if err := JoinUserToTeam(team, user, utils.GetSiteURL()); err != nil {
|
||||
if err := JoinUserToTeam(team, user); err != nil {
|
||||
l4g.Error(utils.T("api.import.import_user.join_team.error"), err)
|
||||
}
|
||||
|
||||
|
||||
@@ -24,7 +24,7 @@ import (
|
||||
"github.com/nicksnyder/go-i18n/i18n"
|
||||
)
|
||||
|
||||
func SendNotifications(post *model.Post, team *model.Team, channel *model.Channel, sender *model.User, siteURL string) ([]string, *model.AppError) {
|
||||
func SendNotifications(post *model.Post, team *model.Team, channel *model.Channel, sender *model.User) ([]string, *model.AppError) {
|
||||
pchan := Srv.Store.User().GetAllProfilesInChannel(channel.Id, true)
|
||||
cmnchan := Srv.Store.Channel().GetAllChannelMembersNotifyPropsForChannel(channel.Id, true)
|
||||
var fchan store.StoreChannel
|
||||
@@ -171,7 +171,7 @@ func SendNotifications(post *model.Post, team *model.Team, channel *model.Channe
|
||||
}
|
||||
|
||||
if userAllowsEmails && status.Status != model.STATUS_ONLINE && profileMap[id].DeleteAt == 0 {
|
||||
sendNotificationEmail(post, profileMap[id], channel, team, senderName, sender, siteURL)
|
||||
sendNotificationEmail(post, profileMap[id], channel, team, senderName, sender)
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -317,7 +317,7 @@ func SendNotifications(post *model.Post, team *model.Team, channel *model.Channe
|
||||
return mentionedUsersList, nil
|
||||
}
|
||||
|
||||
func sendNotificationEmail(post *model.Post, user *model.User, channel *model.Channel, team *model.Team, senderName string, sender *model.User, siteURL string) *model.AppError {
|
||||
func sendNotificationEmail(post *model.Post, user *model.User, channel *model.Channel, team *model.Team, senderName string, sender *model.User) *model.AppError {
|
||||
if channel.IsGroupOrDirect() {
|
||||
if result := <-Srv.Store.Team().GetTeamsByUserId(user.Id); result.Err != nil {
|
||||
return result.Err
|
||||
@@ -367,7 +367,7 @@ func sendNotificationEmail(post *model.Post, user *model.User, channel *model.Ch
|
||||
var mailTemplate string
|
||||
var mailParameters map[string]interface{}
|
||||
|
||||
teamURL := siteURL + "/" + team.Name
|
||||
teamURL := utils.GetSiteURL() + "/" + team.Name
|
||||
tm := time.Unix(post.CreateAt/1000, 0)
|
||||
|
||||
userLocale := utils.GetUserTranslations(user.Locale)
|
||||
@@ -405,7 +405,7 @@ func sendNotificationEmail(post *model.Post, user *model.User, channel *model.Ch
|
||||
subject := fmt.Sprintf("[%v] %v", utils.Cfg.TeamSettings.SiteName, userLocale(mailTemplate, mailParameters))
|
||||
|
||||
bodyPage := utils.NewHTMLTemplate("post_body", user.Locale)
|
||||
bodyPage.Props["SiteURL"] = siteURL
|
||||
bodyPage.Props["SiteURL"] = utils.GetSiteURL()
|
||||
bodyPage.Props["PostMessage"] = GetMessageForNotification(post, userLocale)
|
||||
if team.Name != "select_team" {
|
||||
bodyPage.Props["TeamLink"] = teamURL + "/pl/" + post.Id
|
||||
|
||||
@@ -7,7 +7,6 @@ import (
|
||||
"testing"
|
||||
|
||||
"github.com/mattermost/platform/model"
|
||||
"github.com/mattermost/platform/utils"
|
||||
)
|
||||
|
||||
func TestSendNotifications(t *testing.T) {
|
||||
@@ -19,13 +18,13 @@ func TestSendNotifications(t *testing.T) {
|
||||
UserId: th.BasicUser.Id,
|
||||
ChannelId: th.BasicChannel.Id,
|
||||
Message: "@" + th.BasicUser2.Username,
|
||||
}, th.BasicTeam.Id, true, utils.GetSiteURL())
|
||||
}, th.BasicTeam.Id, true)
|
||||
|
||||
if postErr != nil {
|
||||
t.Fatal(postErr)
|
||||
}
|
||||
|
||||
mentions, err := SendNotifications(post1, th.BasicTeam, th.BasicChannel, th.BasicUser, utils.GetSiteURL())
|
||||
mentions, err := SendNotifications(post1, th.BasicTeam, th.BasicChannel, th.BasicUser)
|
||||
if err != nil {
|
||||
t.Fatal(err)
|
||||
} else if mentions == nil {
|
||||
|
||||
18
app/post.go
18
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
|
||||
}
|
||||
|
||||
|
||||
@@ -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}))
|
||||
|
||||
44
app/team.go
44
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
|
||||
}
|
||||
|
||||
@@ -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")
|
||||
}
|
||||
|
||||
64
app/user.go
64
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 {
|
||||
|
||||
@@ -70,7 +70,7 @@ func TestCreateOAuthUser(t *testing.T) {
|
||||
glUser := oauthgitlab.GitLabUser{Id: int64(r.Intn(1000)), Username: "joram" + model.NewId(), Email: model.NewId() + "@simulator.amazonses.com", Name: "Joram Wilander"}
|
||||
|
||||
json := glUser.ToJson()
|
||||
user, err := CreateOAuthUser(model.USER_AUTH_SERVICE_GITLAB, strings.NewReader(json), th.BasicTeam.Id, utils.GetSiteURL())
|
||||
user, err := CreateOAuthUser(model.USER_AUTH_SERVICE_GITLAB, strings.NewReader(json), th.BasicTeam.Id)
|
||||
if err != nil {
|
||||
t.Fatal(err)
|
||||
}
|
||||
@@ -87,7 +87,7 @@ func TestCreateOAuthUser(t *testing.T) {
|
||||
}()
|
||||
utils.Cfg.TeamSettings.EnableUserCreation = false
|
||||
|
||||
_, err = CreateOAuthUser(model.USER_AUTH_SERVICE_GITLAB, strings.NewReader(json), th.BasicTeam.Id, utils.GetSiteURL())
|
||||
_, err = CreateOAuthUser(model.USER_AUTH_SERVICE_GITLAB, strings.NewReader(json), th.BasicTeam.Id)
|
||||
if err == nil {
|
||||
t.Fatal("should have failed - user creation disabled")
|
||||
}
|
||||
@@ -138,7 +138,7 @@ func TestUpdateOAuthUserAttrs(t *testing.T) {
|
||||
data := bytes.NewReader(gitlabUser)
|
||||
|
||||
user = getUserFromDB(user.Id, t)
|
||||
UpdateOAuthUserAttrs(data, user, gitlabProvider, "gitlab", "http://localhost:8065")
|
||||
UpdateOAuthUserAttrs(data, user, gitlabProvider, "gitlab")
|
||||
user = getUserFromDB(user.Id, t)
|
||||
|
||||
if user.Username != gitlabUserObj.Username {
|
||||
@@ -153,7 +153,7 @@ func TestUpdateOAuthUserAttrs(t *testing.T) {
|
||||
data := bytes.NewReader(gitlabUser)
|
||||
|
||||
user = getUserFromDB(user.Id, t)
|
||||
UpdateOAuthUserAttrs(data, user, gitlabProvider, "gitlab", "http://localhost:8065")
|
||||
UpdateOAuthUserAttrs(data, user, gitlabProvider, "gitlab")
|
||||
user = getUserFromDB(user.Id, t)
|
||||
|
||||
if user.Username == gitlabUserObj.Username {
|
||||
@@ -169,7 +169,7 @@ func TestUpdateOAuthUserAttrs(t *testing.T) {
|
||||
data := bytes.NewReader(gitlabUser)
|
||||
|
||||
user = getUserFromDB(user.Id, t)
|
||||
UpdateOAuthUserAttrs(data, user, gitlabProvider, "gitlab", "http://localhost:8065")
|
||||
UpdateOAuthUserAttrs(data, user, gitlabProvider, "gitlab")
|
||||
user = getUserFromDB(user.Id, t)
|
||||
|
||||
if user.Email != gitlabUserObj.Email {
|
||||
@@ -188,7 +188,7 @@ func TestUpdateOAuthUserAttrs(t *testing.T) {
|
||||
data := bytes.NewReader(gitlabUser)
|
||||
|
||||
user = getUserFromDB(user.Id, t)
|
||||
UpdateOAuthUserAttrs(data, user, gitlabProvider, "gitlab", "http://localhost:8065")
|
||||
UpdateOAuthUserAttrs(data, user, gitlabProvider, "gitlab")
|
||||
user = getUserFromDB(user.Id, t)
|
||||
|
||||
if user.Email == gitlabUserObj.Email {
|
||||
@@ -203,7 +203,7 @@ func TestUpdateOAuthUserAttrs(t *testing.T) {
|
||||
data := bytes.NewReader(gitlabUser)
|
||||
|
||||
user = getUserFromDB(user.Id, t)
|
||||
UpdateOAuthUserAttrs(data, user, gitlabProvider, "gitlab", "http://localhost:8065")
|
||||
UpdateOAuthUserAttrs(data, user, gitlabProvider, "gitlab")
|
||||
user = getUserFromDB(user.Id, t)
|
||||
|
||||
if user.FirstName != "Updated" {
|
||||
@@ -217,7 +217,7 @@ func TestUpdateOAuthUserAttrs(t *testing.T) {
|
||||
data := bytes.NewReader(gitlabUser)
|
||||
|
||||
user = getUserFromDB(user.Id, t)
|
||||
UpdateOAuthUserAttrs(data, user, gitlabProvider, "gitlab", "http://localhost:8065")
|
||||
UpdateOAuthUserAttrs(data, user, gitlabProvider, "gitlab")
|
||||
user = getUserFromDB(user.Id, t)
|
||||
|
||||
if user.LastName != "Lastname" {
|
||||
@@ -253,7 +253,7 @@ func createGitlabUser(t *testing.T, email string, username string) (*model.User,
|
||||
var user *model.User
|
||||
var err *model.AppError
|
||||
|
||||
if user, err = CreateOAuthUser("gitlab", bytes.NewReader(gitlabUser), "", utils.GetSiteURL()); err != nil {
|
||||
if user, err = CreateOAuthUser("gitlab", bytes.NewReader(gitlabUser), ""); err != nil {
|
||||
t.Fatal("unable to create the user")
|
||||
}
|
||||
|
||||
|
||||
@@ -24,7 +24,7 @@ const (
|
||||
TRIGGERWORDS_STARTSWITH = 1
|
||||
)
|
||||
|
||||
func handleWebhookEvents(post *model.Post, team *model.Team, channel *model.Channel, user *model.User, siteURL string) *model.AppError {
|
||||
func handleWebhookEvents(post *model.Post, team *model.Team, channel *model.Channel, user *model.User) *model.AppError {
|
||||
if !utils.Cfg.ServiceSettings.EnableOutgoingWebhooks {
|
||||
return nil
|
||||
}
|
||||
@@ -107,7 +107,7 @@ func handleWebhookEvents(post *model.Post, team *model.Team, channel *model.Chan
|
||||
respProps := model.MapFromJson(resp.Body)
|
||||
|
||||
if text, ok := respProps["text"]; ok {
|
||||
if _, err := CreateWebhookPost(hook.CreatorId, hook.TeamId, post.ChannelId, text, respProps["username"], respProps["icon_url"], post.Props, post.Type, siteURL); err != nil {
|
||||
if _, err := CreateWebhookPost(hook.CreatorId, hook.TeamId, post.ChannelId, text, respProps["username"], respProps["icon_url"], post.Props, post.Type); err != nil {
|
||||
l4g.Error(utils.T("api.post.handle_webhook_events_and_forget.create_post.error"), err)
|
||||
}
|
||||
}
|
||||
@@ -121,7 +121,7 @@ func handleWebhookEvents(post *model.Post, team *model.Team, channel *model.Chan
|
||||
return nil
|
||||
}
|
||||
|
||||
func CreateWebhookPost(userId, teamId, channelId, text, overrideUsername, overrideIconUrl string, props model.StringInterface, postType string, siteURL string) (*model.Post, *model.AppError) {
|
||||
func CreateWebhookPost(userId, teamId, channelId, text, overrideUsername, overrideIconUrl string, props model.StringInterface, postType string) (*model.Post, *model.AppError) {
|
||||
// parse links into Markdown format
|
||||
linkWithTextRegex := regexp.MustCompile(`<([^<\|]+)\|([^>]+)>`)
|
||||
text = linkWithTextRegex.ReplaceAllString(text, "[${2}](${1})")
|
||||
@@ -159,7 +159,7 @@ func CreateWebhookPost(userId, teamId, channelId, text, overrideUsername, overri
|
||||
}
|
||||
}
|
||||
|
||||
if _, err := CreatePost(post, teamId, false, siteURL); err != nil {
|
||||
if _, err := CreatePost(post, teamId, false); err != nil {
|
||||
return nil, model.NewLocAppError("CreateWebhookPost", "api.post.create_webhook_post.creating.app_error", nil, "err="+err.Message)
|
||||
}
|
||||
|
||||
@@ -423,7 +423,7 @@ func RegenOutgoingWebhookToken(hook *model.OutgoingWebhook) (*model.OutgoingWebh
|
||||
}
|
||||
}
|
||||
|
||||
func HandleIncomingWebhook(hookId string, req *model.IncomingWebhookRequest, siteURL string) *model.AppError {
|
||||
func HandleIncomingWebhook(hookId string, req *model.IncomingWebhookRequest) *model.AppError {
|
||||
if !utils.Cfg.ServiceSettings.EnableIncomingWebhooks {
|
||||
return model.NewAppError("HandleIncomingWebhook", "web.incoming_webhook.disabled.app_error", nil, "", http.StatusNotImplemented)
|
||||
}
|
||||
@@ -514,7 +514,7 @@ func HandleIncomingWebhook(hookId string, req *model.IncomingWebhookRequest, sit
|
||||
return model.NewAppError("HandleIncomingWebhook", "web.incoming_webhook.permissions.app_error", nil, "", http.StatusForbidden)
|
||||
}
|
||||
|
||||
if _, err := CreateWebhookPost(hook.UserId, hook.TeamId, channel.Id, text, overrideUsername, overrideIconUrl, req.Props, webhookType, siteURL); err != nil {
|
||||
if _, err := CreateWebhookPost(hook.UserId, hook.TeamId, channel.Id, text, overrideUsername, overrideIconUrl, req.Props, webhookType); err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
|
||||
@@ -166,7 +166,7 @@ func removeUserFromChannel(channel *model.Channel, user *model.User, userArg str
|
||||
CommandPrintErrorln("Can't find user '" + userArg + "'")
|
||||
return
|
||||
}
|
||||
if err := app.RemoveUserFromChannel(user.Id, "", channel, utils.GetSiteURL()); err != nil {
|
||||
if err := app.RemoveUserFromChannel(user.Id, "", channel); err != nil {
|
||||
CommandPrintErrorln("Unable to remove '" + userArg + "' from " + channel.Name + ". Error: " + err.Error())
|
||||
}
|
||||
}
|
||||
|
||||
@@ -8,7 +8,6 @@ import (
|
||||
|
||||
"github.com/mattermost/platform/app"
|
||||
"github.com/mattermost/platform/model"
|
||||
"github.com/mattermost/platform/utils"
|
||||
"github.com/spf13/cobra"
|
||||
)
|
||||
|
||||
@@ -155,7 +154,7 @@ func addUserToTeam(team *model.Team, user *model.User, userArg string) {
|
||||
CommandPrintErrorln("Can't find user '" + userArg + "'")
|
||||
return
|
||||
}
|
||||
if err := app.JoinUserToTeam(team, user, utils.GetSiteURL()); err != nil {
|
||||
if err := app.JoinUserToTeam(team, user); err != nil {
|
||||
CommandPrintErrorln("Unable to add '" + userArg + "' to " + team.Name)
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"ServiceSettings": {
|
||||
"SiteURL": "",
|
||||
"SiteURL": "http://localhost:8065",
|
||||
"ListenAddress": ":8065",
|
||||
"ConnectionSecurity": "",
|
||||
"TLSCertFile": "",
|
||||
@@ -55,10 +55,10 @@
|
||||
"CustomDescriptionText": "",
|
||||
"RestrictDirectMessage": "any",
|
||||
"RestrictTeamInvite": "all",
|
||||
"RestrictPublicChannelCreation": "all",
|
||||
"RestrictPrivateChannelCreation": "all",
|
||||
"RestrictPublicChannelManagement": "all",
|
||||
"RestrictPrivateChannelManagement": "all",
|
||||
"RestrictPublicChannelCreation": "all",
|
||||
"RestrictPrivateChannelCreation": "all",
|
||||
"RestrictPublicChannelDeletion": "all",
|
||||
"RestrictPrivateChannelDeletion": "all",
|
||||
"RestrictPrivateChannelManageMembers": "all",
|
||||
|
||||
@@ -10,7 +10,7 @@ import (
|
||||
type SamlInterface interface {
|
||||
ConfigureSP() *model.AppError
|
||||
BuildRequest(relayState string) (*model.SamlAuthRequest, *model.AppError)
|
||||
DoLogin(encodedXML string, relayState map[string]string, siteURL string) (*model.User, *model.AppError)
|
||||
DoLogin(encodedXML string, relayState map[string]string) (*model.User, *model.AppError)
|
||||
GetMetadata() (string, *model.AppError)
|
||||
}
|
||||
|
||||
|
||||
@@ -72,7 +72,7 @@ func TestIncomingWebhook(t *testing.T) {
|
||||
team := &model.Team{DisplayName: "Name", Name: "z-z-" + model.NewId() + "a", Email: "test@nowhere.com", Type: model.TEAM_OPEN}
|
||||
team = ApiClient.Must(ApiClient.CreateTeam(team)).Data.(*model.Team)
|
||||
|
||||
app.JoinUserToTeam(team, user, utils.GetSiteURL())
|
||||
app.JoinUserToTeam(team, user)
|
||||
|
||||
app.UpdateUserRoles(user.Id, model.ROLE_SYSTEM_ADMIN.Id)
|
||||
ApiClient.SetTeamId(team.Id)
|
||||
|
||||
@@ -69,6 +69,10 @@ export default class AdminSettings extends React.Component {
|
||||
if (callback) {
|
||||
callback();
|
||||
}
|
||||
|
||||
if (this.handleSaved) {
|
||||
this.handleSaved(config);
|
||||
}
|
||||
},
|
||||
(err) => {
|
||||
this.setState({
|
||||
@@ -79,6 +83,10 @@ export default class AdminSettings extends React.Component {
|
||||
if (callback) {
|
||||
callback();
|
||||
}
|
||||
|
||||
if (this.handleSaved) {
|
||||
this.handleSaved(config);
|
||||
}
|
||||
}
|
||||
);
|
||||
}
|
||||
|
||||
@@ -2,18 +2,20 @@
|
||||
// See License.txt for license information.
|
||||
|
||||
import React from 'react';
|
||||
import {FormattedMessage} from 'react-intl';
|
||||
|
||||
import ErrorStore from 'stores/error_store.jsx';
|
||||
|
||||
import * as Utils from 'utils/utils.jsx';
|
||||
|
||||
import AdminSettings from './admin_settings.jsx';
|
||||
import {FormattedMessage, FormattedHTMLMessage} from 'react-intl';
|
||||
import BooleanSetting from './boolean_setting.jsx';
|
||||
import {ConnectionSecurityDropdownSettingWebserver} from './connection_security_dropdown_setting.jsx';
|
||||
import PurgeCachesButton from './purge_caches.jsx';
|
||||
import ReloadConfigButton from './reload_config.jsx';
|
||||
import SettingsGroup from './settings_group.jsx';
|
||||
import TextSetting from './text_setting.jsx';
|
||||
import ReloadConfigButton from './reload_config.jsx';
|
||||
import PurgeCachesButton from './purge_caches.jsx';
|
||||
import WebserverModeDropdownSetting from './webserver_mode_dropdown_setting.jsx';
|
||||
import {ConnectionSecurityDropdownSettingWebserver} from './connection_security_dropdown_setting.jsx';
|
||||
import BooleanSetting from './boolean_setting.jsx';
|
||||
|
||||
export default class ConfigurationSettings extends AdminSettings {
|
||||
constructor(props) {
|
||||
@@ -21,6 +23,8 @@ export default class ConfigurationSettings extends AdminSettings {
|
||||
|
||||
this.getConfigFromState = this.getConfigFromState.bind(this);
|
||||
|
||||
this.handleSaved = this.handleSaved.bind(this);
|
||||
|
||||
this.renderSettings = this.renderSettings.bind(this);
|
||||
}
|
||||
|
||||
@@ -62,6 +66,14 @@ export default class ConfigurationSettings extends AdminSettings {
|
||||
};
|
||||
}
|
||||
|
||||
handleSaved(newConfig) {
|
||||
const lastError = ErrorStore.getLastError();
|
||||
|
||||
if (lastError && lastError.message === 'error_bar.site_url' && newConfig.ServiceSettings.SiteURL) {
|
||||
ErrorStore.clearLastError(true);
|
||||
}
|
||||
}
|
||||
|
||||
renderTitle() {
|
||||
return (
|
||||
<FormattedMessage
|
||||
@@ -92,9 +104,9 @@ export default class ConfigurationSettings extends AdminSettings {
|
||||
}
|
||||
placeholder={Utils.localizeMessage('admin.service.siteURLExample', 'Ex "https://mattermost.example.com:1234"')}
|
||||
helpText={
|
||||
<FormattedHTMLMessage
|
||||
<FormattedMessage
|
||||
id='admin.service.siteURLDescription'
|
||||
defaultMessage='The URL, including port number and protocol, that users will use to access Mattermost. This field can be left blank unless you are configuring email batching in <b>Notifications > Email</b>. When blank, the URL is automatically configured based on incoming traffic.'
|
||||
defaultMessage='The URL, including port number and protocol, that users will use to access Mattermost. This setting is required.'
|
||||
/>
|
||||
}
|
||||
value={this.state.siteURL}
|
||||
|
||||
@@ -13,11 +13,13 @@ const StatTypes = Constants.StatTypes;
|
||||
|
||||
import React from 'react';
|
||||
import {FormattedMessage, FormattedHTMLMessage} from 'react-intl';
|
||||
import {Link} from 'react-router';
|
||||
|
||||
const EXPIRING_ERROR = 'error_bar.expiring';
|
||||
const EXPIRED_ERROR = 'error_bar.expired';
|
||||
const PAST_GRACE_ERROR = 'error_bar.past_grace';
|
||||
const RENEWAL_LINK = 'https://licensing.mattermost.com/renew';
|
||||
const SITE_URL_ERROR = 'error_bar.site_url';
|
||||
|
||||
const BAR_DEVELOPER_TYPE = 'developer';
|
||||
const BAR_CRITICAL_TYPE = 'critical';
|
||||
@@ -32,15 +34,31 @@ export default class ErrorBar extends React.Component {
|
||||
|
||||
ErrorStore.clearLastError();
|
||||
|
||||
this.setInitialError();
|
||||
|
||||
this.state = ErrorStore.getLastError();
|
||||
}
|
||||
|
||||
setInitialError() {
|
||||
let isSystemAdmin = false;
|
||||
const user = UserStore.getCurrentUser();
|
||||
if (user) {
|
||||
isSystemAdmin = Utils.isSystemAdmin(user.roles);
|
||||
}
|
||||
|
||||
if (!ErrorStore.getIgnoreNotification() && global.window.mm_config.SendEmailNotifications === 'false') {
|
||||
ErrorStore.storeLastError({notification: true, message: Utils.localizeMessage('error_bar.preview_mode', 'Preview Mode: Email notifications have not been configured')});
|
||||
} else if (isLicensePastGracePeriod()) {
|
||||
const errorIgnored = ErrorStore.getIgnoreNotification();
|
||||
|
||||
if (!errorIgnored) {
|
||||
if (global.mm_config.SendEmailNotifications === 'false') {
|
||||
ErrorStore.storeLastError({notification: true, message: Utils.localizeMessage('error_bar.preview_mode', 'Preview Mode: Email notifications have not been configured')});
|
||||
return;
|
||||
} else if (isSystemAdmin && global.mm_config.SiteURL === '') {
|
||||
ErrorStore.storeLastError({notification: true, message: SITE_URL_ERROR});
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
if (isLicensePastGracePeriod()) {
|
||||
if (isSystemAdmin) {
|
||||
ErrorStore.storeLastError({notification: true, message: EXPIRED_ERROR, type: BAR_CRITICAL_TYPE});
|
||||
} else {
|
||||
@@ -51,8 +69,6 @@ export default class ErrorBar extends React.Component {
|
||||
} else if (isLicenseExpiring() && isSystemAdmin) {
|
||||
ErrorStore.storeLastError({notification: true, message: EXPIRING_ERROR});
|
||||
}
|
||||
|
||||
this.state = ErrorStore.getLastError();
|
||||
}
|
||||
|
||||
isValidError(s) {
|
||||
@@ -157,6 +173,45 @@ export default class ErrorBar extends React.Component {
|
||||
defaultMessage='Enterprise license is expired and some features may be disabled. Please contact your System Administrator for details.'
|
||||
/>
|
||||
);
|
||||
} else if (message === SITE_URL_ERROR) {
|
||||
let id;
|
||||
let defaultMessage;
|
||||
if (global.mm_config.EnableSignUpWithGitLab === 'true') {
|
||||
id = 'error_bar.site_url_gitlab';
|
||||
defaultMessage = '{docsLink} is now a required setting. Please configure it in the System Console or in gitlab.rb if you\'re using GitLab Mattermost.';
|
||||
} else {
|
||||
id = 'error_bar.site_url';
|
||||
defaultMessage = '{docsLink} is now a required setting. Please configure it in {link}.';
|
||||
}
|
||||
|
||||
message = (
|
||||
<FormattedMessage
|
||||
id={id}
|
||||
defaultMessage={defaultMessage}
|
||||
values={{
|
||||
docsLink: (
|
||||
<a
|
||||
href='https://docs.mattermost.com/administration/config-settings.html#site-url'
|
||||
rel='noopener noreferrer'
|
||||
target='_blank'
|
||||
>
|
||||
<FormattedMessage
|
||||
id='error_bar.site_url.docsLink'
|
||||
defaultMessage='Site URL'
|
||||
/>
|
||||
</a>
|
||||
),
|
||||
link: (
|
||||
<Link to='/admin_console/general/configuration'>
|
||||
<FormattedMessage
|
||||
id='error_bar.site_url.link'
|
||||
defaultMessage='the System Console'
|
||||
/>
|
||||
</Link>
|
||||
)
|
||||
}}
|
||||
/>
|
||||
);
|
||||
}
|
||||
|
||||
return (
|
||||
|
||||
@@ -725,7 +725,7 @@
|
||||
"admin.service.sessionCacheDesc": "The number of minutes to cache a session in memory.",
|
||||
"admin.service.sessionDaysEx": "E.g.: \"30\"",
|
||||
"admin.service.siteURL": "Site URL:",
|
||||
"admin.service.siteURLDescription": "The URL, including port number and protocol, that users will use to access Mattermost. This field can be left blank unless you are configuring email batching in <b>Notifications > Email</b>. When blank, the URL is automatically configured based on incoming traffic.",
|
||||
"admin.service.siteURLDescription": "The URL, including port number and protocol, that users will use to access Mattermost. This setting is required.",
|
||||
"admin.service.siteURLExample": "E.g.: \"https://mattermost.example.com:1234\"",
|
||||
"admin.service.ssoSessionDays": "Session length SSO (days):",
|
||||
"admin.service.ssoSessionDaysDesc": "The number of days from the last time a user entered their credentials to the expiry of the user's session. If the authentication method is SAML or GitLab, the user may automatically be logged back in to Mattermost if they are already logged in to SAML or GitLab. After changing this setting, the setting will take effect after the next time the user enters their credentials.",
|
||||
@@ -1310,6 +1310,10 @@
|
||||
"error_bar.expiring": "Enterprise license expires on {date}. <a href='{link}' target='_blank'>Please renew.</a>",
|
||||
"error_bar.past_grace": "Enterprise license is expired and some features may be disabled. Please contact your System Administrator for details.",
|
||||
"error_bar.preview_mode": "Preview Mode: Email notifications have not been configured",
|
||||
"error_bar.site_url": "{docsLink} is now a required setting. Please configure it in {link}.",
|
||||
"error_bar.site_url.docsLink": "Site URL",
|
||||
"error_bar.site_url.link": "the System Console",
|
||||
"error_bar.site_url_gitlab": "{docsLink} is now a required setting. Please configure it in the System Console or in gitlab.rb if you're using GitLab Mattermost.",
|
||||
"file_attachment.download": "Download",
|
||||
"file_info_preview.size": "Size ",
|
||||
"file_info_preview.type": "File type ",
|
||||
|
||||
@@ -62,11 +62,11 @@ class ErrorStoreClass extends EventEmitter {
|
||||
BrowserStore.setGlobalItem('last_error_conn', count);
|
||||
}
|
||||
|
||||
clearLastError() {
|
||||
clearLastError(force) {
|
||||
var lastError = this.getLastError();
|
||||
|
||||
// preview message can only be cleared by clearNotificationError
|
||||
if (lastError && lastError.notification) {
|
||||
if (!force && lastError && lastError.notification) {
|
||||
return;
|
||||
}
|
||||
|
||||
|
||||
Ссылка в новой задаче
Block a user