record Aliase für Items
authorG. Richardson <information@kivitendo-premium.de>
Mon, 29 Jun 2015 09:37:22 +0000 (11:37 +0200)
committerG. Richardson <information@kivitendo-premium.de>
Mon, 20 Jul 2015 09:50:56 +0000 (11:50 +0200)
damit man von DeliveryOrderItem, OrderItem und InvoiceItem direkt auf
das entsprechende ar/ap/do/oe Objekte verweisen kann.

Beispiel in console:

die erste Position aus der ersten Rechnung:
 my $item = SL::DB::Manager::Invoice->get_first()->items->[0];
alle dorthin verknüpften Items (wenn aus Angebot, Auftrag und Lieferschein generiert)
 my $linkeditems =  $item->linked_records( direction => 'from', recursive => 1 );
in was für records befinden sich diese verknüpften Positionen:
 foreach ( @$linkeditems ) { print $_->record->type, "\n" };
 sales_quotation
 sales_order
 sales_delivery_order

SL/DB/DeliveryOrderItem.pm
SL/DB/InvoiceItem.pm
SL/DB/OrderItem.pm

index fa22817..de7587c 100644 (file)
@@ -24,4 +24,6 @@ __PACKAGE__->configure_acts_as_list(group_by => [qw(delivery_order_id)]);
 
 # methods
 
+sub record { goto &delivery_order }
+
 1;
index 1a18abc..a20f56f 100644 (file)
@@ -36,4 +36,12 @@ __PACKAGE__->meta->add_relationships(
 
 __PACKAGE__->meta->initialize;
 
+sub record {
+  my ($self) = @_;
+
+  return $self->invoice          if $self->invoice;
+  return $self->purchase_invoice if $self->purchase_invoice;
+  return;
+};
+
 1;
index 96ca505..6ab16ac 100644 (file)
@@ -90,4 +90,7 @@ sub taxincluded {
 
   return SL::DB::Manager::Order->find_by(id => $self->trans_id)->taxincluded ?  $::locale->text('WARN: Tax included value!') : '';
 }
+
+sub record { goto &order }
+
 1;