Allowing underscores in channel names. Added conversion of some slack channel names into valid mattermost names.
Этот коммит содержится в:
@@ -50,6 +50,15 @@ func SlackConvertTimeStamp(ts string) int64 {
|
|||||||
return timeStamp * 1000 // Convert to milliseconds
|
return timeStamp * 1000 // Convert to milliseconds
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func SlackConvertChannelName(channelName string) string {
|
||||||
|
newName := strings.Trim(channelName, "_-")
|
||||||
|
if len(newName) == 1 {
|
||||||
|
return "slack-channel-" + newName
|
||||||
|
}
|
||||||
|
|
||||||
|
return newName
|
||||||
|
}
|
||||||
|
|
||||||
func SlackParseChannels(data io.Reader) []SlackChannel {
|
func SlackParseChannels(data io.Reader) []SlackChannel {
|
||||||
decoder := json.NewDecoder(data)
|
decoder := json.NewDecoder(data)
|
||||||
|
|
||||||
@@ -172,7 +181,7 @@ func SlackAddChannels(teamId string, slackchannels []SlackChannel, posts map[str
|
|||||||
TeamId: teamId,
|
TeamId: teamId,
|
||||||
Type: model.CHANNEL_OPEN,
|
Type: model.CHANNEL_OPEN,
|
||||||
DisplayName: sChannel.Name,
|
DisplayName: sChannel.Name,
|
||||||
Name: sChannel.Name,
|
Name: SlackConvertChannelName(sChannel.Name),
|
||||||
Description: sChannel.Topic["value"],
|
Description: sChannel.Topic["value"],
|
||||||
}
|
}
|
||||||
mChannel := ImportChannel(&newChannel)
|
mChannel := ImportChannel(&newChannel)
|
||||||
|
|||||||
@@ -158,7 +158,7 @@ func IsReservedTeamName(s string) bool {
|
|||||||
|
|
||||||
func IsValidTeamName(s string) bool {
|
func IsValidTeamName(s string) bool {
|
||||||
|
|
||||||
if !IsValidAlphaNum(s) {
|
if !IsValidAlphaNum(s, false) {
|
||||||
return false
|
return false
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -202,7 +202,7 @@ func GetSubDomain(s string) (string, string) {
|
|||||||
|
|
||||||
func IsValidChannelIdentifier(s string) bool {
|
func IsValidChannelIdentifier(s string) bool {
|
||||||
|
|
||||||
if !IsValidAlphaNum(s) {
|
if !IsValidAlphaNum(s, true) {
|
||||||
return false
|
return false
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -213,10 +213,16 @@ func IsValidChannelIdentifier(s string) bool {
|
|||||||
return true
|
return true
|
||||||
}
|
}
|
||||||
|
|
||||||
|
var validAlphaNumUnderscore = regexp.MustCompile(`^[a-z0-9]+([a-z\-\_0-9]+|(__)?)[a-z0-9]+$`)
|
||||||
var validAlphaNum = regexp.MustCompile(`^[a-z0-9]+([a-z\-0-9]+|(__)?)[a-z0-9]+$`)
|
var validAlphaNum = regexp.MustCompile(`^[a-z0-9]+([a-z\-0-9]+|(__)?)[a-z0-9]+$`)
|
||||||
|
|
||||||
func IsValidAlphaNum(s string) bool {
|
func IsValidAlphaNum(s string, allowUnderscores bool) bool {
|
||||||
match := validAlphaNum.MatchString(s)
|
var match bool
|
||||||
|
if allowUnderscores {
|
||||||
|
match = validAlphaNumUnderscore.MatchString(s)
|
||||||
|
} else {
|
||||||
|
match = validAlphaNum.MatchString(s)
|
||||||
|
}
|
||||||
|
|
||||||
if !match {
|
if !match {
|
||||||
return false
|
return false
|
||||||
|
|||||||
@@ -35,7 +35,7 @@ export default class TeamImportTab extends React.Component {
|
|||||||
var uploadHelpText = (
|
var uploadHelpText = (
|
||||||
<div>
|
<div>
|
||||||
<p>{'Slack does not allow you to export files, images, private groups or direct messages stored in Slack. Therefore, Slack import to Mattermost only supports importing of text messages in your Slack team\'\s public channels.'}</p>
|
<p>{'Slack does not allow you to export files, images, private groups or direct messages stored in Slack. Therefore, Slack import to Mattermost only supports importing of text messages in your Slack team\'\s public channels.'}</p>
|
||||||
<p>{'The Slack import to Mattermost is in "Preview". Slack bot posts and channels with underscores do not yet import.'}</p>
|
<p>{'The Slack import to Mattermost is in "Preview". Slack bot posts do not yet import.'}</p>
|
||||||
</div>
|
</div>
|
||||||
);
|
);
|
||||||
|
|
||||||
|
|||||||
Ссылка в новой задаче
Block a user