зеркало из https://github.com/mozilla/gecko-dev.git
Bug 308340: General Preferences tab is empty except for submit button when no user prefences are enabled - Patch by Fr�d�ric Buclin <LpSolit@gmail.com> r=GavinS a=justdave
This commit is contained in:
Родитель
f2b2996f42
Коммит
300632fee5
|
@ -17,6 +17,7 @@
|
|||
# Rights Reserved.
|
||||
#
|
||||
# Contributor(s): Gervase Markham <gerv@gerv.net>
|
||||
# Frédéric Buclin <LpSolit@gmail.com>
|
||||
#%]
|
||||
|
||||
[%# INTERFACE:
|
||||
|
@ -32,12 +33,14 @@
|
|||
# changes_saved: boolean/string. True if the CGI processed form data before
|
||||
# displaying anything, and can contain an optional custom
|
||||
# message if required (which Perl still evaluates as True).
|
||||
# dont_show_button: boolean. Prevent the display of the "Submit Changes" button.
|
||||
#%]
|
||||
|
||||
[% filtered_login = user.login FILTER html %]
|
||||
[% PROCESS global/header.html.tmpl
|
||||
title = "User Preferences"
|
||||
h2 = filtered_login
|
||||
style_urls = ['skins/standard/admin.css']
|
||||
%]
|
||||
|
||||
[% tabs = [ { name => "account", label => "Account Preferences",
|
||||
|
@ -77,28 +80,28 @@
|
|||
|
||||
<h3>[% current_tab.label %]</h3>
|
||||
|
||||
<form name="userprefsform" method="post" action="userprefs.cgi">
|
||||
<input type="hidden" name="tab" value="[% current_tab.name %]">
|
||||
[% IF current_tab.saveable %]
|
||||
<form name="userprefsform" method="post" action="userprefs.cgi">
|
||||
<input type="hidden" name="tab" value="[% current_tab.name %]">
|
||||
[% END %]
|
||||
|
||||
[% PROCESS "account/prefs/${current_tab.name}.html.tmpl"
|
||||
IF current_tab.name.defined %]
|
||||
[% PROCESS "account/prefs/${current_tab.name}.html.tmpl"
|
||||
IF current_tab.name.defined %]
|
||||
|
||||
[% IF current_tab.saveable %]
|
||||
[% IF current_tab.saveable %]
|
||||
<input type="hidden" name="dosave" value="1">
|
||||
|
||||
<table>
|
||||
<tr>
|
||||
<td width="150"></td>
|
||||
<td>
|
||||
<input type="submit" value="Submit Changes">
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
[% END %]
|
||||
|
||||
</form>
|
||||
[% UNLESS dont_show_button %]
|
||||
<table>
|
||||
<tr>
|
||||
<td width="150"> </td>
|
||||
<td>
|
||||
<input type="submit" value="Submit Changes">
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
[% END %]
|
||||
</form>
|
||||
[% END %]
|
||||
|
||||
[% PROCESS global/footer.html.tmpl %]
|
||||
|
||||
|
||||
|
||||
|
|
|
@ -12,6 +12,7 @@
|
|||
# The Original Code is the Bugzilla Bug Tracking System.
|
||||
#
|
||||
# Contributor(s): Shane H. W. Travis <travis@sedsystems.ca>
|
||||
# Frédéric Buclin <LpSolit@gmail.com>
|
||||
#
|
||||
#%]
|
||||
|
||||
|
@ -23,40 +24,55 @@
|
|||
# default_value - string (global default for this setting)
|
||||
# value - string (user-defined preference)
|
||||
# is_default - boolean (true if user has no preference)
|
||||
# has_settings_enabled : boolean; is true if there is at least one user pref
|
||||
# enabled by the maintainer.
|
||||
#%]
|
||||
|
||||
[% PROCESS "global/setting-descs.none.tmpl" %]
|
||||
|
||||
[% IF settings.size %]
|
||||
[% UNLESS has_settings_enabled %]
|
||||
<p class="criticalmessages">
|
||||
All user preferences have been disabled by the
|
||||
<a href="mailto:[% Param("maintainer") %]">maintainer</a>
|
||||
of this installation, and so you cannot customise any.
|
||||
</p>
|
||||
[% END %]
|
||||
|
||||
<table border="0" cellpadding="8">
|
||||
[% FOREACH name = setting_names %]
|
||||
[% IF settings.${name}.is_enabled %]
|
||||
[% default_name = name _ '-isdefault' %]
|
||||
[% default_val = settings.${name}.default_value %]
|
||||
<tr>
|
||||
<td align="right">
|
||||
[% setting_descs.$name OR name FILTER html %]
|
||||
</td>
|
||||
<td>
|
||||
<select name="[% name %]" id="[% name %]">
|
||||
<option value="[% default_name %]"
|
||||
[% ' selected="selected"' IF settings.${name}.is_default %]>
|
||||
Site Default ([% setting_descs.${default_val} OR default_val FILTER html %])
|
||||
</option>
|
||||
[% FOREACH x = settings.${name}.legal_values %]
|
||||
<option value="[% x FILTER html %]"
|
||||
[% ' selected="selected"'
|
||||
IF x == settings.${name}.value
|
||||
AND NOT settings.${name}.is_default %]>
|
||||
[% setting_descs.${x} OR x FILTER html %]
|
||||
</option>
|
||||
[% END %]
|
||||
</select>
|
||||
</td>
|
||||
</tr>
|
||||
[% END %]
|
||||
[% default_name = name _ '-isdefault' %]
|
||||
[% default_val = settings.${name}.default_value %]
|
||||
<tr>
|
||||
<td align="right">
|
||||
[% setting_descs.$name OR name FILTER html %]
|
||||
</td>
|
||||
<td>
|
||||
[% IF settings.${name}.is_enabled %]
|
||||
<select name="[% name %]" id="[% name %]">
|
||||
<option value="[% default_name %]"
|
||||
[% ' selected="selected"' IF settings.${name}.is_default %]>
|
||||
Site Default ([% setting_descs.${default_val} OR default_val FILTER html %])
|
||||
</option>
|
||||
[% FOREACH x = settings.${name}.legal_values %]
|
||||
<option value="[% x FILTER html %]"
|
||||
[% ' selected="selected"'
|
||||
IF x == settings.${name}.value
|
||||
AND NOT settings.${name}.is_default %]>
|
||||
[% setting_descs.${x} OR x FILTER html %]
|
||||
</option>
|
||||
[% END %]
|
||||
</select>
|
||||
[% ELSE %]
|
||||
<select name="[% name %]" id="[% name %]" disabled="disabled">
|
||||
<option value="[% default_name %]">
|
||||
Site Default ([% setting_descs.${default_val} OR default_val FILTER html %])
|
||||
</option>
|
||||
</select>
|
||||
[% END %]
|
||||
</td>
|
||||
</tr>
|
||||
[% END %]
|
||||
|
||||
</table>
|
||||
[% END %]
|
||||
<br>
|
||||
|
|
|
@ -146,10 +146,21 @@ sub SaveAccount {
|
|||
|
||||
|
||||
sub DoSettings {
|
||||
$vars->{'settings'} = Bugzilla->user->settings;
|
||||
my $settings = Bugzilla->user->settings;
|
||||
$vars->{'settings'} = $settings;
|
||||
|
||||
my @setting_list = keys %{Bugzilla->user->settings};
|
||||
my @setting_list = keys %$settings;
|
||||
$vars->{'setting_names'} = \@setting_list;
|
||||
|
||||
$vars->{'has_settings_enabled'} = 0;
|
||||
# Is there at least one user setting enabled?
|
||||
foreach my $setting_name (@setting_list) {
|
||||
if ($settings->{"$setting_name"}->{'is_enabled'}) {
|
||||
$vars->{'has_settings_enabled'} = 1;
|
||||
last;
|
||||
}
|
||||
}
|
||||
$vars->{'dont_show_button'} = !$vars->{'has_settings_enabled'};
|
||||
}
|
||||
|
||||
sub SaveSettings {
|
||||
|
|
Загрузка…
Ссылка в новой задаче