- Timestamp:
- May 4, 2010, 5:03:21 PM (14 years ago)
- Location:
- trunk/grails-app
- Files:
-
- 9 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/grails-app/conf/BootStrap.groovy
r389 r392 415 415 416 416 // Event templates 417 println ".adding event templates..."418 419 def startDateField = new TemplateField(420 name: 'Start time', type: TemplateFieldType.DATE421 ).with { if (!validate()) { errors.each { println it} } else save()}422 423 def endDateField = new TemplateField(424 name: 'End time', type: TemplateFieldType.DATE425 ).with { if (!validate()) { errors.each { println it} } else save()}426 427 Event.systemFields = [startDateField,endDateField]428 429 417 def dietTreatmentTemplate = new Template( 430 418 name: 'Diet treatment', entity: dbnp.studycapturing.Event) … … 515 503 516 504 def evLF = new Event( 505 startTime: Date.parse('yyyy-MM-dd','2008-01-07'), 506 endTime: Date.parse('yyyy-MM-dd','2008-01-14'), 517 507 template: dietTreatmentTemplate 518 508 ) 519 509 .with { if (!validate()) { errors.each { println it} } else save()} 520 521 evLF.setStartTime(Date.parse('yyyy-MM-dd','2008-01-07'))522 evLF.setEndTime(Date.parse('yyyy-MM-dd','2008-01-14'))523 524 510 evLF.setFieldValue( 'Diet','10% fat (palm oil)' ) 525 511 evLF.save(flush:true) 526 512 527 println "Saved diet treatment"528 // TODO: find out why Diet is not set and Compound is529 530 513 def evHF = new Event( 514 startTime: Date.parse('yyyy-MM-dd','2008-01-07'), 515 endTime: Date.parse('yyyy-MM-dd','2008-01-14'), 531 516 template: dietTreatmentTemplate 532 517 ) 533 .setStartTime( Date.parse('yyyy-MM-dd','2008-01-07'))534 .setEndTime( Date.parse('yyyy-MM-dd','2008-01-14'))535 518 .setFieldValue( 'Diet','45% fat (palm oil)' ) 536 519 .with { if (!validate()) { errors.each { println it} } else save()} 537 520 538 521 def evBV = new Event( 522 startTime: Date.parse('yyyy-MM-dd','2008-01-07'), 523 endTime: Date.parse('yyyy-MM-dd','2008-01-14'), 539 524 template: boostTreatmentTemplate 540 525 ) 541 .setStartTime( Date.parse('yyyy-MM-dd','2008-01-07'))542 .setEndTime( Date.parse('yyyy-MM-dd','2008-01-14'))543 526 .setFieldValue( 'Compound','Vehicle' ) 544 527 .with { if (!validate()) { errors.each { println it} } else save()} 545 528 546 529 def evBL = new Event( 530 startTime: Date.parse('yyyy-MM-dd','2008-01-07'), 531 endTime: Date.parse('yyyy-MM-dd','2008-01-14'), 547 532 template: boostTreatmentTemplate 548 533 ) 549 .setStartTime( Date.parse('yyyy-MM-dd','2008-01-07'))550 .setEndTime( Date.parse('yyyy-MM-dd','2008-01-14'))551 534 .setFieldValue( 'Compound','Leptin' ) 552 535 .with { if (!validate()) { errors.each { println it} } else save()} -
trunk/grails-app/domain/dbnp/studycapturing/Event.groovy
r389 r392 15 15 class Event extends TemplateEntity implements Serializable { 16 16 17 Date startTime 18 Date endTime 19 17 20 static constraints = { 18 startTime(nullable: true)19 endTime(nullable: true)20 21 endTime(validator: {val, obj -> 21 22 if (val && val.before(obj.startTime)) { … … 25 26 } 26 27 27 Date getStartTime() {28 getFieldValue('Start time')29 }30 28 31 def setStartTime(Date value) { 32 if (value != null) { 33 setFieldValue('Start time',value) 34 } 35 return this 36 } 37 38 Date getEndTime() { 39 getFieldValue('End time') 40 } 41 42 def setEndTime(Date value) { 43 if (value != null) { 44 setFieldValue('End time',value) 45 } 46 return this 47 } 48 49 Map giveDomainFields() { 50 return ['startTime':TemplateFieldType.DATE,'endTime':TemplateFieldType.DATE] 29 List<TemplateField> giveDomainFields() { 30 [ new TemplateField( 31 name: 'startTime', 32 type: TemplateFieldType.DATE), 33 new TemplateField( 34 name: 'endTime', 35 type: TemplateFieldType.DATE) ]; 51 36 } 52 37 -
trunk/grails-app/domain/dbnp/studycapturing/Sample.groovy
r389 r392 16 16 // a member that describes the quantity of the sample? --> should be in the templates 17 17 18 Map giveDomainFields() { 19 return ['name':TemplateFieldType.STRING,'material':TemplateFieldType.ONTOLOGYTERM] 18 List<TemplateField> giveDomainFields() { 19 [ new TemplateField( 20 name: 'name', 21 type: TemplateFieldType.STRING), 22 new TemplateField( 23 name: 'material', 24 type: TemplateFieldType.ONTOLOGYTERM) ]; 20 25 } 21 26 -
trunk/grails-app/domain/dbnp/studycapturing/Study.groovy
r389 r392 23 23 //String ecCode 24 24 25 Map giveDomainFields() { 26 return ['title':TemplateFieldType.STRING,'startDate':TemplateFieldType.DATE] 25 List<TemplateField> giveDomainFields() { 26 [ new TemplateField( 27 name: 'title', 28 type: TemplateFieldType.STRING), 29 new TemplateField( 30 name: 'startDate', 31 type: TemplateFieldType.DATE) ]; 27 32 } 28 33 -
trunk/grails-app/domain/dbnp/studycapturing/Subject.groovy
r389 r392 16 16 Term species 17 17 18 Map giveDomainFields() { 19 return ['name':TemplateFieldType.STRING,'species':TemplateFieldType.ONTOLOGYTERM] 18 List<TemplateField> giveDomainFields() { 19 [ new TemplateField( 20 name: 'name', 21 type: TemplateFieldType.STRING), 22 new TemplateField( 23 name: 'species', 24 type: TemplateFieldType.ONTOLOGYTERM) ]; 20 25 } 21 26 } -
trunk/grails-app/domain/dbnp/studycapturing/Template.groovy
r384 r392 23 23 // see http://jira.codehaus.org/browse/GRAILS-6020 24 24 // name(unique:['entity']) 25 }26 27 // As the entity is not known at the time the constructor is called,28 // we add the system fields for a new template object at the time the entity is set29 void setEntity(Class value) {30 this.entity = value31 if (value != null) {32 if (fields == null) {33 if (entity.systemFields) {34 println "adding default template fields for " + entity.systemFields35 entity.systemFields.each {36 this.addToFields(it)37 }38 }39 }40 println "" + value + "this template has now fields " + fields41 }42 43 25 } 44 26 -
trunk/grails-app/domain/dbnp/studycapturing/TemplateEntity.groovy
r390 r392 14 14 abstract class TemplateEntity implements Serializable { 15 15 Template template 16 static List systemFields17 16 Map templateStringFields = [:] 18 17 Map templateTextFields = [:] … … 253 252 254 253 /** 255 * Find a template field by its name and return its value for this entity256 * @param fieldName The name of the template field254 * Find a domain or template field by its name and return its value for this entity 255 * @param fieldName The name of the domain or template field 257 256 * @return the value of the field (class depends on the field type) 258 257 * @throws NoSuchFieldException If the field is not found or the field type is not supported 259 258 */ 260 259 def getFieldValue(String fieldName) { 261 TemplateFieldType fieldType = template.getFieldType(fieldName) 262 if (!fieldType) throw new NoSuchFieldException("Field name ${fieldName} not recognized") 263 getStore(fieldType)[fieldName] 260 if (this.properties.containsKey(fieldName)) { 261 return this[fieldName] 262 } 263 else { 264 TemplateFieldType fieldType = template.getFieldType(fieldName) 265 if (!fieldType) throw new NoSuchFieldException("Field name ${fieldName} not recognized") 266 return getStore(fieldType)[fieldName] 267 } 264 268 } 265 269 … … 375 379 376 380 /** 381 * Return all fields defined in the underlying template and the built-in 382 * domain fields of this entity 383 */ 384 def List<TemplateField> giveFields() { 385 return this.giveDomainFields() + this.giveTemplateFields(); 386 } 387 388 /** 377 389 * Return all templated fields defined in the underlying template of this entity 378 390 */ 379 def List<TemplateField> give Fields() {391 def List<TemplateField> giveTemplateFields() { 380 392 return this.template.fields; 381 393 } 382 394 383 def List<TemplateField> giveSystemFields() {384 return systemFields;385 }386 387 388 395 /** 389 396 * Return all relevant 'built-in' domain fields of the super class 390 * @return key-value pairs describing the built-in fields, with the names as keys and type (as TemplateFieldType) as values 397 * @return List with DomainTemplateFields 398 * @see TemplateField 391 399 */ 392 abstract Map giveDomainFields() 400 abstract List<TemplateField> giveDomainFields() 401 393 402 /*def giveDomainFields() { 394 403 def fieldSet = [:]; -
trunk/grails-app/views/study/list_extended.gsp
r370 r392 454 454 <g:each in="${study.persons}" var="studyperson"> 455 455 <tr> 456 <td>${studyperson.person.firstName} ${studyperson.person. midInitials} ${studyperson.person.lastName}</td>456 <td>${studyperson.person.firstName} ${studyperson.person.prefix} ${studyperson.person.lastName}</td> 457 457 <td> 458 458 ${studyperson.person.affiliations.name.join(', ')} -
trunk/grails-app/views/study/show.gsp
r389 r392 273 273 <g:each in="${studyInstance.persons}" var="studyperson"> 274 274 <tr> 275 <td>${studyperson.person.firstName} ${studyperson.person. midInitials} ${studyperson.person.lastName}</td>275 <td>${studyperson.person.firstName} ${studyperson.person.prefix} ${studyperson.person.lastName}</td> 276 276 <td> 277 277 ${studyperson.person.affiliations.name.join(', ')}
Note: See TracChangeset
for help on using the changeset viewer.