diff options
Diffstat (limited to 'scripts')
-rw-r--r-- | scripts/customer.pl | 106 | ||||
-rw-r--r-- | scripts/vendor.pl | 179 |
2 files changed, 285 insertions, 0 deletions
diff --git a/scripts/customer.pl b/scripts/customer.pl new file mode 100644 index 00000000..8b476995 --- /dev/null +++ b/scripts/customer.pl @@ -0,0 +1,106 @@ + +=pod + +=head1 NAME + +LedgerSMB::Scripts::customer - LedgerSMB class defining the Controller +functions, template instantiation and rendering for customer editing and display. + +=head1 SYOPSIS + +This module is the UI controller for the customer DB access; it provides the +View interface, as well as defines the Save customer. +Save customer will update or create as needed. + + +=head1 METHODS + +=cut + +package LedgerSMB::Scripts::Customer; + +use LedgerSMB::Template; +use LedgerSMB::DBObject::Customer; + +=pod + +=over + +=item get($self, $request, $user) + +Requires form var: id + +Extracts a single customer from the database, using its company ID as the primary +point of uniqueness. Shows (appropriate to user privileges) and allows editing +of the customer informations. + +=back + +=cut + +sub get { + + my ($class, $request) = @_; + my $customer = LedgerSMB::DBObject::Customer->new(base => $request, copy => 'all'); + my $result = $customer->get($customer->{id}); + + my $template = LedgerSMB::Template->new( user => $user, + template => 'customer.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 customers +found that match the search parameters. Search parameters search over address +as well as customer/Company name. + +=back + +=cut + +sub search { + my ($class, $request) = @_; + my $customer = LedgerSMB::DBObject::Customer->new(base => $request, copy => 'all'); + my $results = $customer->search($customer->{search_pattern}); + + my $template = LedgerSMB::Template->new( user => $user, + template => 'customer_search.html', language => $user->{language}, + format => 'html'); + $template->render($results); +} + +=pod + +=over + +=item save($self, $request, $user) + +Saves a customer to the database. The function will update or insert a new +customer as needed, and will generate a new Company ID for the customer if needed. + +=back + +=cut + +sub save { + + my ($class, $request) = @_; + my $customer = LedgerSMB::DBObject::Customer->new(base => $request, copy => 'all'); + my $result = $customer->save_to_db(); + + my $template = LedgerSMB::Template->new( user => $user, + template => 'customer.html', language => $user->{language}, + format => 'html'); + $template->render($result); +} + +1;
\ No newline at end of file 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; |