Changeset 414
- Timestamp:
- May 12, 2010, 12:12:33 PM (11 years ago)
- Location:
- trunk/grails-app
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/grails-app/controllers/dbnp/studycapturing/WizardController.groovy
r411 r414 619 619 // iterate through fields (= template fields and domain properties) 620 620 flow.subjects[ subjectId ].giveFields().each() { subjectField -> 621 def value = params.get( 'subject_' + subjectId + '_' + subjectField.escapedName() )622 623 /*** THIS SHOULD PROBABLY MOVE INTO TEMPLATE ENTITY ***/624 // handle ontology terms625 if (value instanceof String && subjectField.type.toString() == "ONTOLOGYTERM") {626 // iterate through ontologies and find term627 subjectField.ontologies.each() { ontology ->628 def term = ontology.giveTermByName( value )629 630 // found a term?631 if (term) {632 value = term633 }634 }635 }636 /*** END ***/637 638 621 // set the field 639 622 flow.subjects[ subjectId ].setFieldValue( 640 623 subjectField.name, 641 value624 params.get( 'subject_' + subjectId + '_' + subjectField.escapedName() ) 642 625 ) 643 626 } -
trunk/grails-app/domain/dbnp/studycapturing/TemplateEntity.groovy
r413 r414 320 320 */ 321 321 def setFieldValue(String fieldName, value) { 322 322 // get the template field 323 323 TemplateField field = getField(this.giveFields(),fieldName) 324 324 … … 332 332 } 333 333 334 // Conveniencesetter for dates: handle string values for date fields334 // Magic setter for dates: handle string values for date fields 335 335 if (field.type == TemplateFieldType.DATE && value && value.class == String) { 336 336 // a string was given, attempt to transform it into a date instance … … 351 351 } 352 352 353 // Magic setter for ontology terms: handle string values 354 if (field.type == TemplateFieldType.ONTOLOGYTERM && value && value.class == String) { 355 // iterate through ontologies and find term 356 field.ontologies.each() { ontology -> 357 def term = ontology.giveTermByName(value) 358 359 // found a term? 360 if (term) { 361 value = term 362 } 363 } 364 } 365 353 366 // Set the field value 354 367 if (isDomainField(field)) { 355 if (!value) { 368 // got a value? 369 if (value) { 370 println "setting [" + ((super) ? super.class : '??') + "] domain field: [" + fieldName + "] ([" + value.toString() + "] of type [" + value.class + "])" 371 372 // set value 373 this[field.name] = value 374 } else { 356 375 println "removing [" + ((super) ? super.class : '??') + "] domain field: [" + fieldName + "]" 357 376 358 377 // remove value 359 378 this[field.name] = null 360 } else {361 println "setting [" + ((super) ? super.class : '??') + "] domain field: [" + fieldName + "] ([" + value.toString() + "] of type [" + value.class + "])"362 363 // set value364 this[field.name] = value365 379 } 366 380 } else { … … 386 400 /** 387 401 * Check if a given field is a domain field 388 * @param field402 * @param TemplateField field instance 389 403 * @return boolean 390 404 */ … … 393 407 } 394 408 395 boolean isDomainField(String fieldName) { 409 /** 410 * Check if a given field is a domain field 411 * @param String field name 412 * @return boolean 413 */ boolean isDomainField(String fieldName) { 396 414 return this.giveDomainFields()*.name.contains(fieldName) 397 415 }
Note: See TracChangeset
for help on using the changeset viewer.