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

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

Re-install class-diagram from local svn build with patch to allow war deployment.
Class-diagram overrides removed from Config.groovy since these have all been included upstream.
Tidy comments in SecurityConfig?.groovy
Some work on adding assignedPerson work flow and PersonController?.
Add navAlt and filterPane search to Person and TaskProcedure?.

File size: 1.4 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.