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

Last change on this file since 7 was 7, checked in by robert@…, 9 years ago
  • Created tests for the synchronization and trash
  • Improved synchronizationservice and trash
  • Put authorization checks in several pages
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                auth cascade: "all-delete-orphan"
18        }
19       
20        public boolean equals( Object o ) {
21                if( o == null )
22                        return false
23               
24                if( o instanceof User ) {
25                        User other = (User) o;
26                       
27                        // If anything is null, return false
28                        if( other.identifier == null || other.username == null || this.identifier == null || this.username == null )
29                                return false;
30                               
31                        return (other.identifier == this.identifier && other.username == this.username);
32                } else {
33                        return false
34                }
35        }
36       
37        public boolean canRead( Study study ) {
38                Auth authorization = auth.find { it.study.equals( study ) }
39               
40                if( !authorization )
41                        return false
42               
43                return authorization.canRead
44        }
45       
46        public boolean canWrite( Study study ) {
47                Auth authorization = auth.find { it.study.equals( study ) }
48
49                if( !authorization )
50                        return false
51               
52                return authorization.canWrite
53        }
54
55        public boolean isOwner( Study study ) {
56                Auth authorization = auth.find { it.study.equals( study ) }
57               
58                if( !authorization )
59                        return false
60               
61                return authorization.isOwner
62        }
63}
Note: See TracBrowser for help on using the repository browser.