diff --git a/app/team/Team.scala b/app/team/Team.scala index 4b20992ba6..e6f8e0d7be 100644 --- a/app/team/Team.scala +++ b/app/team/Team.scala @@ -3,6 +3,7 @@ package team import user.User +import ornicar.scalalib.Random import org.joda.time.DateTime import com.novus.salat.annotations.Key import java.text.Normalizer @@ -44,5 +45,7 @@ object Team { createdAt = DateTime.now, createdBy = createdBy.id) - def nameToId(name: String) = templating.StringHelper slugify name + def nameToId(name: String) = (templating.StringHelper slugify name) |> { slug ⇒ + slug.isEmpty.fold(Random nextString 8, slug) + } } diff --git a/app/templating/StringHelper.scala b/app/templating/StringHelper.scala index 03e2573777..24b2c0a6bf 100644 --- a/app/templating/StringHelper.scala +++ b/app/templating/StringHelper.scala @@ -12,7 +12,7 @@ object StringHelper extends StringHelper trait StringHelper { def slugify(input: String) = { - val nowhitespace = input.replace(" ", "-") + val nowhitespace = input.trim.replace(" ", "-") val normalized = Normalizer.normalize(nowhitespace, Normalizer.Form.NFD) val slug = """[^\w-]""".r.replaceAllIn(normalized, "") slug.toLowerCase diff --git a/todo b/todo index 94c49b7006..11d873e2e0 100644 --- a/todo +++ b/todo @@ -49,3 +49,4 @@ show all join requests show join requests in teams list kick someone out of a team team search +team forum recent posts is broken