# HG changeset patch # User Tomas Zeman # Date 1302628231 -7200 # Node ID 9fac266526dfc700fb788cbd7359193bfd709261 # Parent 4b65e897b1999b36a9b6a89b48afd2fd55c3b320 bc67082157fcd615 Invalid link to active sessions diff -r 4b65e897b199 -r 9fac266526df src/main/scala/radview/snippet/SessionSnippet.scala --- a/src/main/scala/radview/snippet/SessionSnippet.scala Tue Apr 12 19:10:27 2011 +0200 +++ b/src/main/scala/radview/snippet/SessionSnippet.scala Tue Apr 12 19:10:31 2011 +0200 @@ -23,19 +23,23 @@ import net.liftweb.sitemap.Loc._ import net.liftweb.util._ import net.liftweb.util.{Cell => _} +import net.liftweb.util.Helpers.urlEncode import net.tz.lift.snippet._ import net.tz.lift.util._ import radview.model.{Cdr, CdrSession, Cell} import scala.xml.{Elem, NodeSeq, Text} object AsCdrSession { - def unapply(in: String): Option[CdrSession] = Cdr.session(in) + def unapply(in: String): Option[CdrSession] = + Cdr.session(in.split('+').mkString("/")) } object SessionSnippet extends Loc[CdrSession] with SnippetHelpers { object showCdr extends RequestVar[Boolean](false) + def encode(s: String) = urlEncode(s.split('/').mkString("+")) + val name = "session" val prefix = "session" val tpl = "session" @@ -43,7 +47,7 @@ val defaultValue = Empty val link = new Link[CdrSession](List(prefix), true) { override def createPath(s: CdrSession): String = - mkPath(prefix, s.sid) + mkPath(prefix, encode(s.sid)) } val text = LinkText[CdrSession](s => Text("Session " + s.sid)) @@ -57,7 +61,7 @@ (RResp(List("session")), s) }) - def url(sid: String): String = "/" + prefix + "/" + sid + def url(sid: String): String = "/" + prefix + "/" + encode(sid) def url(s: CdrSession): String = url(s, false) def url(s: CdrSession, _showCdr: Boolean): String = link.createPath(s) + (if (_showCdr) "/cdr" else "")