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

Last change on this file since 127 was 127, checked in by gav, 15 years ago

Logins now route through a welcome action to allow flash message and user environment setup. Session timeout now user configurable and defaults to 12 hours. Work on Planned Maintenance.

File size: 1.4 KB
RevLine 
[58]1class Person {
2        static transients = ['pass']
[59]3    static hasMany = [authorities: Authority,
[66]4                        personGroups: PersonGroup,
[93]5                        taskModifications: TaskModification,
[66]6                        entries: Entry,
7                        tasks: Task]
[58]8
[59]9    static belongsTo = [Authority, PersonGroup]
10
[58]11        String loginName
12        String firstName
13    String lastName
14    String employeeID
15
[127]16    /* Set after login by 'welcome' action, default to 12 hours, aka "sess.setMaxInactiveInterval(seconds) */
17    Integer sessionTimeout = 720
18
[58]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 */
[73]32        String pass
[58]33
34        static constraints = {
[73]35                loginName(blank: false, unique: true, minSize:4)//minSize:7
[58]36                firstName(blank: false)
37        lastName(blank: false)
38        employeeID(blank: true, nullable:true)
[73]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)
[127]47        sessionTimeout(min:60, max:720)
[73]48
[58]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.