#=====================================================================
# LedgerSMB Small Medium Business Accounting
# http://www.ledgersmb.org/
#
# Copyright (C) 2006
# This work contains copyrighted information from a number of sources all used
# with permission.
#
# This file contains source code included with or based on SQL-Ledger which
# is Copyright Dieter Simader and DWS Systems Inc. 2000-2005 and licensed
# under the GNU General Public License version 2 or, at your option, any later
# version. For a full list including contact information of contributors,
# maintainers, and copyright holders, see the CONTRIBUTORS file.
#
# Original Copyright Notice from SQL-Ledger 2.6.17 (before the fork):
# Copyright (c) 2005
#
# Author: DWS Systems Inc.
# Web: http://www.sql-ledger.org
#
# Contributors:
#
#
# Author: DWS Systems Inc.
# Web: http://www.ledgersmb.org/
#
# Contributors:
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
#======================================================================
#
# AR / AP
#
#======================================================================
use LedgerSMB::Tax;
# any custom scripts for this one
if ( -f "bin/custom/aa.pl" ) {
eval { require "bin/custom/aa.pl"; };
}
if ( -f "bin/custom/$form->{login}_aa.pl" ) {
eval { require "bin/custom/$form->{login}_aa.pl"; };
}
my $is_update;
1;
# end of main
# this is for our long dates
# $locale->text('January')
# $locale->text('February')
# $locale->text('March')
# $locale->text('April')
# $locale->text('May ')
# $locale->text('June')
# $locale->text('July')
# $locale->text('August')
# $locale->text('September')
# $locale->text('October')
# $locale->text('November')
# $locale->text('December')
# this is for our short month
# $locale->text('Jan')
# $locale->text('Feb')
# $locale->text('Mar')
# $locale->text('Apr')
# $locale->text('May')
# $locale->text('Jun')
# $locale->text('Jul')
# $locale->text('Aug')
# $locale->text('Sep')
# $locale->text('Oct')
# $locale->text('Nov')
# $locale->text('Dec')
sub add {
$form->{title} = "Add";
$form->{callback} =
"$form->{script}?action=add&path=$form->{path}&login=$form->{login}&sessionid=$form->{sessionid}"
unless $form->{callback};
if ($form->{type} eq "credit_note"){
$form->{reverse} = 1;
$form->{subtype} = 'credit_note';
$form->{type} = 'transaction';
} elsif ($form->{type} eq 'debit_note'){
$form->{reverse} = 1;
$form->{subtype} = 'debit_note';
$form->{type} = 'transaction';
}
else {
$form->{reverse} = 0;
}
&create_links;
$form->{focus} = "amount_1";
&display_form;
}
sub edit {
&create_links;
$form->{title} = "Edit";
if ($form->{reverse}){
if ($form->{ARAP} eq 'AR'){
$form->{subtype} = 'credit_note';
$form->{type} = 'transaction';
} elsif ($form->{ARAP} eq 'AP'){
$form->{subtype} = 'debit_note';
$form->{type} = 'transaction';
} else {
$form->error("Unknown AR/AP selection value: $form->{ARAP}");
}
}
&display_form;
}
sub display_form {
&form_header;
&form_footer;
}
sub create_links {
if ( $form->{script} eq 'ap.pl' ) {
$form->{ARAP} = 'AP';
$form->{vc} = 'vendor';
}
elsif ( $form->{script} eq 'ar.pl' ) {
$form->{ARAP} = 'AR';
$form->{vc} = 'customer';
}
$form->create_links( $form->{ARAP}, \%myconfig, $form->{vc} );
$duedate = $form->{duedate};
$taxincluded = $form->{taxincluded};
$form->{formname} = "transaction";
$form->{format} = "postscript" if $myconfig{printer};
$form->{media} = $myconfig{printer};
$form->{selectformname} =
qq|