X-Git-Url: http://wagnertech.de/git?a=blobdiff_plain;f=SL%2FIC.pm;h=ff8484b7e489aa405e05df62b6f951fb4fd6dca5;hb=165d1a99e7402a0cbd600dfd4a56cec8feff9ae5;hp=0b8924ba30ea46b8ceb79d88b93504442051a005;hpb=c6b2257945060625bcb86fa7e2efd27c737480ff;p=kivitendo-erp.git diff --git a/SL/IC.pm b/SL/IC.pm index 0b8924ba3..ff8484b7e 100644 --- a/SL/IC.pm +++ b/SL/IC.pm @@ -50,7 +50,7 @@ sub get_part { my ($self, $myconfig, $form) = @_; # connect to db - my $dbh = $form->dbconnect($myconfig); + my $dbh = $form->get_standard_dbh; my $sth; @@ -176,7 +176,7 @@ SQL $form->{"unit_changeable"} = $form->{orphaned}; - $dbh->disconnect; + Common::webdav_folder($form) if $::lx_office_conf{features}{webdav}; $main::lxdebug->leave_sub(); } @@ -186,7 +186,7 @@ sub get_pricegroups { my ($self, $myconfig, $form) = @_; - my $dbh = $form->dbconnect($myconfig); + my $dbh = $form->get_standard_dbh; # get pricegroups my $query = qq|SELECT id, pricegroup FROM pricegroup ORDER BY lower(pricegroup)|; @@ -204,8 +204,6 @@ sub get_pricegroups { #correct rows $form->{price_rows} = $i - 1; - $dbh->disconnect; - $main::lxdebug->leave_sub(); return $pricegroups; @@ -218,7 +216,7 @@ sub retrieve_buchungsgruppen { my ($query, $sth); - my $dbh = $form->dbconnect($myconfig); + my $dbh = $form->get_standard_dbh; # get buchungsgruppen $query = qq|SELECT id, description FROM buchungsgruppen ORDER BY sortkey|; @@ -459,6 +457,22 @@ sub save { # add assembly records if ($form->{item} eq 'assembly') { + # check additional assembly row + my $i = $form->{assembly_rows}; + # if last row is not empty add them + if ($form->{"partnumber_$i"} ne "") { + $query = qq|SELECT id FROM parts WHERE partnumber = ?|; + my ($partid) = selectrow_query($form, $dbh, $query,$form->{"partnumber_$i"} ); + if ( $partid ) { + $form->{"qty_$i"} = 1 unless ($form->{"qty_$i"}); + $form->{"id_$i"} = $partid; + $form->{"bom_$i"} = 0; + $form->{assembly_rows}++; + } + else { + $::form->error($::locale->text("uncorrect partnumber ").$form->{"partnumber_$i"}); + } + } for my $i (1 .. $form->{assembly_rows}) { $form->{"qty_$i"} = $form->parse_amount($myconfig, $form->{"qty_$i"}); @@ -471,7 +485,6 @@ sub save { do_query($form, $dbh, $query, @values); } } - my @a = localtime; $a[5] += 1900; $a[4]++; @@ -551,7 +564,7 @@ sub retrieve_assemblies { my ($self, $myconfig, $form) = @_; # connect to database - my $dbh = $form->dbconnect($myconfig); + my $dbh = $form->get_standard_dbh; my $where = qq|NOT p.obsolete|; my @values; @@ -578,8 +591,6 @@ sub retrieve_assemblies { $form->{assembly_items} = selectall_hashref_query($form, $dbh, $query, @values); - $dbh->disconnect; - $main::lxdebug->leave_sub(); } @@ -589,7 +600,7 @@ sub delete { my ($self, $myconfig, $form) = @_; my @values = (conv_i($form->{id})); # connect to database, turn off AutoCommit - my $dbh = $form->dbconnect_noauto($myconfig); + my $dbh = $form->get_standard_dbh; my %columns = ( "assembly" => "id", "parts" => "id" ); @@ -600,7 +611,6 @@ sub delete { # commit my $rc = $dbh->commit; - $dbh->disconnect; $main::lxdebug->leave_sub(); @@ -643,7 +653,7 @@ sub assembly_item { } # connect to database - my $dbh = $form->dbconnect($myconfig); + my $dbh = $form->get_standard_dbh; my $query = qq|SELECT p.id, p.partnumber, p.description, p.sellprice, @@ -655,8 +665,6 @@ sub assembly_item { WHERE $where|; $form->{item_list} = selectall_hashref_query($form, $dbh, $query, @values); - $dbh->disconnect; - $main::lxdebug->leave_sub(); } @@ -1203,7 +1211,7 @@ sub update_prices { my $num_updated = 0; # connect to database - my $dbh = $form->dbconnect_noauto($myconfig); + my $dbh = $form->get_standard_dbh; for my $column (qw(sellprice listprice)) { next if ($form->{$column} eq ""); @@ -1264,7 +1272,6 @@ sub update_prices { $sth_multiply->finish(); my $rc= $dbh->commit; - $dbh->disconnect; $main::lxdebug->leave_sub(); @@ -1277,7 +1284,7 @@ sub create_links { my ($self, $module, $myconfig, $form) = @_; # connect to database - my $dbh = $form->dbconnect($myconfig); + my $dbh = $form->get_standard_dbh; my @values = ('%' . $module . '%'); my $query; @@ -1333,7 +1340,6 @@ sub create_links { ($form->{priceupdate}) = selectrow_query($form, $dbh, qq|SELECT current_date|); } - $dbh->disconnect; $main::lxdebug->leave_sub(); } @@ -1342,7 +1348,7 @@ sub get_parts { $main::lxdebug->enter_sub(); my ($self, $myconfig, $form, $sortorder) = @_; - my $dbh = $form->dbconnect($myconfig); + my $dbh = $form->get_standard_dbh; my $order = qq| p.partnumber|; my $where = qq|1 = 1|; my @values; @@ -1385,7 +1391,6 @@ sub get_parts { } #while $form->{rows} = $j; $sth->finish; - $dbh->disconnect; $main::lxdebug->leave_sub(); @@ -1413,7 +1418,7 @@ sub retrieve_languages { my ($self, $myconfig, $form) = @_; # connect to database - my $dbh = $form->dbconnect($myconfig); + my $dbh = $form->get_standard_dbh; my @values; my $where; @@ -1435,8 +1440,6 @@ sub retrieve_languages { my $languages = selectall_hashref_query($form, $dbh, $query, @values); - $dbh->disconnect; - $main::lxdebug->leave_sub(); return $languages;