#=====================================================================
# 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;
require "$form->{path}/arap.pl";
require "$form->{path}/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} .= "