~shikharkohli/sahana-eden/gsoc1

« back to all changes in this revision

Viewing changes to static/scripts/S3importer/re_import.js

  • Committer: Shikhar Kohli
  • Date: 2010-08-09 13:52:50 UTC
  • Revision ID: shikharkohli@gmail.com-20100809135250-n8z7jbs3hv1s7e82
Tweaks to re-import and import_spreadsheet controller

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
1
function error_color(val,metadata,record,row,col,store)
2
2
{
3
 
        
 
3
        if(!val)
 
4
                val = '';
4
5
        var error = val.substring(0,9);
5
 
        console.log("",error);
6
6
        if( error == "*_error_*")
7
7
        {
8
8
                //record.set(col,val.substring(9));
25
25
        Ext.onReady(function(){
26
26
        Ext.Msg.alert("","These records could not be imported. Please edit and import again.");
27
27
        var column_model = new Array();
 
28
        fields = [];
 
29
        for(i = 0 ;i < map.length; i++)
 
30
        {
 
31
            var tempstr = map[i][2].indexOf("--");
 
32
                if(tempstr!=-1)
 
33
                {
 
34
                        var check = map[i][2].split(' --&gt; ');
 
35
                        fields.push( "$k_" + check[0] + ' --&gt; $_' + check[1] + ' --&gt; ' + check[2]);
 
36
                }
 
37
                
 
38
                else
 
39
                        fields.push(map[i][2]);
 
40
        }
28
41
        var store = new Ext.data.JsonStore({
29
42
                fields : fields,
30
 
                root : 'rows',
 
43
                root : 'rows'
31
44
        });
32
45
        var data={};
33
46
        number_column = fields.length;
34
47
        data['rows'] = invalid_rows;
35
48
 
36
49
        console.log(data);
 
50
        //console.log(data['rows'][0]["$k_organisation_id --&gt; $_org_organisation --&gt; name"]);
37
51
        store.loadData(data);
38
52
        store.each(function(record)
39
53
                {
40
 
                        console.log(record.get(fields[2]));
 
54
                        console.log(record.get(fields[1]));
41
55
                });
42
56
        var action = new Ext.ux.grid.RowActions({
43
57
                         header:'Click to delete',
72
86
        {
73
87
                temp = {};
74
88
                temp.header = map[i][1];//fields[i];
75
 
                temp.dataIndex = map[i][2];//fields[i];
 
89
                temp.dataIndex = fields[i];
 
90
                console.log(temp.dataIndex);
76
91
                temp.editor = new Ext.form.TextField();
77
92
                temp.renderer = error_color;
78
93
                column_model.push(temp);
83
98
        var re_import_grid = new Ext.grid.EditorGridPanel({
84
99
                title : "Edit invalid rows ",
85
100
                renderTo: 'spreadsheet',
 
101
                columnLines : true,
86
102
                width : 'auto',
87
103
                plugins : action,
88
104
                height : 300,
91
107
                },
92
108
                store : store,
93
109
                frame : true,
94
 
                columns : column_model,
 
110
                colModel : column_model,
95
111
                hidden : true,
96
112
                buttonAlign : 'center',
97
113
                listeners:
110
126
                                        lm.show();
111
127
                                        var send = {};
112
128
                                        send.spreadsheet = new Array();
 
129
                                        send.rows = 0;
113
130
                                        store.each(function()
114
131
                                        {
115
132
                                                var temp = new Array();
116
133
                                                var i = 0;
117
134
                                                while(i < number_column)
118
135
                                                {
119
 
                                                        temp.push(this.get((map[i][2])));
 
136
                                                        temp.push(this.get((fields[i])));
120
137
                                                        i++;
121
138
                                                }
122
139
 
123
140
                                                send.spreadsheet.push(temp);
124
 
                                                send.map = map;
125
 
                                                send.rows = rows
 
141
                                                send.rows += 1;
126
142
                                        });
127
 
                                        
 
143
                                        for( i=0 ;i< map.length; i++)
 
144
                                        {
 
145
                                                map[i][2] = fields[i];
 
146
                                        }
 
147
                                        send.re_import = 'True';        
128
148
                                        send.map = map;
129
 
                                        send.rows = rows;
 
149
                                        console.log(send.map);
130
150
                                        send.columns = number_column;
131
151
                                        send.resource = resource;
132
152
                                        var time= new Date();
145
165
                                                        Ext.Msg.alert("","Import failed "+r.responseText);
146
166
                                                        }
147
167
                                                });
148
 
                                        console.log(send);
 
168
                                        //console.log(send);
149
169
                                        lm.hide();
150
170
                                }
151
171
                                }]