- restore_form($old_form, 1);
- $form->{draft_id} = $id;
- $form->{draft_description} = $description;
- $form->{remove_draft} = 'checked';
+ $old_form = YAML::Load($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;
+ $form->{remove_draft} = 'checked';