I'm stucked again with the simple things....
I've a trait that extends BaseLongKeyedMapper and I wanna add a field
(currentCost) that does some calculation. Nothing special. Here's the code:
/*
* Order.scala
*
* To change this template, choose Tools | Template Manager
* and open the template in the editor.
*/
package org.tobster.model
import net.liftweb._
import mapper._
import http._
import SHtml._
import util._
import model._
/* Describes a general order. */
trait Order extends BaseLongKeyedMapper{
/* The number of lots this order has */
object lots extends MappedInt(this.asInstanceOf[MapperType])
/* The person who owns the order */
object owner extends
MappedLongForeignKey(this.asInstanceOf[MapperType], User){
// hides this field in the CRUDify list/create forms
override def dbDisplay_? = false
//set the default value to the current logged in user (at
creation time)
override def defaultValue = User.currentUser.map(_.id.is) openOr 0L
}
/* The market place where the order belongs to */
object marketPlace extends
MappedLongForeignKey(this.asInstanceOf[MapperType], MarketPlaceMetaObj){
override def _toForm = Full(SHtml.selectObj[MarketPlace](
MarketPlaceMetaObj.findAll.map(mp
=> (mp, mp.name.is)),
obj,
(mp: MarketPlace) => apply(mp)))
}
/* The basic trade types are: BUY and SELL */
object tradeType extends
MappedLongForeignKey(this.asInstanceOf[MapperType], TradeTypeMetaObj){
override def _toForm = Full(SHtml.selectObj[TradeType](
TradeTypeMetaObj.findAll.map(t => (t, t.name.is)),
obj,
(t: TradeType) => apply(t)))
}
object currentCost extends MappedInt(this.asInstanceOf[MapperType]){
override def _toForm = Full(<p>{this.lots *
this.marketPlace.lotValue}</p>)
}
}
I get the following compiler error:
[WARNING]
/home/wacky/workspace_VirtuelleBoerse/virtualMarket/src/main/scala/org/tobster/model/Order.scala:51:
error: value lots is not a member of Int
[WARNING] override def _toForm = Full(<p>{this.lots *
this.marketPlace.lotValue}</p>)
[WARNING] ^
[WARNING] one error found
The field marketPlace.lotValue is of type MappedInt as well as the field
lots.
I tried things like "this.lots.is" or "this.lots.i_is_!" but without
success. I ran out of ideas...
thanks.
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups
"Lift" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to
[email protected]
For more options, visit this group at
http://groups.google.com/group/liftweb?hl=en
-~----------~----~----~----~------~----~------~--~---