X-Git-Url: http://wagnertech.de/git?a=blobdiff_plain;f=SL%2FCT.pm;h=b46ee099b37549fb5896b8f02272199f2a1d8cb0;hb=4f7b541697e2226be9a7ff9ac0dc62f8b4002544;hp=6d801d4881717b8b605adaece9eaa3fd45db404c;hpb=94d6b5f998a65c6d1932eb4439097b69801fbc4c;p=kivitendo-erp.git diff --git a/SL/CT.pm b/SL/CT.pm index 6d801d488..b46ee099b 100644 --- a/SL/CT.pm +++ b/SL/CT.pm @@ -69,6 +69,9 @@ sub get_tuple { map { $form->{$_} = $ref->{$_} } keys %$ref; + # remove any trailing whitespace + $form->{curr} =~ s/\s*$//; + $sth->finish; if ( $form->{salesman_id} ) { my $query = @@ -236,7 +239,7 @@ sub save_customer { $form->{klass} = 0 unless ($form->{klass}); # connect to database - my $dbh = $form->dbconnect_noauto($myconfig); + my $dbh = $form->get_standard_dbh; map( { $form->{"cp_${_}"} = $form->{"selected_cp_${_}"} @@ -315,7 +318,8 @@ sub save_customer { qq|taxzone_id = ?, | . qq|user_password = ?, | . qq|c_vendor_id = ?, | . - qq|klass = ? | . + qq|klass = ?, | . + qq|curr = ? | . qq|WHERE id = ?|; my @values = ( $form->{customernumber}, @@ -357,6 +361,7 @@ sub save_customer { $form->{user_password}, $form->{c_vendor_id}, conv_i($form->{klass}), + substr($form->{currency}, 0, 3), $form->{id} ); do_query( $form, $dbh, $query, @values ); @@ -445,7 +450,6 @@ sub save_customer { 'always_valid' => 1); my $rc = $dbh->commit(); - $dbh->disconnect(); $main::lxdebug->leave_sub(); return $rc; @@ -458,7 +462,7 @@ sub save_vendor { $form->{taxzone_id} *= 1; # connect to database - my $dbh = $form->dbconnect_noauto($myconfig); + my $dbh = $form->get_standard_dbh; map( { $form->{"cp_${_}"} = $form->{"selected_cp_${_}"} @@ -525,7 +529,8 @@ sub save_vendor { qq| language_id = ?, | . qq| username = ?, | . qq| user_password = ?, | . - qq| v_customer_id = ? | . + qq| v_customer_id = ?, | . + qq| curr = ? | . qq|WHERE id = ?|; my @values = ( $form->{vendornumber}, @@ -565,6 +570,7 @@ sub save_vendor { $form->{username}, $form->{user_password}, $form->{v_customer_id}, + substr($form->{currency}, 0, 3), $form->{id} ); do_query($form, $dbh, $query, @values); @@ -653,7 +659,6 @@ sub save_vendor { 'always_valid' => 1); my $rc = $dbh->commit(); - $dbh->disconnect(); $main::lxdebug->leave_sub(); return $rc; @@ -698,7 +703,7 @@ sub search { $form->{sort} = $sortorder; my $sortdir = !defined $form->{sortdir} ? 'ASC' : $form->{sortdir} ? 'ASC' : 'DESC'; - if ($sortorder ne 'id' && 1 >= scalar grep { $form->{$_} } qw(l_ordnumber l_quonumber l_invnumber)) { + if ($sortorder !~ /(business|id)/ && 1 >= scalar grep { $form->{$_} } qw(l_ordnumber l_quonumber l_invnumber )) { $sortorder = "lower($sortorder) ${sortdir}"; } else { $sortorder .= " ${sortdir}"; @@ -764,6 +769,13 @@ sub search { push(@values, conv_i($form->{business_id})); } + # Nur Kunden finden, bei denen ich selber der Verkäufer bin + # Gilt nicht für Lieferanten + if ($cv eq 'customer' && !$main::auth->assert('customer_vendor_all_edit', 1)) { + $where .= qq| AND ct.salesman_id = (select id from employee where login= ?)|; + push(@values, $form->{login}); + } + my ($cvar_where, @cvar_values) = CVar->build_filter_query('module' => 'CT', 'trans_id_field' => 'ct.id', 'filter' => $form);