summaryrefslogtreecommitdiffstats
path: root/model/utils.go
diff options
context:
space:
mode:
authorChristopher Speller <crspeller@gmail.com>2015-09-14 12:04:57 -0400
committerChristopher Speller <crspeller@gmail.com>2015-09-14 12:18:38 -0400
commit7b3c2d6d85ecee86fbc85b440e7028018b1090b1 (patch)
tree2493b0f770c931cedde57f8d787f37f6631de484 /model/utils.go
parentb2378f433ecd44a9811a52bd58e36a40f92e193f (diff)
downloadchat-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.go12
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