#===================================================================== # LedgerSMB # Small Medium Business Accounting software # # See COPYRIGHT file for copyright information #====================================================================== # # This file has NOT undergone whitespace cleanup. # #====================================================================== # # common routines for gl, ar, ap, is, ir, oe # use LedgerSMB::AA; # any custom scripts for this one if (-f "$form->{path}/custom_arap.pl") { eval { require "$form->{path}/custom_arap.pl"; }; } if (-f "$form->{path}/$form->{login}_arap.pl") { eval { require "$form->{path}/$form->{login}_arap.pl"; }; } 1; # end of main sub check_name { my ($name) = @_; my ($new_name, $new_id) = split /--/, $form->{$name}; my $rv = 0; # if we use a selection if ($form->{"select$name"}) { if ($form->{"old$name"} ne $form->{$name}) { # this is needed for is, ir and oe for (split / /, $form->{taxaccounts}) { delete $form->{"${_}_rate"} } # for credit calculations $form->{oldinvtotal} = 0; $form->{oldtotalpaid} = 0; $form->{calctax} = 1; $form->{"${name}_id"} = $new_id; AA->get_name(\%myconfig, \%$form); $form->{$name} = $form->{"old$name"} = "$new_name--$new_id"; $form->{currency} =~ s/ //g; # put employee together if there is a new employee_id $form->{employee} = "$form->{employee}--$form->{employee_id}" if $form->{employee_id}; $rv = 1; } } else { # check name, combine name and id if ($form->{"old$name"} ne qq|$form->{$name}--$form->{"${name}_id"}|) { # this is needed for is, ir and oe for (split / /, $form->{taxaccounts}) { delete $form->{"${_}_rate"} } # for credit calculations $form->{oldinvtotal} = 0; $form->{oldtotalpaid} = 0; $form->{calctax} = 1; # return one name or a list of names in $form->{name_list} if (($rv = $form->get_name(\%myconfig, $name, $form->{transdate})) > 1) { &select_name($name); exit; } if ($rv == 1) { # we got one name $form->{"${name}_id"} = $form->{name_list}[0]->{id}; $form->{$name} = $form->{name_list}[0]->{name}; $form->{"old$name"} = qq|$form->{$name}--$form->{"${name}_id"}|; AA->get_name(\%myconfig, \%$form); $form->{currency} =~ s/ //g; # put employee together if there is a new employee_id $form->{employee} = "$form->{employee}--$form->{employee_id}" if $form->{employee_id}; } else { # name is not on file $msg = ucfirst $name . " not on file!"; $form->error($locale->text($msg)); } } } $rv; } # $locale->text('Customer not on file!') # $locale->text('Vendor not on file!') sub select_name { my ($table) = @_; @column_index = qw(ndx name address); $label = ucfirst $table; $column_data{ndx} = qq|