#=====================================================================
# 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) 2001
#
# Author: DWS Systems Inc.
# Web: http://www.sql-ledger.org
#
#
# 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.
#======================================================================
#
# Order entry module
# Quotation module
#
#======================================================================
use LedgerSMB::OE;
use LedgerSMB::IR;
use LedgerSMB::IS;
use LedgerSMB::PE;
use LedgerSMB::Tax;
use LedgerSMB::Locale;
require "bin/arap.pl";
require "bin/io.pl";
1;
# end of main
sub add {
if ( $form->{type} eq 'purchase_order' ) {
$form->{title} = $locale->text('Add Purchase Order');
$form->{vc} = 'vendor';
}
if ( $form->{type} eq 'sales_order' ) {
$form->{title} = $locale->text('Add Sales Order');
$form->{vc} = 'customer';
}
if ( $form->{type} eq 'request_quotation' ) {
$form->{title} = $locale->text('Add Request for Quotation');
$form->{vc} = 'vendor';
}
if ( $form->{type} eq 'sales_quotation' ) {
$form->{title} = $locale->text('Add Quotation');
$form->{vc} = 'customer';
}
$form->{callback} =
"$form->{script}?action=add&type=$form->{type}&vc=$form->{vc}&login=$form->{login}&path=$form->{path}&sessionid=$form->{sessionid}"
unless $form->{callback};
$form->{rowcount} = 0;
&order_links;
&prepare_order;
&display_form;
}
sub edit {
if ( $form->{type} =~ /(purchase_order|bin_list)/ ) {
$form->{title} = $locale->text('Edit Purchase Order');
$form->{vc} = 'vendor';
$form->{type} = 'purchase_order';
}
if ( $form->{type} =~ /((sales|work)_order|(packing|pick)_list)/ ) {
$form->{title} = $locale->text('Edit Sales Order');
$form->{vc} = 'customer';
$form->{type} = 'sales_order';
}
if ( $form->{type} eq 'request_quotation' ) {
$form->{title} = $locale->text('Edit Request for Quotation');
$form->{vc} = 'vendor';
}
if ( $form->{type} eq 'sales_quotation' ) {
$form->{title} = $locale->text('Edit Quotation');
$form->{vc} = 'customer';
}
&order_links;
&prepare_order;
&display_form;
}
sub order_links {
# retrieve order/quotation
OE->retrieve( \%myconfig, \%$form );
# get customer/vendor
$form->all_vc( \%myconfig, $form->{vc},
( $form->{vc} eq 'customer' ) ? "AR" : "AP",
undef, $form->{transdate}, 1 );
# currencies
@curr = split /:/, $form->{currencies};
$form->{defaultcurrency} = $curr[0];
chomp $form->{defaultcurrency};
$form->{currency} = $form->{defaultcurrency} unless $form->{currency};
for (@curr) { $form->{selectcurrency} .= "