diff options
author | Christopher Speller <crspeller@gmail.com> | 2015-09-14 12:04:57 -0400 |
---|---|---|
committer | Christopher Speller <crspeller@gmail.com> | 2015-09-14 12:18:38 -0400 |
commit | 7b3c2d6d85ecee86fbc85b440e7028018b1090b1 (patch) | |
tree | 2493b0f770c931cedde57f8d787f37f6631de484 /model/utils.go | |
parent | b2378f433ecd44a9811a52bd58e36a40f92e193f (diff) | |
download | chat-7b3c2d6d85ecee86fbc85b440e7028018b1090b1.tar.gz chat-7b3c2d6d85ecee86fbc85b440e7028018b1090b1.tar.bz2 chat-7b3c2d6d85ecee86fbc85b440e7028018b1090b1.zip |
Allowing underscores in channel names. Added conversion of some slack channel names into valid mattermost names.
Diffstat (limited to 'model/utils.go')
-rw-r--r-- | model/utils.go | 12 |
1 files changed, 9 insertions, 3 deletions
diff --git a/model/utils.go b/model/utils.go index 17d1c6317..d5122e805 100644 --- a/model/utils.go +++ b/model/utils.go @@ -202,7 +202,7 @@ func GetSubDomain(s string) (string, string) { func IsValidChannelIdentifier(s string) bool { - if !IsValidAlphaNum(s) { + if !IsValidAlphaNum(s, true) { return false } @@ -213,10 +213,16 @@ func IsValidChannelIdentifier(s string) bool { 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]+$`) -func IsValidAlphaNum(s string) bool { - match := validAlphaNum.MatchString(s) +func IsValidAlphaNum(s string, allowUnderscores bool) bool { + var match bool + if allowUnderscores { + match = validAlphaNumUnderscore.MatchString(s) + } else { + match = validAlphaNum.MatchString(s) + } if !match { return false |