);
}
+sub action_delete {
+ my ($self) = @_;
+
+ my $errors = $self->_delete();
+
+ if (scalar @{ $errors }) {
+ $self->js->flash('error', $_) foreach @{ $errors };
+ return $self->js->render();
+ }
+
+ flash_later('info', $::locale->text('The order has been deleted'));
+ my @redirect_params = (
+ action => 'edit',
+ type => $self->type,
+ );
+
+ $self->redirect_to(@redirect_params);
+}
+
sub action_save {
my ($self) = @_;
}
+sub _delete {
+ my ($self) = @_;
+
+ my $errors = [];
+ my $db = $self->order->db;
+
+ $db->do_transaction(
+ sub {
+ my @spoolfiles = grep { $_ } map { $_->spoolfile } @{ SL::DB::Manager::Status->get_all(where => [ trans_id => $self->order->id ]) };
+ $self->order->delete;
+ my $spool = $::lx_office_conf{paths}->{spool};
+ unlink map { "$spool/$_" } @spoolfiles if $spool;
+
+ 1;
+ }) || push(@{$errors}, $db->error);
+
+ return $errors;
+}
+
+
sub _save {
my ($self) = @_;