User-Bestätigung bevor Dateien gelöscht werden

/ Autor: Albrecht, 04 Jul 2008

Die Typo3-Extension “jm_gallery” bietet eine umfangreiche Fotogalerie. Dazu gehört die Aufteilung in Kategorien, anlegen verschiedener Alben, eine Kommentarfunktion zu den Bildern und viele weitere tolle Features. Ein großer Vorteil dieser Extension ist, dass die Alben und Bilder mit einer AJAX-Oberfläche über das Frontend gepflegt werden können.

Somit kann ein Frontend-Login-Bereich eingerichtet werden, über den die Benutzer die Bilder komfortabel pflegen können und nicht den mühsamen (und bei dieser Extension etwas unübersichtlichen) Weg der Backend-Pflege gehen müssen. Die Benutzer können Kategorien anlegen, Bilder hinzufügen, Bilder löschen und auch ganze Kategorien wieder löschen. Und genau hier liegt ein kleines Problem: Löscht der Benutzer eine Kategorie, erscheint keine Sicherheitsabfrage und die Kategorie wird incl. aller Dateien sofort gelöscht. Dadurch kann durch einen einzigen unvorsichtigen Klick die vorherige mühsame Arbeit zunichte gemacht werden.

Mit folgender Anpassung am Template wird eine kurze und einfache JavaScript-Bestätigung vorgeschaltet, die den Benutzer noch einmal darauf hinweist, was geschieht und ob er das wirklich will.

Folgender Abschnitt im Template …

href="javascript:GalleryAdmin.deleteAlbum(###CATEGORY_UID###,###ALBUM_UID###);"

… muss durch diesen Code ersetzt werden:

href="javascript:askToDelete(###CATEGORY_UID###,###ALBUM_UID###);"

Und diese JavaScript-Funktion muss an geeigneter Position eingefügt werden:

/**
 * Ask the user before the album is deleted.
 */
function askToDelete(catID, albumID) {

	var askText = 'Soll das Album wirklich endgültig vom Server gelöscht
	               werden?\n\nDieser Vorgang kann nicht rückgängig
	               gemacht werden.';

	if(confirm(askText)) {
		GalleryAdmin.deleteAlbum(catID, albumID);
	}
}

Durch diese Änderung kann der Benutzer wie gewohnt die Bilder und Alben verwalten, wird aber vor dem Löschen eines Albums darauf hingewiesen, welche Folgen die Aktion haben wird und danach gefragt, ob er es wirklich tun will. Dieser eine Klick mehr stört wahrscheinlich niemanden wirklich, aber kann vor sehr viel Ärger, Problemen und Mehraufwand schützen.

One Response to “User-Bestätigung bevor Dateien gelöscht werden”

  1. [...] [...]

Leave a Reply