editsettings.cgi: code style, remove CGI usage, redirect after saving
parent
5f3da0717b
commit
aedb5a315e
|
@ -1,6 +1,4 @@
|
|||
#!/usr/bin/perl -wT
|
||||
# -*- Mode: perl; indent-tabs-mode: nil -*-
|
||||
#
|
||||
# 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
|
||||
|
@ -28,44 +26,50 @@ use Bugzilla::Token;
|
|||
|
||||
my $template = Bugzilla->template;
|
||||
my $user = Bugzilla->login(LOGIN_REQUIRED);
|
||||
my $cgi = Bugzilla->cgi;
|
||||
my $ARGS = Bugzilla->input_params;
|
||||
my $vars = {};
|
||||
|
||||
$user->in_group('tweakparams')
|
||||
|| ThrowUserError("auth_failure", {group => "tweakparams",
|
||||
action => "modify",
|
||||
object => "settings"});
|
||||
$user->in_group('tweakparams') || ThrowUserError("auth_failure", {
|
||||
group => "tweakparams",
|
||||
action => "modify",
|
||||
object => "settings",
|
||||
});
|
||||
|
||||
my $action = trim($cgi->param('action') || '');
|
||||
my $token = $cgi->param('token');
|
||||
my $action = trim($ARGS->{action} || '');
|
||||
my $token = $ARGS->{token};
|
||||
|
||||
if ($action eq 'update') {
|
||||
if ($action eq 'update')
|
||||
{
|
||||
check_token_data($token, 'edit_settings');
|
||||
my $settings = Bugzilla::User::Setting::get_defaults();
|
||||
my $changed = 0;
|
||||
|
||||
foreach my $name (keys %$settings) {
|
||||
my $old_enabled = $settings->{$name}->{'is_enabled'};
|
||||
my $old_value = $settings->{$name}->{'default_value'};
|
||||
my $enabled = defined $cgi->param("${name}-enabled") || 0;
|
||||
my $value = $cgi->param("${name}");
|
||||
foreach my $name (keys %$settings)
|
||||
{
|
||||
my $old_enabled = $settings->{$name}->{is_enabled};
|
||||
my $old_value = $settings->{$name}->{default_value};
|
||||
my $enabled = $ARGS->{$name.'-enabled'} ? 1 : 0;
|
||||
my $value = $ARGS->{$name};
|
||||
my $setting = new Bugzilla::User::Setting($name);
|
||||
|
||||
$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);
|
||||
$changed = 1;
|
||||
}
|
||||
}
|
||||
$vars->{'message'} = 'default_settings_updated';
|
||||
$vars->{'changes_saved'} = $changed;
|
||||
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->{'token'} = issue_session_token('edit_settings');
|
||||
$vars->{settings} = Bugzilla::User::Setting::get_defaults();
|
||||
$vars->{token} = issue_session_token('edit_settings');
|
||||
|
||||
$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>
|
||||
</tr>
|
||||
[% FOREACH name = settings.keys.sort %]
|
||||
[% checkbox_name = name _ '-enabled' %]
|
||||
<tr>
|
||||
<td align="center">
|
||||
<input type="checkbox"
|
||||
name="[% checkbox_name | html %]"
|
||||
id="[% checkbox_name | html %]"
|
||||
<input type="checkbox" name="[% name | html %]-enabled"
|
||||
id="[% name | html %]-enabled" value="1"
|
||||
[% " checked=\"checked\"" IF settings.${name}.is_enabled %] />
|
||||
</td>
|
||||
<td align="left">
|
||||
|
|
|
@ -99,6 +99,16 @@
|
|||
<div class="message">Active values updated.</div>
|
||||
[% 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 %]
|
||||
<p>
|
||||
[% t = Bugzilla.get_field(field_id).description | html %]
|
||||
|
@ -372,14 +382,6 @@
|
|||
successfully updated.
|
||||
[% 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 %]
|
||||
[% title = "Cancel Request to Change Email Address" %]
|
||||
The request to change the email address for your account to
|
||||
|
|
Loading…
Reference in New Issue