source: trunk/grails-app/domain/nl/tno/massSequencing/auth/User.groovy @ 70

Last change on this file since 70 was 70, checked in by robert@…, 8 years ago
  • Installed templates (in order to extend session lifetime to 2 hours)
  • Implemented background worker to do work outside the HTTP request
File size: 1.5 KB
Line 
1package nl.tno.massSequencing.auth
2
3import nl.tno.massSequencing.Study
4
5/*
6 * User is used to track the activity of a user within the Metagenomics Module
7 * And data uploaded is linked to the user that provided the data
8 */
9class User {
10               
11    String identifier // ID of GSCF user
12    String username   // Username of GSCF user
13        Boolean isAdministrator
14
15        static hasMany = [ auth: Auth ]
16       
17        static mapping = {
18                table 'gscfuser'
19                auth cascade: "all-delete-orphan"
20        }
21       
22        public String toString() {
23                return ( this.username ?: "" )
24        }
25       
26        public boolean equals( Object o ) {
27                if( o == null )
28                        return false
29               
30                if( o instanceof User ) {
31                        User other = (User) o;
32                       
33                        // If anything is null, return false
34                        if( other.identifier == null || other.username == null || this.identifier == null || this.username == null )
35                                return false;
36                               
37                        return (other.identifier == this.identifier && other.username == this.username);
38                } else {
39                        return false
40                }
41        }
42       
43        public boolean canRead( Study study ) {
44                Auth authorization = auth.find { it.study.equals( study ) }
45               
46                if( !authorization )
47                        return false
48               
49                return authorization.canRead
50        }
51       
52        public boolean canWrite( Study study ) {
53                Auth authorization = auth.find { it.study.equals( study ) }
54
55                if( !authorization )
56                        return false
57               
58                return authorization.canWrite
59        }
60
61        public boolean isOwner( Study study ) {
62                Auth authorization = auth.find { it.study.equals( study ) }
63               
64                if( !authorization )
65                        return false
66               
67                return authorization.isOwner
68        }
69}
Note: See TracBrowser for help on using the repository browser.