source: trunk/grails-app/domain/Person.groovy @ 154

Last change on this file since 154 was 154, checked in by gav, 14 years ago

Format to 4 spaces, no tabs.

File size: 1.5 KB
Line 
1class Person {
2    static transients = ['pass']
3    static hasMany = [authorities: Authority,
4                        personGroups: PersonGroup,
5                        taskModifications: TaskModification,
6                        entries: Entry,
7                        tasks: Task]
8
9    static belongsTo = [Authority, PersonGroup]
10
11    String loginName
12    String firstName
13    String lastName
14    String employeeID
15
16    /* Set after login by 'welcome' action, default to 12 hours, aka "sess.setMaxInactiveInterval(seconds) */
17    Integer sessionTimeout = 43200
18
19    /** MD5 Password */
20    String password
21
22    /** enabled */
23    boolean isActive = true
24
25    String email
26    boolean emailShow = true
27
28    /** description */
29    String description = ''
30
31    /** plain password to create a MD5 password */
32    String pass
33
34    static constraints = {
35        loginName(blank: false, unique: true, minSize:4) //minSize:7
36        firstName(blank: false)
37        lastName(blank: false)
38        employeeID(blank: true, nullable:true)
39        description()
40        email()
41        emailShow()
42        isActive()
43        //Enforcing minSize on password does not work since "" gets encoded to a string.
44        password(blank: false)
45        //So we need to use pass for validation then encode it for above.
46        pass(blank: false, minSize:4) //minSize:7
47        sessionTimeout(min:60, max:43200)
48
49    }
50
51    //Overriding the default toString method
52    String toString() {"${this.firstName} ${this.lastName}"}
53}
Note: See TracBrowser for help on using the repository browser.