From f1756b69854a21b50da387f32f394d4b6fb80be7 Mon Sep 17 00:00:00 2001 From: aurynn_cmd Date: Mon, 6 Aug 2007 20:28:31 +0000 Subject: Addition of Vendor and Customer-specific save, get, and search functions in Pgsql stored procedures. Cleanup and modification of Employee.sql, to fit the new Entity framework, as well as the modifications to support trigram searching. Addition of customer.pl and vendor.pl scripts, to support new perl framework code, as well as .pm modules for the same. Some cleanup of Pg-database.sql. addition of note_class = 1 check on entity_note, removal of check id = 1. git-svn-id: https://ledger-smb.svn.sourceforge.net/svnroot/ledger-smb/trunk@1454 4979c152-3d1c-0410-bac9-87ea11338e46 --- scripts/vendor.pl | 179 ++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 179 insertions(+) create mode 100644 scripts/vendor.pl (limited to 'scripts/vendor.pl') diff --git a/scripts/vendor.pl b/scripts/vendor.pl new file mode 100644 index 00000000..c8c21503 --- /dev/null +++ b/scripts/vendor.pl @@ -0,0 +1,179 @@ + +=pod + +=head1 NAME + +LedgerSMB::Scripts::Vendor - LedgerSMB class defining the Controller +functions, template instantiation and rendering for Vendor editing and display. + +=head1 SYOPSIS + +This module is the UI controller for the Vendor DB access; it provides the +View interface, as well as defines the Save Vendor. +Save vendor will update or create as needed. + + +=head1 METHODS + +=cut + +package LedgerSMB::Scripts::Vendor; + +use LedgerSMB::Template; +use LedgerSMB::DBObject::Vendor; + +=pod + +=over + +=item get($self, $request, $user) + +Requires form var: id + +Extracts a single Vendor from the database, using its company ID as the primary +point of uniqueness. Shows (appropriate to user privileges) and allows editing +of the vendor informations. + +=back + +=cut + +sub get { + + my ($class, $request) = @_; + my $vendor = LedgerSMB::DBObject::Vendor->new(base => $request, copy => 'all'); + my $result = $vendor->get($vendor->{id}); + + my $template = LedgerSMB::Template->new( user => $user, + template => 'vendor.html', language => $user->{language}, + format => 'html'); + $template->render($results); + +} + +=pod + +=over + +=item search($self, $request, $user) + +Requires form var: search_pattern + +Directly calls the database function search, and returns a set of all vendors +found that match the search parameters. Search parameters search over address +as well as Vendor/Company name. + +=back + +=cut + +sub search { + my ($class, $request) = @_; + my $vendor = LedgerSMB::DBObject::Vendor->new(base => $request, copy => 'all'); + my $results = $vendor->search($vendor->{search_pattern}); + + my $template = LedgerSMB::Template->new( user => $user, + template => 'vendor_search.html', language => $user->{language}, + format => 'html'); + $template->render($results); +} + +=pod + +=over + +=item save($self, $request, $user) + +Saves a Vendor to the database. The function will update or insert a new +vendor as needed, and will generate a new Company ID for the vendor if needed. + +=back + +=cut + +sub save { + + my ($class, $request) = @_; + my $vendor = LedgerSMB::DBObject::Vendor->new(base => $request, copy => 'all'); + my $result = $vendor->save_to_db(); + + my $template = LedgerSMB::Template->new( user => $user, + template => 'vendor.html', language => $user->{language}, + format => 'html'); + $template->render($result); +} + +=pod + +=over + +=item vendor_invoice($self, $request, $user) + +Added based on existing New Vendor screen. + +=back + +=cut + + +sub vendor_invoice { + + +} + +=pod + +=over + +=item purchase_order($self, $request, $user) + +Added based on existing New Vendor screen. + +=back + +=cut + +sub purchase_order { + + +} + +=pod + +=over + +=item rfq($self, $request, $user) + +Added based on existing New Vendor screen. + +=back + +=cut + +sub rfq { + + $self->save(@_); + my ($class, $request) = @_; + # saves a new vendor, then generates something. + +} + +=pod + +=over + +=item pricelist($self, $request, $user) + +Added based on existing New Vendor screen. + +=back + +=cut + +sub pricelist { + + + +} + +1; -- cgit v1.2.3