From 9535c37c798e63a83d206840cc03bf25d2beb364 Mon Sep 17 00:00:00 2001
From: Nathan Sprenkle <nsprenkle@users.noreply.github.com>
Date: Tue, 17 Mar 2020 12:03:53 -0400
Subject: [PATCH] Fix UX issues on Team Management tab (#23417)

* Don't disable download button after click

* Allow reuploading for team membership CSV
---
 .../teams/static/teams/js/spec/views/manage_spec.js          | 5 +++++
 lms/djangoapps/teams/static/teams/js/views/manage.js         | 5 ++++-
 2 files changed, 9 insertions(+), 1 deletion(-)

diff --git a/lms/djangoapps/teams/static/teams/js/spec/views/manage_spec.js b/lms/djangoapps/teams/static/teams/js/spec/views/manage_spec.js
index 3cba23dee60..a18f5859b08 100644
--- a/lms/djangoapps/teams/static/teams/js/spec/views/manage_spec.js
+++ b/lms/djangoapps/teams/static/teams/js/spec/views/manage_spec.js
@@ -43,5 +43,10 @@ define([
             AjaxHelpers.respondWithError(requests);
             expect(view.handleCsvUploadFailure).toHaveBeenCalled();
         });
+
+        it('should clear input file after upload to allow reuploading', function() {
+            view.uploadCsv(mockUploadClickEvent);
+            expect(view.$('#upload-team-csv-input').prop('value')).toEqual('');
+        });
     });
 });
diff --git a/lms/djangoapps/teams/static/teams/js/views/manage.js b/lms/djangoapps/teams/static/teams/js/views/manage.js
index 37c08a13d7e..f319d8e76ab 100644
--- a/lms/djangoapps/teams/static/teams/js/views/manage.js
+++ b/lms/djangoapps/teams/static/teams/js/views/manage.js
@@ -17,7 +17,7 @@
             },
 
             events: {
-                'click #download-team-csv-input': ViewUtils.withDisabledElement('downloadCsv'),
+                'click #download-team-csv-input': 'downloadCsv',
                 'change #upload-team-csv-input': ViewUtils.withDisabledElement('uploadCsv')
             },
 
@@ -44,6 +44,9 @@
                 var self = this;
                 var formData = new FormData();
 
+                // clear selected file to allow re-uploading
+                $(event.target).prop('value', '');
+
                 formData.append('csv', file);  // xss-lint: disable=javascript-jquery-append
                 return $.ajax({
                     type: 'POST',
-- 
GitLab