Changeset 1036


Ignore:
Timestamp:
Nov 1, 2010, 4:49:52 PM (6 years ago)
Author:
robert@…
Message:

Fixed the random order of templates in the study pages (#135) and created a remote logout call (#158).

Location:
trunk/grails-app
Files:
10 edited

Legend:

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

    r1027 r1036  
    2222import nl.metabolomicscentre.dsp.http.BasicAuthentication
    2323import dbnp.rest.common.CommunicationManager
    24 
     24import org.springframework.security.core.context.SecurityContextHolder;
    2525
    2626class RestController {
     
    3131
    3232        def AuthenticationService       
    33         def beforeInterceptor = [action:this.&auth,except:["isUser"]]
     33        def beforeInterceptor = [action:this.&auth,except:["isUser", "logOut"]]
    3434        def credentials
    3535        def requestUser // = SecUser.findByUsername( "user" )
  • trunk/grails-app/controllers/dbnp/authentication/LogoutController.groovy

    r976 r1036  
    99         */
    1010        def index = {
     11                if( params[ SpringSecurityUtils.securityConfig.successHandler.targetUrlParameter ] ) {
     12                        redirect uri: SpringSecurityUtils.securityConfig.logout.filterProcessesUrl + "?" + SpringSecurityUtils.securityConfig.successHandler.targetUrlParameter + '=' + params[ SpringSecurityUtils.securityConfig.successHandler.targetUrlParameter ] // '/j_spring_security_logout'
     13                } else {
     14                        redirect uri: SpringSecurityUtils.securityConfig.logout.filterProcessesUrl // '/j_spring_security_logout'
     15                }
    1116                // TODO  put any pre-logout code here
    12                 redirect uri: SpringSecurityUtils.securityConfig.logout.filterProcessesUrl // '/j_spring_security_logout'
     17        }
     18
     19        def remote = {
     20                // Log out the remote user
     21                AuthenticationService.logOffRemotely( params.consumer, params.token )
     22               
     23                // Try to rest the redirect url
     24                if( params[ SpringSecurityUtils.securityConfig.successHandler.targetUrlParameter ] ) {
     25                        redirect uri: SpringSecurityUtils.securityConfig.logout.filterProcessesUrl + "?" + SpringSecurityUtils.securityConfig.successHandler.targetUrlParameter + '=' + params[ SpringSecurityUtils.securityConfig.successHandler.targetUrlParameter ] // '/j_spring_security_logout'
     26                } else {
     27                        redirect uri: SpringSecurityUtils.securityConfig.logout.filterProcessesUrl // '/j_spring_security_logout'
     28                }
    1329        }
    1430}
  • trunk/grails-app/domain/dbnp/studycapturing/Assay.groovy

    r962 r1036  
    5151        }
    5252
     53    static mapping = {
     54        sort "name"
     55    }
     56
    5357        def String toString() {
    5458                return name;
  • trunk/grails-app/domain/dbnp/studycapturing/Event.groovy

    r1013 r1036  
    6464        ]
    6565
     66    static mapping = {
     67        sort "startTime"
     68    }
     69
    6670        /**
    6771         * Get the duration of the event as RelTime
  • trunk/grails-app/domain/dbnp/studycapturing/Person.groovy

    r959 r1036  
    3939                mobile(nullable: true, blank: true)
    4040        }
     41
     42    static mapping = {
     43        sort "lastName, firstName"
     44    }
     45
     46
    4147}
  • trunk/grails-app/domain/dbnp/studycapturing/Sample.groovy

    r1034 r1036  
    103103        }
    104104
     105    static mapping = {
     106        sort "name"
     107    }
     108
    105109        static getSamplesFor( event ) {
    106110                return  Sample.findAll( 'from Sample s where s.parentEvent =:event', [event:event] )
  • trunk/grails-app/domain/dbnp/studycapturing/Study.groovy

    r1013 r1036  
    5252        static mapping = {
    5353                autoTimestamp true
     54                sort "title"
    5455
    5556                // Workaround for bug http://jira.codehaus.org/browse/GRAILS-6754
     
    100101         * returns all events and sampling events that do not belong to a group
    101102         */
    102         def Set<Event> getOrphanEvents() {
     103        def List<Event> getOrphanEvents() {
    103104                def orphans =   events.findAll { event -> !event.belongsToGroup(eventGroups) } +
    104105                                                samplingEvents.findAll { event -> !event.belongsToGroup(eventGroups) }
     
    110111         * Return the unique Subject templates that are used in this study
    111112         */
    112         def Set<Template> giveSubjectTemplates() {
     113        def List<Template> giveSubjectTemplates() {
    113114                TemplateEntity.giveTemplates(subjects)
    114115        }
     
    127128         * @return Set
    128129         */
    129         Set<Template> giveAllAssayTemplates() {
     130        List<Template> giveAllAssayTemplates() {
    130131                TemplateEntity.giveTemplates(( (assays) ? assays : [] ))
    131132        }
     
    142143         * Return the unique Event and SamplingEvent templates that are used in this study
    143144         */
    144         Set<Template> giveAllEventTemplates() {
     145        List<Template> giveAllEventTemplates() {
    145146                // For some reason, giveAllEventTemplates() + giveAllSamplingEventTemplates()
    146147                // gives trouble when asking .size() to the result
     
    165166         * Return the unique Event templates that are used in this study
    166167         */
    167         Set<Template> giveEventTemplates() {
     168        List<Template> giveEventTemplates() {
    168169                TemplateEntity.giveTemplates(events)
    169170        }
     
    172173         * Return the unique SamplingEvent templates that are used in this study
    173174         */
    174         Set<Template> giveSamplingEventTemplates() {
     175        List<Template> giveSamplingEventTemplates() {
    175176                TemplateEntity.giveTemplates(samplingEvents)
    176177        }
     
    179180         * Returns the unique Sample templates that are used in the study
    180181         */
    181         Set<Template> giveSampleTemplates() {
     182        List<Template> giveSampleTemplates() {
    182183                TemplateEntity.giveTemplates(samples)
    183184        }
  • trunk/grails-app/domain/dbnp/studycapturing/TemplateEntity.groovy

    r976 r1036  
    758758                // If one or more entities does not have a template, the resulting
    759759                // set contains null. That is not what is meant.
    760                 return set.findAll { it != null };
     760                set = set.findAll { it != null };
     761
     762                // Sort the list so we always have the same order
     763                set = set.sort{ a, b ->
     764                        a == null || b == null || a.equals(b) ? 0 :
     765                        a.name < b.name ? -1 :
     766                        a.name > b.name ?  1 :
     767                        a.id < b.id ? -1 : 1
     768                }
     769
     770                return set
    761771        }
    762772
  • trunk/grails-app/views/common/_topnav.gsp

    r1033 r1036  
    1 <!-- TOPNAV //-->
    2 <ul class="topnav">
    3         <li><g:link controller="home" action="index">Home</g:link></li>
    4         <sec:ifLoggedIn>
    5                 <li><g:link controller="study" action="myStudies">My studies</g:link></li>
    6         </sec:ifLoggedIn>
     1    <!-- TOPNAV //-->
     2    <ul class="topnav">
     3     <li><g:link controller="home" action="index">Home</g:link></li>
    74        <li>
    8                 <a href="#">Studies</a>
    9                 <ul class="subnav">
    10                         <li><g:link controller="study" action="list">View studies</g:link></li>
    11                         <li><g:link controller="wizard" action="index">Create/edit study</g:link></li>
    12                         <li><g:link controller="importer" action="index">Import study data</g:link></li>
    13                         <li><g:link controller="simpleQuery" action="index">Search study data</g:link></li>
    14                         <li><g:link controller="exporter" action="index">Export as SimpleTox</g:link></li>
    15                 </ul>
    16         </li>
     5      <a href="#">Studies</a>
     6      <ul class="subnav">
     7        <li><g:link controller="study" action="list">View studies</g:link></li>
     8                <li><g:link controller="wizard" action="index">Create/edit study</g:link></li>
     9                <li><g:link controller="importer" action="index">Import study data</g:link></li>
     10        <li><g:link controller="simpleQuery" action="index">Search study data</g:link></li>
     11        <li><g:link controller="exporter" action="index">Export as SimpleTox</g:link></li>
     12                <sec:ifLoggedIn>
     13                         <li><g:link controller="study" action="myStudies">My studies</g:link></li>
     14                </sec:ifLoggedIn>
     15      </ul>
     16     </li>
    1717        <li>
    1818                <a href="#">Templates</a>
  • trunk/grails-app/views/study/show.gsp

    r1030 r1036  
    262262                  </g:if>
    263263                  <g:else>
    264                    ${studyInstance.giveEventTemplates().name.join(", ")}
     264                                        ${studyInstance.giveEventTemplates().name.join(", ")}
    265265                  </g:else>
    266266                </td>
Note: See TracChangeset for help on using the changeset viewer.