Ignore:
Timestamp:
Apr 27, 2010, 9:13:47 AM (9 years ago)
Author:
keesvb
Message:

FINALLY found a possible way to integrate the domain fields as TemplateFields?, see Event. Also added required attribute for template fields.

File:
1 edited

Legend:

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

    r375 r384  
    1414 */
    1515class Event extends TemplateEntity implements Serializable {
    16         Date startTime
    17         Date endTime
    1816
    1917        static constraints = {
    20                 startTime(nullable:false)
     18                startTime(nullable: true)
     19                endTime(nullable: true)
    2120                endTime(validator: {val, obj ->
    2221           if (val && val.before(obj.startTime)) {
     
    2423           }
    2524        })
     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
    2647        }
    2748
     
    3354        // thus, do this manually as follows
    3455
    35         def getDuration(date1, date2) {
     56        static def getDuration(date1, date2) {
    3657                def timeMillis = (date2.getTime() - date1.getTime()).abs()
    3758                def days = (timeMillis / (1000 * 60 * 60 * 24)).toInteger()
     
    5273        // is output
    5374
    54         def getPrettyDuration(duration) {
     75        static def getPrettyDuration(duration) {
    5576                def handleNumerus = {number, string ->
    5677                        return number.toString() + (number == 1 ? string : string + 's')
     
    7091
    7192        // convenience method. gives formatted string output for a duration
    72         def getPrettyDuration(date1, date2) {
     93        static def getPrettyDuration(date1, date2) {
    7394                return getPrettyDuration(getDuration(date1, date2))
    7495        }
Note: See TracChangeset for help on using the changeset viewer.