Changeset 384
- Timestamp:
- Apr 27, 2010, 9:13:47 AM (13 years ago)
- Location:
- trunk/grails-app
- Files:
-
- 5 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/grails-app/conf/BootStrap.groovy
r383 r384 416 416 // Event templates 417 417 println ".adding event templates..." 418 419 def startDateField = new TemplateField( 420 name: 'Start time', type: TemplateFieldType.DATE 421 ).with { if (!validate()) { errors.each { println it} } else save()} 422 423 def endDateField = new TemplateField( 424 name: 'End time', type: TemplateFieldType.DATE 425 ).with { if (!validate()) { errors.each { println it} } else save()} 426 427 Event.systemFields = [startDateField,endDateField] 428 418 429 def dietTreatmentTemplate = new Template( 419 430 name: 'Diet treatment', entity: dbnp.studycapturing.Event) … … 504 515 505 516 def evLF = new Event( 506 startTime: Date.parse('yyyy-MM-dd','2008-01-07'),507 endTime: Date.parse('yyyy-MM-dd','2008-01-14'),508 517 template: dietTreatmentTemplate 509 518 ) 510 519 .with { if (!validate()) { errors.each { println it} } else save()} 511 evLF.setFieldValue( 'Diet','10% fat (palm oil)' ) 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 evLF.setFieldValue( 'Diet','10% fat (palm oil)' ) 512 525 evLF.save(flush:true) 526 527 println "Saved diet treatment" 513 528 // TODO: find out why Diet is not set and Compound is 514 529 515 530 def evHF = new Event( 516 startTime: Date.parse('yyyy-MM-dd','2008-01-07'),517 endTime: Date.parse('yyyy-MM-dd','2008-01-14'),518 531 template: dietTreatmentTemplate 519 532 ) 533 .setStartTime( Date.parse('yyyy-MM-dd','2008-01-07')) 534 .setEndTime( Date.parse('yyyy-MM-dd','2008-01-14')) 520 535 .setFieldValue( 'Diet','45% fat (palm oil)' ) 521 536 .with { if (!validate()) { errors.each { println it} } else save()} 522 537 523 538 def evBV = new Event( 524 startTime: Date.parse('yyyy-MM-dd','2008-01-07'),525 endTime: Date.parse('yyyy-MM-dd','2008-01-14'),526 539 template: boostTreatmentTemplate 527 540 ) 541 .setStartTime( Date.parse('yyyy-MM-dd','2008-01-07')) 542 .setEndTime( Date.parse('yyyy-MM-dd','2008-01-14')) 528 543 .setFieldValue( 'Compound','Vehicle' ) 529 544 .with { if (!validate()) { errors.each { println it} } else save()} 530 545 531 546 def evBL = new Event( 532 startTime: Date.parse('yyyy-MM-dd','2008-01-07'),533 endTime: Date.parse('yyyy-MM-dd','2008-01-14'),534 547 template: boostTreatmentTemplate 535 548 ) 549 .setStartTime( Date.parse('yyyy-MM-dd','2008-01-07')) 550 .setEndTime( Date.parse('yyyy-MM-dd','2008-01-14')) 536 551 .setFieldValue( 'Compound','Leptin' ) 537 552 .with { if (!validate()) { errors.each { println it} } else save()} -
trunk/grails-app/domain/dbnp/studycapturing/Event.groovy
r375 r384 14 14 */ 15 15 class Event extends TemplateEntity implements Serializable { 16 Date startTime17 Date endTime18 16 19 17 static constraints = { 20 startTime(nullable:false) 18 startTime(nullable: true) 19 endTime(nullable: true) 21 20 endTime(validator: {val, obj -> 22 21 if (val && val.before(obj.startTime)) { … … 24 23 } 25 24 }) 25 } 26 27 Date getStartTime() { 28 getFieldValue('Start time') 29 } 30 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 26 47 } 27 48 … … 33 54 // thus, do this manually as follows 34 55 35 def getDuration(date1, date2) {56 static def getDuration(date1, date2) { 36 57 def timeMillis = (date2.getTime() - date1.getTime()).abs() 37 58 def days = (timeMillis / (1000 * 60 * 60 * 24)).toInteger() … … 52 73 // is output 53 74 54 def getPrettyDuration(duration) {75 static def getPrettyDuration(duration) { 55 76 def handleNumerus = {number, string -> 56 77 return number.toString() + (number == 1 ? string : string + 's') … … 70 91 71 92 // convenience method. gives formatted string output for a duration 72 def getPrettyDuration(date1, date2) {93 static def getPrettyDuration(date1, date2) { 73 94 return getPrettyDuration(getDuration(date1, date2)) 74 95 } -
trunk/grails-app/domain/dbnp/studycapturing/Template.groovy
r359 r384 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 set 29 void setEntity(Class value) { 30 this.entity = value 31 if (value != null) { 32 if (fields == null) { 33 if (entity.systemFields) { 34 println "adding default template fields for " + entity.systemFields 35 entity.systemFields.each { 36 this.addToFields(it) 37 } 38 } 39 } 40 println "" + value + "this template has now fields " + fields 41 } 42 25 43 } 26 44 … … 58 76 59 77 /** 78 * get all required fields 79 * @param Class fieldType 80 * @return Set<TemplateField> 81 */ 82 def getRequiredFields() { 83 def result = fields.findAll { 84 it.required == true 85 } 86 return result; 87 } 88 89 /** 60 90 * overloading the findAllByEntity method to make it function as expected 61 91 * @param Class entity (for example: dbnp.studycapturing.Subject) … … 64 94 public static findAllByEntity(java.lang.Class entity) { 65 95 def results = [] 66 // 'this' should not work in static context, however it does so I'll keep 67 // this in for now :) 68 this.findAll().each() { 96 // 'this' should not work in static context, so taking Template instead of this 97 Template.findAll().each() { 69 98 if (entity.equals(it.entity)) { 70 99 results[ results.size() ] = it -
trunk/grails-app/domain/dbnp/studycapturing/TemplateEntity.groovy
r381 r384 14 14 abstract class TemplateEntity implements Serializable { 15 15 Template template 16 static List systemFields 16 17 Map templateStringFields = [:] 17 18 Map templateTextFields = [:] … … 31 32 templateDoubleFields: double, 32 33 templateDateFields: Date, 33 templateTermFields: Term 34 templateTermFields: Term, 35 systemFields: TemplateField 34 36 ] 35 37 … … 353 355 } 354 356 357 def List<TemplateField> giveSystemFields() { 358 return systemFields; 359 } 360 361 355 362 /** 356 363 * Return all relevant 'built-in' domain fields of the super class -
trunk/grails-app/domain/dbnp/studycapturing/TemplateField.groovy
r375 r384 17 17 String comment // help string for the user interface 18 18 List listEntries 19 boolean required 19 20 20 21 static hasMany = [listEntries : … … 27 28 unit(nullable: true, blank: true) 28 29 comment(nullable:true, blank: true) 30 required(default: false) 29 31 } 30 32
Note: See TracChangeset
for help on using the changeset viewer.