Ignore:
Timestamp:
Jun 7, 2010, 9:20:00 AM (7 years ago)
Author:
roberth
Message:

Samples are now shown in the study overview page. Also some tests are added and the bootstrap is updated to show some sample fields with a template

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/grails-app/controllers/dbnp/studycapturing/StudyController.groovy

    r497 r536  
    3131    }
    3232
    33     /*def create = {
    34         def studyInstance = new Study()
    35         studyInstance.properties = params
    36         return [studyInstance: studyInstance]
    37     }
    38 
    39     def save = {
    40         def studyInstance = new Study(params)
    41         if (studyInstance.save(flush: true)) {
    42             flash.message = "${message(code: 'default.created.message', args: [message(code: 'study.label', default: 'Study'), studyInstance.id])}"
    43             redirect(action: "show", id: studyInstance.id)
    44         }
    45         else {
    46             render(view: "create", model: [studyInstance: studyInstance])
    47         }
    48     }*/
    49 
    5033    /**
    5134     * Shows one or more studies
     
    7255     */
    7356    def events = {
    74         def eventGroup = EventGroup.get(params.id)
     57        def eventGroupId = Integer.parseInt( params.id );
     58        def studyId      = Integer.parseInt( params.study );
     59        def eventGroup;
     60
     61        // eventGroupId == -1 means that the orphaned events should be given
     62        if( eventGroupId == -1 ) {
     63            def studyInstance = Study.get( studyId )
     64           
     65            if (studyInstance == null) {
     66                flash.message = "${message(code: 'default.not.found.message', args: [message(code: 'study.label', default: 'Study'), studyId])}"
     67                redirect(action: "list");
     68                return;
     69            }
     70
     71            events = studyInstance.getOrphanEvents();
     72        } else {
     73            eventGroup = EventGroup.get(params.id)
     74
     75            if (eventGroup == null) {
     76                flash.message = "${message(code: 'default.not.found.message', args: [message(code: 'eventgroup.label', default: 'Eventgroup'), params.id])}"
     77                redirect(action: "list");
     78                return;
     79            }
     80            events = eventGroup?.events;
     81        }
    7582
    7683        // This parameter should give the startdate of the study in milliseconds
    7784        // since 1-1-1970
    7885        long startDate  = Long.parseLong( params.startDate )
    79        
    80         if (!eventGroup) {
    81             flash.message = "${message(code: 'default.not.found.message', args: [message(code: 'eventgroup.label', default: 'Eventgroup'), params.id])}"
    82             redirect(action: "list")
     86
     87        // Create JSON object
     88        def json = [ 'dateTimeFormat': 'iso8601', events: [] ];
     89
     90        // Add all other events
     91        for( event in events ) {
     92            def parameters = []
     93            for( templateField in event.giveTemplateFields() ) {
     94                def value = event.getFieldValue( templateField.name );
     95                if( value ) {
     96                    parameters << templateField.name + " = " + value;
     97                }
     98            }
     99
     100             json.events << [
     101                'start':    new Date( startDate + event.startTime * 1000 ),
     102                'end':      new Date( startDate + event.endTime * 1000 ),
     103                'durationEvent': !event.isSamplingEvent(),
     104                'title': event.template.name + " (" + parameters.join( ', ' ) + ")",
     105                'description': parameters
     106            ]
    83107        }
    84         else {
    85 
    86             // Create JSON object
    87             def json = [ 'dateTimeFormat': 'iso8601', events: [] ];
    88 
    89             // Add the start of the study as event
    90             /*
    91             json.events << [
    92                 'start':    startDate,
    93                 'durationEvent': false,
    94                 'title': "Start date study",
    95                 'color': 'red'
    96             ]
    97             */
    98            
    99             // Add all other events
    100             for( event in eventGroup.events ) {
    101                 def parameters = []
    102                 for( templateField in event.giveTemplateFields() ) {
    103                     def value = event.getFieldValue( templateField.name );
    104                     if( value ) {
    105                         parameters << templateField.name + " = " + value;
    106                     }
    107                 }
    108 
    109                  json.events << [
    110                     'start':    new Date( startDate + event.startTime * 1000 ),
    111                     'end':      new Date( startDate + event.endTime * 1000 ),
    112                     'durationEvent': !event.isSamplingEvent(),
    113                     'title': event.template.name + " (" + parameters.join( ', ' ) + ")",
    114                     'description': parameters
    115                 ]
    116             }
    117             render json as JSON
    118         }
     108        render json as JSON
    119109    }
    120110
Note: See TracChangeset for help on using the changeset viewer.