--- a/src/main/scala/fis/crm/ui/ContactSnippet.scala Fri Apr 20 08:26:22 2012 +0200
+++ b/src/main/scala/fis/crm/ui/ContactSnippet.scala Fri Apr 20 08:26:22 2012 +0200
@@ -64,7 +64,7 @@
val menu = listM submenus(viewM, editM, createM, deleteM)
- private def list: CssTr = ContactTable(CrmSchema.allContacts)
+ private def list: CssTr = { _ => ContactTable(CrmSchema.allContacts) }
private def panel: CssTr = "*" #> viewLoc.currentValue.map { ContactPanel(_) }
@@ -72,6 +72,13 @@
def view: Contact => Box[String] = (viewLoc.calcHref _) andThen (Box !! _)
}
+ private case class ContactLink(c: Contact) extends EntityLink[Contact](c,
+ url.view) {
+ override def displayName = l10n("contact.name")
+ }
+
+ EntityLink.register[Contact](ContactLink(_))
+
private object form extends HorizontalScreen with CancelButton with SaveButton {
object c extends ScreenVar[Contact](Contact.createRecord)
--- a/src/main/scala/fis/crm/ui/ContactTable.scala Fri Apr 20 08:26:22 2012 +0200
+++ b/src/main/scala/fis/crm/ui/ContactTable.scala Fri Apr 20 08:26:22 2012 +0200
@@ -15,27 +15,19 @@
*/
package fis.crm.ui
+import fis.base.ui._
import fis.crm.model._
import net.liftweb.util._
+import net.tz.lift.model._
import net.tz.lift.snippet._
import scala.xml.Text
-object ContactTable {
+object ContactTable extends FieldTable[Contact] {
- def fields(c: Contact) = Seq(ContactLink(c), c.position, c.workMail,
+ def fields(c: Contact) = EntityLink(c) ++ Seq(c.position, c.workMail,
c.workPhone, c.workMobile)
- def apply(l: Iterable[Contact]): CssTr =
- new DataTable(fields(Contact) map { _.displayName } toList,
- l map { c => fields(c) map { _.asHtml } toList } toList)
-}
-
-case class ContactLink(c: Contact) extends ReadableField {
- type ValueType = String
- def name = "linkName"
- override def asHtml = a(ContactSnippet.url.view(c))(Text(c.linkName))
- def get = c.linkName
- def is = c.linkName
+ def apply(l: Iterable[Contact]) = build(Contact, l)
}
// vim: set ts=2 sw=2 et:
--- a/src/main/webapp/templates-hidden/_resources.html Fri Apr 20 08:26:22 2012 +0200
+++ b/src/main/webapp/templates-hidden/_resources.html Fri Apr 20 08:26:22 2012 +0200
@@ -22,6 +22,7 @@
<res name="invalid.email.address" lang="en" default="true">Invalid email address.</res>
<!-- contact fields -->
+ <res name="contact.name" lang="en" default="true">Name</res>
<res name="contact.note" lang="en" default="true">Note</res>
<res name="contact.firstName" lang="en" default="true">First name</res>
<res name="contact.lastName" lang="en" default="true">Last name</res>
--- a/src/main/webapp/templates-hidden/_resources_cs.html Fri Apr 20 08:26:22 2012 +0200
+++ b/src/main/webapp/templates-hidden/_resources_cs.html Fri Apr 20 08:26:22 2012 +0200
@@ -22,6 +22,7 @@
<res name="invalid.email.address" lang="cs">Nesprávná emailová adresa.</res>
<!-- contact fields -->
+ <res name="contact.name" lang="cs">Jméno</res>
<res name="contact.note" lang="cs">Poznámka</res>
<res name="contact.firstName" lang="cs">Jméno</res>
<res name="contact.lastName" lang="cs">Příjmení</res>