[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
SF.net SVN: ledger-smb: [1103] trunk
- Subject: SF.net SVN: ledger-smb: [1103] trunk
- From: ..hidden..
- Date: Thu, 26 Apr 2007 11:02:03 -0700
Revision: 1103
http://svn.sourceforge.net/ledger-smb/?rev=1103&view=rev
Author: einhverfr
Date: 2007-04-26 11:00:56 -0700 (Thu, 26 Apr 2007)
Log Message:
-----------
Doing a simple Perltidy commit so that I can evaluate differences between the branches and make sure patches are up to date
Modified Paths:
--------------
trunk/LedgerSMB/AA.pm
trunk/LedgerSMB/AM.pm
trunk/LedgerSMB/BP.pm
trunk/LedgerSMB/CA.pm
trunk/LedgerSMB/CP.pm
trunk/LedgerSMB/CT.pm
trunk/LedgerSMB/Contact.pm
trunk/LedgerSMB/CreditCard/Config.pm
trunk/LedgerSMB/CreditCard/TrustCommerce/Config.pm
trunk/LedgerSMB/CreditCard/TrustCommerce.pm
trunk/LedgerSMB/CreditCard.pm
trunk/LedgerSMB/DBObject.pm
trunk/LedgerSMB/Employee.pm
trunk/LedgerSMB/Form.pm
trunk/LedgerSMB/GL.pm
trunk/LedgerSMB/HR.pm
trunk/LedgerSMB/IC.pm
trunk/LedgerSMB/IR.pm
trunk/LedgerSMB/IS.pm
trunk/LedgerSMB/Inifile.pm
trunk/LedgerSMB/JC.pm
trunk/LedgerSMB/Locale.pm
trunk/LedgerSMB/Location.pm
trunk/LedgerSMB/Log.pm
trunk/LedgerSMB/Mailer.pm
trunk/LedgerSMB/Menu.pm
trunk/LedgerSMB/Num2text.pm
trunk/LedgerSMB/OE.pm
trunk/LedgerSMB/OP.pm
trunk/LedgerSMB/PE.pm
trunk/LedgerSMB/PriceMatrix.pm
trunk/LedgerSMB/RC.pm
trunk/LedgerSMB/RESTXML/Document/Base.pm
trunk/LedgerSMB/RESTXML/Document/Customer.pm
trunk/LedgerSMB/RESTXML/Document/Customer_Search.pm
trunk/LedgerSMB/RESTXML/Document/Part.pm
trunk/LedgerSMB/RESTXML/Document/Part_Search.pm
trunk/LedgerSMB/RESTXML/Document/SalesOrder.pm
trunk/LedgerSMB/RESTXML/Document/Session.pm
trunk/LedgerSMB/RESTXML/Handler.pm
trunk/LedgerSMB/RP.pm
trunk/LedgerSMB/Report.pm
trunk/LedgerSMB/Session/DB.pm
trunk/LedgerSMB/Session.pm
trunk/LedgerSMB/Setting.pm
trunk/LedgerSMB/Sysconfig.pm
trunk/LedgerSMB/Tax.pm
trunk/LedgerSMB/Taxes/Simple.pm
trunk/LedgerSMB/Template/HTML.pm
trunk/LedgerSMB/Template.pm
trunk/LedgerSMB/User.pm
trunk/LedgerSMB/locales.pl
trunk/LedgerSMB.pm
trunk/SL2LS.pl
trunk/admin.pl
trunk/bin/aa.pl
trunk/bin/admin.pl
trunk/bin/am.pl
trunk/bin/ap.pl
trunk/bin/ar.pl
trunk/bin/arap.pl
trunk/bin/arapprn.pl
trunk/bin/bp.pl
trunk/bin/ca.pl
trunk/bin/cp.pl
trunk/bin/ct.pl
trunk/bin/gl.pl
trunk/bin/hr.pl
trunk/bin/ic.pl
trunk/bin/io.pl
trunk/bin/ir.pl
trunk/bin/is.pl
trunk/bin/jc.pl
trunk/bin/login.pl
trunk/bin/menu.pl
trunk/bin/oe.pl
trunk/bin/pe.pl
trunk/bin/pos.pl
trunk/bin/ps.pl
trunk/bin/pw.pl
trunk/bin/rc.pl
trunk/bin/rp.pl
trunk/common.pl
trunk/custom.pl
trunk/dists/win32/shebang-activeperl.pl
trunk/dists/win32/shebang-vanilla.pl
trunk/dists/win32/wix/uuidgen.pl
trunk/doc/samples/lsmb02-cli-example.pl
trunk/drivers/pd3000.pl
trunk/import_members.pl
trunk/login.pl
trunk/lsmb.pl
trunk/menu.pl
trunk/net-setup.pl
trunk/pos.conf.pl
trunk/rest.pl
trunk/utils/cli/ledgersmb_cli.pl
trunk/utils/notify_short/config.pl
trunk/utils/notify_short/listener.pl
trunk/utils/pos/directnet.pl
Modified: trunk/LedgerSMB/AA.pm
===================================================================
--- trunk/LedgerSMB/AA.pm 2007-04-26 06:05:11 UTC (rev 1102)
+++ trunk/LedgerSMB/AA.pm 2007-04-26 18:00:56 UTC (rev 1103)
@@ -1,5 +1,5 @@
#=====================================================================
-# LedgerSMB
+# LedgerSMB
# Small Medium Business Accounting software
# http://www.ledgersmb.org/
# Copyright (C) 2006
@@ -20,7 +20,7 @@
#
# Contributors:
#
-#
+#
# See COPYRIGHT file for copyright information
#======================================================================
#
@@ -38,237 +38,258 @@
sub post_transaction {
- my ($self, $myconfig, $form) = @_;
+ my ( $self, $myconfig, $form ) = @_;
- # connect to database
- my $dbh = $form->{dbh};
+ # connect to database
+ my $dbh = $form->{dbh};
- my $query;
- my $sth;
+ my $query;
+ my $sth;
- my $null;
- ($null, $form->{department_id}) = split(/--/, $form->{department});
- $form->{department_id} *= 1;
+ my $null;
+ ( $null, $form->{department_id} ) = split( /--/, $form->{department} );
+ $form->{department_id} *= 1;
- my $ml = 1;
- my $table = 'ar';
- my $buysell = 'buy';
- my $ARAP = 'AR';
- my $invnumber = "sinumber";
- my $keepcleared;
+ my $ml = 1;
+ my $table = 'ar';
+ my $buysell = 'buy';
+ my $ARAP = 'AR';
+ my $invnumber = "sinumber";
+ my $keepcleared;
- if ($form->{vc} eq 'vendor') {
- $table = 'ap';
- $buysell = 'sell';
- $ARAP = 'AP';
- $ml = -1;
- $invnumber = "vinumber";
- }
+ if ( $form->{vc} eq 'vendor' ) {
+ $table = 'ap';
+ $buysell = 'sell';
+ $ARAP = 'AP';
+ $ml = -1;
+ $invnumber = "vinumber";
+ }
- if ($form->{currency} eq $form->{defaultcurrency}) {
- $form->{exchangerate} = 1;
- } else {
- $exchangerate = $form->check_exchangerate($myconfig, $form->{currency}, $form->{transdate}, $buysell);
+ if ( $form->{currency} eq $form->{defaultcurrency} ) {
+ $form->{exchangerate} = 1;
+ }
+ else {
+ $exchangerate =
+ $form->check_exchangerate( $myconfig, $form->{currency},
+ $form->{transdate}, $buysell );
- $form->{exchangerate} = ($exchangerate) ? $exchangerate : $form->parse_amount($myconfig, $form->{exchangerate});
- }
+ $form->{exchangerate} =
+ ($exchangerate)
+ ? $exchangerate
+ : $form->parse_amount( $myconfig, $form->{exchangerate} );
+ }
- my @taxaccounts = split / /, $form->{taxaccounts};
- my $tax = 0;
- my $fxtax = 0;
- my $amount;
- my $diff;
+ my @taxaccounts = split / /, $form->{taxaccounts};
+ my $tax = 0;
+ my $fxtax = 0;
+ my $amount;
+ my $diff;
- my %tax = ();
- my $accno;
+ my %tax = ();
+ my $accno;
- # add taxes
- foreach $accno (@taxaccounts) {
- $fxtax += $tax{fxamount}{$accno} = $form->parse_amount($myconfig, $form->{"tax_$accno"});
- $tax += $tax{fxamount}{$accno};
+ # add taxes
+ foreach $accno (@taxaccounts) {
+ $fxtax += $tax{fxamount}{$accno} =
+ $form->parse_amount( $myconfig, $form->{"tax_$accno"} );
+ $tax += $tax{fxamount}{$accno};
- push @{ $form->{acc_trans}{taxes} }, {
- accno => $accno,
- amount => $tax{fxamount}{$accno},
- project_id => undef,
- fx_transaction => 0 };
+ push @{ $form->{acc_trans}{taxes} },
+ {
+ accno => $accno,
+ amount => $tax{fxamount}{$accno},
+ project_id => undef,
+ fx_transaction => 0
+ };
- $amount = $tax{fxamount}{$accno} * $form->{exchangerate};
- $tax{amount}{$accno} = $form->round_amount($amount - $diff, 2);
- $diff = $tax{amount}{$accno} - ($amount - $diff);
- $amount = $tax{amount}{$accno} - $tax{fxamount}{$accno};
- $tax += $amount;
+ $amount = $tax{fxamount}{$accno} * $form->{exchangerate};
+ $tax{amount}{$accno} = $form->round_amount( $amount - $diff, 2 );
+ $diff = $tax{amount}{$accno} - ( $amount - $diff );
+ $amount = $tax{amount}{$accno} - $tax{fxamount}{$accno};
+ $tax += $amount;
- if ($form->{currency} ne $form->{defaultcurrency}) {
- push @{ $form->{acc_trans}{taxes} }, {
- accno => $accno,
- amount => $amount,
- project_id => undef,
- fx_transaction => 1 };
- }
+ if ( $form->{currency} ne $form->{defaultcurrency} ) {
+ push @{ $form->{acc_trans}{taxes} },
+ {
+ accno => $accno,
+ amount => $amount,
+ project_id => undef,
+ fx_transaction => 1
+ };
+ }
- }
+ }
- my %amount = ();
- my $fxinvamount = 0;
- for (1 .. $form->{rowcount}) {
- $fxinvamount += $amount{fxamount}{$_} = $form->parse_amount($myconfig, $form->{"amount_$_"})
- }
+ my %amount = ();
+ my $fxinvamount = 0;
+ for ( 1 .. $form->{rowcount} ) {
+ $fxinvamount += $amount{fxamount}{$_} =
+ $form->parse_amount( $myconfig, $form->{"amount_$_"} );
+ }
- $form->{taxincluded} *= 1;
+ $form->{taxincluded} *= 1;
- my $i;
- my $project_id;
- my $cleared = 0;
+ my $i;
+ my $project_id;
+ my $cleared = 0;
- $diff = 0;
- # deduct tax from amounts if tax included
- for $i (1 .. $form->{rowcount}) {
+ $diff = 0;
- if ($amount{fxamount}{$i}) {
+ # deduct tax from amounts if tax included
+ for $i ( 1 .. $form->{rowcount} ) {
- if ($form->{taxincluded}) {
- $amount = ($fxinvamount) ? $fxtax * $amount{fxamount}{$i} / $fxinvamount : 0;
- $amount{fxamount}{$i} -= $amount;
- }
+ if ( $amount{fxamount}{$i} ) {
- # multiply by exchangerate
- $amount = $amount{fxamount}{$i} * $form->{exchangerate};
- $amount{amount}{$i} = $form->round_amount($amount - $diff, 2);
- $diff = $amount{amount}{$i} - ($amount - $diff);
+ if ( $form->{taxincluded} ) {
+ $amount =
+ ($fxinvamount)
+ ? $fxtax * $amount{fxamount}{$i} / $fxinvamount
+ : 0;
+ $amount{fxamount}{$i} -= $amount;
+ }
- ($null, $project_id) = split /--/, $form->{"projectnumber_$i"};
- $project_id ||= undef;
- ($accno) = split /--/, $form->{"${ARAP}_amount_$i"};
+ # multiply by exchangerate
+ $amount = $amount{fxamount}{$i} * $form->{exchangerate};
+ $amount{amount}{$i} = $form->round_amount( $amount - $diff, 2 );
+ $diff = $amount{amount}{$i} - ( $amount - $diff );
- if ($keepcleared) {
- $cleared = ($form->{"cleared_$i"}) ? 1 : 0;
- }
+ ( $null, $project_id ) = split /--/, $form->{"projectnumber_$i"};
+ $project_id ||= undef;
+ ($accno) = split /--/, $form->{"${ARAP}_amount_$i"};
- push @{ $form->{acc_trans}{lineitems} }, {
- accno => $accno,
- amount => $amount{fxamount}{$i},
- project_id => $project_id,
- description => $form->{"description_$i"},
- cleared => $cleared,
- fx_transaction => 0 };
+ if ($keepcleared) {
+ $cleared = ( $form->{"cleared_$i"} ) ? 1 : 0;
+ }
- if ($form->{currency} ne $form->{defaultcurrency}) {
- $amount = $amount{amount}{$i} - $amount{fxamount}{$i};
- push @{ $form->{acc_trans}{lineitems} }, {
- accno => $accno,
- amount => $amount,
- project_id => $project_id,
- description => $form->{"description_$i"},
- cleared => $cleared,
- fx_transaction => 1 };
- }
- }
- }
+ push @{ $form->{acc_trans}{lineitems} },
+ {
+ accno => $accno,
+ amount => $amount{fxamount}{$i},
+ project_id => $project_id,
+ description => $form->{"description_$i"},
+ cleared => $cleared,
+ fx_transaction => 0
+ };
+ if ( $form->{currency} ne $form->{defaultcurrency} ) {
+ $amount = $amount{amount}{$i} - $amount{fxamount}{$i};
+ push @{ $form->{acc_trans}{lineitems} },
+ {
+ accno => $accno,
+ amount => $amount,
+ project_id => $project_id,
+ description => $form->{"description_$i"},
+ cleared => $cleared,
+ fx_transaction => 1
+ };
+ }
+ }
+ }
- my $invnetamount = 0;
- for (@{ $form->{acc_trans}{lineitems} }) { $invnetamount += $_->{amount} }
- my $invamount = $invnetamount + $tax;
+ my $invnetamount = 0;
+ for ( @{ $form->{acc_trans}{lineitems} } ) { $invnetamount += $_->{amount} }
+ my $invamount = $invnetamount + $tax;
- # adjust paidaccounts if there is no date in the last row
- $form->{paidaccounts}--
- unless ($form->{"datepaid_$form->{paidaccounts}"});
+ # adjust paidaccounts if there is no date in the last row
+ $form->{paidaccounts}--
+ unless ( $form->{"datepaid_$form->{paidaccounts}"} );
- if ($form->{vc} ne "customer"){
- $form->{vc} = "vendor";
- }
+ if ( $form->{vc} ne "customer" ) {
+ $form->{vc} = "vendor";
+ }
- my $paid = 0;
- my $fxamount;
+ my $paid = 0;
+ my $fxamount;
- $diff = 0;
- # add payments
- for $i (1 .. $form->{paidaccounts}) {
- $fxamount = $form->parse_amount($myconfig, $form->{"paid_$i"});
+ $diff = 0;
- if ($fxamount) {
- $paid += $fxamount;
+ # add payments
+ for $i ( 1 .. $form->{paidaccounts} ) {
+ $fxamount = $form->parse_amount( $myconfig, $form->{"paid_$i"} );
- $paidamount = $fxamount * $form->{exchangerate};
+ if ($fxamount) {
+ $paid += $fxamount;
- $amount = $form->round_amount($paidamount - $diff, 2);
- $diff = $amount - ($paidamount - $diff);
+ $paidamount = $fxamount * $form->{exchangerate};
- $form->{datepaid} = $form->{"datepaid_$i"};
+ $amount = $form->round_amount( $paidamount - $diff, 2 );
+ $diff = $amount - ( $paidamount - $diff );
- $paid{fxamount}{$i} = $fxamount;
- $paid{amount}{$i} = $amount;
- }
- }
+ $form->{datepaid} = $form->{"datepaid_$i"};
- $fxinvamount += $fxtax unless $form->{taxincluded};
- $fxinvamount = $form->round_amount($fxinvamount, 2);
- $invamount = $form->round_amount($invamount, 2);
- $paid = $form->round_amount($paid, 2);
+ $paid{fxamount}{$i} = $fxamount;
+ $paid{amount}{$i} = $amount;
+ }
+ }
- $paid = ($fxinvamount == $paid)
- ? $invamount
- : $form->round_amount($paid * $form->{exchangerate}, 2);
+ $fxinvamount += $fxtax unless $form->{taxincluded};
+ $fxinvamount = $form->round_amount( $fxinvamount, 2 );
+ $invamount = $form->round_amount( $invamount, 2 );
+ $paid = $form->round_amount( $paid, 2 );
+ $paid =
+ ( $fxinvamount == $paid )
+ ? $invamount
+ : $form->round_amount( $paid * $form->{exchangerate}, 2 );
- $query = q|
+ $query = q|
SELECT (SELECT value FROM defaults
WHERE setting_key = 'fxgain_accno_id'),
(SELECT value FROM defaults
WHERE setting_key = 'fxloss_accno_id')|;
- my ($fxgain_accno_id, $fxloss_accno_id) = $dbh->selectrow_array($query);
+ my ( $fxgain_accno_id, $fxloss_accno_id ) = $dbh->selectrow_array($query);
- ($null, $form->{employee_id}) = split /--/, $form->{employee};
- unless ($form->{employee_id}) {
- ($form->{employee}, $form->{employee_id}) =
- $form->get_employee($dbh);
- }
+ ( $null, $form->{employee_id} ) = split /--/, $form->{employee};
+ unless ( $form->{employee_id} ) {
+ ( $form->{employee}, $form->{employee_id} ) = $form->get_employee($dbh);
+ }
- # check if id really exists
- if ($form->{id}) {
- my $id = $dbh->quote($form->{id});
- $keepcleared = 1;
- $query = qq|
+ # check if id really exists
+ if ( $form->{id} ) {
+ my $id = $dbh->quote( $form->{id} );
+ $keepcleared = 1;
+ $query = qq|
SELECT id
FROM $table
WHERE id = $id|;
- if ($dbh->selectrow_array($query)) {
- # delete detail records
- $query = qq|
+ if ( $dbh->selectrow_array($query) ) {
+
+ # delete detail records
+ $query = qq|
DELETE FROM acc_trans
WHERE trans_id = $id|;
- $dbh->do($query) || $form->dberror($query);
- }
- } else {
+ $dbh->do($query) || $form->dberror($query);
+ }
+ }
+ else {
- my $uid = localtime;
- $uid .= "$$";
+ my $uid = localtime;
+ $uid .= "$$";
- $query = qq|
+ $query = qq|
INSERT INTO $table (invnumber)
VALUES ('$uid')|;
- $dbh->do($query) || $form->dberror($query);
+ $dbh->do($query) || $form->dberror($query);
- $query = qq|
+ $query = qq|
SELECT id FROM $table
WHERE invnumber = '$uid'|;
- ($form->{id}) = $dbh->selectrow_array($query);
- }
+ ( $form->{id} ) = $dbh->selectrow_array($query);
+ }
+ # record last payment date in ar/ap table
+ $form->{datepaid} = $form->{transdate} unless $form->{datepaid};
+ my $datepaid = ($paid) ? qq|'$form->{datepaid}'| : 'NOW';
- # record last payment date in ar/ap table
- $form->{datepaid} = $form->{transdate} unless $form->{datepaid};
- my $datepaid = ($paid) ? qq|'$form->{datepaid}'| : 'NOW';
+ $form->{invnumber} = $form->update_defaults( $myconfig, $invnumber )
+ unless $form->{invnumber};
- $form->{invnumber} = $form->update_defaults($myconfig, $invnumber) unless $form->{invnumber};
-
- $query = qq|
+ $query = qq|
UPDATE $table
SET invnumber = ?,
ordnumber = ?,
@@ -288,38 +309,42 @@
WHERE id = ?
|;
- my @queryargs = ($form->{invnumber}, $form->{ordnumber},
- $form->{transdate}, $form->{"$form->{vc}_id"},
- $form->{taxincluded}, $invamount, $form->{duedate}, $paid,
- $datepaid, $invnetamout, $form->{currency}, $form->{notes},
- $form->{department_id}, $form->{employee_id},
- $form->{ponumber}, $form->{id});
+ my @queryargs = (
+ $form->{invnumber}, $form->{ordnumber},
+ $form->{transdate}, $form->{"$form->{vc}_id"},
+ $form->{taxincluded}, $invamount,
+ $form->{duedate}, $paid,
+ $datepaid, $invnetamout,
+ $form->{currency}, $form->{notes},
+ $form->{department_id}, $form->{employee_id},
+ $form->{ponumber}, $form->{id}
+ );
- $dbh->prepare($query)->execute(@queryargs) || $form->dberror($query);
+ $dbh->prepare($query)->execute(@queryargs) || $form->dberror($query);
- @queries = $form->run_custom_queries($table, 'INSERT');
- # update exchangerate
- my $buy = $form->{exchangerate};
- my $sell = 0;
- if ($form->{vc} eq 'vendor') {
- $buy = 0;
- $sell = $form->{exchangerate};
- }
+ @queries = $form->run_custom_queries( $table, 'INSERT' );
- if (($form->{currency} ne $form->{defaultcurrency}) && !$exchangerate) {
- $form->update_exchangerate(
- $dbh, $form->{currency}, $form->{transdate},
- $buy, $sell);
- }
+ # update exchangerate
+ my $buy = $form->{exchangerate};
+ my $sell = 0;
+ if ( $form->{vc} eq 'vendor' ) {
+ $buy = 0;
+ $sell = $form->{exchangerate};
+ }
- my $ref;
+ if ( ( $form->{currency} ne $form->{defaultcurrency} ) && !$exchangerate ) {
+ $form->update_exchangerate( $dbh, $form->{currency}, $form->{transdate},
+ $buy, $sell );
+ }
- # add individual transactions
- foreach $ref (@{ $form->{acc_trans}{lineitems} }) {
+ my $ref;
- # insert detail records in acc_trans
- if ($ref->{amount}) {
- $query = qq|
+ # add individual transactions
+ foreach $ref ( @{ $form->{acc_trans}{lineitems} } ) {
+
+ # insert detail records in acc_trans
+ if ( $ref->{amount} ) {
+ $query = qq|
INSERT INTO acc_trans
(trans_id, chart_id, amount,
transdate, project_id, memo,
@@ -328,19 +353,21 @@
WHERE accno = ?),
?, ?, ?, ?, ?, ?)|;
- @queryargs = ($form->{id}, $ref->{accno},
- $ref->{amount} * $ml, $form->{transdate},
- $ref->{project_id}, $ref->{description},
- $ref->{fx_transaction}, $ref->{cleared});
- $dbh->prepare($query)->execute(@queryargs)
- || $form->dberror($query);
- }
- }
+ @queryargs = (
+ $form->{id}, $ref->{accno},
+ $ref->{amount} * $ml, $form->{transdate},
+ $ref->{project_id}, $ref->{description},
+ $ref->{fx_transaction}, $ref->{cleared}
+ );
+ $dbh->prepare($query)->execute(@queryargs)
+ || $form->dberror($query);
+ }
+ }
- # save taxes
- foreach $ref (@{ $form->{acc_trans}{taxes} }) {
- if ($ref->{amount}) {
- $query = qq|
+ # save taxes
+ foreach $ref ( @{ $form->{acc_trans}{taxes} } ) {
+ if ( $ref->{amount} ) {
+ $query = qq|
INSERT INTO acc_trans
(trans_id, chart_id, amount,
transdate, fx_transaction)
@@ -348,78 +375,78 @@
WHERE accno = ?),
?, ?, ?)|;
- @queryargs = ($form->{id}, $ref->{accno},
- $ref->{amount} * $ml, $form->{transdate},
- $ref->{fx_transaction});
- $dbh->prepare($query)->execute(@queryargs)
- || $form->dberror($query);
- }
- }
+ @queryargs = (
+ $form->{id}, $ref->{accno}, $ref->{amount} * $ml,
+ $form->{transdate}, $ref->{fx_transaction}
+ );
+ $dbh->prepare($query)->execute(@queryargs)
+ || $form->dberror($query);
+ }
+ }
+ my $arap;
- my $arap;
+ # record ar/ap
+ if ( ( $arap = $invamount ) ) {
+ ($accno) = split /--/, $form->{$ARAP};
- # record ar/ap
- if (($arap = $invamount)) {
- ($accno) = split /--/, $form->{$ARAP};
-
- $query = qq|
+ $query = qq|
INSERT INTO acc_trans
(trans_id, chart_id, amount, transdate)
VALUES (?, (SELECT id FROM chart
WHERE accno = '?'),
?, ?)|;
- @queryargs = ($form->{id}, $accno, $invamount * -1 * $ml,
- $form->{transdate});
+ @queryargs =
+ ( $form->{id}, $accno, $invamount * -1 * $ml, $form->{transdate} );
- $dbh->prepare($query)->execute(@queryargs)
- || $form->dberror($query);
- }
+ $dbh->prepare($query)->execute(@queryargs)
+ || $form->dberror($query);
+ }
- # if there is no amount force ar/ap
- if ($fxinvamount == 0) {
- $arap = 1;
- }
+ # if there is no amount force ar/ap
+ if ( $fxinvamount == 0 ) {
+ $arap = 1;
+ }
+ my $exchangerate;
- my $exchangerate;
+ # add paid transactions
+ for $i ( 1 .. $form->{paidaccounts} ) {
- # add paid transactions
- for $i (1 .. $form->{paidaccounts}) {
+ if ( $paid{fxamount}{$i} ) {
- if ($paid{fxamount}{$i}) {
+ ($accno) = split( /--/, $form->{"${ARAP}_paid_$i"} );
+ $form->{"datepaid_$i"} = $form->{transdate}
+ unless ( $form->{"datepaid_$i"} );
- ($accno) = split(/--/, $form->{"${ARAP}_paid_$i"});
- $form->{"datepaid_$i"} = $form->{transdate} unless ($form->{"datepaid_$i"});
+ $exchangerate = 0;
- $exchangerate = 0;
+ if ( $form->{currency} eq $form->{defaultcurrency} ) {
+ $form->{"exchangerate_$i"} = 1;
+ }
+ else {
+ $exchangerate =
+ $form->check_exchangerate( $myconfig, $form->{currency},
+ $form->{"datepaid_$i"}, $buysell );
- if ($form->{currency} eq $form->{defaultcurrency}) {
- $form->{"exchangerate_$i"} = 1;
- } else {
- $exchangerate = $form->check_exchangerate(
- $myconfig, $form->{currency},
- $form->{"datepaid_$i"}, $buysell);
+ $form->{"exchangerate_$i"} =
+ ($exchangerate)
+ ? $exchangerate
+ : $form->parse_amount( $myconfig,
+ $form->{"exchangerate_$i"} );
+ }
- $form->{"exchangerate_$i"} = ($exchangerate)
- ? $exchangerate
- : $form->parse_amount(
- $myconfig,
- $form->{"exchangerate_$i"});
- }
+ # if there is no amount
+ if ( $fxinvamount == 0 ) {
+ $form->{exchangerate} = $form->{"exchangerate_$i"};
+ }
- # if there is no amount
- if ($fxinvamount == 0) {
- $form->{exchangerate} =
- $form->{"exchangerate_$i"};
- }
+ # ar/ap amount
+ if ($arap) {
+ ($accno) = split /--/, $form->{$ARAP};
- # ar/ap amount
- if ($arap) {
- ($accno) = split /--/, $form->{$ARAP};
-
- # add ar/ap
- $query = qq|
+ # add ar/ap
+ $query = qq|
INSERT INTO acc_trans
(trans_id, chart_id,
amount,transdate)
@@ -427,25 +454,26 @@
WHERE accno = ?),
?, ?)|;
- @queryargs = ($form->{id},
- $paid{amount}{$i} * $ml,
- $form->{"datepaid_$i"});
- $dbh->prepare($query)->execute(@queryargs)
- || $form->dberror($query);
- }
+ @queryargs = (
+ $form->{id},
+ $paid{amount}{$i} * $ml,
+ $form->{"datepaid_$i"}
+ );
+ $dbh->prepare($query)->execute(@queryargs)
+ || $form->dberror($query);
+ }
- $arap = $paid{amount}{$i};
+ $arap = $paid{amount}{$i};
+ # add payment
+ if ( $paid{fxamount}{$i} ) {
- # add payment
- if ($paid{fxamount}{$i}) {
+ ($accno) = split /--/, $form->{"${ARAP}_paid_$i"};
- ($accno) = split /--/, $form->{"${ARAP}_paid_$i"};
+ my $cleared = ( $form->{"cleared_$i"} ) ? 1 : 0;
- my $cleared = ($form->{"cleared_$i"}) ? 1 : 0;
-
- $amount = $paid{fxamount}{$i};
- $query = qq|
+ $amount = $paid{fxamount}{$i};
+ $query = qq|
INSERT INTO acc_trans
(trans_id, chart_id, amount,
transdate, source, memo,
@@ -454,32 +482,34 @@
WHERE accno = ?),
? * -1 * $ml, ?, ?, ?, ?)|;
- @queryargs = ($form->{id}, $accno,
- $amount * -1 * $ml,
- $form->{"datepaid_$i"},
- $form->{"source_$i"},
- $form->{"memo_$i"},
- $cleared);
- $dbh->prepare($query)->execute(@queryargs)
- || $form->dberror($query);
+ @queryargs = (
+ $form->{id}, $accno,
+ $amount * -1 * $ml, $form->{"datepaid_$i"},
+ $form->{"source_$i"}, $form->{"memo_$i"},
+ $cleared
+ );
+ $dbh->prepare($query)->execute(@queryargs)
+ || $form->dberror($query);
- if ($form->{currency}
- ne $form->{defaultcurrency}) {
+ if ( $form->{currency} ne $form->{defaultcurrency} ) {
- # exchangerate gain/loss
- $amount = ($form->round_amount(
- $paid{fxamount}{$i}
- * $form->{exchangerate},2) -
- $form->round_amount(
- $paid{fxamount}{$i}
- * $form->{"exchangerate_$i"},
- 2)) * -1;
+ # exchangerate gain/loss
+ $amount = (
+ $form->round_amount(
+ $paid{fxamount}{$i} * $form->{exchangerate}, 2 ) -
+ $form->round_amount(
+ $paid{fxamount}{$i} * $form->{"exchangerate_$i"}, 2
+ )
+ ) * -1;
- if ($amount) {
+ if ($amount) {
- my $accno_id = (($amount * $ml) > 0) ? $fxgain_accno_id : $fxloss_accno_id;
+ my $accno_id =
+ ( ( $amount * $ml ) > 0 )
+ ? $fxgain_accno_id
+ : $fxloss_accno_id;
- $query = qq|
+ $query = qq|
INSERT INTO acc_trans
(trans_id,
chart_id,
@@ -491,21 +521,20 @@
?,
?, '1', ?)|;
- @queryargs = ($form->{id},
- $accno_id,
- $amount * $ml,
- $form->{"datepaid_$i"},
- $cleared);
- $sth = $dbh->prepare($query);
- $sth->execute(@queryargs)
- ||
- $form->dberror($query);
- }
+ @queryargs = (
+ $form->{id}, $accno_id,
+ $amount * $ml,
+ $form->{"datepaid_$i"}, $cleared
+ );
+ $sth = $dbh->prepare($query);
+ $sth->execute(@queryargs)
+ || $form->dberror($query);
+ }
- # exchangerate difference
- $amount = $paid{amount}{$i} - $paid{fxamount}{$i} + $amount;
+ # exchangerate difference
+ $amount = $paid{amount}{$i} - $paid{fxamount}{$i} + $amount;
- $query = qq|
+ $query = qq|
INSERT INTO acc_trans
(trans_id, chart_id,
amount,
@@ -518,171 +547,175 @@
= ?),
?, ?, '1', ?, ?)|;
- @queryargs = ($form->{id}, $accno,
- $amount * -1 * $ml,
- $form->{"datepaid_$i"},
- $cleared, $form->{"source_$i"});
- $sth = $dbh->prepare($query) ;
- $sth->execute(@queryargs)
- || $form->dberror($query);
+ @queryargs = (
+ $form->{id}, $accno,
+ $amount * -1 * $ml,
+ $form->{"datepaid_$i"},
+ $cleared, $form->{"source_$i"}
+ );
+ $sth = $dbh->prepare($query);
+ $sth->execute(@queryargs)
+ || $form->dberror($query);
- }
+ }
- # update exchangerate record
- $buy = $form->{"exchangerate_$i"};
- $sell = 0;
+ # update exchangerate record
+ $buy = $form->{"exchangerate_$i"};
+ $sell = 0;
- if ($form->{vc} eq 'vendor') {
- $buy = 0;
- $sell = $form->{"exchangerate_$i"};
- }
+ if ( $form->{vc} eq 'vendor' ) {
+ $buy = 0;
+ $sell = $form->{"exchangerate_$i"};
+ }
- if (($form->{currency} ne
- $form->{defaultcurrency}) && !$exchangerate) {
+ if ( ( $form->{currency} ne $form->{defaultcurrency} )
+ && !$exchangerate )
+ {
- $form->update_exchangerate(
- $dbh, $form->{currency},
- $form->{"datepaid_$i"}, $buy,
- $sell);
- }
- }
- }
- }
+ $form->update_exchangerate( $dbh, $form->{currency},
+ $form->{"datepaid_$i"},
+ $buy, $sell );
+ }
+ }
+ }
+ }
- # save printed and queued
- $form->save_status($dbh);
+ # save printed and queued
+ $form->save_status($dbh);
- my %audittrail = ( tablename => $table,
- reference => $form->{invnumber},
- formname => 'transaction',
- action => 'posted',
- id => $form->{id} );
+ my %audittrail = (
+ tablename => $table,
+ reference => $form->{invnumber},
+ formname => 'transaction',
+ action => 'posted',
+ id => $form->{id}
+ );
- $form->audittrail($dbh, "", \%audittrail);
+ $form->audittrail( $dbh, "", \%audittrail );
- $form->save_recurring($dbh, $myconfig);
+ $form->save_recurring( $dbh, $myconfig );
- my $rc = $dbh->commit;
+ my $rc = $dbh->commit;
- $rc;
+ $rc;
}
-
sub delete_transaction {
- my ($self, $myconfig, $form) = @_;
+ my ( $self, $myconfig, $form ) = @_;
- # connect to database, turn AutoCommit off
- my $dbh = $form->{dbh};
+ # connect to database, turn AutoCommit off
+ my $dbh = $form->{dbh};
- my $table = ($form->{vc} eq 'customer') ? 'ar' : 'ap';
+ my $table = ( $form->{vc} eq 'customer' ) ? 'ar' : 'ap';
- my %audittrail = ( tablename => $table,
- reference => $form->{invnumber},
- formname => 'transaction',
- action => 'deleted',
- id => $form->{id} );
+ my %audittrail = (
+ tablename => $table,
+ reference => $form->{invnumber},
+ formname => 'transaction',
+ action => 'deleted',
+ id => $form->{id}
+ );
- $form->audittrail($dbh, "", \%audittrail);
+ $form->audittrail( $dbh, "", \%audittrail );
- my $query = qq|DELETE FROM $table WHERE id = $form->{id}|;
- $dbh->do($query) || $form->dberror($query);
+ my $query = qq|DELETE FROM $table WHERE id = $form->{id}|;
+ $dbh->do($query) || $form->dberror($query);
- $query = qq|DELETE FROM acc_trans WHERE trans_id = ?|;
- $dbh->prepare($query)->execute($form->{id}) || $form->dberror($query);
+ $query = qq|DELETE FROM acc_trans WHERE trans_id = ?|;
+ $dbh->prepare($query)->execute( $form->{id} ) || $form->dberror($query);
- # get spool files
- $query = qq|SELECT spoolfile
+ # get spool files
+ $query = qq|SELECT spoolfile
FROM status
WHERE trans_id = ?
AND spoolfile IS NOT NULL|;
- my $sth = $dbh->prepare($query);
- $sth->execute($form->{id}) || $form->dberror($query);
+ my $sth = $dbh->prepare($query);
+ $sth->execute( $form->{id} ) || $form->dberror($query);
- my $spoolfile;
- my @spoolfiles = ();
+ my $spoolfile;
+ my @spoolfiles = ();
- while (($spoolfile) = $sth->fetchrow_array) {
- push @spoolfiles, $spoolfile;
- }
-
- $sth->finish;
+ while ( ($spoolfile) = $sth->fetchrow_array ) {
+ push @spoolfiles, $spoolfile;
+ }
- $query = qq|DELETE FROM status WHERE trans_id = ?|;
- $dbh->prepare($query)->execute($form->{id}) || $form->dberror($query);
+ $sth->finish;
- # commit
- my $rc = $dbh->commit;
+ $query = qq|DELETE FROM status WHERE trans_id = ?|;
+ $dbh->prepare($query)->execute( $form->{id} ) || $form->dberror($query);
- if ($rc) {
- foreach $spoolfile (@spoolfiles) {
- unlink "${LedgerSMB::Sysconfig::spool}/$spoolfile" if $spoolfile;
- }
- }
+ # commit
+ my $rc = $dbh->commit;
- $rc;
+ if ($rc) {
+ foreach $spoolfile (@spoolfiles) {
+ unlink "${LedgerSMB::Sysconfig::spool}/$spoolfile" if $spoolfile;
+ }
+ }
+
+ $rc;
}
-
-
sub transactions {
- my ($self, $myconfig, $form) = @_;
+ my ( $self, $myconfig, $form ) = @_;
- # connect to database
- my $dbh = $form->{dbh};
- my $null;
- my $var;
- my $paid = "a.paid";
- my $ml = 1;
- my $ARAP = 'AR';
- my $table = 'ar';
- my $buysell = 'buy';
- my $acc_trans_join;
- my $acc_trans_flds;
+ # connect to database
+ my $dbh = $form->{dbh};
+ my $null;
+ my $var;
+ my $paid = "a.paid";
+ my $ml = 1;
+ my $ARAP = 'AR';
+ my $table = 'ar';
+ my $buysell = 'buy';
+ my $acc_trans_join;
+ my $acc_trans_flds;
- if ($form->{vc} eq 'vendor') {
- $ml = -1;
- $ARAP = 'AP';
- $table = 'ap';
- $buysell = 'sell';
- }
+ if ( $form->{vc} eq 'vendor' ) {
+ $ml = -1;
+ $ARAP = 'AP';
+ $table = 'ap';
+ $buysell = 'sell';
+ }
- ($form->{transdatefrom}, $form->{transdateto}) = $form->from_to($form->{year}, $form->{month}, $form->{interval}) if $form->{year} && $form->{month};
+ ( $form->{transdatefrom}, $form->{transdateto} ) =
+ $form->from_to( $form->{year}, $form->{month}, $form->{interval} )
+ if $form->{year} && $form->{month};
- my @paidargs = ();
- if ($form->{outstanding}) {
- $paid = qq|
+ my @paidargs = ();
+ if ( $form->{outstanding} ) {
+ $paid = qq|
SELECT SUM(ac.amount) * -1 * $ml
FROM acc_trans ac
JOIN chart c ON (c.id = ac.chart_id)
WHERE ac.trans_id = a.id
AND (c.link LIKE '%${ARAP}_paid%'
OR c.link = '')|;
- if ($form->{transdateto}){
- $paid .= qq|
+ if ( $form->{transdateto} ) {
+ $paid .= qq|
AND ac.transdate <= ?|;
- push @paidargs, $form->{transdateto};
- }
- $form->{summary} = 1;
- }
+ push @paidargs, $form->{transdateto};
+ }
+ $form->{summary} = 1;
+ }
-
- if (!$form->{summary}) {
- $acc_trans_flds = qq|
+ if ( !$form->{summary} ) {
+ $acc_trans_flds = qq|
, c.accno, ac.source,
pr.projectnumber, ac.memo AS description,
ac.amount AS linetotal,
i.description AS linedescription|;
- $acc_trans_join = qq|
+ $acc_trans_join = qq|
JOIN acc_trans ac ON (a.id = ac.trans_id)
JOIN chart c ON (c.id = ac.chart_id)
LEFT JOIN project pr ON (pr.id = ac.project_id)
LEFT JOIN invoice i ON (i.id = ac.invoice_id)|;
- }
+ }
- my $query = qq|
+ my $query = qq|
SELECT a.id, a.invnumber, a.ordnumber, a.transdate,
a.duedate, a.netamount, a.amount, ($paid) AS paid,
a.invoice, a.datepaid, a.terms, a.notes,
@@ -701,129 +734,130 @@
LEFT JOIN department d ON (a.department_id = d.id)
$acc_trans_join|;
- my %ordinal = ( id => 1,
- invnumber => 2,
- ordnumber => 3,
- transdate => 4,
- duedate => 5,
- datepaid => 10,
- shipvia => 13,
- shippingpoint => 14,
- employee => 15,
- name => 16,
- manager => 19,
- curr => 20,
- department => 22,
- ponumber => 23,
- accno => 24,
- source => 25,
- project => 26,
- description => 27);
+ my %ordinal = (
+ id => 1,
+ invnumber => 2,
+ ordnumber => 3,
+ transdate => 4,
+ duedate => 5,
+ datepaid => 10,
+ shipvia => 13,
+ shippingpoint => 14,
+ employee => 15,
+ name => 16,
+ manager => 19,
+ curr => 20,
+ department => 22,
+ ponumber => 23,
+ accno => 24,
+ source => 25,
+ project => 26,
+ description => 27
+ );
+ my @a = ( transdate, invnumber, name );
+ push @a, "employee" if $form->{l_employee};
+ push @a, "manager" if $form->{l_manager};
+ my $sortorder = $form->sort_order( ..hidden.., \%ordinal );
- my @a = (transdate, invnumber, name);
- push @a, "employee" if $form->{l_employee};
- push @a, "manager" if $form->{l_manager};
- my $sortorder = $form->sort_order(..hidden.., \%ordinal);
+ my $where = "1 = 1";
+ if ( $form->{"$form->{vc}_id"} ) {
+ $where .= qq| AND a.$form->{vc}_id = $form->{"$form->{vc}_id"}|;
+ }
+ else {
+ if ( $form->{ $form->{vc} } ) {
+ $var = $dbh->quote( $form->like( lc $form->{ $form->{vc} } ) );
+ $where .= " AND lower(vc.name) LIKE $var";
+ }
+ }
- my $where = "1 = 1";
- if ($form->{"$form->{vc}_id"}) {
- $where .= qq| AND a.$form->{vc}_id = $form->{"$form->{vc}_id"}|;
- } else {
- if ($form->{$form->{vc}}) {
- $var = $dbh->quote(
- $form->like(lc $form->{$form->{vc}}));
- $where .= " AND lower(vc.name) LIKE $var";
- }
- }
+ for (qw(department employee)) {
+ if ( $form->{$_} ) {
+ ( $null, $var ) = split /--/, $form->{$_};
+ $var = $dbh->quote($var);
+ $where .= " AND a.${_}_id = $var";
+ }
+ }
- for (qw(department employee)) {
- if ($form->{$_}) {
- ($null, $var) = split /--/, $form->{$_};
- $var = $dbh->quote($var);
- $where .= " AND a.${_}_id = $var";
- }
- }
-
- for (qw(invnumber ordnumber)) {
- if ($form->{$_}) {
- $var = $dbh->quote($form->like(lc $form->{$_}));
- $where .= " AND lower(a.$_) LIKE $var";
- $form->{open} = $form->{closed} = 0;
- }
- }
- if ($form->{partsid}){
- my $partsid = $dbh->quote($form->{partsid});
- $where .= " AND a.id IN (select trans_id FROM invoice
+ for (qw(invnumber ordnumber)) {
+ if ( $form->{$_} ) {
+ $var = $dbh->quote( $form->like( lc $form->{$_} ) );
+ $where .= " AND lower(a.$_) LIKE $var";
+ $form->{open} = $form->{closed} = 0;
+ }
+ }
+ if ( $form->{partsid} ) {
+ my $partsid = $dbh->quote( $form->{partsid} );
+ $where .= " AND a.id IN (select trans_id FROM invoice
WHERE parts_id = $partsid)";
- }
+ }
- for (qw(ponumber shipvia notes)) {
- if ($form->{$_}) {
- $var = $dbh->quote($form->like(lc $form->{$_}));
- $where .= " AND lower(a.$_) LIKE $var";
- }
- }
+ for (qw(ponumber shipvia notes)) {
+ if ( $form->{$_} ) {
+ $var = $dbh->quote( $form->like( lc $form->{$_} ) );
+ $where .= " AND lower(a.$_) LIKE $var";
+ }
+ }
- if ($form->{description}) {
- if ($acc_trans_flds) {
- $var = $dbh->quote(
- $form->like(lc $form->{description})
- );
- $where .= " AND lower(ac.memo) LIKE $var
+ if ( $form->{description} ) {
+ if ($acc_trans_flds) {
+ $var = $dbh->quote( $form->like( lc $form->{description} ) );
+ $where .= " AND lower(ac.memo) LIKE $var
OR lower(i.description) LIKE $var";
- } else {
- $where .= " AND a.id = 0";
- }
- }
+ }
+ else {
+ $where .= " AND a.id = 0";
+ }
+ }
- if ($form->{source}) {
- if ($acc_trans_flds) {
- $var = $dbh->quote($form->like(lc $form->{source}));
- $where .= " AND lower(ac.source) LIKE $var";
- } else {
- $where .= " AND a.id = 0";
- }
- }
+ if ( $form->{source} ) {
+ if ($acc_trans_flds) {
+ $var = $dbh->quote( $form->like( lc $form->{source} ) );
+ $where .= " AND lower(ac.source) LIKE $var";
+ }
+ else {
+ $where .= " AND a.id = 0";
+ }
+ }
- my $transdatefrom = $dbh->quote($form->{transdatefrom});
- $where .= " AND a.transdate >= $transdatefrom"
- if $form->{transdatefrom};
+ my $transdatefrom = $dbh->quote( $form->{transdatefrom} );
+ $where .= " AND a.transdate >= $transdatefrom"
+ if $form->{transdatefrom};
- my $transdateto = $dbh->quote($form->{transdateto});
- $where .= " AND a.transdate <= $transdateto" if $form->{transdateto};
-
- if ($form->{open} || $form->{closed}) {
- unless ($form->{open} && $form->{closed}) {
- $where .= " AND a.amount != a.paid" if ($form->{open});
- $where .= " AND a.amount = a.paid" if ($form->{closed});
- }
- }
+ my $transdateto = $dbh->quote( $form->{transdateto} );
+ $where .= " AND a.transdate <= $transdateto" if $form->{transdateto};
- if ($form->{till} ne "") {
- $where .= " AND a.invoice = '1'
+ if ( $form->{open} || $form->{closed} ) {
+ unless ( $form->{open} && $form->{closed} ) {
+ $where .= " AND a.amount != a.paid" if ( $form->{open} );
+ $where .= " AND a.amount = a.paid" if ( $form->{closed} );
+ }
+ }
+
+ if ( $form->{till} ne "" ) {
+ $where .= " AND a.invoice = '1'
AND a.till = $form->{till}";
- if ($myconfig->{role} eq 'user') {
- my $login = $dbh->quote($form->{login});
- $where .= " AND e.login = $login";
- }
- }
+ if ( $myconfig->{role} eq 'user' ) {
+ my $login = $dbh->quote( $form->{login} );
+ $where .= " AND e.login = $login";
+ }
+ }
- if ($form->{$ARAP}) {
- my ($accno) = split /--/, $form->{$ARAP};
- $accno = $dbh->quote($accno);
- $where .= qq|
+ if ( $form->{$ARAP} ) {
+ my ($accno) = split /--/, $form->{$ARAP};
+ $accno = $dbh->quote($accno);
+ $where .= qq|
AND a.id IN (SELECT ac.trans_id
FROM acc_trans ac
JOIN chart c ON (c.id = ac.chart_id)
WHERE a.id = ac.trans_id
AND c.accno = $accno)|;
- }
+ }
- if ($form->{description}) {
- $var = $dbh->quote($form->like(lc $form->{description}));
- $where .= qq|
+ if ( $form->{description} ) {
+ $var = $dbh->quote( $form->like( lc $form->{description} ) );
+ $where .= qq|
AND (a.id IN (SELECT DISTINCT trans_id
FROM acc_trans
WHERE lower(memo) LIKE '$var')
@@ -832,79 +866,83 @@
FROM invoice
WHERE lower(description)
LIKE '$var'))|;
- }
+ }
- $query .= "WHERE $where
+ $query .= "WHERE $where
ORDER BY $sortorder";
- my $sth = $dbh->prepare($query);
- $sth->execute(@paidargs) || $form->dberror($query);
+ my $sth = $dbh->prepare($query);
+ $sth->execute(@paidargs) || $form->dberror($query);
- while (my $ref = $sth->fetchrow_hashref(NAME_lc)) {
- $ref->{exchangerate} = 1 unless $ref->{exchangerate};
+ while ( my $ref = $sth->fetchrow_hashref(NAME_lc) ) {
+ $ref->{exchangerate} = 1 unless $ref->{exchangerate};
- if ($ref->{linetotal} <= 0) {
- $ref->{debit} = $ref->{linetotal} * -1;
- $ref->{credit} = 0;
- } else {
- $ref->{debit} = 0;
- $ref->{credit} = $ref->{linetotal};
- }
+ if ( $ref->{linetotal} <= 0 ) {
+ $ref->{debit} = $ref->{linetotal} * -1;
+ $ref->{credit} = 0;
+ }
+ else {
+ $ref->{debit} = 0;
+ $ref->{credit} = $ref->{linetotal};
+ }
- if ($ref->{invoice}) {
- $ref->{description} ||= $ref->{linedescription};
- }
+ if ( $ref->{invoice} ) {
+ $ref->{description} ||= $ref->{linedescription};
+ }
- if ($form->{outstanding}) {
- next if $form->round_amount($ref->{amount}, 2)
- == $form->round_amount($ref->{paid}, 2);
- }
+ if ( $form->{outstanding} ) {
+ next
+ if $form->round_amount( $ref->{amount}, 2 ) ==
+ $form->round_amount( $ref->{paid}, 2 );
+ }
- push @{ $form->{transactions} }, $ref;
- }
+ push @{ $form->{transactions} }, $ref;
+ }
- $sth->finish;
- $dbh->commit;
+ $sth->finish;
+ $dbh->commit;
}
-
# this is used in IS, IR to retrieve the name
sub get_name {
- my ($self, $myconfig, $form) = @_;
+ my ( $self, $myconfig, $form ) = @_;
- # sanitize $form->{vc}
- if ($form->{vc} ne 'customer'){
- $form->{vc} = 'vendor';
- } else {
- $form->{vc} = 'customer';
- }
- # connect to database
- my $dbh = $form->{dbh};
+ # sanitize $form->{vc}
+ if ( $form->{vc} ne 'customer' ) {
+ $form->{vc} = 'vendor';
+ }
+ else {
+ $form->{vc} = 'customer';
+ }
- my $dateformat = $myconfig->{dateformat};
+ # connect to database
+ my $dbh = $form->{dbh};
- if ($myconfig->{dateformat} !~ /^y/) {
- my @a = split /\W/, $form->{transdate};
- $dateformat .= "yy" if (length $a[2] > 2);
- }
+ my $dateformat = $myconfig->{dateformat};
- if ($form->{transdate} !~ /\W/) {
- $dateformat = 'yyyymmdd';
- }
+ if ( $myconfig->{dateformat} !~ /^y/ ) {
+ my @a = split /\W/, $form->{transdate};
+ $dateformat .= "yy" if ( length $a[2] > 2 );
+ }
- my $duedate;
+ if ( $form->{transdate} !~ /\W/ ) {
+ $dateformat = 'yyyymmdd';
+ }
- $dateformat = $dbh->quote($dateformat);
- my $tdate = $dbh->quote($form->{transdate});
- $duedate = ($form->{transdate})
- ? "to_date($tdate, $dateformat)
- + c.terms"
- : "current_date + c.terms";
+ my $duedate;
- $form->{"$form->{vc}_id"} *= 1;
- # get customer/vendor
- my $query = qq|
+ $dateformat = $dbh->quote($dateformat);
+ my $tdate = $dbh->quote( $form->{transdate} );
+ $duedate = ( $form->{transdate} )
+ ? "to_date($tdate, $dateformat)
+ + c.terms"
+ : "current_date + c.terms";
+
+ $form->{"$form->{vc}_id"} *= 1;
+
+ # get customer/vendor
+ my $query = qq|
SELECT c.name AS $form->{vc}, c.discount, c.creditlimit,
c.terms, c.email, c.cc, c.bcc, c.taxincluded,
c.address1, c.address2, c.city, c.state,
@@ -919,65 +957,67 @@
LEFT JOIN employees e ON (e.id = c.employee_id)
WHERE c.id = ?|;
- @queryargs = ($form->{"$form->{vc}_id"});
- my $sth = $dbh->prepare($query);
+ @queryargs = ( $form->{"$form->{vc}_id"} );
+ my $sth = $dbh->prepare($query);
- $sth->execute(@queryargs) || $form->dberror($query);
+ $sth->execute(@queryargs) || $form->dberror($query);
- $ref = $sth->fetchrow_hashref(NAME_lc);
+ $ref = $sth->fetchrow_hashref(NAME_lc);
- if ($form->{id}) {
- for (qw(currency employee employee_id intnotes)) {
- delete $ref->{$_};
- }
- }
+ if ( $form->{id} ) {
+ for (qw(currency employee employee_id intnotes)) {
+ delete $ref->{$_};
+ }
+ }
- for (keys %$ref) { $form->{$_} = $ref->{$_} }
- $sth->finish;
+ for ( keys %$ref ) { $form->{$_} = $ref->{$_} }
+ $sth->finish;
- my $buysell = ($form->{vc} eq 'customer') ? "buy" : "sell";
+ my $buysell = ( $form->{vc} eq 'customer' ) ? "buy" : "sell";
- # if no currency use defaultcurrency
- $form->{currency} =
- ($form->{currency})
- ? $form->{currency}
- : $form->{defaultcurrency};
- $form->{exchangerate} = 0
- if $form->{currency} eq $form->{defaultcurrency};
+ # if no currency use defaultcurrency
+ $form->{currency} =
+ ( $form->{currency} )
+ ? $form->{currency}
+ : $form->{defaultcurrency};
+ $form->{exchangerate} = 0
+ if $form->{currency} eq $form->{defaultcurrency};
- if ($form->{transdate} && ($form->{currency}
- ne $form->{defaultcurrency})) {
- $form->{exchangerate} = $form->get_exchangerate(
- $dbh, $form->{currency}, $form->{transdate}, $buysell);
- }
+ if ( $form->{transdate}
+ && ( $form->{currency} ne $form->{defaultcurrency} ) )
+ {
+ $form->{exchangerate} =
+ $form->get_exchangerate( $dbh, $form->{currency}, $form->{transdate},
+ $buysell );
+ }
- $form->{forex} = $form->{exchangerate};
+ $form->{forex} = $form->{exchangerate};
- # if no employee, default to login
- ($form->{employee}, $form->{employee_id}) = $form->get_employee($dbh)
- unless $form->{employee_id};
+ # if no employee, default to login
+ ( $form->{employee}, $form->{employee_id} ) = $form->get_employee($dbh)
+ unless $form->{employee_id};
- my $arap = ($form->{vc} eq 'customer') ? 'ar' : 'ap';
- my $ARAP = uc $arap;
+ my $arap = ( $form->{vc} eq 'customer' ) ? 'ar' : 'ap';
+ my $ARAP = uc $arap;
- $form->{creditremaining} = $form->{creditlimit};
- $query = qq|
+ $form->{creditremaining} = $form->{creditlimit};
+ $query = qq|
SELECT SUM(amount - paid)
FROM $arap
WHERE $form->{vc}_id = ?|;
- $sth = $dbh->prepare($query);
- $sth->execute($form->{"$form->{vc}_id"})
- || $form->dberror($query);
+ $sth = $dbh->prepare($query);
+ $sth->execute( $form->{"$form->{vc}_id"} )
+ || $form->dberror($query);
- ($form->{creditremaining}) -= $sth->fetchrow_array;
+ ( $form->{creditremaining} ) -= $sth->fetchrow_array;
- $sth->finish;
- if ($form->{vc} ne "customer"){
- $form->{vc} = 'vendor';
- }
+ $sth->finish;
+ if ( $form->{vc} ne "customer" ) {
+ $form->{vc} = 'vendor';
+ }
- $query = qq|
+ $query = qq|
SELECT o.amount, (SELECT e.$buysell FROM exchangerate e
WHERE e.curr = o.curr
AND e.transdate = o.transdate)
@@ -985,66 +1025,66 @@
WHERE o.$form->{vc}_id = ?
AND o.quotation = '0' AND o.closed = '0'|;
- $sth = $dbh->prepare($query);
- $sth->execute ($form->{"$form->{vc}_id"}) || $form->dberror($query);
+ $sth = $dbh->prepare($query);
+ $sth->execute( $form->{"$form->{vc}_id"} ) || $form->dberror($query);
- while (my ($amount, $exch) = $sth->fetchrow_array) {
- $exch = 1 unless $exch;
- $form->{creditremaining} -= $amount * $exch;
- }
+ while ( my ( $amount, $exch ) = $sth->fetchrow_array ) {
+ $exch = 1 unless $exch;
+ $form->{creditremaining} -= $amount * $exch;
+ }
- $sth->finish;
+ $sth->finish;
+ # get shipto if we did not converted an order or invoice
+ if ( !$form->{shipto} ) {
- # get shipto if we did not converted an order or invoice
- if (!$form->{shipto}) {
+ for (
+ qw(shiptoname shiptoaddress1 shiptoaddress2
+ shiptocity shiptostate shiptozipcode
+ shiptocountry shiptocontact shiptophone
+ shiptofax shiptoemail)
+ )
+ {
+ delete $form->{$_};
+ }
- for (
- qw(shiptoname shiptoaddress1 shiptoaddress2
- shiptocity shiptostate shiptozipcode
- shiptocountry shiptocontact shiptophone
- shiptofax shiptoemail)
- ) {
- delete $form->{$_}
- }
-
- ## needs fixing (SELECT *)
- $query = qq|
+ ## needs fixing (SELECT *)
+ $query = qq|
SELECT *
FROM shipto
WHERE trans_id = $form->{"$form->{vc}_id"}|;
- $sth = $dbh->prepare($query);
- $sth->execute || $form->dberror($query);
+ $sth = $dbh->prepare($query);
+ $sth->execute || $form->dberror($query);
- $ref = $sth->fetchrow_hashref(NAME_lc);
- for (keys %$ref) { $form->{$_} = $ref->{$_} }
- $sth->finish;
- }
+ $ref = $sth->fetchrow_hashref(NAME_lc);
+ for ( keys %$ref ) { $form->{$_} = $ref->{$_} }
+ $sth->finish;
+ }
- # get taxes
- $query = qq|
+ # get taxes
+ $query = qq|
SELECT c.accno
FROM chart c
JOIN $form->{vc}tax ct ON (ct.chart_id = c.id)
WHERE ct.$form->{vc}_id = ?|;
- $sth = $dbh->prepare($query);
- $sth->execute( $form->{"$form->{vc}_id"}) || $form->dberror($query);
+ $sth = $dbh->prepare($query);
+ $sth->execute( $form->{"$form->{vc}_id"} ) || $form->dberror($query);
- my %tax;
+ my %tax;
- while ($ref = $sth->fetchrow_hashref(NAME_lc)) {
- $tax{$ref->{accno}} = 1;
- }
+ while ( $ref = $sth->fetchrow_hashref(NAME_lc) ) {
+ $tax{ $ref->{accno} } = 1;
+ }
- $sth->finish;
- $transdate = $dbh->quote($form->{transdate});
- my $where = qq|AND (t.validto >= $transdate OR t.validto IS NULL)|
- if $form->{transdate};
+ $sth->finish;
+ $transdate = $dbh->quote( $form->{transdate} );
+ my $where = qq|AND (t.validto >= $transdate OR t.validto IS NULL)|
+ if $form->{transdate};
- # get tax rates and description
- $query = qq|
+ # get tax rates and description
+ $query = qq|
SELECT c.accno, c.description, t.rate, t.taxnumber
FROM chart c
JOIN tax t ON (c.id = t.chart_id)
@@ -1052,33 +1092,32 @@
$where
ORDER BY accno, validto|;
- $sth = $dbh->prepare($query);
- $sth->execute || $form->dberror($query);
+ $sth = $dbh->prepare($query);
+ $sth->execute || $form->dberror($query);
- $form->{taxaccounts} = "";
- my %a = ();
+ $form->{taxaccounts} = "";
+ my %a = ();
- while ($ref = $sth->fetchrow_hashref(NAME_lc)) {
+ while ( $ref = $sth->fetchrow_hashref(NAME_lc) ) {
- if ($tax{$ref->{accno}}) {
- if (not exists $a{$ref->{accno}}) {
- for (qw(rate description taxnumber)) {
- $form->{"$ref->{accno}_$_"} =
- $ref->{$_};
- }
- $form->{taxaccounts} .= "$ref->{accno} ";
- $a{$ref->{accno}} = 1;
- }
- }
- }
+ if ( $tax{ $ref->{accno} } ) {
+ if ( not exists $a{ $ref->{accno} } ) {
+ for (qw(rate description taxnumber)) {
+ $form->{"$ref->{accno}_$_"} = $ref->{$_};
+ }
+ $form->{taxaccounts} .= "$ref->{accno} ";
+ $a{ $ref->{accno} } = 1;
+ }
+ }
+ }
- $sth->finish;
- chop $form->{taxaccounts};
+ $sth->finish;
+ chop $form->{taxaccounts};
- # setup last accounts used for this customer/vendor
- if (!$form->{id} && $form->{type} !~ /_(order|quotation)/) {
+ # setup last accounts used for this customer/vendor
+ if ( !$form->{id} && $form->{type} !~ /_(order|quotation)/ ) {
- $query = qq|
+ $query = qq|
SELECT c.accno, c.description, c.link, c.category,
ac.project_id, p.projectnumber,
a.department_id, d.description AS department
@@ -1094,41 +1133,38 @@
?)
|;
- $sth = $dbh->prepare($query);
- $sth->execute($form->{"$form->{vc}_id"},
- $form->{"$form->{vc}_id"}) || $form->dberror($query);
+ $sth = $dbh->prepare($query);
+ $sth->execute( $form->{"$form->{vc}_id"}, $form->{"$form->{vc}_id"} )
+ || $form->dberror($query);
- my $i = 0;
+ my $i = 0;
- while ($ref = $sth->fetchrow_hashref(NAME_lc)) {
- $form->{department} = $ref->{department};
- $form->{department_id} = $ref->{department_id};
+ while ( $ref = $sth->fetchrow_hashref(NAME_lc) ) {
+ $form->{department} = $ref->{department};
+ $form->{department_id} = $ref->{department_id};
- if ($ref->{link} =~ /_amount/) {
- $i++;
- $form->{"$form->{ARAP}_amount_$i"} =
- "$ref->{accno}--$ref->{description}"
- if $ref->{accno};
- $form->{"projectnumber_$i"} =
- "$ref->{projectnumber}--" .
- "$ref->{project_id}"
- if $ref->{project_id};
- }
+ if ( $ref->{link} =~ /_amount/ ) {
+ $i++;
+ $form->{"$form->{ARAP}_amount_$i"} =
+ "$ref->{accno}--$ref->{description}"
+ if $ref->{accno};
+ $form->{"projectnumber_$i"} =
+ "$ref->{projectnumber}--" . "$ref->{project_id}"
+ if $ref->{project_id};
+ }
- if ($ref->{link} eq $form->{ARAP}) {
- $form->{$form->{ARAP}} =
- $form->{"$form->{ARAP}_1"} =
- "$ref->{accno}--".
- "$ref->{description}"
- if $ref->{accno};
- }
- }
+ if ( $ref->{link} eq $form->{ARAP} ) {
+ $form->{ $form->{ARAP} } = $form->{"$form->{ARAP}_1"} =
+ "$ref->{accno}--" . "$ref->{description}"
+ if $ref->{accno};
+ }
+ }
- $sth->finish;
- $form->{rowcount} = $i if ($i && !$form->{type});
- }
+ $sth->finish;
+ $form->{rowcount} = $i if ( $i && !$form->{type} );
+ }
- $dbh->commit;
+ $dbh->commit;
}
1;
Modified: trunk/LedgerSMB/AM.pm
===================================================================
--- trunk/LedgerSMB/AM.pm 2007-04-26 06:05:11 UTC (rev 1102)
+++ trunk/LedgerSMB/AM.pm 2007-04-26 18:00:56 UTC (rev 1103)
@@ -1,8 +1,8 @@
#=====================================================================
-# LedgerSMB
+# LedgerSMB
# Small Medium Business Accounting software
# http://www.ledgersmb.org/
-#
+#
# Copyright (C) 2006
# This work contains copyrighted information from a number of sources all used
# with permission.
@@ -40,25 +40,25 @@
sub get_account {
- my ($self, $myconfig, $form) = @_;
+ my ( $self, $myconfig, $form ) = @_;
- my $dbh = $form->{dbh};
+ my $dbh = $form->{dbh};
- my $query = qq|
+ my $query = qq|
SELECT accno, description, charttype, gifi_accno,
category, link, contra
FROM chart
WHERE id = ?|;
- my $sth = $dbh->prepare($query);
- $sth->execute($form->{id}) || $form->dberror($query);
+ my $sth = $dbh->prepare($query);
+ $sth->execute( $form->{id} ) || $form->dberror($query);
- my $ref = $sth->fetchrow_hashref(NAME_lc);
- for (keys %$ref) { $form->{$_} = $ref->{$_} }
- $sth->finish;
+ my $ref = $sth->fetchrow_hashref(NAME_lc);
+ for ( keys %$ref ) { $form->{$_} = $ref->{$_} }
+ $sth->finish;
- # get default accounts
- $query = qq|
+ # get default accounts
+ $query = qq|
SELECT (SELECT value FROM defaults
WHERE setting_key = 'inventory_accno_id')
AS inventory_accno_id,
@@ -75,77 +75,71 @@
WHERE setting_key = 'fxloss_accno_id')
AS fxloss_accno_id|;
- $sth = $dbh->prepare($query);
- $sth->execute || $form->dberror($query);
+ $sth = $dbh->prepare($query);
+ $sth->execute || $form->dberror($query);
- $ref = $sth->fetchrow_hashref(NAME_lc);
- for (keys %$ref) { $form->{$_} = $ref->{$_} }
- $sth->finish;
+ $ref = $sth->fetchrow_hashref(NAME_lc);
+ for ( keys %$ref ) { $form->{$_} = $ref->{$_} }
+ $sth->finish;
- # check if we have any transactions
- $query = qq|
+ # check if we have any transactions
+ $query = qq|
SELECT trans_id
FROM acc_trans
WHERE chart_id = ?
LIMIT 1|;
- $sth = $dbh->prepare($query);
- $sth->execute($form->{id});
- ($form->{orphaned}) = $sth->fetchrow_array();
- $form->{orphaned} = !$form->{orphaned};
+ $sth = $dbh->prepare($query);
+ $sth->execute( $form->{id} );
+ ( $form->{orphaned} ) = $sth->fetchrow_array();
+ $form->{orphaned} = !$form->{orphaned};
- $dbh->commit;
+ $dbh->commit;
}
-
sub save_account {
- my ($self, $myconfig, $form) = @_;
+ my ( $self, $myconfig, $form ) = @_;
- # connect to database, turn off AutoCommit
- my $dbh = $form->{dbh};
+ # connect to database, turn off AutoCommit
+ my $dbh = $form->{dbh};
- $form->{link} = "";
- foreach my $item ($form->{AR},
- $form->{AR_amount},
- $form->{AR_tax},
- $form->{AR_paid},
- $form->{AP},
- $form->{AP_amount},
- $form->{AP_tax},
- $form->{AP_paid},
- $form->{IC},
- $form->{IC_income},
- $form->{IC_sale},
- $form->{IC_expense},
- $form->{IC_cogs},
- $form->{IC_taxpart},
- $form->{IC_taxservice}) {
- $form->{link} .= "${item}:" if ($item);
- }
+ $form->{link} = "";
+ foreach my $item (
+ $form->{AR}, $form->{AR_amount}, $form->{AR_tax},
+ $form->{AR_paid}, $form->{AP}, $form->{AP_amount},
+ $form->{AP_tax}, $form->{AP_paid}, $form->{IC},
+ $form->{IC_income}, $form->{IC_sale}, $form->{IC_expense},
+ $form->{IC_cogs}, $form->{IC_taxpart}, $form->{IC_taxservice}
+ )
+ {
+ $form->{link} .= "${item}:" if ($item);
+ }
- chop $form->{link};
+ chop $form->{link};
- # strip blanks from accno
- for (qw(accno gifi_accno)) { $form->{$_} =~ s/( |')//g }
+ # strip blanks from accno
+ for (qw(accno gifi_accno)) { $form->{$_} =~ s/( |')//g }
- foreach my $item (qw(accno gifi_accno description)) {
- $form->{$item} =~ s/-(-+)/-/g;
- $form->{$item} =~ s/ ( )+/ /g;
- }
+ foreach my $item (qw(accno gifi_accno description)) {
+ $form->{$item} =~ s/-(-+)/-/g;
+ $form->{$item} =~ s/ ( )+/ /g;
+ }
- my $query;
- my $sth;
+ my $query;
+ my $sth;
- $form->{contra} *= 1;
+ $form->{contra} *= 1;
- my @queryargs;
- @queryargs = ($form->{accno}, $form->{description},
- $form->{charttype}, $form->{gifi_accno},
- $form->{category}, $form->{"link"},
- $form->{contra});
- # if we have an id then replace the old record
- if ($form->{id}) {
- $query = qq|
+ my @queryargs;
+ @queryargs = (
+ $form->{accno}, $form->{description}, $form->{charttype},
+ $form->{gifi_accno}, $form->{category}, $form->{"link"},
+ $form->{contra}
+ );
+
+ # if we have an id then replace the old record
+ if ( $form->{id} ) {
+ $query = qq|
UPDATE chart SET accno = ?,
description = ?,
charttype = ?,
@@ -154,102 +148,104 @@
link = ?,
contra = ?
WHERE id = ?|;
- push @queryargs, $form->{id};
- } else {
- $query = qq|
+ push @queryargs, $form->{id};
+ }
+ else {
+ $query = qq|
INSERT INTO chart
(accno, description, charttype,
gifi_accno, category, link, contra)
VALUES (?, ?, ?, ?, ?, ?, ?)|;
- }
+ }
- $sth = $dbh->prepare($query);
- $sth->execute(@queryargs) || $form->dberror($query);
- $sth->finish;
+ $sth = $dbh->prepare($query);
+ $sth->execute(@queryargs) || $form->dberror($query);
+ $sth->finish;
- $chart_id = $dbh->quote($form->{id});
+ $chart_id = $dbh->quote( $form->{id} );
- if (! $form->{id}) {
- # get id from chart
- $query = qq|
+ if ( !$form->{id} ) {
+
+ # get id from chart
+ $query = qq|
SELECT id
FROM chart
WHERE accno = ?|;
- $sth = $dbh->prepare($query);
- $sth->execute($form->{accno});
- ($chart_id) = $sth->fetchrow_array();
- $sth->finish;
- }
+ $sth = $dbh->prepare($query);
+ $sth->execute( $form->{accno} );
+ ($chart_id) = $sth->fetchrow_array();
+ $sth->finish;
+ }
- if ($form->{IC_taxpart} || $form->{IC_taxservice} || $form->{AR_tax} || $form->{AP_tax}) {
+ if ( $form->{IC_taxpart}
+ || $form->{IC_taxservice}
+ || $form->{AR_tax}
+ || $form->{AP_tax} )
+ {
- # add account if it doesn't exist in tax
- $query = qq|SELECT chart_id
+ # add account if it doesn't exist in tax
+ $query = qq|SELECT chart_id
FROM tax
WHERE chart_id = $chart_id|;
- my ($tax_id) = $dbh->selectrow_array($query);
+ my ($tax_id) = $dbh->selectrow_array($query);
- # add tax if it doesn't exist
- unless ($tax_id) {
- $query = qq|INSERT INTO tax (chart_id, rate)
+ # add tax if it doesn't exist
+ unless ($tax_id) {
+ $query = qq|INSERT INTO tax (chart_id, rate)
VALUES ($chart_id, 0)|;
- $dbh->do($query) || $form->dberror($query);
- }
+ $dbh->do($query) || $form->dberror($query);
+ }
- } else {
+ }
+ else {
- # remove tax
- if ($form->{id}) {
- $query = qq|DELETE FROM tax
+ # remove tax
+ if ( $form->{id} ) {
+ $query = qq|DELETE FROM tax
WHERE chart_id = $form->{id}|;
- $dbh->do($query) || $form->dberror($query);
- }
- }
+ $dbh->do($query) || $form->dberror($query);
+ }
+ }
- # commit
- my $rc = $dbh->commit;
+ # commit
+ my $rc = $dbh->commit;
- $rc;
+ $rc;
}
-
-
sub delete_account {
- my ($self, $myconfig, $form) = @_;
+ my ( $self, $myconfig, $form ) = @_;
- # connect to database, turn off AutoCommit
- my $dbh = $form->{dbh};
- my $sth;
- my $query = qq|
+ # connect to database, turn off AutoCommit
+ my $dbh = $form->{dbh};
+ my $sth;
+ my $query = qq|
SELECT count(*)
FROM acc_trans
WHERE chart_id = ?|;
- $sth = $dbh->prepare($query);
- $sth->execute($form->{id});
- my ($rowcount) = $sth->fetchrow_array();
-
- if ($rowcount) {
- $form->error(
- "Cannot delete accounts with associated transactions!"
- );
- }
+ $sth = $dbh->prepare($query);
+ $sth->execute( $form->{id} );
+ my ($rowcount) = $sth->fetchrow_array();
+ if ($rowcount) {
+ $form->error( "Cannot delete accounts with associated transactions!" );
+ }
- # delete chart of account record
- $query = qq|
+ # delete chart of account record
+ $query = qq|
DELETE FROM chart
WHERE id = ?|;
- $sth = $dbh->prepare($query);
- $sth->execute($form->{id}) || $form->dberror($query);
+ $sth = $dbh->prepare($query);
+ $sth->execute( $form->{id} ) || $form->dberror($query);
- # set inventory_accno_id, income_accno_id, expense_accno_id to defaults
- $query = qq|
+ # set inventory_accno_id, income_accno_id, expense_accno_id to defaults
+ $query = qq|
UPDATE parts
SET inventory_accno_id = (SELECT value
FROM defaults
@@ -257,724 +253,711 @@
'inventory_accno_id')
WHERE inventory_accno_id = ?|;
- $sth = $dbh->prepare($query);
- $sth->execute($form->{id}) || $form->dberror($query);
+ $sth = $dbh->prepare($query);
+ $sth->execute( $form->{id} ) || $form->dberror($query);
- for (qw(income_accno_id expense_accno_id)){
- $query = qq|
+ for (qw(income_accno_id expense_accno_id)) {
+ $query = qq|
UPDATE parts
SET $_ = (SELECT value
FROM defaults
WHERE setting_key = '$_')
WHERE $_ = ?|;
- $sth = $dbh->prepare($query);
- $sth->execute($form->{id}) || $form->dberror($query);
- $sth->finish;
- }
+ $sth = $dbh->prepare($query);
+ $sth->execute( $form->{id} ) || $form->dberror($query);
+ $sth->finish;
+ }
- foreach my $table (qw(partstax customertax vendortax tax)) {
- $query = qq|
+ foreach my $table (qw(partstax customertax vendortax tax)) {
+ $query = qq|
DELETE FROM $table
WHERE chart_id = ?|;
- $sth = $dbh->prepare($query);
- $sth->execute($form->{id}) || $form->dberror($query);
- $sth->finish;
- }
+ $sth = $dbh->prepare($query);
+ $sth->execute( $form->{id} ) || $form->dberror($query);
+ $sth->finish;
+ }
- # commit and redirect
- my $rc = $dbh->commit;
+ # commit and redirect
+ my $rc = $dbh->commit;
- $rc;
+ $rc;
}
-
sub gifi_accounts {
- my ($self, $myconfig, $form) = @_;
+ my ( $self, $myconfig, $form ) = @_;
- # connect to database
- my $dbh = $form->{dbh};
+ # connect to database
+ my $dbh = $form->{dbh};
- my $query = qq|
+ my $query = qq|
SELECT accno, description
FROM gifi
ORDER BY accno|;
- $sth = $dbh->prepare($query);
- $sth->execute || $form->dberror($query);
+ $sth = $dbh->prepare($query);
+ $sth->execute || $form->dberror($query);
- while (my $ref = $sth->fetchrow_hashref(NAME_lc)) {
- push @{ $form->{ALL} }, $ref;
- }
+ while ( my $ref = $sth->fetchrow_hashref(NAME_lc) ) {
+ push @{ $form->{ALL} }, $ref;
+ }
- $sth->finish;
- $dbh->commit;
+ $sth->finish;
+ $dbh->commit;
}
-
-
sub get_gifi {
- my ($self, $myconfig, $form) = @_;
+ my ( $self, $myconfig, $form ) = @_;
- # connect to database
- my $dbh = $form->{dbh};
- my $sth;
+ # connect to database
+ my $dbh = $form->{dbh};
+ my $sth;
- my $query = qq|
+ my $query = qq|
SELECT accno, description
FROM gifi
WHERE accno = ?|;
- $sth = $dbh->prepare($query);
- $sth->execute($form->{accno}) || $form->dberror($query);
- ($form->{accno}, $form->{description}) = $sth->fetchrow_array();
+ $sth = $dbh->prepare($query);
+ $sth->execute( $form->{accno} ) || $form->dberror($query);
+ ( $form->{accno}, $form->{description} ) = $sth->fetchrow_array();
- $sth->finish;
+ $sth->finish;
- # check for transactions
- $query = qq|
+ # check for transactions
+ $query = qq|
SELECT count(*)
FROM acc_trans a
JOIN chart c ON (a.chart_id = c.id)
JOIN gifi g ON (c.gifi_accno = g.accno)
WHERE g.accno = ?|;
- $sth = $dbh->prepare($query);
- $sth->execute($form->{accno}) || $form->dberror($query);
- ($numrows) = $sth->fetchrow_array;
- if (($numrows * 1) == 0){
- $form->{orphaned} = 1;
- } else {
- $form->{orphaned} = 0;
- }
+ $sth = $dbh->prepare($query);
+ $sth->execute( $form->{accno} ) || $form->dberror($query);
+ ($numrows) = $sth->fetchrow_array;
+ if ( ( $numrows * 1 ) == 0 ) {
+ $form->{orphaned} = 1;
+ }
+ else {
+ $form->{orphaned} = 0;
+ }
- $dbh->commit;
+ $dbh->commit;
}
-
sub save_gifi {
- my ($self, $myconfig, $form) = @_;
+ my ( $self, $myconfig, $form ) = @_;
- my $dbh = $form->{dbh};
+ my $dbh = $form->{dbh};
- $form->{accno} =~ s/( |')//g;
+ $form->{accno} =~ s/( |')//g;
- foreach my $item (qw(accno description)) {
- $form->{$item} =~ s/-(-+)/-/g;
- $form->{$item} =~ s/ ( )+/ /g;
- }
+ foreach my $item (qw(accno description)) {
+ $form->{$item} =~ s/-(-+)/-/g;
+ $form->{$item} =~ s/ ( )+/ /g;
+ }
- my @queryargs = ($form->{accno}, $form->{description});
- # id is the old account number!
- if ($form->{id}) {
- $query = qq|
+ my @queryargs = ( $form->{accno}, $form->{description} );
+
+ # id is the old account number!
+ if ( $form->{id} ) {
+ $query = qq|
UPDATE gifi
SET accno = ?,
description = ?
WHERE accno = ?|;
- push @queryargs, $form->{id};
+ push @queryargs, $form->{id};
- } else {
- $query = qq|
+ }
+ else {
+ $query = qq|
INSERT INTO gifi (accno, description)
VALUES (?, ?)|;
- }
+ }
- $sth = $dbh->prepare($query);
- $sth->execute(@queryargs) || $form->dberror;
- $sth->finish;
- $dbh->commit;
+ $sth = $dbh->prepare($query);
+ $sth->execute(@queryargs) || $form->dberror;
+ $sth->finish;
+ $dbh->commit;
}
-
sub delete_gifi {
- my ($self, $myconfig, $form) = @_;
+ my ( $self, $myconfig, $form ) = @_;
- # connect to database
- my $dbh = $form->{dbh};
+ # connect to database
+ my $dbh = $form->{dbh};
- # id is the old account number!
- $query = qq|
+ # id is the old account number!
+ $query = qq|
DELETE FROM gifi
WHERE accno = ?|;
- $sth = $dbh->prepare($query);
- $sth->execute($form->{id}) || $form->dberror($query);
- $sth->finish;
- $dbh->commit;
+ $sth = $dbh->prepare($query);
+ $sth->execute( $form->{id} ) || $form->dberror($query);
+ $sth->finish;
+ $dbh->commit;
}
-
sub warehouses {
- my ($self, $myconfig, $form) = @_;
+ my ( $self, $myconfig, $form ) = @_;
- # connect to database
- my $dbh = $form->{dbh};
+ # connect to database
+ my $dbh = $form->{dbh};
- $form->sort_order();
- my $query = qq|
+ $form->sort_order();
+ my $query = qq|
SELECT id, description
FROM warehouse
ORDER BY description $form->{direction}|;
- $sth = $dbh->prepare($query);
- $sth->execute || $form->dberror($query);
+ $sth = $dbh->prepare($query);
+ $sth->execute || $form->dberror($query);
- while (my $ref = $sth->fetchrow_hashref(NAME_lc)) {
- push @{ $form->{ALL} }, $ref;
- }
+ while ( my $ref = $sth->fetchrow_hashref(NAME_lc) ) {
+ push @{ $form->{ALL} }, $ref;
+ }
- $sth->finish;
- $dbh->commit;
+ $sth->finish;
+ $dbh->commit;
}
-
sub get_warehouse {
- my ($self, $myconfig, $form) = @_;
+ my ( $self, $myconfig, $form ) = @_;
- # connect to database
- my $dbh = $form->{dbh};
- my $sth;
+ # connect to database
+ my $dbh = $form->{dbh};
+ my $sth;
- my $query = qq|
+ my $query = qq|
SELECT description
FROM warehouse
WHERE id = ?|;
- $sth = $dbh->prepare($query);
- $sth->execute($form->{id}) || $form->dberror($query);
- ($form->{description}) = $sth->fetchrow_array;
- $sth->finish;
+ $sth = $dbh->prepare($query);
+ $sth->execute( $form->{id} ) || $form->dberror($query);
+ ( $form->{description} ) = $sth->fetchrow_array;
+ $sth->finish;
- # see if it is in use
- $query = qq|
+ # see if it is in use
+ $query = qq|
SELECT count(*)
FROM inventory
WHERE warehouse_id = ?|;
- $sth = $dbh->prepare($query);
- $sth->execute($form->{id});
+ $sth = $dbh->prepare($query);
+ $sth->execute( $form->{id} );
- ($form->{orphaned}) = $sth->fetchrow_array;
- if (($form->{orphaned} * 1) == 0){
- $form->{orphaned} = 1;
- } else {
- $form->{orphaned} = 0;
- }
+ ( $form->{orphaned} ) = $sth->fetchrow_array;
+ if ( ( $form->{orphaned} * 1 ) == 0 ) {
+ $form->{orphaned} = 1;
+ }
+ else {
+ $form->{orphaned} = 0;
+ }
- $dbh->commit;
+ $dbh->commit;
}
-
sub save_warehouse {
- my ($self, $myconfig, $form) = @_;
+ my ( $self, $myconfig, $form ) = @_;
- # connect to database
- my $dbh = $form->{dbh};
+ # connect to database
+ my $dbh = $form->{dbh};
- my $sth;
- my @queryargs = ($form->{description});
+ my $sth;
+ my @queryargs = ( $form->{description} );
- $form->{description} =~ s/-(-)+/-/g;
- $form->{description} =~ s/ ( )+/ /g;
+ $form->{description} =~ s/-(-)+/-/g;
+ $form->{description} =~ s/ ( )+/ /g;
-
- if ($form->{id}) {
- $query = qq|
+ if ( $form->{id} ) {
+ $query = qq|
UPDATE warehouse
SET description = ?
WHERE id = ?|;
- push @queryargs, $form->{id};
- } else {
- $query = qq|
+ push @queryargs, $form->{id};
+ }
+ else {
+ $query = qq|
INSERT INTO warehouse (description)
VALUES (?)|;
- }
+ }
- $sth = $dbh->prepare($query);
- $sth->execute(@queryargs) || $form->dberror($query);
- $sth->finish;
- $dbh->commit;
+ $sth = $dbh->prepare($query);
+ $sth->execute(@queryargs) || $form->dberror($query);
+ $sth->finish;
+ $dbh->commit;
}
-
sub delete_warehouse {
- my ($self, $myconfig, $form) = @_;
+ my ( $self, $myconfig, $form ) = @_;
- # connect to database
- my $dbh = $form->{dbh};
+ # connect to database
+ my $dbh = $form->{dbh};
- $query = qq|
+ $query = qq|
DELETE FROM warehouse
WHERE id = ?|;
- $dbh->prepare($query)->execute($form->{id}) || $form->dberror($query);
- $dbh->commit;
+ $dbh->prepare($query)->execute( $form->{id} ) || $form->dberror($query);
+ $dbh->commit;
}
-
-
sub departments {
- my ($self, $myconfig, $form) = @_;
+ my ( $self, $myconfig, $form ) = @_;
- # connect to database
- my $dbh = $form->{dbh};
+ # connect to database
+ my $dbh = $form->{dbh};
- $form->sort_order();
- my $query = qq|SELECT id, description, role
+ $form->sort_order();
+ my $query = qq|SELECT id, description, role
FROM department
ORDER BY description $form->{direction}|;
- $sth = $dbh->prepare($query);
- $sth->execute || $form->dberror($query);
+ $sth = $dbh->prepare($query);
+ $sth->execute || $form->dberror($query);
- while (my $ref = $sth->fetchrow_hashref(NAME_lc)) {
- push @{ $form->{ALL} }, $ref;
- }
+ while ( my $ref = $sth->fetchrow_hashref(NAME_lc) ) {
+ push @{ $form->{ALL} }, $ref;
+ }
- $sth->finish;
- $dbh->commit;
+ $sth->finish;
+ $dbh->commit;
}
-
-
sub get_department {
- my ($self, $myconfig, $form) = @_;
+ my ( $self, $myconfig, $form ) = @_;
- # connect to database
- my $dbh = $form->{dbh};
- my $sth;
+ # connect to database
+ my $dbh = $form->{dbh};
+ my $sth;
- my $query = qq|
+ my $query = qq|
SELECT description, role
FROM department
WHERE id = ?|;
- $sth = $dbh->prepare($query);
- $sth->execute($form->{id});
- ($form->{description}, $form->{role}) = $sth->fetchrow_array;
- $sth->finish;
+ $sth = $dbh->prepare($query);
+ $sth->execute( $form->{id} );
+ ( $form->{description}, $form->{role} ) = $sth->fetchrow_array;
+ $sth->finish;
- for (keys %$ref) { $form->{$_} = $ref->{$_} }
+ for ( keys %$ref ) { $form->{$_} = $ref->{$_} }
- # see if it is in use
- $query = qq|
+ # see if it is in use
+ $query = qq|
SELECT count(*)
FROM dpt_trans
WHERE department_id = ? |;
- $sth = $dbh->prepare($query);
- $sth->execute($form->{id});
- ($form->{orphaned}) = $sth->fetchrow_array;
- if (($form->{orphaned} * 1) == 0){
- $form->{orphaned} = 1;
- } else {
- $form->{orphaned} = 0;
- }
+ $sth = $dbh->prepare($query);
+ $sth->execute( $form->{id} );
+ ( $form->{orphaned} ) = $sth->fetchrow_array;
+ if ( ( $form->{orphaned} * 1 ) == 0 ) {
+ $form->{orphaned} = 1;
+ }
+ else {
+ $form->{orphaned} = 0;
+ }
- $dbh->commit;
+ $dbh->commit;
}
-
sub save_department {
- my ($self, $myconfig, $form) = @_;
+ my ( $self, $myconfig, $form ) = @_;
- # connect to database
- my $dbh = $form->{dbh};
+ # connect to database
+ my $dbh = $form->{dbh};
- $form->{description} =~ s/-(-)+/-/g;
- $form->{description} =~ s/ ( )+/ /g;
- my $sth;
- my @queryargs = ($form->{description}, $form->{role});
- if ($form->{id}) {
- $query = qq|
+ $form->{description} =~ s/-(-)+/-/g;
+ $form->{description} =~ s/ ( )+/ /g;
+ my $sth;
+ my @queryargs = ( $form->{description}, $form->{role} );
+ if ( $form->{id} ) {
+ $query = qq|
UPDATE department
SET description = ?,
role = ?
WHERE id = ?|;
- push @queryargs, $form->{id};
+ push @queryargs, $form->{id};
- } else {
- $query = qq|
+ }
+ else {
+ $query = qq|
INSERT INTO department (description, role)
VALUES (?, ?)|;
- }
+ }
- $sth = $dbh->prepare($query);
- $sth->execute(@queryargs) || $form->dberror($query);
- $dbh->commit;
+ $sth = $dbh->prepare($query);
+ $sth->execute(@queryargs) || $form->dberror($query);
+ $dbh->commit;
}
-
sub delete_department {
- my ($self, $myconfig, $form) = @_;
+ my ( $self, $myconfig, $form ) = @_;
- # connect to database
- my $dbh = $form->{dbh};
+ # connect to database
+ my $dbh = $form->{dbh};
- $query = qq|
+ $query = qq|
DELETE FROM department
WHERE id = ?|;
- $dbh->prepare($query)->execute($form->{id});
- $dbh->commit;
+ $dbh->prepare($query)->execute( $form->{id} );
+ $dbh->commit;
}
-
sub business {
- my ($self, $myconfig, $form) = @_;
+ my ( $self, $myconfig, $form ) = @_;
- # connect to database
- my $dbh = $form->{dbh};
+ # connect to database
+ my $dbh = $form->{dbh};
- $form->sort_order();
- my $query = qq|
+ $form->sort_order();
+ my $query = qq|
SELECT id, description, discount
FROM business
ORDER BY description $form->{direction}|;
- $sth = $dbh->prepare($query);
- $sth->execute || $form->dberror($query);
+ $sth = $dbh->prepare($query);
+ $sth->execute || $form->dberror($query);
- while (my $ref = $sth->fetchrow_hashref(NAME_lc)) {
- push @{ $form->{ALL} }, $ref;
- }
+ while ( my $ref = $sth->fetchrow_hashref(NAME_lc) ) {
+ push @{ $form->{ALL} }, $ref;
+ }
- $sth->finish;
- $dbh->commit;
+ $sth->finish;
+ $dbh->commit;
}
-
sub get_business {
- my ($self, $myconfig, $form) = @_;
+ my ( $self, $myconfig, $form ) = @_;
- # connect to database
- my $dbh = $form->{dbh};
+ # connect to database
+ my $dbh = $form->{dbh};
- my $query = qq|
+ my $query = qq|
SELECT description, discount
FROM business
WHERE id = ?|;
- $sth = $dbh->prepare($query);
- $sth->execute($form->{id});
- ($form->{description}, $form->{discount}) = $sth->fetchrow_array();
- $dbh->commit;
+ $sth = $dbh->prepare($query);
+ $sth->execute( $form->{id} );
+ ( $form->{description}, $form->{discount} ) = $sth->fetchrow_array();
+ $dbh->commit;
}
-
sub save_business {
- my ($self, $myconfig, $form) = @_;
+ my ( $self, $myconfig, $form ) = @_;
- # connect to database
- my $dbh = $form->{dbh};
+ # connect to database
+ my $dbh = $form->{dbh};
- $form->{description} =~ s/-(-)+/-/g;
- $form->{description} =~ s/ ( )+/ /g;
- $form->{discount} /= 100;
+ $form->{description} =~ s/-(-)+/-/g;
+ $form->{description} =~ s/ ( )+/ /g;
+ $form->{discount} /= 100;
- my $sth;
- my @queryargs = ($form->{description}, $form->{discount});
+ my $sth;
+ my @queryargs = ( $form->{description}, $form->{discount} );
- if ($form->{id}) {
- $query = qq|
+ if ( $form->{id} ) {
+ $query = qq|
UPDATE business
SET description = ?,
discount = ?
WHERE id = ?|;
- push @queryargs, $form->{id};
+ push @queryargs, $form->{id};
- } else {
- $query = qq|INSERT INTO business (description, discount)
+ }
+ else {
+ $query = qq|INSERT INTO business (description, discount)
VALUES (?, ?)|;
- }
+ }
- $dbh->prepare($query)->execute(@queryargs) || $form->dberror($query);
- $dbh->commit;
+ $dbh->prepare($query)->execute(@queryargs) || $form->dberror($query);
+ $dbh->commit;
}
-
sub delete_business {
- my ($self, $myconfig, $form) = @_;
+ my ( $self, $myconfig, $form ) = @_;
- # connect to database
- my $dbh = $form->{dbh};
+ # connect to database
+ my $dbh = $form->{dbh};
- $query = qq|
+ $query = qq|
DELETE FROM business
WHERE id = ?|;
- $dbh->prepare($query)->execute($form->{id}) || $form->dberror($query);
- $dbh->commit;
+ $dbh->prepare($query)->execute( $form->{id} ) || $form->dberror($query);
+ $dbh->commit;
}
-
sub sic {
- my ($self, $myconfig, $form) = @_;
+ my ( $self, $myconfig, $form ) = @_;
- # connect to database
- my $dbh = $form->{dbh};
+ # connect to database
+ my $dbh = $form->{dbh};
- $form->{sort} = "code" unless $form->{sort};
- my @a = qw(code description);
+ $form->{sort} = "code" unless $form->{sort};
+ my @a = qw(code description);
- my %ordinal = ( code => 1,
- description => 3 );
+ my %ordinal = (
+ code => 1,
+ description => 3
+ );
- my $sortorder = $form->sort_order(..hidden.., \%ordinal);
+ my $sortorder = $form->sort_order( ..hidden.., \%ordinal );
- my $query = qq|SELECT code, sictype, description
+ my $query = qq|SELECT code, sictype, description
FROM sic
ORDER BY $sortorder|;
- $sth = $dbh->prepare($query);
- $sth->execute || $form->dberror($query);
+ $sth = $dbh->prepare($query);
+ $sth->execute || $form->dberror($query);
- while (my $ref = $sth->fetchrow_hashref(NAME_lc)) {
- push @{ $form->{ALL} }, $ref;
- }
+ while ( my $ref = $sth->fetchrow_hashref(NAME_lc) ) {
+ push @{ $form->{ALL} }, $ref;
+ }
- $sth->finish;
- $dbh->commit;
+ $sth->finish;
+ $dbh->commit;
}
-
sub get_sic {
- my ($self, $myconfig, $form) = @_;
+ my ( $self, $myconfig, $form ) = @_;
- # connect to database
- my $dbh = $form->{dbh};
+ # connect to database
+ my $dbh = $form->{dbh};
- my $query = qq|
+ my $query = qq|
SELECT code, sictype, description
FROM sic
- WHERE code = |.$dbh->quote($form->{code});
+ WHERE code = | . $dbh->quote( $form->{code} );
- my $sth = $dbh->prepare($query);
- $sth->execute || $form->dberror($query);
+ my $sth = $dbh->prepare($query);
+ $sth->execute || $form->dberror($query);
- my $ref = $sth->fetchrow_hashref(NAME_lc);
- for (keys %$ref) { $form->{$_} = $ref->{$_} }
+ my $ref = $sth->fetchrow_hashref(NAME_lc);
+ for ( keys %$ref ) { $form->{$_} = $ref->{$_} }
- $sth->finish;
- $dbh->commit;
+ $sth->finish;
+ $dbh->commit;
}
-
sub save_sic {
- my ($self, $myconfig, $form) = @_;
+ my ( $self, $myconfig, $form ) = @_;
- # connect to database
- my $dbh = $form->{dbh};
+ # connect to database
+ my $dbh = $form->{dbh};
- foreach my $item (qw(code description)) {
- $form->{$item} =~ s/-(-)+/-/g;
- }
- my $sth;
- @queryargs = ($form->{code}, $form->{sictype}, $form->{description});
- # if there is an id
- if ($form->{id}) {
- $query = qq|
+ foreach my $item (qw(code description)) {
+ $form->{$item} =~ s/-(-)+/-/g;
+ }
+ my $sth;
+ @queryargs = ( $form->{code}, $form->{sictype}, $form->{description} );
+
+ # if there is an id
+ if ( $form->{id} ) {
+ $query = qq|
UPDATE sic
SET code = ?,
sictype = ?,
description = ?
WHERE code = ?)|;
- push @queryargs, $form->{id};
+ push @queryargs, $form->{id};
- } else {
- $query = qq|
+ }
+ else {
+ $query = qq|
INSERT INTO sic (code, sictype, description)
VALUES (?, ?, ?)|;
- }
+ }
- $dbh->prepare($query)->execute(@queryargs) || $form->dberror($query);
- $dbh->commit;
+ $dbh->prepare($query)->execute(@queryargs) || $form->dberror($query);
+ $dbh->commit;
}
-
sub delete_sic {
- my ($self, $myconfig, $form) = @_;
+ my ( $self, $myconfig, $form ) = @_;
- # connect to database
- my $dbh = $form->{dbh};
+ # connect to database
+ my $dbh = $form->{dbh};
- $query = qq|
+ $query = qq|
DELETE FROM sic
WHERE code = ?|;
- $dbh->prepare($query)->execute($form->{code});
- $dbh->commit;
+ $dbh->prepare($query)->execute( $form->{code} );
+ $dbh->commit;
}
-
sub language {
- my ($self, $myconfig, $form) = @_;
+ my ( $self, $myconfig, $form ) = @_;
- # connect to database
- my $dbh = $form->{dbh};
+ # connect to database
+ my $dbh = $form->{dbh};
- $form->{sort} = "code" unless $form->{sort};
- my @a = qw(code description);
+ $form->{sort} = "code" unless $form->{sort};
+ my @a = qw(code description);
- my %ordinal = ( code => 1,
- description => 2 );
+ my %ordinal = (
+ code => 1,
+ description => 2
+ );
- my $sortorder = $form->sort_order(..hidden.., \%ordinal);
+ my $sortorder = $form->sort_order( ..hidden.., \%ordinal );
- my $query = qq|
+ my $query = qq|
SELECT code, description
FROM language
ORDER BY $sortorder|;
- $sth = $dbh->prepare($query);
- $sth->execute || $form->dberror($query);
+ $sth = $dbh->prepare($query);
+ $sth->execute || $form->dberror($query);
- while (my $ref = $sth->fetchrow_hashref(NAME_lc)) {
- push @{ $form->{ALL} }, $ref;
- }
+ while ( my $ref = $sth->fetchrow_hashref(NAME_lc) ) {
+ push @{ $form->{ALL} }, $ref;
+ }
- $sth->finish;
- $dbh->commit;
+ $sth->finish;
+ $dbh->commit;
}
-
sub get_language {
- my ($self, $myconfig, $form) = @_;
+ my ( $self, $myconfig, $form ) = @_;
- # connect to database
- my $dbh = $form->{dbh};
+ # connect to database
+ my $dbh = $form->{dbh};
- ## needs fixing (SELECT *...)
- my $query = qq|
+ ## needs fixing (SELECT *...)
+ my $query = qq|
SELECT *
FROM language
WHERE code = ?|;
- my $sth = $dbh->prepare($query);
- $sth->execute($form->{code}) || $form->dberror($query);
+ my $sth = $dbh->prepare($query);
+ $sth->execute( $form->{code} ) || $form->dberror($query);
- my $ref = $sth->fetchrow_hashref(NAME_lc);
+ my $ref = $sth->fetchrow_hashref(NAME_lc);
- for (keys %$ref) { $form->{$_} = $ref->{$_} }
+ for ( keys %$ref ) { $form->{$_} = $ref->{$_} }
- $sth->finish;
- $dbh->commit;
+ $sth->finish;
+ $dbh->commit;
}
-
sub save_language {
- my ($self, $myconfig, $form) = @_;
+ my ( $self, $myconfig, $form ) = @_;
- # connect to database
- my $dbh = $form->{dbh};
+ # connect to database
+ my $dbh = $form->{dbh};
- $form->{code} =~ s/ //g;
+ $form->{code} =~ s/ //g;
- foreach my $item (qw(code description)) {
- $form->{$item} =~ s/-(-)+/-/g;
- $form->{$item} =~ s/ ( )+/-/g;
- }
- my $sth;
- my @queryargs = ($form->{code}, $form->{description});
- # if there is an id
- if ($form->{id}) {
- $query = qq|
+ foreach my $item (qw(code description)) {
+ $form->{$item} =~ s/-(-)+/-/g;
+ $form->{$item} =~ s/ ( )+/-/g;
+ }
+ my $sth;
+ my @queryargs = ( $form->{code}, $form->{description} );
+
+ # if there is an id
+ if ( $form->{id} ) {
+ $query = qq|
UPDATE language
SET code = ?,
description = ?
WHERE code = ?|;
- push @queryargs, $form->{id};
+ push @queryargs, $form->{id};
- } else {
- $query = qq|
+ }
+ else {
+ $query = qq|
INSERT INTO language (code, description)
VALUES (?, ?)|;
- }
+ }
- $dbh->prepare($query)->execute(@queryargs) || $form->dberror($query);
- $dbh->commit;
+ $dbh->prepare($query)->execute(@queryargs) || $form->dberror($query);
+ $dbh->commit;
}
-
sub delete_language {
- my ($self, $myconfig, $form) = @_;
+ my ( $self, $myconfig, $form ) = @_;
- # connect to database
- my $dbh = $form->{dbh};
+ # connect to database
+ my $dbh = $form->{dbh};
- $query = qq|
+ $query = qq|
DELETE FROM language
- WHERE code = |.$dbh->quote($form->{code});
+ WHERE code = | . $dbh->quote( $form->{code} );
- $dbh->do($query) || $form->dberror($query);
- $dbh->{dbh};
+ $dbh->do($query) || $form->dberror($query);
+ $dbh->{dbh};
}
-
sub recurring_transactions {
- my ($self, $myconfig, $form) = @_;
+ my ( $self, $myconfig, $form ) = @_;
- my $dbh = $form->{dbh};
+ my $dbh = $form->{dbh};
- my $query = qq|SELECT value FROM defaults where setting_key = 'curr'|;
+ my $query = qq|SELECT value FROM defaults where setting_key = 'curr'|;
- my ($defaultcurrency) = $dbh->selectrow_array($query);
- $defaultcurrency = $dbh->quote($defaultcurrency =~ s/:.*//g);
+ my ($defaultcurrency) = $dbh->selectrow_array($query);
+ $defaultcurrency = $dbh->quote( $defaultcurrency =~ s/:.*//g );
- $form->{sort} ||= "nextdate";
- my @a = ($form->{sort});
- my $sortorder = $form->sort_order(..hidden..);
+ $form->{sort} ||= "nextdate";
+ my @a = ( $form->{sort} );
+ my $sortorder = $form->sort_order( ..hidden.. );
- $query = qq|
+ $query = qq|
SELECT 'ar' AS module, 'ar' AS transaction, a.invoice,
n.name AS description, a.amount,
s.*, se.formname AS recurringemail,
@@ -1069,77 +1052,90 @@
ORDER BY $sortorder|;
- my $sth = $dbh->prepare($query);
- $sth->execute || $form->dberror($query);
+ my $sth = $dbh->prepare($query);
+ $sth->execute || $form->dberror($query);
- my $id;
- my $transaction;
- my %e = ();
- my %p = ();
+ my $id;
+ my $transaction;
+ my %e = ();
+ my %p = ();
- while (my $ref = $sth->fetchrow_hashref(NAME_lc)) {
+ while ( my $ref = $sth->fetchrow_hashref(NAME_lc) ) {
- $ref->{exchangerate} ||= 1;
+ $ref->{exchangerate} ||= 1;
- if ($ref->{id} != $id) {
+ if ( $ref->{id} != $id ) {
- if (%e) {
- $form->{transactions}{$transaction}->[$i]->{recurringemail} = "";
- for (keys %e) {
- $form->{transactions}{$transaction}->[$i]->{recurringemail} .= "${_}:";
- }
- chop $form->{transactions}{$transaction}->[$i]->{recurringemail};
- }
+ if (%e) {
+ $form->{transactions}{$transaction}->[$i]->{recurringemail} =
+ "";
+ for ( keys %e ) {
+ $form->{transactions}{$transaction}->[$i]
+ ->{recurringemail} .= "${_}:";
+ }
+ chop $form->{transactions}{$transaction}->[$i]
+ ->{recurringemail};
+ }
- if (%p) {
- $form->{transactions}{$transaction}->[$i]->{recurringprint} = "";
- for (keys %p) { $form->{transactions}{$transaction}->[$i]->{recurringprint} .= "${_}:" }
- chop $form->{transactions}{$transaction}->[$i]->{recurringprint};
- }
+ if (%p) {
+ $form->{transactions}{$transaction}->[$i]->{recurringprint} =
+ "";
+ for ( keys %p ) {
+ $form->{transactions}{$transaction}->[$i]
+ ->{recurringprint} .= "${_}:";
+ }
+ chop $form->{transactions}{$transaction}->[$i]
+ ->{recurringprint};
+ }
- %e = ();
- %p = ();
+ %e = ();
+ %p = ();
- push @{ $form->{transactions}{$ref->{transaction}} }, $ref;
+ push @{ $form->{transactions}{ $ref->{transaction} } }, $ref;
- $id = $ref->{id};
- $i = $#{ $form->{transactions}{$ref->{transaction}} };
+ $id = $ref->{id};
+ $i = $#{ $form->{transactions}{ $ref->{transaction} } };
- }
+ }
- $transaction = $ref->{transaction};
+ $transaction = $ref->{transaction};
- $e{$ref->{recurringemail}} = 1 if $ref->{recurringemail};
- $p{$ref->{recurringprint}} = 1 if $ref->{recurringprint};
+ $e{ $ref->{recurringemail} } = 1 if $ref->{recurringemail};
+ $p{ $ref->{recurringprint} } = 1 if $ref->{recurringprint};
- }
+ }
- $sth->finish;
+ $sth->finish;
- # this is for the last row
- if (%e) {
- $form->{transactions}{$transaction}->[$i]->{recurringemail} = "";
- for (keys %e) { $form->{transactions}{$transaction}->[$i]->{recurringemail} .= "${_}:" }
- chop $form->{transactions}{$transaction}->[$i]->{recurringemail};
- }
+ # this is for the last row
+ if (%e) {
+ $form->{transactions}{$transaction}->[$i]->{recurringemail} = "";
+ for ( keys %e ) {
+ $form->{transactions}{$transaction}->[$i]->{recurringemail} .=
+ "${_}:";
+ }
+ chop $form->{transactions}{$transaction}->[$i]->{recurringemail};
+ }
- if (%p) {
- $form->{transactions}{$transaction}->[$i]->{recurringprint} = "";
- for (keys %p) { $form->{transactions}{$transaction}->[$i]->{recurringprint} .= "${_}:" }
- chop $form->{transactions}{$transaction}->[$i]->{recurringprint};
- }
+ if (%p) {
+ $form->{transactions}{$transaction}->[$i]->{recurringprint} = "";
+ for ( keys %p ) {
+ $form->{transactions}{$transaction}->[$i]->{recurringprint} .=
+ "${_}:";
+ }
+ chop $form->{transactions}{$transaction}->[$i]->{recurringprint};
+ }
+ $dbh->commit;
- $dbh->commit;
-
}
sub recurring_details {
- my ($self, $myconfig, $form, $id) = @_;
+ my ( $self, $myconfig, $form, $id ) = @_;
- my $dbh = $form->{dbh};
- my $query = qq|
+ my $dbh = $form->{dbh};
+ my $query = qq|
SELECT s.*, ar.id AS arid, ar.invoice AS arinvoice,
ap.id AS apid, ap.invoice AS apinvoice,
ar.duedate - ar.transdate AS overdue,
@@ -1152,374 +1148,386 @@
LEFT JOIN oe ON (oe.id = s.id)
WHERE s.id = ?|;
- my $sth = $dbh->prepare($query);
- $sth->execute($id) || $form->dberror($query);
+ my $sth = $dbh->prepare($query);
+ $sth->execute($id) || $form->dberror($query);
- my $ref = $sth->fetchrow_hashref(NAME_lc);
- $form->{vc} = "customer" if $ref->{customer_id};
- $form->{vc} = "vendor" if $ref->{vendor_id};
- for (keys %$ref) { $form->{$_} = $ref->{$_} }
- $sth->finish;
+ my $ref = $sth->fetchrow_hashref(NAME_lc);
+ $form->{vc} = "customer" if $ref->{customer_id};
+ $form->{vc} = "vendor" if $ref->{vendor_id};
+ for ( keys %$ref ) { $form->{$_} = $ref->{$_} }
+ $sth->finish;
- $form->{invoice} = ($form->{arid} && $form->{arinvoice});
- $form->{invoice} = ($form->{apid} && $form->{apinvoice}) unless $form->{invoice};
+ $form->{invoice} = ( $form->{arid} && $form->{arinvoice} );
+ $form->{invoice} = ( $form->{apid} && $form->{apinvoice} )
+ unless $form->{invoice};
- $query = qq|
+ $query = qq|
SELECT *
FROM recurringemail
WHERE id = ?|;
- $sth = $dbh->prepare($query);
- $sth->execute($id) || $form->dberror($query);
+ $sth = $dbh->prepare($query);
+ $sth->execute($id) || $form->dberror($query);
- $form->{recurringemail} = "";
+ $form->{recurringemail} = "";
- while ($ref = $sth->fetchrow_hashref(NAME_lc)) {
- $form->{recurringemail} .= "$ref->{formname}:$ref->{format}:";
- $form->{message} = $ref->{message};
- }
+ while ( $ref = $sth->fetchrow_hashref(NAME_lc) ) {
+ $form->{recurringemail} .= "$ref->{formname}:$ref->{format}:";
+ $form->{message} = $ref->{message};
+ }
- $sth->finish;
+ $sth->finish;
- $query = qq|
+ $query = qq|
SELECT *
FROM recurringprint
WHERE id = ?|;
- $sth = $dbh->prepare($query);
- $sth->execute($id) || $form->dberror($query);
+ $sth = $dbh->prepare($query);
+ $sth->execute($id) || $form->dberror($query);
- $form->{recurringprint} = "";
- while ($ref = $sth->fetchrow_hashref(NAME_lc)) {
- $form->{recurringprint} .=
- "$ref->{formname}:$ref->{format}:$ref->{printer}:";
- }
+ $form->{recurringprint} = "";
+ while ( $ref = $sth->fetchrow_hashref(NAME_lc) ) {
+ $form->{recurringprint} .=
+ "$ref->{formname}:$ref->{format}:$ref->{printer}:";
+ }
- $sth->finish;
+ $sth->finish;
- chop $form->{recurringemail};
- chop $form->{recurringprint};
+ chop $form->{recurringemail};
+ chop $form->{recurringprint};
- for (qw(arinvoice apinvoice)) { delete $form->{$_} }
+ for (qw(arinvoice apinvoice)) { delete $form->{$_} }
- $dbh->commit;
+ $dbh->commit;
}
-
sub update_recurring {
- my ($self, $myconfig, $form, $id) = @_;
+ my ( $self, $myconfig, $form, $id ) = @_;
- my $dbh = $form->{dbh};
+ my $dbh = $form->{dbh};
- $id = $dbh->quote($id);
- my $query = qq|
+ $id = $dbh->quote($id);
+ my $query = qq|
SELECT nextdate, repeat, unit
FROM recurring
WHERE id = $id|;
- my ($nextdate, $repeat, $unit) = $dbh->selectrow_array($query);
+ my ( $nextdate, $repeat, $unit ) = $dbh->selectrow_array($query);
- $nextdate = $dbh->quote($nextdate);
- my $interval = $dbh->quote("$repeat $unit");
- # check if it is the last date
- $query = qq|
+ $nextdate = $dbh->quote($nextdate);
+ my $interval = $dbh->quote("$repeat $unit");
+
+ # check if it is the last date
+ $query = qq|
SELECT (date $nextdate + interval $interval) > enddate
FROM recurring
WHERE id = $id|;
- my ($last_repeat) = $dbh->selectrow_array($query);
- if ($last_repeat) {
- $advance{$myconfig->{dbdriver}} = "NULL";
- }
+ my ($last_repeat) = $dbh->selectrow_array($query);
+ if ($last_repeat) {
+ $advance{ $myconfig->{dbdriver} } = "NULL";
+ }
- $query = qq|
+ $query = qq|
UPDATE recurring
SET nextdate = (date $nextdate + interval $interval)
WHERE id = $id|;
- $dbh->do($query) || $form->dberror($query);
+ $dbh->do($query) || $form->dberror($query);
- $dbh->commit;
+ $dbh->commit;
}
-
sub check_template_name {
- my ($self, $myconfig, $form) = @_;
+ my ( $self, $myconfig, $form ) = @_;
- my @allowedsuff = qw(css tex txt html xml);
- if ($form->{file} =~ /^(.:)*?\/|\.\.\/|^\//){
- $form->error("Directory transversal not allowed.");
- }
- if ($form->{file} =~ /^${LedgerSMB::Sysconfig::userspath}\//){
- $form->error("Not allowed to access ${LedgerSMB::Sysconfig::userspath}/ with this method");
- }
- my $whitelisted = 0;
- for (@allowedsuff){
- if ($form->{file} =~ /$_$/){
- $whitelisted = 1;
- }
- }
- if (!$whitelisted){
- $form->error("Error: File is of type that is not allowed.");
- }
+ my @allowedsuff = qw(css tex txt html xml);
+ if ( $form->{file} =~ /^(.:)*?\/|\.\.\/|^\// ) {
+ $form->error("Directory transversal not allowed.");
+ }
+ if ( $form->{file} =~ /^${LedgerSMB::Sysconfig::userspath}\// ) {
+ $form->error(
+"Not allowed to access ${LedgerSMB::Sysconfig::userspath}/ with this method"
+ );
+ }
+ my $whitelisted = 0;
+ for (@allowedsuff) {
+ if ( $form->{file} =~ /$_$/ ) {
+ $whitelisted = 1;
+ }
+ }
+ if ( !$whitelisted ) {
+ $form->error("Error: File is of type that is not allowed.");
+ }
- if ($form->{file} !~ /^$myconfig->{templates}\//){
- $form->error("Not in a whitelisted directory: $form->{file}") unless $form->{file} =~ /^css\//;
- }
+ if ( $form->{file} !~ /^$myconfig->{templates}\// ) {
+ $form->error("Not in a whitelisted directory: $form->{file}")
+ unless $form->{file} =~ /^css\//;
+ }
}
-
sub load_template {
- my ($self, $myconfig, $form) = @_;
+ my ( $self, $myconfig, $form ) = @_;
- $self->check_template_name(\%$myconfig, \%$form);
- open(TEMPLATE, '<', "$form->{file}") or $form->error("$form->{file} : $!");
+ $self->check_template_name( \%$myconfig, \%$form );
+ open( TEMPLATE, '<', "$form->{file}" )
+ or $form->error("$form->{file} : $!");
- while (<TEMPLATE>) {
- $form->{body} .= $_;
- }
+ while (<TEMPLATE>) {
+ $form->{body} .= $_;
+ }
- close(TEMPLATE);
+ close(TEMPLATE);
}
-
sub save_template {
- my ($self, $myconfig, $form) = @_;
+ my ( $self, $myconfig, $form ) = @_;
- $self->check_template_name(\%$myconfig, \%$form);
- open(TEMPLATE, '>', "$form->{file}") or $form->error("$form->{file} : $!");
+ $self->check_template_name( \%$myconfig, \%$form );
+ open( TEMPLATE, '>', "$form->{file}" )
+ or $form->error("$form->{file} : $!");
- # strip
- $form->{body} =~ s/\r//g;
- print TEMPLATE $form->{body};
+ # strip
+ $form->{body} =~ s/\r//g;
+ print TEMPLATE $form->{body};
- close(TEMPLATE);
+ close(TEMPLATE);
}
-
sub save_preferences {
- my ($self, $myconfig, $form) = @_;
+ my ( $self, $myconfig, $form ) = @_;
- # connect to database
- my $dbh = $form->{dbh};
+ # connect to database
+ my $dbh = $form->{dbh};
- # get username, is same as requested?
- my @queryargs;
- my $query = qq|
+ # get username, is same as requested?
+ my @queryargs;
+ my $query = qq|
SELECT login
FROM employees
WHERE login = ?|;
- @queryargs = ($form->{login});
- my $sth = $dbh->prepare($query);
- $sth->execute(@queryargs) || $form->dberror($query);
- my ($dbusername) = $sth->fetchrow_array;
- $sth->finish;
+ @queryargs = ( $form->{login} );
+ my $sth = $dbh->prepare($query);
+ $sth->execute(@queryargs) || $form->dberror($query);
+ my ($dbusername) = $sth->fetchrow_array;
+ $sth->finish;
- return 0 if ($dbusername ne $form->{login});
+ return 0 if ( $dbusername ne $form->{login} );
- # update name
- $query = qq|
+ # update name
+ $query = qq|
UPDATE employees
SET name = ?
WHERE login = ?|;
- @queryargs = ($form->{name}, $form->{login});
- $dbh->prepare($query)->execute(@queryargs) || $form->dberror($query);
+ @queryargs = ( $form->{name}, $form->{login} );
+ $dbh->prepare($query)->execute(@queryargs) || $form->dberror($query);
- # get default currency
- $query = qq|
+ # get default currency
+ $query = qq|
SELECT value, (SELECT value FROM defaults
WHERE setting_key = 'businessnumber')
FROM defaults
WHERE setting_key = 'curr'|;
- ($form->{currency}, $form->{businessnumber}) =
- $dbh->selectrow_array($query);
- $form->{currency} =~ s/:.*//;
+ ( $form->{currency}, $form->{businessnumber} ) =
+ $dbh->selectrow_array($query);
+ $form->{currency} =~ s/:.*//;
- $dbh->commit;
+ $dbh->commit;
- my $myconfig = LedgerSMB::User->new($form->{login});
+ my $myconfig = LedgerSMB::User->new( $form->{login} );
- map {$myconfig->{$_} = $form->{$_} if exists $form->{$_}}
- qw(name email dateformat signature numberformat vclimit tel fax
- company menuwidth countrycode address timeout stylesheet
- printer password);
-
- foreach my $item (keys %$form) {
- $myconfig->{$item} = $form->{$item};
- }
+ map { $myconfig->{$_} = $form->{$_} if exists $form->{$_} }
+ qw(name email dateformat signature numberformat vclimit tel fax
+ company menuwidth countrycode address timeout stylesheet
+ printer password);
- $myconfig->{password} = $form->{new_password} if ($form->{old_password} ne $form->{new_password});
+ foreach my $item ( keys %$form ) {
+ $myconfig->{$item} = $form->{$item};
+ }
- $myconfig->save_member();
+ $myconfig->{password} = $form->{new_password}
+ if ( $form->{old_password} ne $form->{new_password} );
- 1;
+ $myconfig->save_member();
+ 1;
+
}
-
sub save_defaults {
- my ($self, $myconfig, $form) = @_;
+ my ( $self, $myconfig, $form ) = @_;
- for (qw(IC IC_income IC_expense FX_gain FX_loss)) { ($form->{$_}) = split /--/, $form->{$_} }
+ for (qw(IC IC_income IC_expense FX_gain FX_loss)) {
+ ( $form->{$_} ) = split /--/, $form->{$_};
+ }
- my @a;
- $form->{curr} =~ s/ //g;
- for (split /:/, $form->{curr}) { push(@a, uc pack "A3", $_) if $_ }
- $form->{curr} = join ':', @a;
+ my @a;
+ $form->{curr} =~ s/ //g;
+ for ( split /:/, $form->{curr} ) { push( @a, uc pack "A3", $_ ) if $_ }
+ $form->{curr} = join ':', @a;
- # connect to database
- my $dbh = $form->{dbh};
- # save defaults
- $sth_plain = $dbh->prepare("
- UPDATE defaults SET value = ? WHERE setting_key = ?");
- $sth_accno = $dbh->prepare(qq|
+ # connect to database
+ my $dbh = $form->{dbh};
+
+ # save defaults
+ $sth_plain = $dbh->prepare( "
+ UPDATE defaults SET value = ? WHERE setting_key = ?" );
+ $sth_accno = $dbh->prepare(
+ qq|
UPDATE defaults
SET value = (SELECT id
FROM chart
@@ Diff output truncated at 100000 characters. @@
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.