--- 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 "")