Changeset 1514

Show
Ignore:
Timestamp:
10-02-11 16:30:16 (3 years ago)
Author:
t.w.abma@…
Message:

- removed popup solution for properties and changed it into simple "save" method to step 2 of importer wizard

Location:
trunk/grails-app
Files:
3 modified

Legend:

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

    r1511 r1514  
    152152                        } 
    153153            on("refresh") { 
    154                 if (params.savepropertymapping) println "saved properties" 
     154                // a name was given to the current property mapping, try to store it 
     155                if (params.mappingname) { 
     156                    flash['mappingname'] = params.mappingname 
     157                    propertiesSaveImportMappingPage(flow, flash, params) 
     158                } 
    155159                flow.importer_fuzzymatching="true" 
    156160                                success() 
     
    365369        return false 
    366370        } 
     371 
     372    /** 
     373     * Save the properties as an import mapping. 
     374     * 
     375     * @param Map LocalAttributeMap (the flow scope) 
     376         * @param Map GrailsParameterMap (the flow parameters = form data) 
     377         * @returns boolean true if correctly validated, otherwise false 
     378         */ 
     379    boolean propertiesSaveImportMappingPage(flow, flash, params) { 
     380        flash.wizardErrors = [:] 
     381 
     382                // Find actual Template object from the chosen template name 
     383                def template = Template.get(flow.importer_template_id) 
     384        //def im = new ImportMapping(name:params.mappingname).save() 
     385 
     386                params.columnproperty.index.each { columnindex, property -> 
     387                        // Create an actual class instance of the selected entity with the selected template 
     388                        // This should be inside the closure because in some cases in the advanced importer, the fields can have different target entities 
     389                        def entityClass = Class.forName(flow.importer_header[columnindex.toInteger()].entity.getName(), true, this.getClass().getClassLoader()) 
     390                        def entityObj = entityClass.newInstance(template: template) 
     391            def dontimport = (property == "dontimport") ? true : false 
     392 
     393            def mc = new MappingColumn (property:property, templatefieldtype:entityObj.giveFieldType(property), dontimport: dontimport ) 
     394 
     395                        // Store the selected property for this column into the column map for the ImporterService 
     396                        /*flow.importer_header[columnindex.toInteger()].property = property 
     397 
     398                        // Look up the template field type of the target TemplateField and store it also in the map 
     399                        flow.importer_header[columnindex.toInteger()].templatefieldtype = entityObj.giveFieldType(property) 
     400 
     401                        // Is a "Don't import" property assigned to the column? 
     402                        flow.importer_header[columnindex.toInteger()].dontimport = (property == "dontimport") ? true : false 
     403 
     404                        //if it's an identifier set the mapping column true or false 
     405                        entityObj.giveFields().each { 
     406                                (it.preferredIdentifier && (it.name == property)) ? flow.importer_header[columnindex.toInteger()].identifier = true : false 
     407                        }*/ 
     408                } 
     409    } 
    367410 
    368411        /** 
  • trunk/grails-app/views/importer/common/_on_page.gsp

    r1511 r1514  
    4949          }); 
    5050 
    51           $('#savepropertiesbutton').click(function() {             
    52             var width = 800 
    53             var height = 400 
     51          $('#savepropertiesbutton').click(function() { 
     52            var width = 500 
     53            var height = 200 
     54            var vars = "" 
     55 
     56            $("#savemapping").toggle("scale") 
     57 
     58            if ($("#mappingname").val()) refreshFlow(); 
    5459 
    5560            // get all properties 
    5661            //$('select[name^=columnproperty.index.]').each ( function() { 
    57             //} 
     62            //}            
    5863             
    59             $('<iframe frameborder="0" src="' + baseUrl + "/importer/propertiesManager" + '" sanbox="allow-same-origin" seamless />').dialog({ 
    60                     title       : "Properties manager",                     
    61                     autoOpen    : true,                 
     64            /*$('#propertiesManager').dialog({ 
     65                    title       : "Properties manager", 
     66                    autoOpen    : true, 
    6267                    width       : width, 
     68                    vars        : vars, 
    6369                    height      : height, 
    6470                    modal       : true, 
    6571                    position    : 'center', 
    6672                    buttons     : { 
    67                                     Close  : function() { $(this).dialog('close'); } 
     73                                    Save  : function() { 
     74                                                          //alert($(this).parent().$('input[name="mappingname"]').val()) 
     75                                                          alert($(this)) 
     76                                                          var p = $(this).parent().parent().parent() 
     77                                                          console.log(p.('input[name="mappingname"]').val()) 
     78                                                          //alert(vars) 
     79                                                          $(this).dialog('close'); } 
    6880                                  }, 
    6981                    close       : function() { 
     
    7284                                  } 
    7385                }).width(width - 10).height(height) 
     86              */ 
    7487 
    7588          }); 
     
    165178 
    166179</script> 
    167  
  • trunk/grails-app/views/importer/common/_properties_horizontal.gsp

    r1511 r1514  
    1515%> 
    1616 
     17 
    1718<!-- saveproperties action was defined in the form --> 
     19  ${flash.mappingname} 
    1820    <table> 
    1921          <g:each var="stdentity" in ="${GdtService.cachedEntities}"> 
     
    2224              <tr><td colspan="3"><h4>${stdentity.name}</h4></td></tr> 
    2325                <tr> 
    24             <td class="header" width="25px"> 
     26            <td class="header" width="55px"> 
    2527              <input class="buttonsmall" id="clearselect" type="button" value="Clear" name="clearselect"> 
    2628              <input class="buttonsmall" id="fuzzymatchselect" type="button" value="Match" name="fuzzymatchselect"> 
    27               <!-- <input class="buttonsmall" id="savepropertiesbutton" type="button" value="Save" name="savepropertiesbutton"> --> 
     29              <input class="buttonsmall" id="savepropertiesbutton" type="button" value="Save" name="savepropertiesbutton"> 
     30              <div id="savemapping" style="display:none"> 
     31                Give current mapping a name and press Save: 
     32                <input type="text" name="mappingname" size="20" id="mappingname"> 
     33              </div> 
    2834            </td> 
    2935            <g:each var="selentity" in="${importer_selectedentities}">