Anpassung an check_right_number_format und check_right_date_format aus der common.js
[kivitendo-erp.git] / bin / mozilla / drafts.pl
index df0eb6b..14cdb25 100644 (file)
@@ -17,6 +17,7 @@ sub save_draft {
   if (!$form->{draft_id} && !$form->{draft_description}) {
     restore_form($form->{SAVED_FORM}, 1) if ($form->{SAVED_FORM});
     delete($form->{SAVED_FORM});
+    $form->{remove_draft} = 1;
     $form->{SAVED_FORM} = save_form();
 
     $form->header();
@@ -83,6 +84,7 @@ sub dont_load_draft {
   my $draft_nextsub = $form->{draft_nextsub};
   $draft_nextsub = "add" unless ($form->{draft_nextsub});
   restore_form($form->{SAVED_FORM}, 1);
+  delete($form->{SAVED_FORM});
   delete($form->{action});
   $form->{DONT_LOAD_DRAFT} = 1;
 
@@ -107,4 +109,32 @@ sub load_draft {
   $lxdebug->leave_sub();
 }
 
+sub delete_drafts {
+  $lxdebug->enter_sub();
+
+  my @ids;
+  foreach (keys(%{$form})) {
+    push(@ids, $1) if (/^checked_(.*)/ && $form->{$_});
+  }
+  Drafts->remove(\%myconfig, $form, @ids) if (@ids);
+  restore_form($form->{SAVED_FORM}, 1);
+  delete($form->{SAVED_FORM});
+
+  add();
+
+  $lxdebug->leave_sub();
+}
+
+sub draft_action_dispatcher {
+  $lxdebug->enter_sub();
+
+  if ($form->{draft_action} eq $locale->text("Skip")) {
+    dont_load_draft();
+  } elsif ($form->{draft_action} eq $locale->text("Delete drafts")) {
+    delete_drafts();
+  }
+
+  $lxdebug->leave_sub();
+}
+
 1;