Changeset 874


Ignore:
Timestamp:
Sep 8, 2010, 1:17:25 PM (8 years ago)
Author:
duh
Message:
  • Resolved issue #66, marking required fields in wizard
Location:
trunk
Files:
7 edited

Legend:

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

    r784 r874  
    6060                        name: 'startTime',
    6161                        type: TemplateFieldType.RELTIME,
    62                         comment: "Please enter the start time as a relative time from study start date. "+RelTime.getHelpText()),
     62                        comment: "Please enter the start time as a relative time from study start date. "+RelTime.getHelpText(),
     63                        required: true),
    6364                new TemplateField(
    6465                        name: 'endTime',
    6566                        type: TemplateFieldType.RELTIME,
    66                         comment: "Please enter the end time as a relative time from study start date. "+RelTime.getHelpText())
     67                        comment: "Please enter the end time as a relative time from study start date. "+RelTime.getHelpText(),
     68                        required: true)
    6769        ]
    6870
  • trunk/grails-app/domain/dbnp/studycapturing/SamplingEvent.groovy

    r822 r874  
    4747                        name: 'startTime',
    4848                        type: TemplateFieldType.RELTIME,
    49                         comment: "Please enter the start time as a relative time from study start date."+RelTime.getHelpText()),
     49                        comment: "Please enter the start time as a relative time from study start date."+RelTime.getHelpText(),
     50                        required: true),
    5051                new TemplateField(
    5152                        name: 'duration',
    5253                        type: TemplateFieldType.RELTIME,
    53                         comment: "Please enter the duration of the sampling action, if applicable. "+RelTime.getHelpText()),
     54                        comment: "Please enter the duration of the sampling action, if applicable. "+RelTime.getHelpText(),
     55                        required: true),
    5456                new TemplateField(
    5557                        name: 'sampleTemplate',
    5658                        type: TemplateFieldType.TEMPLATE,
    5759                        entity: dbnp.studycapturing.Sample,
    58                         comment: "Please select the template of the resulting samples")
     60                        comment: "Please select the template of the resulting samples",
     61                        required: true)
    5962        ]
    6063
  • trunk/grails-app/domain/dbnp/studycapturing/Study.groovy

    r863 r874  
    6666                new TemplateField(
    6767                        name: 'title',
    68                         type: TemplateFieldType.STRING),
     68                        type: TemplateFieldType.STRING,
     69                        required: true),
    6970                new TemplateField(
    7071                        name: 'code',
    7172                        type: TemplateFieldType.STRING,
    7273                        preferredIdentifier:true,
    73                         comment: 'Fill out the code by which many people will recognize your study'),
     74                        comment: 'Fill out the code by which many people will recognize your study',
     75                        required: true),
    7476                new TemplateField(
    7577                        name: 'startDate',
    7678                        type: TemplateFieldType.DATE,
    77                         comment: 'Fill out the official start date or date of first action')
     79                        comment: 'Fill out the official start date or date of first action',
     80                        required: true)
    7881        ]
    7982
  • trunk/grails-app/domain/dbnp/studycapturing/Subject.groovy

    r784 r874  
    4545                        type: TemplateFieldType.STRING,
    4646                        preferredIdentifier: true,
    47                         comment: 'Use the local subject name or the pre-defined name'),
     47                        comment: 'Use the local subject name or the pre-defined name',
     48                        required: true),
    4849                new TemplateField(
    4950                        name: 'species',
    5051                        type: TemplateFieldType.ONTOLOGYTERM,
    51                         comment: "The species name is based on the NEWT ontology; if a species is missing, please add it to the ontology using 'add more'")
     52                        comment: "The species name is based on the NEWT ontology; if a species is missing, please add it to the ontology using 'add more'",
     53                        required: true)
    5254        ]
    5355}
  • trunk/grails-app/taglib/dbnp/studycapturing/WizardTagLib.groovy

    r825 r874  
    237237
    238238                // render a form element
    239                 out << '<div class="element"'+ ((attrs.get('elementId')) ? 'id="'+attrs.remove('elementId')+'"': '') + '>'
     239                out << '<div class="element'+ ((attrs.get('required')) ? ' required' : '') +'"'+ ((attrs.get('elementId')) ? 'id="'+attrs.remove('elementId')+'"': '') + '>'
    240240                out << ' <div class="description">'
    241241                out << ((description) ? description.replaceAll(/[a-z][A-Z][a-z]/) { it[0] + ' ' + it[1..2] }.replaceAll(/\w+/) { it[0].toUpperCase() + ((it.size() > 1) ? it[1..-1] : '') } : '')
     
    896896                                def ucName              = it.name[0].toUpperCase() + it.name.substring(1)
    897897
     898                                // check if this is a required property
     899                                println it.getProperties().constraints.required
     900                                println it.getProperties().constraints.required.getClass()
     901
    898902                                // output column opening element?
    899903                                if (renderType == 'column') {
     
    905909                                                inputElement = (renderType == 'element') ? 'textFieldElement' : 'textField'
    906910                                                out << "$inputElement"(
    907                                                         description: ucName,
    908                                                         name: prependName + it.escapedName(),
    909                                                         value: fieldValue
     911                                                        description     : ucName,
     912                                                        name            : prependName + it.escapedName(),
     913                                                        value           : fieldValue,
     914                                                        required        : it.isRequired()
    910915                                                ){helpText}
    911916                                                break
     
    913918                                                inputElement = (renderType == 'element') ? 'textAreaElement' : 'textField'
    914919                                                out << "$inputElement"(
    915                                                         description: ucName,
    916                                                         name: prependName + it.escapedName(),
    917                                                         value: fieldValue
     920                                                        description     : ucName,
     921                                                        name            : prependName + it.escapedName(),
     922                                                        value           : fieldValue,
     923                                                        required        : it.isRequired()
    918924                                                ){helpText}
    919925                                                break
     
    922928                                                if (!it.listEntries.isEmpty()) {
    923929                                                        out << "$inputElement"(
    924                                                                 description: ucName,
    925                                                                 name: prependName + it.escapedName(),
    926                                                                 from: it.listEntries,
    927                                                                 value: fieldValue
     930                                                                description     : ucName,
     931                                                                name            : prependName + it.escapedName(),
     932                                                                from            : it.listEntries,
     933                                                                value           : fieldValue,
     934                                                                required        : it.isRequired()
    928935                                                        ){helpText}
    929936                                                } else {
     
    945952                                                                value           : fieldValue.toString(),
    946953                                                                ontologies      : it.ontologies,
    947                                                                 addDummy        : addDummy
     954                                                                addDummy        : addDummy,
     955                                                                required        : it.isRequired()
    948956                                                        ){helpText}
    949957                                                } else {
     
    952960                                                                name            : prependName + it.escapedName(),
    953961                                                                value           : fieldValue.toString(),
    954                                                                 addDummy        : addDummy
     962                                                                addDummy        : addDummy,
     963                                                                required        : it.isRequired()
    955964                                                        ){helpText}
    956965                                                }
     
    961970                                                inputElement = (renderType == 'element') ? 'textFieldElement' : 'textField'
    962971                                                out << "$inputElement"(
    963                                                         name: prependName + it.escapedName(),
    964                                                         value: fieldValue,
    965                                                         rel: 'ontology-all',
    966                                                         size: 100
     972                                                        name    : prependName + it.escapedName(),
     973                                                        value   : fieldValue,
     974                                                        rel             : 'ontology-all',
     975                                                        size    : 100,
     976                                                        required: it.isRequired()
    967977                                                )
    968978                                                out << hiddenField(
     
    9951005                                                // render element
    9961006                                                out << "$inputElement"(
    997                                                         description: ucName,
    998                                                         name: prependName + it.escapedName(),
    999                                                         value: fieldValue,
    1000                                                         rel: 'date'
     1007                                                        description     : ucName,
     1008                                                        name            : prependName + it.escapedName(),
     1009                                                        value           : fieldValue,
     1010                                                        rel                     : 'date',
     1011                                                        required        : it.isRequired()
    10011012                                                ){helpText}
    10021013                                                break
     
    10041015                                                inputElement = (renderType == 'element') ? 'textFieldElement' : 'textField'
    10051016                                                out << "$inputElement"(
    1006                                                         description: ucName,
    1007                                                         name: prependName + it.escapedName(),
    1008                                                         value: new RelTime( fieldValue ).toString(),
    1009                             addExampleElement: true,
    1010                             onBlur: 'showExampleReltime(this)'
     1017                                                        description                     : ucName,
     1018                                                        name                            : prependName + it.escapedName(),
     1019                                                        value                           : new RelTime( fieldValue ).toString(),
     1020                            addExampleElement   : true,
     1021                            onBlur                              : 'showExampleReltime(this)',
     1022                                                        required                        : it.isRequired()
    10111023                                                ){helpText}
    10121024                                                break
     
    10141026                                                inputElement = (renderType == 'element') ? 'fileFieldElement' : 'fileField'
    10151027                                                out << "$inputElement"(
    1016                                                         description: ucName,
    1017                                                         name: prependName + it.escapedName(),
    1018                                                         value: fieldValue ? fieldValue : "",
    1019                             addExampleElement: true
     1028                                                        description                     : ucName,
     1029                                                        name                            : prependName + it.escapedName(),
     1030                                                        value                           : fieldValue ? fieldValue : "",
     1031                            addExampleElement   : true,
     1032                                                        required                        : it.isRequired()
    10201033                                                ){helpText}
    10211034                                                break
     
    10231036                                                inputElement = (renderType == 'element') ? 'checkBoxElement' : 'checkBox'
    10241037                                                out << "$inputElement"(
    1025                                                         description: ucName,
    1026                                                         name: prependName + it.escapedName(),
    1027                                                         value: fieldValue
     1038                                                        description     : ucName,
     1039                                                        name            : prependName + it.escapedName(),
     1040                                                        value           : fieldValue,
     1041                                                        required        : it.isRequired()
    10281042                                                ){helpText}
    10291043                                                break
     
    10311045                                                inputElement = (renderType == 'element') ? 'templateElement' : 'templateSelect'
    10321046                                                out << "$inputElement"(
    1033                                                         description: ucName,
    1034                                                         name: prependName + it.escapedName(),
    1035                                                         addDummy: true,
    1036                                                         entity: it.entity,
    1037                                                         value: fieldValue
     1047                                                        description     : ucName,
     1048                                                        name            : prependName + it.escapedName(),
     1049                                                        addDummy        : true,
     1050                                                        entity          : it.entity,
     1051                                                        value           : fieldValue,
     1052                                                        required        : it.isRequired()
    10381053                                                ){helpText}
    10391054                                                break
     
    10411056                                                inputElement = (renderType == 'element') ? 'selectElement' : 'select'
    10421057                                                out << "$inputElement"(
    1043                                                         description: ucName,
    1044                                                         name: prependName + it.escapedName(),
    1045                                                         from: AssayModule.findAll(),
    1046                                                         value: fieldValue
     1058                                                        description     : ucName,
     1059                                                        name            : prependName + it.escapedName(),
     1060                                                        from            : AssayModule.findAll(),
     1061                                                        value           : fieldValue,
     1062                                                        required        : it.isRequired()
    10471063                                                ){helpText}
    10481064                                        break
  • trunk/grails-app/views/wizard/common/_error.gsp

    r383 r874  
    3131                element.addClass('error');
    3232                 </g:if><g:else>
     33                element.parent().parent().removeClass('required');
    3334                element.parent().parent().addClass('error');
    3435                 </g:else>
  • trunk/web-app/css/wizard.css

    r635 r874  
    181181}
    182182
     183.wizard .required {
     184    background: url(../images/icons/famfamfam/bullet_go.png) no-repeat 230px 4px;
     185}
     186
    183187.wizard .error {
    184     background: url(../images/icons/famfamfam/exclamation.png) no-repeat 230px 4px;
     188    background: url(../images/icons/famfamfam/exclamation.png) no-repeat 230px 2px;
    185189}
    186190
Note: See TracChangeset for help on using the changeset viewer.