Ignore:
Timestamp:
Nov 30, 2010, 2:10:42 PM (10 years ago)
Author:
robert@…
Message:

Implemented improved authorisation to give administrators all permissions (ticket #207)

Location:
trunk/grails-app/controllers
Files:
4 edited

Legend:

Unmodified
Added
Removed
  • trunk/grails-app/controllers/RestController.groovy

    r1199 r1222  
    256256                        if(study) {
    257257                                // Check whether the person is allowed to read the data of this study
    258                                 /*
    259258                                if( !study.canRead(AuthenticationService.getRemotelyLoggedInUser( params.consumer, params.token ))) {
    260259                                        response.sendError(401)
    261260                                        return false
    262261                                }
    263                                 */
    264262
    265263                                def assays = []
     
    283281
    284282                                assays.each{ assay ->
    285                                         if (assay.module.url.equals(params.consumer )) {
     283                                        if (assay.module.url.equals(params.consumer)) {
    286284                                                if(assay) {
    287285                                                        def map = [:]
  • trunk/grails-app/controllers/dbnp/exporter/ExporterController.groovy

    r1220 r1222  
    4545        def c = dbnp.studycapturing.Study.createCriteria()
    4646
    47         def studies
    48         if( user == null ) {
    49             studies = c.list {
    50                 maxResults(max)
    51                 and {
    52                     eq( "published", true )
    53                     eq( "publicstudy", true )
    54                 }
    55             }
    56         } else {
    57             studies = c.list {
    58                 maxResults(max)
    59                 or {
    60                     eq( "owner", user )
    61                     writers {
    62                         eq( "id", user.id )
    63                     }
    64                     and {
    65                         readers {
    66                             eq( "id", user.id )
    67                         }
    68                         eq( "published", true )
    69                     }
    70                 }
    71             }
    72         }
     47        def studies = Study.giveReadableStudies(user, max);
    7348        [studyInstanceList: studies, studyInstanceTotal: studies.count()]
    7449    }
  • trunk/grails-app/controllers/dbnp/studycapturing/StudyController.groovy

    r1213 r1222  
    33import grails.converters.*
    44import grails.plugins.springsecurity.Secured
    5 
    65
    76/**
     
    2524        def max = Math.min(params.max ? params.int('max') : 10, 100)
    2625
    27         def c = Study.createCriteria()
    28 
    29         def studies
    30         if( user == null ) {
    31             studies = c.list {
    32                 maxResults(max)
    33                 and {
    34                     eq( "published", true )
    35                     eq( "publicstudy", true )
    36                 }
    37             }
    38         } else {
    39             studies = c.list {
    40                 maxResults(max)
    41                 or {
    42                     eq( "owner", user )
    43                     writers {
    44                         eq( "id", user.id )
    45                     }
    46                     and {
    47                         readers {
    48                             eq( "id", user.id )
    49                         }
    50                         eq( "published", true )
    51                     }
    52                 }
    53             }
    54         }
    55        
     26        def studies = Study.giveReadableStudies( user, max );
     27
    5628        [studyInstanceList: studies, studyInstanceTotal: studies.count(), loggedInUser: user]
    5729    }
  • trunk/grails-app/controllers/nmc/PilotController.groovy

    r1204 r1222  
    1616
    1717import dbnp.studycapturing.*;
     18import grails.plugins.springsecurity.Secured
     19
    1820
    1921class PilotController {
     
    3739   }
    3840       
    39     def index = {
     41    @Secured(['IS_AUTHENTICATED_REMEMBERED'])
     42        def index = {
    4043               
    4144                session.pilot = true
    42                
     45
    4346                def user = authenticationService.getLoggedInUser()
    4447                def max = Math.min(params.max ? params.int('max') : 10, 100)
    45 
    46                 def c = Study.createCriteria()
    47 
    48                 def studies
    49                 if( user == null ) {
    50                         //login and return here...
    51                         redirect(controller:"login", action:"auth")
    52                         return false
    53                        
    54                 } else {
    55                         studies = c.list {
    56                                 maxResults(max)
    57                                 or {
    58                                         eq( "owner", user )
    59                                         writers {
    60                                                 eq( "id", user.id )
    61                                         }
    62                                         and {
    63                                                 readers {
    64                                                         eq( "id", user.id )
    65                                                 }
    66                                                 eq( "published", true )
    67                                         }
    68                                 }
    69                         }
    70                 }
     48                def studies = Study.giveReadableStudies(user, max);
    7149               
    7250                def studyInstance = new Study()
Note: See TracChangeset for help on using the changeset viewer.