Ignore:
Timestamp:
Jan 12, 2011, 11:50:56 AM (10 years ago)
Author:
t.w.abma@…
Message:
  • added dialog (based on study wizard) for more detailed information what goes wrong in validation step
File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/grails-app/controllers/dbnp/importer/ImporterController.groovy

    r1358 r1367  
    148148                        }
    149149                }
    150 
    151 
    152150               
    153151                // put your bussiness logic (if applicable) in here
     
    214212                    success()
    215213                } else {
    216                     log.error ".import wizard mapping error, could not validate all entities"                   
    217                     error()                 
     214                    log.error ".import wizard mapping error, could not validate all entities"
     215                    error()
    218216                }
    219217            }.to "pageFour"
     
    284282
    285283        // render errors
    286         error {
    287             //println "error?"
     284        error {                       
    288285            render(view: "_error")
    289286            onRender {
     
    303300            on("toPageFour").to "pageFour"
    304301            on("toPageFive").to "save"
    305 
    306302        }
    307303
     
    466462                        // field of type ontology and value "#invalidterm"?
    467463                        if (field.type == dbnp.studycapturing.TemplateFieldType.ONTOLOGYTERM &&
    468                             params["entity_" + entity.getIdentifier() + "_" + field.escapedName()] == "#invalidterm"                           
     464                            params["entity_" + entity.getIdentifier() + "_" + field.escapedName()] == "#invalidterm"
    469465                        ) {
    470466                            invalidontologies++
    471467                        } else
    472                             entity.setFieldValue (field.toString(), params["entity_" + entity.getIdentifier() + "_" + field.escapedName()])                                               
     468                        if (field.type == dbnp.studycapturing.TemplateFieldType.ONTOLOGYTERM &&
     469                            params["entity_" + entity.getIdentifier() + "_" + field.escapedName()] != "#invalidterm") {
     470                            removeFailedCell(flow.importer_failedcells, entity)
     471                            entity.setFieldValue (field.toString(), params["entity_" + entity.getIdentifier() + "_" + field.escapedName()])
     472                        }
     473                        else
     474                            entity.setFieldValue (field.toString(), params["entity_" + entity.getIdentifier() + "_" + field.escapedName()])
    473475                }
    474476
     
    482484                    flow.importer_invalidentities++
    483485
    484                     // add errors to map
    485                     this.appendErrors(entity, flash.wizardErrors, 'subject_' + entity.getIdentifier() + '_')                   
     486                    // add errors to map                   
     487                    this.appendErrors(entity, flash.wizardErrors, "entity_"+entity.getIdentifier() + "_")
    486488                   
    487489                                        entity.errors.getAllErrors().each() {
     
    489491                                        }
    490492                } else {                   
    491                     // Valid entity, remove it from failedcells
    492                     flow.importer_failedcells.each { record ->
    493                         record.importcells.each { cell ->
    494                             // remove the cell from the failed cells session
    495                                 if (cell.entityidentifier == entity.getIdentifier()) {
    496                                 record.removeFromImportcells(cell)
    497                             }
    498                         } // end of importcells
    499                     } // end of failedcells
     493                    removeFailedCell(flow.importer_failedcells, entity)
    500494                } // end else if
    501495
     
    505499        return (flow.importer_invalidentities == 0) ? true : false
    506500    } // end of method
     501
     502    /**
     503     * @param failedcell failed ontology cells
     504     * @param entity entity
     505     */
     506    def removeFailedCell(failedcells, entity) {
     507        // Valid entity, remove it from failedcells
     508        failedcells.each { record ->
     509            record.importcells.each { cell ->
     510            // remove the cell from the failed cells session
     511                if (cell.entityidentifier == entity.getIdentifier()) {
     512                    record.removeFromImportcells(cell)
     513                }
     514            } // end of importcells
     515        } // end of failedcells
     516    }
    507517
    508518    /**
     
    537547        def appendErrors(object, map) {
    538548                this.appendErrorMap(getHumanReadableErrors(object), map)
    539         }
     549    }
    540550
    541551        def appendErrors(object, map, prepend) {
     
    551561        def appendErrorMap(map, mapToExtend) {
    552562                map.each() {key, value ->
    553                         mapToExtend[key] = ['key': key, 'value': value, 'dynamic': false]
     563                        mapToExtend[key] = ['key': key, 'value': value, 'dynamic': false]           
    554564                }
    555565        }
     
    571581                object.errors.getAllErrors().each() { error ->
    572582                        // error.codes.each() { code -> println code }
     583            println "errors is " + error
    573584
    574585                        // generally speaking g.message(...) should work,
Note: See TracChangeset for help on using the changeset viewer.