Bug 58633

git-svn-id: svn://svn.office.custis.ru/3rdparty/bugzilla.org/trunk@606 6955db30-a419-402b-8a0d-67ecbb4d7f56
master
vfilippov 2009-12-25 13:59:14 +00:00
parent 4a02af6c8b
commit 2e548f68f2
4 changed files with 236 additions and 140 deletions

View File

@ -48,9 +48,14 @@ use Safe;
use Encode::MIME::Header (); use Encode::MIME::Header ();
# We want any compile errors to get to the browser, if possible. # We want any compile errors to get to the browser, if possible.
BEGIN { BEGIN
{
$SIG{__DIE__} = sub $SIG{__DIE__} = sub
{ {
if (Bugzilla::Error::_in_eval())
{
die @_;
}
if (ref($_[0]) eq 'Bugzilla::Error') if (ref($_[0]) eq 'Bugzilla::Error')
{ {
die($_[0]->{message}); die($_[0]->{message});
@ -70,7 +75,6 @@ BEGIN {
}; };
} }
# This creates the request cache for non-mod_perl installations. # This creates the request cache for non-mod_perl installations.
our $_request_cache = {}; our $_request_cache = {};

View File

@ -0,0 +1,72 @@
[%# The contents of this file are subject to the Mozilla Public
# License Version 1.1 (the "License"); you may not use this file
# except in compliance with the License. You may obtain a copy of
# the License at http://www.mozilla.org/MPL/
#
# Software distributed under the License is distributed on an "AS
# IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
# implied. See the License for the specific language governing
# rights and limitations under the License.
#
# CustIS "nice error" template.
#
# Contributor(s): Vitaliy Filippov <vitalif@mail.ru>
#%]
[%# We only want HTML error messages for ERROR_MODE_WEBPAGE %]
[% USE Bugzilla %]
[% IF Bugzilla.error_mode != constants.ERROR_MODE_WEBPAGE %]
[% IF Bugzilla.usage_mode == constants.USAGE_MODE_BROWSER %]
[% error_message FILTER none %]
[% ELSE %]
[% error_message FILTER txt %]
[% END %]
[% RETURN %]
[% END %]
[% UNLESS header_done %]
[% PROCESS global/header.html.tmpl %]
[% END %]
[% PROCESS global/docslinks.html.tmpl
docslinks = docslinks
admindocslinks = admindocslinks
%]
<div style="margin: 20px; padding: 10px; font-size: 130%; float: left; font-family: sans-serif; border: 10px solid red">
<div style="font-size: 150%; background-color: #ffd0d0; padding: 10px">
<p style="margin-top: 0; margin-bottom: 0">[% error_message.replace("\n\n", "</p><p style='margin-bottom: 0'>") FILTER none %]</p>
</div>
<p style="margin-bottom: 0">
Please press <b><a href="javascript:history.back()">Back</a></b> and try again.
</p>
[%# If a saved search fails, people want the ability to edit or delete it.
# This is the best way of getting information about that possible saved
# search from any error call location. %]
[% namedcmd = Bugzilla.cgi.param("namedcmd") %]
[% sharer_id = Bugzilla.cgi.param("sharer_id") %]
[% IF namedcmd AND error != "missing_query"
AND error != "saved_search_used_by_whines"
AND !sharer_id %]
<p style="margin-bottom: 0">
Alternatively, you can
<a href="buglist.cgi?cmdtype=dorem&amp;remaction=forget&amp;namedcmd=
[% namedcmd FILTER url_quote %]">forget</a>
[% FOREACH q = Bugzilla.user.queries %]
[% IF q.name == namedcmd %]
or <a href="query.cgi?[% q.url FILTER html %]">edit</a>
[% END %]
[% END %]
the saved search '[% namedcmd FILTER html %]'.
</p>
[% END %]
</div>
[% PROCESS global/footer.html.tmpl %]

View File

@ -0,0 +1,75 @@
[%# The contents of this file are subject to the Mozilla Public
# License Version 1.1 (the "License"); you may not use this file
# except in compliance with the License. You may obtain a copy of
# the License at http://www.mozilla.org/MPL/
#
# Software distributed under the License is distributed on an "AS
# IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
# implied. See the License for the specific language governing
# rights and limitations under the License.
#
# The Original Code is the Bugzilla Bug Tracking System.
#
# The Initial Developer of the Original Code is Netscape Communications
# Corporation. Portions created by Netscape are
# Copyright (C) 1998 Netscape Communications Corporation. All
# Rights Reserved.
#
# Contributor(s): Gervase Markham <gerv@gerv.net>
# Frédéric Buclin <LpSolit@gmail.com>
# Vitaliy Filippov <vitalif@mail.ru>
#%]
[%# We only want HTML error messages for ERROR_MODE_WEBPAGE %]
[% USE Bugzilla %]
[% IF Bugzilla.error_mode != constants.ERROR_MODE_WEBPAGE %]
[% IF Bugzilla.usage_mode == constants.USAGE_MODE_BROWSER %]
[% error_message FILTER none %]
[% ELSE %]
[% error_message FILTER txt %]
[% END %]
[% RETURN %]
[% END %]
[% UNLESS header_done %]
[% PROCESS global/header.html.tmpl %]
[% END %]
[% PROCESS global/docslinks.html.tmpl
docslinks = docslinks
admindocslinks = admindocslinks
%]
<div style="padding: 20px; background-color: #ff8080; font-size: 130%">
<p style="margin-top: 0; margin-bottom: 0">[% error_message.replace("\n\n", "</p><p style='margin-bottom: 0'>") FILTER none %]</p>
</div>
<p>
Please press <b><a href="javascript:history.back()">Back</a></b> and try again.
</p>
[%# If a saved search fails, people want the ability to edit or delete it.
# This is the best way of getting information about that possible saved
# search from any error call location. %]
[% namedcmd = Bugzilla.cgi.param("namedcmd") %]
[% sharer_id = Bugzilla.cgi.param("sharer_id") %]
[% IF namedcmd AND error != "missing_query"
AND error != "saved_search_used_by_whines"
AND !sharer_id %]
<p>
Alternatively, you can
<a href="buglist.cgi?cmdtype=dorem&amp;remaction=forget&amp;namedcmd=
[% namedcmd FILTER url_quote %]">forget</a>
[% FOREACH q = Bugzilla.user.queries %]
[% IF q.name == namedcmd %]
or <a href="query.cgi?[% q.url FILTER html %]">edit</a>
[% END %]
[% END %]
the saved search '[% namedcmd FILTER html %]'.
</p>
[% END %]
[% PROCESS global/footer.html.tmpl %]

View File

@ -17,6 +17,7 @@
# #
# Contributor(s): Gervase Markham <gerv@gerv.net> # Contributor(s): Gervase Markham <gerv@gerv.net>
# Frédéric Buclin <LpSolit@gmail.com> # Frédéric Buclin <LpSolit@gmail.com>
# Vitaliy Filippov <vitalif@mail.ru>
#%] #%]
[%# INTERFACE: [%# INTERFACE:
@ -1657,64 +1658,6 @@
[% END %] [% END %]
[% END %] [% END %]
[%# We only want HTML error messages for ERROR_MODE_WEBPAGE %]
[% USE Bugzilla %]
[% IF Bugzilla.error_mode != constants.ERROR_MODE_WEBPAGE %]
[% IF Bugzilla.usage_mode == constants.USAGE_MODE_BROWSER %]
[% error_message FILTER none %]
[% ELSE %]
[% error_message FILTER txt %]
[% END %]
[% RETURN %]
[% END %]
[% UNLESS header_done %]
[% PROCESS global/header.html.tmpl %]
[% END %]
[% PROCESS global/docslinks.html.tmpl
docslinks = docslinks
admindocslinks = admindocslinks
%]
<table cellpadding="20">
<tr>
<td id="error_msg" class="throw_error">
[% error_message FILTER none %]
</td>
</tr>
</table>
<p>
Please press <b>Back</b> and try again.
</p>
[%# If a saved search fails, people want the ability to edit or delete it.
# This is the best way of getting information about that possible saved
# search from any error call location. %]
[% namedcmd = Bugzilla.cgi.param("namedcmd") %]
[% sharer_id = Bugzilla.cgi.param("sharer_id") %]
[% IF namedcmd AND error != "missing_query"
AND error != "saved_search_used_by_whines"
AND !sharer_id %]
<p>
Alternatively, you can
<a href="buglist.cgi?cmdtype=dorem&amp;remaction=forget&amp;namedcmd=
[% namedcmd FILTER url_quote %]">forget</a>
[% FOREACH q = Bugzilla.user.queries %]
[% IF q.name == namedcmd %]
or <a href="query.cgi?[% q.url FILTER html %]">edit</a>
[% END %]
[% END %]
the saved search '[% namedcmd FILTER html %]'.
</p>
[% END %]
[% PROCESS global/footer.html.tmpl %]
[% BLOCK object_name %] [% BLOCK object_name %]
[% IF class == "Bugzilla::User" %] [% IF class == "Bugzilla::User" %]
user user
@ -1733,3 +1676,5 @@
[% field_descs.$field_name FILTER html %] [% field_descs.$field_name FILTER html %]
[% END %] [% END %]
[% END %] [% END %]
[% PROCESS "global/user-error-page.html.tmpl" %]