Project

General

Profile

Fehler #351

Order-Controller: Angebot als neu speichern erzeugt kein neues Objekt

Added by Jan Büren about 1 year ago. Updated about 1 year ago.

Status:
Gelöst
Priority:
Normal
Assignee:
-
Target version:
-
Start date:
03/28/2018
Due date:
% Done:

0%

Estimated time:

Description

Das vorherige Objekt wird nur unter einer anderen Nummer gespeichert.

Das Order-Objekt hat ja eine Methode new_from, die ist allerdings bisher nur für den Workflow relevant.

Ich hab erstmal wie folgt geflickt:

Controller/Order.pm


  my $src_order = SL::DB::Order->new(id => $self->order->id)->load;

+  $self->order = SL::DB::Order->new_from($src_order, destination_type => $src_order->type);
# belegnummer neu setzen usw.

Entsprechend im Backend DB/Order.pm

  # TODO eleganter coden
  my $save_as_new       =  ('sales_quotation'    eq $source->type && 'sales_quotation'    eq $destination_type)
                        || ('sales_order'        eq $source->type && 'sales_order'        eq $destination_type)
                        || ('purchase_quotation' eq $source->type && 'purchase_quotation' eq $destination_type)
                        || ('purchase_order'     eq $source->type && 'purchase_order'     eq $destination_type);
- quotation => 0
+ quotation => $save_as_new ? $source->quotation : 0,
-    $current_oe_item->{"converted_from_orderitems_id"} = $_->{id} if ref($item_parent) eq 'SL::DB::Order';
+    $current_oe_item->{"converted_from_orderitems_id"} = $_->{id} if ref($item_parent) eq 'SL::DB::Order' && !$save_as_new;

Associated revisions

Revision 89a2d4f1 (diff)
Added by Bernd Bleßmann about 1 year ago

Auftrags-Controller: bei als neu speichern auch ein neues Objekt erzeugen

Behebt #351 (redmine).

History

#1 Updated by Jan Büren about 1 year ago

new_from, natürlich so:

- $self->order = SL::DB::Order->new_from($src_order, destination_type => $src_order->type);
+  $self->order(SL::DB::Order->new_from($src_order, destination_type => $src_order->type));

#2 Updated by Bernd Bleßmann about 1 year ago

  • Status changed from Neu to Gelöst

Also available in: Atom PDF