diff --git a/database.py b/database.py index 58e1438..8c73a0a 100644 --- a/database.py +++ b/database.py @@ -14,13 +14,17 @@ def open_db(): return conn def import_songs(song_csv): + print("Start importing Songs...") df = pandas.read_csv(StringIO(song_csv), sep=';') conn = open_db() + cur = conn.cursor() df.to_sql(song_table, conn, if_exists='replace', index=False) + cur.execute("SELECT Count(Id) FROM songs") + num_songs = cur.fetchone()[0] conn.close() - print("Imported songs") - return + print("Imported songs ({} in Database)".format(num_songs)) + return("Imported songs ({} in Database)".format(num_songs)) def create_entry_table(): conn = open_db() diff --git a/templates/base.html b/templates/base.html index 0118a31..9b2ab3f 100644 --- a/templates/base.html +++ b/templates/base.html @@ -17,8 +17,9 @@ - - + + @@ -52,16 +53,15 @@ diff --git a/templates/main_admin.html b/templates/main_admin.html index a843195..eb7f0ef 100644 --- a/templates/main_admin.html +++ b/templates/main_admin.html @@ -7,16 +7,11 @@
- - + +
@@ -40,9 +35,9 @@ {{ entry[2] }} - + class="fas fa-trash"> {% endfor %} @@ -63,17 +58,47 @@ }) } function confirmDeleteAllEntries() { - bootbox.confirm("Wirklich alle Eintragungen löschen?", function(result){ - if (result) { - deleteAllEntries() + bootbox.confirm({ + message: "Wirklich alle Eintragungen löschen?", + buttons: { + confirm: { + label: 'Ja', + className: 'btn btn-danger' + }, + cancel: { + label: 'Nein', + className: 'btn btn-secondary' + } + }, + callback: function(result){ + if (result) { + deleteAllEntries() + } } }) } function confirmUpdateSongDatabase() { - bootbox.confirm("Wirklich die Song-Datenbank aktualisieren?
Dies lädt die Aktuelle Song-Liste von KaraFun herunter, und wird alle Eintragungen löschen!" , - function(result){ - if (result) { - updateSongDatabase() + bootbox.confirm({ + message: "Wirklich die Song-Datenbank aktualisieren?
Dies lädt die Aktuelle Song-Liste von KaraFun herunter, und wird alle Eintragungen löschen!", + buttons: { + confirm: { + label: 'Ja', + className: 'btn-primary' + }, + cancel: { + label: 'Nein', + className: 'btn btn-secondary' + } + }, + callback: function(result){ + if (result) { + var dialog = bootbox.dialog({ + message: '

Aktualisiere Song-Datenbank...

', + + closeButton: false + }); + updateSongDatabase(dialog) + } } }) } @@ -95,14 +120,20 @@ }); location.reload(); } - function updateSongDatabase() { + function updateSongDatabase(wait_dialog) { $.ajax({ type: 'GET', url: '/api/songs/update', contentType: "application/json", - dataType: 'json' + dataType: 'json', + success: function(data) { + wait_dialog.modal('hide') + bootbox.alert({ + message: data["status"], + callback: function() {location.reload()} + }) + } }); - location.reload(); } {% endblock %} \ No newline at end of file diff --git a/templates/songlist.html b/templates/songlist.html index 9009b87..e78fb91 100644 --- a/templates/songlist.html +++ b/templates/songlist.html @@ -56,16 +56,18 @@ $.each(data, function (key, val) { items.push(""+val[0]+` + class="fas fa-plus"> `) }); $("#songtable").html("") $(items.join("")).appendTo("#songtable"); }); + } else { + $("#songtable").html("") } });