Index: WAeUP_SRP/base/skins/waeup_upload/uploads_form.pt
===================================================================
--- WAeUP_SRP/base/skins/waeup_upload/uploads_form.pt	(revision 3277)
+++ WAeUP_SRP/base/skins/waeup_upload/uploads_form.pt	(revision 3283)
@@ -40,5 +40,5 @@
             <td align="left" valign="middle" style="width: 5px;">
               <input type="checkbox" name="ids:list" value="" id="" class="noborder"
-                     tal:define="id row/id"
+                     tal:define="id string:${row/id}.csv"
                      tal:attributes="value id;
                      id python:'cb_' + id;
@@ -47,5 +47,5 @@
             </td>
             <td tal:condition="nothing"> <a href="view" tal:attributes="href string:${row/url}"> <span tal:content="row/id" /></a>  </td>
-            <td tal:content="row/id" ></td>
+            <td tal:content="string:${row/id}.csv" ></td>
             <td>
               <select name="import_layout:record" tal:attributes="name string:${row/id}.import_layout:record">
@@ -69,5 +69,5 @@
               </span>
             </td>
-            <td tal:condition="nothing"> 
+            <td tal:condition="python:0"> 
             <a href="edit" tal:attributes="href string:${row/url}/external_edit_form"
                 target="edit"
Index: WAeUP_SRP/base/skins/waeup_upload/uploads_index.py
===================================================================
--- WAeUP_SRP/base/skins/waeup_upload/uploads_index.py	(revision 3277)
+++ WAeUP_SRP/base/skins/waeup_upload/uploads_index.py	(revision 3283)
@@ -25,5 +25,5 @@
 
 path_info = request.get('PATH_INFO').split('/')
-
+NO_KEY = '----'
 info = {}
 info['action'] = "%s" % context.absolute_url()
@@ -36,13 +36,16 @@
 #set_trace()
 if edit and ids:
-    for id in ids:
-        doc = getattr(context, "%s.csv" % id).getContent()
-        doc.edit(mapping = request.form[id])
+    for long_id in ids:
+        short_id = long_id.replace('.csv','')
+        doc = getattr(context, long_id).getContent()
+        doc.edit(mapping = request.form[short_id])
         msg, invalid_keys = doc['checkKeys']()
         new_keys = []
         for key in invalid_keys:
-            id_key = "%s|%s" % (id,key)
+            id_key = "%s|%s" % (short_id,key)
             if request.form.has_key(id_key):
-                new_keys += (key,request.form.get(id_key)['valid_key']),
+                new_key = request.form.get(id_key)['valid_key']
+                if new_key != NO_KEY:
+                    new_keys += (key,new_key),
         if new_keys:
             doc.editHeadline(new_keys)
@@ -53,4 +56,5 @@
     doc = upload.getContent()
     row['valid_keys'] = doc['getKeys']()
+    row['valid_keys'][0] = NO_KEY
     row['id'] = id.replace('.csv','')
     row['title'] = doc.filename
@@ -75,12 +79,18 @@
                              commit = True,
                             )
-if psm == 'invalid':
-    return context.uploads_form(rendered = res,
-                                 psm = "Please correct your input!",
-                                 mode = mode,
-                                 ds = ds,
-                                 info = info,
-                                )
-elif psm == '':
+while True:
+    if psm == 'invalid':
+        psm = "Please correct your input!"
+    # return context.uploads_form(rendered = res,
+    #                              psm = "Please correct your input!",
+    #                              mode = mode,
+    #                              ds = ds,
+    #                              info = info,
+    #                             )
+    elif psm == 'valid':
+        filename = ds['upload_file'].filename
+        if filename not in context.objectIds():
+            break
+        psm = "Upload file exists"
     return context.uploads_form(rendered = res,
                                         psm = psm,
@@ -89,19 +99,15 @@
                                         info = info,
                                        )
-elif psm == 'valid':
-    pass
-filename = ds['upload_file'].filename
 
-if filename not in context.objectIds():
-    context.invokeFactory('Upload',filename)
-    upload = getattr(context,filename)
-    d = {}
-    d['filename'] = d['id'] = filename 
-    d['upload_date'] =  DateTime.DateTime()
-    d['import_layout'] = ds.get('import_layout','')
-    d['uploaded_by'] = str(member)
-    d['url'] = upload.absolute_url()
-    upload.getContent().edit(mapping=d)
-    #info['items'].append(d)
+context.invokeFactory('Upload',filename)
+upload = getattr(context,filename)
+d = {}
+d['filename'] = d['id'] = filename 
+d['upload_date'] =  DateTime.DateTime()
+d['import_layout'] = ds.get('import_layout','')
+d['uploaded_by'] = str(member)
+d['url'] = upload.absolute_url()
+upload.getContent().edit(mapping=d)
+
 request.RESPONSE.redirect(context.absolute_url())    
 
Index: WAeUP_SRP/base/skins/waeup_upload/widget_uploadfile_render.pt
===================================================================
--- WAeUP_SRP/base/skins/waeup_upload/widget_uploadfile_render.pt	(revision 3277)
+++ WAeUP_SRP/base/skins/waeup_upload/widget_uploadfile_render.pt	(revision 3283)
@@ -72,6 +72,4 @@
                  id string:${radio_name}_change" 
                  />
-          <label i18n:translate="cpsschemas_label_file_change"
-                 tal:attributes="for string:${radio_name}_change">Change</label>
           <input type="file" name="." size="24"
                  tal:attributes="name name;
