]> wagnertech.de Git - mfinanz.git/blobdiff - SL/CT.pm
Merge branch 'master' of vc.linet-services.de:public/lx-office-erp
[mfinanz.git] / SL / CT.pm
index 2e8a017b9f6c378e1da09537711c0e89f2084267..49eb59154f7f3d80694a43fb25959cab4a920908 100644 (file)
--- a/SL/CT.pm
+++ b/SL/CT.pm
@@ -448,12 +448,14 @@ sub save_customer {
                               'trans_id'  => $form->{id},
                               'variables' => $form,
                               'always_valid' => 1);
-  CVar->save_custom_variables('dbh'       => $dbh,
-                              'module'    => 'Contacts',
-                              'trans_id'  => $form->{cp_id},
-                              'variables' => $form,
-                              'name_prefix'  => 'cp',
-                              'always_valid' => 1);
+  if ($form->{cp_id}) {
+    CVar->save_custom_variables('dbh'       => $dbh,
+                                'module'    => 'Contacts',
+                                'trans_id'  => $form->{cp_id},
+                                'variables' => $form,
+                                'name_prefix'  => 'cp',
+                                'always_valid' => 1);
+  }
 
   my $rc = $dbh->commit();
 
@@ -663,12 +665,14 @@ sub save_vendor {
                               'trans_id'  => $form->{id},
                               'variables' => $form,
                               'always_valid' => 1);
-  CVar->save_custom_variables('dbh'       => $dbh,
-                              'module'    => 'Contacts',
-                              'trans_id'  => $form->{cp_id},
-                              'variables' => $form,
-                              'name_prefix'  => 'cp',
-                              'always_valid' => 1);
+  if ($form->{cp_id}) {
+    CVar->save_custom_variables('dbh'       => $dbh,
+                                'module'    => 'Contacts',
+                                'trans_id'  => $form->{cp_id},
+                                'variables' => $form,
+                                'name_prefix'  => 'cp',
+                                'always_valid' => 1);
+  }
 
   my $rc = $dbh->commit();
 
@@ -1254,6 +1258,15 @@ sub search_contacts {
     push @where_tokens, map { "($_)" } join ' OR ', @tokens;
   }
 
+  my ($cvar_where, @cvar_values) = CVar->build_filter_query('module'         => 'Contacts',
+                                                            'trans_id_field' => 'cp.cp_id',
+                                                            'filter'         => $params{filter});
+
+  if ($cvar_where) {
+    push @where_tokens, $cvar_where;
+    push @values, @cvar_values;
+  }
+
   if (my $filter = $params{filter}) {
     for (qw(name title givenname email project abteilung)) {
       next unless $filter->{"cp_$_"};