->render($self);
 }
 
+sub action_delete {
+  my ($self) = @_;
+
+  my $order  = $self->rs_order->order;
+
+  $order->delete;
+  $self->init_requirement_spec;
+
+  my $html = $self->render('requirement_spec_order/list', { output => 0 });
+  $self->js->html('#' . TAB_ID(), $html)
+           ->flash('info', $order->quotation ? t8('Sales quotation #1 has been deleted.', $order->quonumber) : t8('Sales order #1 has been deleted.', $order->ordnumber))
+           ->render($self);
+}
+
 sub action_cancel {
   my ($self) = @_;
 
 
   return true;
 };
 
+ns.ask_delete_quotation_order = function(key, opt) {
+  if (confirm(kivi.t8("Are you sure?")))
+    ns.standard_quotation_order_ajax_call(key, opt);
+  return true;
+};
+
 ns.disable_edit_quotation_order_commands = function(key, opt) {
   return ns.find_quotation_order_id(opt.$trigger) == undefined;
 };
 
   'Sales margin %'              => 'Marge prozentual',
   'Sales net amount'            => 'VK-Betrag',
   'Sales order #1 has been created.' => 'Kundenauftrag #1 wurde angelegt.',
+  'Sales order #1 has been deleted.' => 'Kundenauftrag #1 wurde gelöscht.',
   'Sales order #1 has been updated.' => 'Kundenauftrag #1 wurde aktualisiert.',
   'Sales price'                 => 'VK-Preis',
   'Sales price total'           => 'VK-Betrag',
   'Sales quotation'             => 'Angebot',
   'Sales quotation #1 has been created.' => 'Angebot #1 wurde angelegt.',
+  'Sales quotation #1 has been deleted.' => 'Angebot #1 wurde gelöscht.',
   'Sales quotation #1 has been updated.' => 'Angebot #1 wurde aktualisiert.',
   'Salesman'                    => 'Verkäufer/in',
   'Salesman (database ID)'      => 'Verkäufer (Datenbank-ID)',