X-Git-Url: http://wagnertech.de/gitweb/gitweb.cgi/mfinanz.git/blobdiff_plain/6b23fb212fb1cee6e1034601d3ceb22a182e50f0..5e1de2f843f96657e16c7068991f9345c50484d5:/SL/AM.pm diff --git a/SL/AM.pm b/SL/AM.pm index a1ad0bcf9..1f9a573d0 100644 --- a/SL/AM.pm +++ b/SL/AM.pm @@ -25,7 +25,8 @@ # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program; if not, write to the Free Software -# Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. +# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, +# MA 02110-1335, USA. #====================================================================== # # Administration module @@ -390,15 +391,6 @@ sub _delete_account { return; } - # set inventory_accno_id, income_accno_id, expense_accno_id to defaults - foreach my $type (qw(inventory income expense)) { - $query = - qq|UPDATE parts | . - qq|SET ${type}_accno_id = (SELECT ${type}_accno_id FROM defaults) | . - qq|WHERE ${type}_accno_id = ?|; - do_query($form, $dbh, $query, $form->{id}); - } - $query = qq|DELETE FROM tax WHERE chart_id = ?|; do_query($form, $dbh, $query, $form->{id}); @@ -418,92 +410,6 @@ sub _delete_account { return 1; } -sub lead { - $main::lxdebug->enter_sub(); - - my ($self, $myconfig, $form) = @_; - - my $dbh = SL::DB->client->dbh; - - my $query = qq|SELECT id, lead - FROM leads - ORDER BY 2|; - - my $sth = $dbh->prepare($query); - $sth->execute || $form->dberror($query); - - while (my $ref = $sth->fetchrow_hashref("NAME_lc")) { - push @{ $form->{ALL} }, $ref; - } - - $sth->finish; - - $main::lxdebug->leave_sub(); -} - -sub get_lead { - $main::lxdebug->enter_sub(); - - my ($self, $myconfig, $form) = @_; - - my $dbh = SL::DB->client->dbh; - - my $query = - qq|SELECT l.id, l.lead | . - qq|FROM leads l | . - qq|WHERE l.id = ?|; - my $sth = $dbh->prepare($query); - $sth->execute($form->{id}) || $form->dberror($query . " ($form->{id})"); - - my $ref = $sth->fetchrow_hashref("NAME_lc"); - - map { $form->{$_} = $ref->{$_} } keys %$ref; - - $sth->finish; - - $main::lxdebug->leave_sub(); -} - -sub save_lead { - $main::lxdebug->enter_sub(); - - my ($self, $myconfig, $form) = @_; - my ($query); - - my $dbh = SL::DB->client->dbh; - - my @values = ($form->{description}); - # id is the old record - if ($form->{id}) { - $query = qq|UPDATE leads SET - lead = ? - WHERE id = ?|; - push(@values, $form->{id}); - } else { - $query = qq|INSERT INTO leads - (lead) - VALUES (?)|; - } - do_query($form, $dbh, $query, @values); - - $main::lxdebug->leave_sub(); -} - -sub delete_lead { - $main::lxdebug->enter_sub(); - - my ($self, $myconfig, $form) = @_; - my ($query); - - SL::DB->client->with_transaction(sub { - $query = qq|DELETE FROM leads WHERE id = ?|; - do_query($form, SL::DB->client->dbh, $query, $form->{id}); - 1; - }) or do { die SL::DB->client->error }; - - $main::lxdebug->leave_sub(); -} - sub language { $main::lxdebug->enter_sub(); @@ -1386,76 +1292,6 @@ sub delete_tax { $main::lxdebug->leave_sub(); } -sub save_price_factor { - $main::lxdebug->enter_sub(); - - my ($self, $myconfig, $form) = @_; - - SL::DB->client->with_transaction(sub { - my $dbh = SL::DB->client->dbh; - - my $query; - my @values = ($form->{description}, conv_i($form->{factor})); - - if ($form->{id}) { - $query = qq|UPDATE price_factors SET description = ?, factor = ? WHERE id = ?|; - push @values, conv_i($form->{id}); - - } else { - $query = qq|INSERT INTO price_factors (description, factor, sortkey) VALUES (?, ?, (SELECT COALESCE(MAX(sortkey), 0) + 1 FROM price_factors))|; - } - - do_query($form, $dbh, $query, @values); - 1; - }) or do { die SL::DB->client->error }; - - $main::lxdebug->leave_sub(); -} - -sub get_all_price_factors { - $main::lxdebug->enter_sub(); - - my ($self, $myconfig, $form) = @_; - - my $dbh = SL::DB->client->dbh; - - $form->{PRICE_FACTORS} = selectall_hashref_query($form, $dbh, qq|SELECT * FROM price_factors ORDER BY sortkey|); - - $main::lxdebug->leave_sub(); -} - -sub get_price_factor { - $main::lxdebug->enter_sub(); - - my ($self, $myconfig, $form) = @_; - - # connect to database - my $dbh = SL::DB->client->dbh; - - my $query = qq|SELECT description, factor, - ((SELECT COUNT(*) FROM parts WHERE price_factor_id = ?) + - (SELECT COUNT(*) FROM invoice WHERE price_factor_id = ?) + - (SELECT COUNT(*) FROM orderitems WHERE price_factor_id = ?)) = 0 AS orphaned - FROM price_factors WHERE id = ?|; - - ($form->{description}, $form->{factor}, $form->{orphaned}) = selectrow_query($form, $dbh, $query, (conv_i($form->{id})) x 4); - - $main::lxdebug->leave_sub(); -} - -sub delete_price_factor { - $main::lxdebug->enter_sub(); - - my ($self, $myconfig, $form) = @_; - - SL::DB->client->with_transaction(sub { - do_query($form, SL::DB->client->dbh, qq|DELETE FROM price_factors WHERE id = ?|, conv_i($form->{id})); - 1; - }) or do { die SL::DB->client->error }; - - $main::lxdebug->leave_sub(); -} - sub save_warehouse { $main::lxdebug->enter_sub();