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

Last change on this file since 53 was 53, checked in by robert@…, 8 years ago

Implemented export possibility and bugfixes

File size: 1.4 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 boolean equals( Object o ) {
23                if( o == null )
24                        return false
25               
26                if( o instanceof User ) {
27                        User other = (User) o;
28                       
29                        // If anything is null, return false
30                        if( other.identifier == null || other.username == null || this.identifier == null || this.username == null )
31                                return false;
32                               
33                        return (other.identifier == this.identifier && other.username == this.username);
34                } else {
35                        return false
36                }
37        }
38       
39        public boolean canRead( Study study ) {
40                Auth authorization = auth.find { it.study.equals( study ) }
41               
42                if( !authorization )
43                        return false
44               
45                return authorization.canRead
46        }
47       
48        public boolean canWrite( Study study ) {
49                Auth authorization = auth.find { it.study.equals( study ) }
50
51                if( !authorization )
52                        return false
53               
54                return authorization.canWrite
55        }
56
57        public boolean isOwner( Study study ) {
58                Auth authorization = auth.find { it.study.equals( study ) }
59               
60                if( !authorization )
61                        return false
62               
63                return authorization.isOwner
64        }
65}
Note: See TracBrowser for help on using the repository browser.