pyc-website

main website for pyc inc.

git clone https://9o.is/git/pyc-website.git

AtmApplication.scala

(1801B)


      1 package inc.pyc
      2 package model
      3 
      4 import field._
      5 import lib.RogueMetaRecord
      6 
      7 import net.liftweb._
      8 import mongodb.record._
      9 import mongodb.record.field._
     10 import record.field._
     11 import org.joda.time.DateTime
     12 
     13 class AtmApplication private () extends MongoRecord[AtmApplication] with ObjectIdPk[AtmApplication] {
     14   def meta = AtmApplication
     15     
     16   object name extends StringField(this, 64) {
     17     override def validations =
     18       valMaxLen(64, "Business name must be 64 characters or less") _ ::
     19       super.validations
     20   }
     21   
     22   object email extends EmailField(this, 64) {      
     23     override def validations =
     24       valMaxLen(64, "Email must be 64 characters or less") _ ::
     25       super.validations
     26   }
     27   
     28   object phone extends StringField(this, 25) {    
     29     override def validations = 
     30       valMaxLen(25, "Phone number must be 25 characters or less") _ ::
     31       super.validations
     32   }
     33   
     34   object bestTime extends TextareaField(this, 255)
     35   
     36   object address extends StringField(this, 255) {    
     37     override def validations =
     38       valMaxLen(255, "Business address must be 255 characters or less") _ ::
     39       super.validations
     40   }
     41   
     42   object city extends StringField(this, 64) {      
     43     override def validations =
     44       valMaxLen(64, "City must be 64 characters or less") _ ::
     45       super.validations
     46   }
     47   
     48   object state extends USStatesField(this)
     49   
     50   object website extends StringField(this, 255) {
     51     override def validations =
     52       valMaxLen(255, "Website must be 255 characters or less") _ ::
     53       super.validations
     54   }
     55   
     56   def whenCreated: DateTime = new DateTime(id.get.getTime)
     57 }
     58 
     59 object AtmApplication extends AtmApplication with RogueMetaRecord[AtmApplication] {
     60   import mongodb.BsonDSL._
     61   
     62   override def collectionName = "atm.applications"
     63     
     64   ensureIndex((name.name -> 1), true)
     65 }