Changeset 1866

Show
Ignore:
Timestamp:
24-05-11 12:17:42 (3 years ago)
Author:
robert@…
Message:

Fix for searching in template names (#446 and #457)

Files:
1 modified

Legend:

Unmodified
Added
Removed
  • trunk/src/groovy/dbnp/query/Criterion.groovy

    r1850 r1866  
    100100                } 
    101101 
     102                // Template fields are string fields 
     103                if( this.field == 'Template' )  
     104                        return [ "String" ] 
     105                 
    102106                // Determine domain fields of the entity 
    103107                def domainFields = entityClass().giveDomainFields(); 
     
    133137                if( !entityClass ) 
    134138                        return false; 
     139                 
     140                // Template fields should be handled as domain criteria 
     141                if( this.field == "Template" ) 
     142                        return true; 
    135143                         
    136144                // Determine domain fields of the entity 
     
    298306                        // These should be handled differently 
    299307                        def fieldName = this.field 
    300                          
     308 
     309                        // Make sure the Template field is referenced as lowercase 
     310                        if( fieldName == "Template" ) 
     311                                fieldName = "template"; 
     312                                                         
    301313                        if(  
     314                                ( fieldName == "template" ) || 
    302315                                ( objectToSearchIn == "subject" && fieldName == "species" ) ||  
    303316                                ( objectToSearchIn == "sample" && fieldName == "material" ) || 
     
    316329                if( !criterionTypes ) 
    317330                        return emptyCriterion;                   
    318  
    319331                 
    320332                // Several types of criteria are handled differently.