]> git.ipfire.org Git - thirdparty/bugzilla.git/commitdiff
Bug 1089475: Use "ThrowCodeError" when a database error occurs instead of dumping...
authorJeff Fearn <Jeff.Fearn@gmail.com>
Wed, 17 Dec 2014 05:09:01 +0000 (13:09 +0800)
committerByron Jones <glob@mozilla.com>
Wed, 17 Dec 2014 05:09:01 +0000 (13:09 +0800)
r=glob,a=glob

Bugzilla/DB.pm
template/en/default/global/code-error.html.tmpl

index 9f3ed0f494dca73c61321c5ef40db4c7f3a3ffc7..afe728ca7dcddc084ad2e56911adbd5fb87baf85 100644 (file)
@@ -142,6 +142,11 @@ sub _handle_error {
     $_[0] = substr($_[0], 0, 2000) . ' ... ' . substr($_[0], -2000)
         if length($_[0]) > 4000;
     $_[0] = Carp::longmess($_[0]);
+
+    if (Bugzilla->usage_mode == USAGE_MODE_BROWSER) {
+        ThrowCodeError("db_error", { err_message => $_[0] });
+    }
+
     return 0; # Now let DBI handle raising the error
 }
 
index 1c3422fa8a5920951ff8328b08c584ecb62238b2..a4a4962dd86d2d015174974c5d6a8f6ac70d1d71 100644 (file)
   [% ELSIF error == "comment_type_invalid" %]
     '[% type FILTER html %]' is not a valid comment type.
 
+  [% ELSIF error == "db_error" %]
+    An error occurred while performing a database operation:
+    <pre>[% err_message FILTER html %]</pre>
+
   [% ELSIF error == "db_rename_conflict" %]
     Name conflict: Cannot rename [% old FILTER html %] to
     [%+ new FILTER html %] because [% new FILTER html %] already exists.