editsettings.cgi: code style, remove CGI usage, redirect after saving
parent
5f3da0717b
commit
aedb5a315e
|
@ -1,6 +1,4 @@
|
||||||
#!/usr/bin/perl -wT
|
#!/usr/bin/perl -wT
|
||||||
# -*- Mode: perl; indent-tabs-mode: nil -*-
|
|
||||||
#
|
|
||||||
# The contents of this file are subject to the Mozilla Public
|
# The contents of this file are subject to the Mozilla Public
|
||||||
# License Version 1.1 (the "License"); you may not use this file
|
# License Version 1.1 (the "License"); you may not use this file
|
||||||
# except in compliance with the License. You may obtain a copy of
|
# except in compliance with the License. You may obtain a copy of
|
||||||
|
@ -28,44 +26,50 @@ use Bugzilla::Token;
|
||||||
|
|
||||||
my $template = Bugzilla->template;
|
my $template = Bugzilla->template;
|
||||||
my $user = Bugzilla->login(LOGIN_REQUIRED);
|
my $user = Bugzilla->login(LOGIN_REQUIRED);
|
||||||
my $cgi = Bugzilla->cgi;
|
my $ARGS = Bugzilla->input_params;
|
||||||
my $vars = {};
|
my $vars = {};
|
||||||
|
|
||||||
$user->in_group('tweakparams')
|
$user->in_group('tweakparams') || ThrowUserError("auth_failure", {
|
||||||
|| ThrowUserError("auth_failure", {group => "tweakparams",
|
group => "tweakparams",
|
||||||
action => "modify",
|
action => "modify",
|
||||||
object => "settings"});
|
object => "settings",
|
||||||
|
});
|
||||||
|
|
||||||
my $action = trim($cgi->param('action') || '');
|
my $action = trim($ARGS->{action} || '');
|
||||||
my $token = $cgi->param('token');
|
my $token = $ARGS->{token};
|
||||||
|
|
||||||
if ($action eq 'update') {
|
if ($action eq 'update')
|
||||||
|
{
|
||||||
check_token_data($token, 'edit_settings');
|
check_token_data($token, 'edit_settings');
|
||||||
my $settings = Bugzilla::User::Setting::get_defaults();
|
my $settings = Bugzilla::User::Setting::get_defaults();
|
||||||
my $changed = 0;
|
my $changed = 0;
|
||||||
|
foreach my $name (keys %$settings)
|
||||||
foreach my $name (keys %$settings) {
|
{
|
||||||
my $old_enabled = $settings->{$name}->{'is_enabled'};
|
my $old_enabled = $settings->{$name}->{is_enabled};
|
||||||
my $old_value = $settings->{$name}->{'default_value'};
|
my $old_value = $settings->{$name}->{default_value};
|
||||||
my $enabled = defined $cgi->param("${name}-enabled") || 0;
|
my $enabled = $ARGS->{$name.'-enabled'} ? 1 : 0;
|
||||||
my $value = $cgi->param("${name}");
|
my $value = $ARGS->{$name};
|
||||||
my $setting = new Bugzilla::User::Setting($name);
|
my $setting = new Bugzilla::User::Setting($name);
|
||||||
|
|
||||||
$setting->validate_value($value);
|
$setting->validate_value($value);
|
||||||
|
if ($old_enabled != $enabled || $old_value ne $value)
|
||||||
if ($old_enabled != $enabled || $old_value ne $value) {
|
{
|
||||||
Bugzilla::User::Setting::set_default($name, $value, $enabled);
|
Bugzilla::User::Setting::set_default($name, $value, $enabled);
|
||||||
$changed = 1;
|
$changed = 1;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
$vars->{'message'} = 'default_settings_updated';
|
|
||||||
$vars->{'changes_saved'} = $changed;
|
|
||||||
delete_token($token);
|
delete_token($token);
|
||||||
|
Bugzilla->add_result_message({
|
||||||
|
message => 'default_settings_updated',
|
||||||
|
changes_saved => $changed,
|
||||||
|
});
|
||||||
|
Bugzilla->save_session_data;
|
||||||
|
print Bugzilla->cgi->redirect('editsettings.cgi');
|
||||||
|
exit;
|
||||||
}
|
}
|
||||||
|
|
||||||
# Don't use $settings as defaults may have changed.
|
$vars->{settings} = Bugzilla::User::Setting::get_defaults();
|
||||||
$vars->{'settings'} = Bugzilla::User::Setting::get_defaults();
|
$vars->{token} = issue_session_token('edit_settings');
|
||||||
$vars->{'token'} = issue_session_token('edit_settings');
|
|
||||||
|
|
||||||
$template->process("admin/settings/edit.html.tmpl", $vars)
|
$template->process("admin/settings/edit.html.tmpl", $vars)
|
||||||
|| ThrowTemplateError($template->error());
|
|| ThrowTemplateError($template->error());
|
||||||
|
exit;
|
||||||
|
|
|
@ -54,12 +54,10 @@ page, and the Default Value will automatically apply to everyone.
|
||||||
<th>Default Value</th>
|
<th>Default Value</th>
|
||||||
</tr>
|
</tr>
|
||||||
[% FOREACH name = settings.keys.sort %]
|
[% FOREACH name = settings.keys.sort %]
|
||||||
[% checkbox_name = name _ '-enabled' %]
|
|
||||||
<tr>
|
<tr>
|
||||||
<td align="center">
|
<td align="center">
|
||||||
<input type="checkbox"
|
<input type="checkbox" name="[% name | html %]-enabled"
|
||||||
name="[% checkbox_name | html %]"
|
id="[% name | html %]-enabled" value="1"
|
||||||
id="[% checkbox_name | html %]"
|
|
||||||
[% " checked=\"checked\"" IF settings.${name}.is_enabled %] />
|
[% " checked=\"checked\"" IF settings.${name}.is_enabled %] />
|
||||||
</td>
|
</td>
|
||||||
<td align="left">
|
<td align="left">
|
||||||
|
|
|
@ -99,6 +99,16 @@
|
||||||
<div class="message">Active values updated.</div>
|
<div class="message">Active values updated.</div>
|
||||||
[% END %]
|
[% END %]
|
||||||
|
|
||||||
|
[% BLOCK msg_default_settings_updated %]
|
||||||
|
<div class="message">
|
||||||
|
[% IF changes_saved %]
|
||||||
|
Changes to default preferences have been saved.
|
||||||
|
[% ELSE %]
|
||||||
|
No changes made.
|
||||||
|
[% END %]
|
||||||
|
</div>
|
||||||
|
[% END %]
|
||||||
|
|
||||||
[% BLOCK msg_control_lists_updated %]
|
[% BLOCK msg_control_lists_updated %]
|
||||||
<p>
|
<p>
|
||||||
[% t = Bugzilla.get_field(field_id).description | html %]
|
[% t = Bugzilla.get_field(field_id).description | html %]
|
||||||
|
@ -372,14 +382,6 @@
|
||||||
successfully updated.
|
successfully updated.
|
||||||
[% END %]
|
[% END %]
|
||||||
|
|
||||||
[% BLOCK msg_default_settings_updated %]
|
|
||||||
[% IF changes_saved %]
|
|
||||||
Changes to default preferences have been saved.
|
|
||||||
[% ELSE %]
|
|
||||||
No changes made.
|
|
||||||
[% END %]
|
|
||||||
[% END %]
|
|
||||||
|
|
||||||
[% BLOCK msg_emailold_change_canceled %]
|
[% BLOCK msg_emailold_change_canceled %]
|
||||||
[% title = "Cancel Request to Change Email Address" %]
|
[% title = "Cancel Request to Change Email Address" %]
|
||||||
The request to change the email address for your account to
|
The request to change the email address for your account to
|
||||||
|
|
Loading…
Reference in New Issue