source: trunk/grails-app/domain/nl/tno/metagenomics/auth/User.groovy @ 16

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

Improvement of the synchronization error handling and changes for deploying the module to dbnptest

File size: 1.4 KB
Line 
1package nl.tno.metagenomics.auth
2
3import nl.tno.metagenomics.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
14        static hasMany = [ auth: Auth ]
15       
16        static mapping = {
17                table 'gscfuser'
18                auth cascade: "all-delete-orphan"
19        }
20       
21        public boolean equals( Object o ) {
22                if( o == null )
23                        return false
24               
25                if( o instanceof User ) {
26                        User other = (User) o;
27                       
28                        // If anything is null, return false
29                        if( other.identifier == null || other.username == null || this.identifier == null || this.username == null )
30                                return false;
31                               
32                        return (other.identifier == this.identifier && other.username == this.username);
33                } else {
34                        return false
35                }
36        }
37       
38        public boolean canRead( Study study ) {
39                Auth authorization = auth.find { it.study.equals( study ) }
40               
41                if( !authorization )
42                        return false
43               
44                return authorization.canRead
45        }
46       
47        public boolean canWrite( Study study ) {
48                Auth authorization = auth.find { it.study.equals( study ) }
49
50                if( !authorization )
51                        return false
52               
53                return authorization.canWrite
54        }
55
56        public boolean isOwner( Study study ) {
57                Auth authorization = auth.find { it.study.equals( study ) }
58               
59                if( !authorization )
60                        return false
61               
62                return authorization.isOwner
63        }
64}
Note: See TracBrowser for help on using the repository browser.