Ignore:
Timestamp:
Mar 11, 2010, 2:23:53 PM (11 years ago)
Author:
duh
Message:
  • added limited auto parsing for DATE template entity values that are set as String instead of Date instances
  • general improvements and bugfixes
File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/grails-app/taglib/dbnp/studycapturing/WizardTagLib.groovy

    r250 r257  
    584584                // output columns for these subjectFields
    585585                template.fields.each() {
     586                        def fieldValue = subject.getFieldValue(it.name)
     587
    586588                        // output div
    587589                        out << '<div class="' + attrs.get('class') + '">'
    588590
     591                        // handle field types
    589592                        switch (it.type.toString()) {
    590593                                case ['STRING', 'TEXT', 'INTEGER', 'FLOAT', 'DOUBLE']:
    591594                                        out << textField(
    592595                                                name: attrs.name + '_' + it.name,
    593                                                 value: (intFields) ? intFields.get(it.name) : ''
     596                                                value: fieldValue
    594597                                        )
    595598                                        break
     
    600603                                                        name: attrs.name + '_' + it.name,
    601604                                                        from: it.listEntries,
    602                                                         value: (stringFields) ? stringFields.get(it.name) : ''
     605                                                        value: fieldValue
    603606                                                )
    604607                                        } else {
     
    606609                                        }
    607610                                        break
     611                                case 'DATE':
     612                                        // transform value?
     613                                        if (fieldValue instanceof Date) {
     614                                                if (fieldValue.getHours() == 0 && fieldValue.getMinutes() == 0) {
     615                                                        // transform date instance to formatted string (dd/mm/yyyy)
     616                                                        fieldValue = String.format('%td/%<tm/%<tY', fieldValue)
     617                                                } else {
     618                                                        // transform to date + time
     619                                                        fieldValue = String.format('%td/%<tm/%<tY %<tH:%<tM', fieldValue)
     620                                                }
     621                                        }
     622
     623                                        // output a date field (not the 'rel' which makes the
     624                                        // javascript front-end bind the jquery-ui datepicker)
     625                                        out << textField(
     626                                                name: attrs.name + '_' + it.name,
     627                                                value: fieldValue,
     628                                                rel: 'date'
     629                                        )
     630                                        break
     631                                case 'ONTOLOGYTERM':
     632                                        out << it.getClass()
     633                                        break
    608634                                default:
    609635                                        // unsupported field type
    610636                                        out << '<span class="warning">!' + it.type + '</span>'
    611                                         //out << subject.getFieldValue(it.name)
    612                                         break;
     637                                        break
    613638                        }
    614639
Note: See TracChangeset for help on using the changeset viewer.