ar/ap/gl - neues Relationship "transactions"
authorG. Richardson <information@kivitendo-premium.de>
Fri, 30 Jan 2015 06:22:59 +0000 (07:22 +0100)
committerG. Richardson <information@kivitendo-premium.de>
Fri, 30 Jan 2015 13:39:01 +0000 (14:39 +0100)
Objekt-Verknüpfung ar/ap/gl zu acc_trans-Objekten: one-to-many

Hat man ein ar/ap/gl Objekt kann man sich jetzt alle acc_trans-Einträge
dazu holen.

Die acc_trans-Objekte werden nach acc_trans_id sortiert zurückgegeben.

Die Methode transactions aus Invoice wurde entfernt.

SL/DB/GLTransaction.pm
SL/DB/Invoice.pm
SL/DB/PurchaseInvoice.pm

index 078e2b9..52c8b6e 100644 (file)
@@ -4,11 +4,24 @@ use strict;
 
 use SL::DB::MetaSetup::GLTransaction;
 
-__PACKAGE__->meta->initialize;
 
 # Creates get_all, get_all_count, get_all_iterator, delete_all and update_all.
 __PACKAGE__->meta->make_manager_class;
 
+__PACKAGE__->meta->add_relationship(
+  transactions   => {
+    type         => 'one to many',
+    class        => 'SL::DB::AccTransaction',
+    column_map   => { id => 'trans_id' },
+    manager_args => {
+      with_objects => [ 'chart' ],
+      sort_by      => 'acc_trans_id ASC',
+    },
+  },
+);
+
+__PACKAGE__->meta->initialize;
+
 sub abbreviation {
   my $self = shift;
 
index 7626793..08c5809 100644 (file)
@@ -45,6 +45,15 @@ __PACKAGE__->meta->add_relationship(
     column_map      => { id => 'trans_id' },
     query_args      => [ module => 'AR' ],
   },
+  transactions   => {
+    type         => 'one to many',
+    class        => 'SL::DB::AccTransaction',
+    column_map   => { id => 'trans_id' },
+    manager_args => {
+      with_objects => [ 'chart' ],
+      sort_by      => 'acc_trans_id ASC',
+    },
+  },
 );
 
 __PACKAGE__->meta->initialize;
@@ -351,15 +360,6 @@ sub customervendor {
   goto &customer;
 }
 
-sub transactions {
-  my ($self) = @_;
-
-  return unless $self->id;
-
-  require SL::DB::AccTransaction;
-  SL::DB::Manager::AccTransaction->get_all(query => [ trans_id => $self->id ]);
-}
-
 1;
 
 __END__
index a54f1bd..d5955c5 100644 (file)
@@ -31,6 +31,13 @@ __PACKAGE__->meta->add_relationship(
     column_map      => { id => 'trans_id' },
     query_args      => [ module => 'AP' ],
   },
+  transactions   => {
+    type         => 'one to many',
+    class        => 'SL::DB::AccTransaction',
+    column_map   => { id => 'trans_id' },
+    manager_args => { with_objects => [ 'chart' ],
+                      sort_by      => 'acc_trans_id ASC' }
+  },
 );
 
 __PACKAGE__->meta->initialize;