Implementation des Features "Benutzerdefinierte Variablen für Kunden- und Lieferanten...
[kivitendo-erp.git] / SL / CT.pm
index e5ee4af..e0e4084 100644 (file)
--- a/SL/CT.pm
+++ b/SL/CT.pm
 #======================================================================
 
 package CT;
+
 use Data::Dumper;
+
+use SL::CVar;
 use SL::DBUtils;
 
 sub get_tuple {
@@ -381,6 +384,11 @@ sub save_customer {
   # add shipto
   $form->add_shipto( $dbh, $form->{id}, "CT" );
 
+  CVar->save_custom_variables('dbh'       => $dbh,
+                              'module'    => 'CT',
+                              'trans_id'  => $form->{id},
+                              'variables' => $form);
+
   $rc = $dbh->commit();
   $dbh->disconnect();
 
@@ -578,6 +586,11 @@ sub save_vendor {
   # add shipto
   $form->add_shipto( $dbh, $form->{id}, "CT" );
 
+  CVar->save_custom_variables('dbh'       => $dbh,
+                              'module'    => 'CT',
+                              'trans_id'  => $form->{id},
+                              'variables' => $form);
+
   $rc = $dbh->commit();
   $dbh->disconnect();
 
@@ -666,6 +679,15 @@ sub search {
     push(@values, conv_i($form->{business_id}));
   }
 
+  my ($cvar_where, @cvar_values) = CVar->build_filter_query('module'         => 'CT',
+                                                            'trans_id_field' => 'ct.id',
+                                                            'filter'         => $form);
+
+  if ($cvar_where) {
+    $where .= qq| AND ($cvar_where)|;
+    push @values, @cvar_values;
+  }
+
   my $query =
     qq|SELECT ct.*, b.description AS business | .
     qq|FROM $cv ct | .