Changeset 1224


Ignore:
Timestamp:
Nov 30, 2010, 5:12:08 PM (6 years ago)
Author:
robert@…
Message:

Fixed issue in study overview with double columns. See ticket #155

Location:
trunk/grails-app
Files:
4 edited

Legend:

Unmodified
Added
Removed
  • trunk/grails-app/domain/dbnp/studycapturing/TemplateEntity.groovy

    r1182 r1224  
    719719        }
    720720
     721        def TemplateField getField( fieldName ) {
     722                return getField(this.giveFields(), fieldName);
     723        }
     724
    721725        /**
    722726         * Look up the type of a certain template field
  • trunk/grails-app/taglib/dbnp/studycapturing/WizardTagLib.groovy

    r1222 r1224  
    14481448                        // Show a link if the field is a FILE field
    14491449                        if( fieldType == 'FILE' && value != "" ) {
    1450                           out << '<a href="' + g.createLink( controller: "file", action: "get",  id: value ) + '">' + value + '</a>';
     1450                            out << '<a href="' + g.createLink( controller: "file", action: "get",  id: value ) + '">' + value + '</a>';
    14511451                        } else {
    14521452                                out << value;
     
    14541454
    14551455                        // Show the unit (if a unit is present and a value was shown)
    1456                         if( fieldUnit && value != "" )
     1456                        if( fieldUnit && value != null && value != "" )
    14571457                                out << " " + fieldUnit
    14581458
  • trunk/grails-app/views/study/show_samples.gsp

    r1213 r1224  
    2121                  // Determine a union of the fields for all different
    2222                  // samples in all studies. In order to show a proper list.
    23                   // We want every field to appear just once,
    24                   // so the list is filtered for unique values
     23                  // We want every field to appear just once, so the list is filtered
     24                  // for unique names. This ensures that different template fields with
     25                  // the same name, show up in the same column. This might happen when
     26                  // both humans and mice are shown, where humans have a weight in kgs
     27                  // and mice have a weight in grams.
    2528                  sampleTemplates = studyList*.giveSampleTemplates().flatten().unique()
    2629
     
    3033                        showSampleFields = [];
    3134                  } else {
    32                         sampleFields = sampleTemplates*.fields.flatten().unique()
     35                        sampleFields = sampleTemplates*.fields.flatten().name.unique()
    3336                        if( !sampleFields ) {
    3437                          sampleFields = [];
     
    4548                                  // show the field and should not check any other
    4649                                  // samples (hence the break)
    47                                   if( sample.fieldExists( sampleField.name ) && sample.getFieldValue( sampleField.name ) ) {
     50                                  if( sample.fieldExists( sampleField ) && sample.getFieldValue( sampleField ) ) {
    4851                                        showSampleFields << sampleField;
    4952                                        break;
     
    8487                  </g:each>
    8588
    86                   <g:each in="${showSampleFields}" var="field">
     89                  <g:each in="${showSampleFields}" var="fieldname">
    8790                        <td>
    88                           <g:if test="${sample.fieldExists(field.name)}">
     91                          <g:if test="${sample.fieldExists(fieldname)}">
     92                                <g:set var="field" value="${sample.getField(fieldname)}" />
    8993                                <wizard:showTemplateField field="${field}" entity="${sample}" />
    9094                          </g:if>
  • trunk/grails-app/views/study/show_subjects.gsp

    r1213 r1224  
    1616                        // Determine a union of the fields for all different
    1717                        // subjects in all studies. In order to show a proper list.
    18                         // We want every field to appear just once,
    19                         // so the list is filtered for unique values
     18                        // We want every field to appear just once, so the list is filtered
     19                        // for unique names. This ensures that different template fields with
     20                        // the same name, show up in the same column. This might happen when
     21                        // both humans and mice are shown, where humans have a weight in kgs
     22                        // and mice have a weight in grams.
    2023                        subjectTemplates = studyList*.giveSubjectTemplates()?.flatten().unique()
    2124                        if( !subjectTemplates ) {
     
    2326                          subjectFields = [];
    2427                        } else {
    25                           subjectFields = subjectTemplates*.fields?.flatten().unique()
     28                          subjectFields = subjectTemplates*.fields?.flatten().name.unique()
    2629                          if( !subjectFields ) {
    2730                                subjectFields = [];
     
    5154                                // show the field and should not check any other
    5255                                // subjects (hence the break)
    53                                 if( subject.fieldExists( subjectField.name ) && subject.getFieldValue( subjectField.name ) ) {
     56                                if( subject.fieldExists( subjectField ) && subject.getFieldValue( subjectField ) ) {
    5457                                  showSubjectFields << subjectField;
    5558                                  break;
     
    8083                        </g:each>
    8184
    82                         <g:each in="${showSubjectFields}" var="field">
     85                        <g:each in="${showSubjectFields}" var="fieldname">
    8386                          <td>
    84                                 <g:if test="${subject.fieldExists(field.name)}">
     87                                <g:if test="${subject.fieldExists(fieldname)}">
     88                                        <g:set var="field" value="${subject.getField(fieldname)}" />
    8589                                        <wizard:showTemplateField field="${field}" entity="${subject}" />
    8690                                </g:if>
Note: See TracChangeset for help on using the changeset viewer.