CLI: invite user by email - missing siteURL in email (#3297)

Этот коммит содержится в:
Thomas Balthazar
2016-06-10 13:59:20 +02:00
коммит произвёл Joram Wilander
родитель aa61ea0e44
Коммит 252d1c7e98
2 изменённых файлов: 27 добавлений и 11 удалений

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

@@ -139,7 +139,7 @@ func (h handler) ServeHTTP(w http.ResponseWriter, r *http.Request) {
} }
protocol := GetProtocol(r) protocol := GetProtocol(r)
c.setSiteURL(protocol + "://" + r.Host) c.SetSiteURL(protocol + "://" + r.Host)
w.Header().Set(model.HEADER_REQUEST_ID, c.RequestId) w.Header().Set(model.HEADER_REQUEST_ID, c.RequestId)
w.Header().Set(model.HEADER_VERSION_ID, fmt.Sprintf("%v.%v", model.CurrentVersion, utils.CfgLastModified)) w.Header().Set(model.HEADER_VERSION_ID, fmt.Sprintf("%v.%v", model.CurrentVersion, utils.CfgLastModified))
@@ -417,7 +417,7 @@ func (c *Context) SetTeamURLFromSession() {
} }
} }
func (c *Context) setSiteURL(url string) { func (c *Context) SetSiteURL(url string) {
c.siteURL = url c.siteURL = url
} }

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

@@ -63,6 +63,7 @@ var flagLicenseFile string
var flagEmail string var flagEmail string
var flagPassword string var flagPassword string
var flagTeamName string var flagTeamName string
var flagSiteURL string
var flagConfirmBackup string var flagConfirmBackup string
var flagRole string var flagRole string
var flagRunCmds bool var flagRunCmds bool
@@ -262,6 +263,7 @@ func parseCmds() {
flag.StringVar(&flagEmail, "email", "", "") flag.StringVar(&flagEmail, "email", "", "")
flag.StringVar(&flagPassword, "password", "", "") flag.StringVar(&flagPassword, "password", "", "")
flag.StringVar(&flagTeamName, "team_name", "", "") flag.StringVar(&flagTeamName, "team_name", "", "")
flag.StringVar(&flagSiteURL, "site_url", "", "")
flag.StringVar(&flagConfirmBackup, "confirm_backup", "", "") flag.StringVar(&flagConfirmBackup, "confirm_backup", "", "")
flag.StringVar(&flagRole, "role", "", "") flag.StringVar(&flagRole, "role", "", "")
@@ -821,15 +823,26 @@ func cmdInviteUser() {
os.Exit(1) os.Exit(1)
} }
if len(flagSiteURL) == 0 {
fmt.Fprintln(os.Stderr, "flag needs an argument: -site_url")
flag.Usage()
os.Exit(1)
}
// basic validation of the URL format
if _, err := url.ParseRequestURI(flagSiteURL); err != nil {
fmt.Fprintln(os.Stderr, "-site_url flag is invalid. It should look like http://example.com")
flag.Usage()
os.Exit(1)
}
var team *model.Team var team *model.Team
if len(flagTeamName) > 0 {
if result := <-api.Srv.Store.Team().GetByName(flagTeamName); result.Err != nil { if result := <-api.Srv.Store.Team().GetByName(flagTeamName); result.Err != nil {
l4g.Error("%v", result.Err) l4g.Error("%v", result.Err)
flushLogAndExit(1) flushLogAndExit(1)
} else { } else {
team = result.Data.(*model.Team) team = result.Data.(*model.Team)
} }
}
var user *model.User var user *model.User
if result := <-api.Srv.Store.User().GetByEmail(team.Email); result.Err != nil { if result := <-api.Srv.Store.User().GetByEmail(team.Email); result.Err != nil {
@@ -841,6 +854,7 @@ func cmdInviteUser() {
invites := []string{flagEmail} invites := []string{flagEmail}
c := getMockContext() c := getMockContext()
c.SetSiteURL(strings.TrimSuffix(flagSiteURL, "/"))
api.InviteMembers(c, team, user, invites) api.InviteMembers(c, team, user, invites)
os.Exit(0) os.Exit(0)
@@ -1236,6 +1250,8 @@ FLAGS:
-team_name="name" The team name used in other commands -team_name="name" The team name used in other commands
-site_url="url" The site URL used in other commands
-role="system_admin" The role used in other commands -role="system_admin" The role used in other commands
valid values are valid values are
"" - The empty role is basic user "" - The empty role is basic user
@@ -1255,9 +1271,9 @@ COMMANDS:
platform -create_user -team_name="name" -email="user@example.com" -password="mypassword" -username="user" platform -create_user -team_name="name" -email="user@example.com" -password="mypassword" -username="user"
-invite_user Invites a user to a team by email. It requires the -team_name -invite_user Invites a user to a team by email. It requires the -team_name
and -email flags. , -email and -site_url flags.
Example: Example:
platform -invite_user -team_name="name" -email="user@example.com" platform -invite_user -team_name="name" -email="user@example.com" -site_url="https://mattermost.example.com"
-join_team Joins a user to the team. It required the -email and -join_team Joins a user to the team. It required the -email and
-team_name. You may need to logout of your current session -team_name. You may need to logout of your current session