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 liftweb@googlegroups.com
To unsubscribe from this group, send email to 
liftweb+unsubscr...@googlegroups.com
For more options, visit this group at 
http://groups.google.com/group/liftweb?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to