Skip to content

Commit 9b8f9ac

Browse files
authored
fix: catch submit button on empty csv (#225)
1 parent e767550 commit 9b8f9ac

File tree

2 files changed

+12
-2
lines changed

2 files changed

+12
-2
lines changed

frontend/rctool/templates/rctool/rctool/import/rctool_import.html

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -393,6 +393,7 @@ <h6 class="card-header text-center" style="background-color: #758fa8; color: #FF
393393
// on first load, update things
394394
refreshTable()
395395
refreshSession()
396+
document.getElementById("enter-data-button").disabled = true;
396397

397398
</script>
398399
{% endblock %}

frontend/rctool/views.py

Lines changed: 11 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -345,7 +345,12 @@ def rctool_develop_initialize(request):
345345
import_form = import_rc_data(request.POST, request.FILES)
346346
session_content = request.POST.get("session_content")
347347

348-
df = pd.read_json(io.StringIO(session_content))
348+
try:
349+
df = pd.read_json(io.StringIO(session_content))
350+
except Exception as e:
351+
messages.error(request, "Error: session file could not be parsed.")
352+
return render(request, "rctool/rctool/import/rctool_import.html", context)
353+
349354

350355
# preprocess data from previous session
351356
data_raw_lst = df["data"].values.tolist()
@@ -425,8 +430,12 @@ def rctool_develop_initialize(request):
425430
field_data_json = request.POST.get("csv_content")
426431

427432
# load field data from json
433+
try:
434+
field_df_raw = pd.read_json(io.StringIO(field_data_json))
435+
except Exception as e:
436+
messages.error(request, "Error: CSV file could not be parsed.")
437+
return render(request, "rctool/rctool/import/rctool_import.html", context)
428438

429-
field_df_raw = pd.read_json(io.StringIO(field_data_json))
430439
# convert first row to lower case
431440
field_df_raw.columns = [x.lower() for x in field_df_raw.columns]
432441

0 commit comments

Comments
 (0)