restore_form($form->{SAVED_FORM}, 1) if ($form->{SAVED_FORM});
delete $form->{SAVED_FORM};
- $form->{SAVED_FORM} = save_form();
+ $form->{SAVED_FORM} = save_form(qw(stylesheet login password));
$form->{remove_draft} = 1;
$form->header();
$draft_nextsub = "add" unless ($draft_nextsub);
delete $form->{action};
- my $saved_form = save_form();
+ my $saved_form = save_form(qw(stylesheet login password));
$form->header();
print($form->parse_html_template("drafts/load",
- { "DRAFTS" => \@drafts,
- "SAVED_FORM" => $saved_form,
+ { "DRAFTS" => \@drafts,
+ "SAVED_FORM" => $saved_form,
"draft_nextsub" => $draft_nextsub }));
$lxdebug->leave_sub();
if ($old_form) {
$old_form = YAML::Load($old_form);
- @{$form}{keys %{ $old_form } } = @{$old_form}{keys %{ $old_form } };
+ my %dont_save_vars = map { $_ => 1 } @Drafts::dont_save;
+ my @restore_vars = grep { !$skip_vars{$_} } keys %{ $old_form };
+
+ @{$form}{@restore_vars} = @{$old_form}{@restore_vars};
$form->{draft_id} = $id;
$form->{draft_description} = $description;