#===================================================================== # 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) 2002 # # 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. #====================================================================== # # Payment module # #====================================================================== use LedgerSMB::CP; use LedgerSMB::OP; use LedgerSMB::IS; use LedgerSMB::IR; use LedgerSMB::Template; require "bin/arap.pl"; 1; # end of main # This may need to get more sophisticated in the future # Anyway, it provides one point of control for date handling. sub default_date { $form->{date} ||= 'current_date'; } sub payment { if ( $form->{type} eq 'receipt' ) { $form->{ARAP} = "AR"; $form->{arap} = "ar"; $form->{vc} = "customer"; $form->{formname} = "receipt"; } if ( $form->{type} eq 'check' ) { $form->{ARAP} = "AP"; $form->{arap} = "ap"; $form->{vc} = "vendor"; $form->{formname} = "check"; } $form->{payment} = "payment"; $form->{callback} = "$form->{script}?action=payment&path=$form->{path}&login=$form->{login}&sessionid=$form->{sessionid}&all_vc=$form->{all_vc}&type=$form->{type}"; # setup customer/vendor selection for open invoices if ( $form->{all_vc} ) { $form->all_vc( \%myconfig, $form->{vc}, $form->{ARAP}, undef, $form->{datepaid} ); } else { CP->get_openvc( \%myconfig, \%$form ); if ( $myconfig{vclimit} > 0 ) { $form->{"all_$form->{vc}"} = $form->{name_list}; } } $form->{"select$form->{vc}"} = ""; if ( @{ $form->{"all_$form->{vc}"} } ) { $form->{"$form->{vc}_id"} = $form->{"all_$form->{vc}"}->[0]->{id}; for ( @{ $form->{"all_$form->{vc}"} } ) { $form->{"select$form->{vc}"} .= qq|