pyc-website
main website for pyc inc.
git clone https://9o.is/git/pyc-website.git
NearAtmNotify.scala
(1537B)
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 NearAtmNotify private () extends MongoRecord[NearAtmNotify] with ObjectIdPk[NearAtmNotify] {
14 def meta = NearAtmNotify
15
16 object fname extends StringField(this, 64) {
17 override def validations =
18 valMaxLen(64, "First name must be 64 characters or less") _ ::
19 super.validations
20 }
21
22 object lname extends StringField(this, 64) {
23 override def validations =
24 valMaxLen(64, "Last name must be 64 characters or less") _ ::
25 super.validations
26 }
27
28 object email extends EmailField(this, 64) {
29 override def validations =
30 valMaxLen(64, "Email must be 64 characters or less") _ ::
31 super.validations
32 }
33
34
35 object postal extends PostalCodeField(this, meta.usa)
36
37 object city extends StringField(this, 64) {
38 override def validations =
39 valMaxLen(64, "City must be 64 characters or less") _ ::
40 super.validations
41 }
42
43 object state extends USStatesField(this)
44
45 def whenCreated: DateTime = new DateTime(id.get.getTime)
46 }
47
48 object NearAtmNotify extends NearAtmNotify with RogueMetaRecord[NearAtmNotify] {
49 import mongodb.BsonDSL._
50
51 override def collectionName = "atm.nearnotify"
52
53 ensureIndex((email.name -> 1), true)
54
55 object usa extends CountryField(NearAtmNotify.createRecord) {
56 override def defaultValue = Countries.USA
57 }
58 }