commit aad6a10a7076035161e1dfe115487a16f816d2f2
parent 28a91a48010f556e81bf62606e882ee3de7f9ca5
Author: Jan Dankert <devnull@localhost>
Date: Tue, 6 Nov 2012 23:19:50 +0100
Falls bei POST-Requests ein Fehler auftritt, mit der Fehlermeldung kein alert()-Fenster erzeugen, sondern die standard-Openrat-Notice einblenden.
Diffstat:
1 file changed, 22 insertions(+), 1 deletion(-)
diff --git a/themes/default/js/openrat.js b/themes/default/js/openrat.js
@@ -817,7 +817,28 @@ function formSubmit(form)
error:function(jqXHR, textStatus, errorThrown) {
$(form).closest('div.content').removeClass('loader');
$(status).find('div.loader').remove();
- alert( 'OpenRat: Error while performing the POST request: ' + errorThrown );
+
+ var msg;
+ try
+ {
+ var error = jQuery.parseJSON( jqXHR.responseText );
+ msg = error.error + '/' + error.description + ': ' + error.reason;
+ }
+ catch( e )
+ {
+ msg = jqXHR.responseText;
+ }
+
+ // Notice-Bar mit dieser Meldung erweitern.
+ var notice = $('<div class="notice error"><div class="text">'+msg+'</div></div');
+ $('#noticebar').prepend(notice); // Notice anhängen.
+
+ // Per Klick wird die Notice entfernt.
+ $(notice).fadeIn().click( function()
+ {
+ $(this).fadeOut('fast',function() { $(this).remove(); } );
+ } );
+
}
} );