X-Git-Url: http://wagnertech.de/git?a=blobdiff_plain;f=SL%2FCT.pm;h=8ceab3aa6a31896331bbb9908cac66a73fdd7ea9;hb=e6de5d289ce87cf3a44511e1fc6313ea86d0f5e7;hp=02a5522f656fc0d2651aa156fb00317dc6fe63eb;hpb=0497b9cdfae78b73d3e527887d34eb18f7ad9f3e;p=kivitendo-erp.git diff --git a/SL/CT.pm b/SL/CT.pm index 02a5522f6..8ceab3aa6 100644 --- a/SL/CT.pm +++ b/SL/CT.pm @@ -42,6 +42,7 @@ use Data::Dumper; use SL::Common; use SL::CVar; use SL::DBUtils; +use SL::DB::Default; use SL::FU; use SL::Notes; use SL::TransNumber; @@ -68,11 +69,12 @@ sub get_tuple { my $ref = $sth->fetchrow_hashref("NAME_lc"); map { $form->{$_} = $ref->{$_} } keys %$ref; + $sth->finish; - # remove any trailing whitespace - $form->{curr} =~ s/\s*$//; + #get name of currency instead of id: + $query = qq|SELECT name AS curr FROM currencies WHERE id=?|; + ($form->{curr}) = selectrow_query($form, $dbh, $query, conv_i($form->{currency_id})); - $sth->finish; if ( $form->{salesman_id} ) { my $query = qq|SELECT ct.name AS salesman | . @@ -275,7 +277,7 @@ sub save_customer { $query = qq|SELECT nextval('id')|; ($form->{id}) = selectrow_query($form, $dbh, $query); - $query = qq|INSERT INTO customer (id, name) VALUES (?, '')|; + $query = qq|INSERT INTO customer (id, name, currency_id) VALUES (?, '', (SELECT currency_id FROM defaults))|; do_query($form, $dbh, $query, $form->{id}); } @@ -319,8 +321,9 @@ sub save_customer { qq|user_password = ?, | . qq|c_vendor_id = ?, | . qq|klass = ?, | . - qq|curr = ?, | . - qq|taxincluded_checked = ? | . + qq|currency_id = (SELECT id FROM currencies WHERE name = ?), | . + qq|taxincluded_checked = ?, | . + qq|delivery_term_id = ? | . qq|WHERE id = ?|; my @values = ( $form->{customernumber}, @@ -362,8 +365,9 @@ sub save_customer { $form->{user_password}, $form->{c_vendor_id}, conv_i($form->{klass}), - substr($form->{currency}, 0, 3), + $form->{currency}, $form->{taxincluded_checked} ne '' ? $form->{taxincluded_checked} : undef, + conv_i($form->{delivery_term_id}), $form->{id} ); do_query( $form, $dbh, $query, @values ); @@ -422,7 +426,7 @@ sub save_vendor { $query = qq|SELECT nextval('id')|; ($form->{id}) = selectrow_query($form, $dbh, $query); - $query = qq|INSERT INTO vendor (id, name) VALUES (?, '')|; + $query = qq|INSERT INTO vendor (id, name, currency_id) VALUES (?, '', (SELECT currency_id FROM defaults))|; do_query($form, $dbh, $query, $form->{id}); my $vendornumber = SL::TransNumber->new(type => 'vendor', @@ -471,7 +475,8 @@ sub save_vendor { qq| username = ?, | . qq| user_password = ?, | . qq| v_customer_id = ?, | . - qq| curr = ? | . + qq| currency_id = (SELECT id FROM currencies WHERE name = ?), | . + qq| delivery_term_id = ? | . qq|WHERE id = ?|; my @values = ( $form->{vendornumber}, @@ -511,7 +516,8 @@ sub save_vendor { $form->{username}, $form->{user_password}, $form->{v_customer_id}, - substr($form->{currency}, 0, 3), + $form->{currency}, + conv_i($form->{delivery_term_id}), $form->{id} ); do_query($form, $dbh, $query, @values); @@ -632,6 +638,7 @@ sub search { "zipcode" => "ct.zipcode", "city" => "ct.city", "country" => "ct.country", + "discount" => "ct.discount", "salesman" => "e.name" ); @@ -647,7 +654,7 @@ sub search { } my $sortdir = !defined $form->{sortdir} ? 'ASC' : $form->{sortdir} ? 'ASC' : 'DESC'; - if ($sortorder !~ /(business|id)/ && !$join_records) { + if ($sortorder !~ /(business|id|discount)/ && !$join_records) { $sortorder = "lower($sortorder) ${sortdir}"; } else { $sortorder .= " ${sortdir}"; @@ -1079,6 +1086,10 @@ sub parse_excel_file { my ($self, $myconfig, $form) = @_; my $locale = $main::locale; + my $defaults = SL::DB::Default->get; + $form->error($::locale->text('No print templates have been created for this client yet. Please do so in the client configuration.')) if !$defaults->templates; + $form->{templates} = $defaults->templates; + $form->{formname} = 'sales_quotation'; $form->{type} = 'sales_quotation'; $form->{format} = 'excel'; @@ -1121,8 +1132,6 @@ sub parse_excel_file { $form->{notes} =~ s/^\s+//g; - $form->{templates} = $myconfig->{templates}; - delete $form->{printer_command}; $form->get_employee_info($myconfig);