blob: b3d6b9d891c5e7f1adebd02fbc6354245a3b182e (
plain)
- =head1 NAME
- LedgerSMB::Contact - LedgerSMB class for managing Contacts
- =head1 SYOPSIS
- This module creates object instances based on LedgerSMB's in-database ORM.
- =head1 METHODS
- The following method is static:
- =over
- =item new ($LedgerSMB object);
- The following methods are passed through to stored procedures via Autoload.
- =item save
- =item get
- =item search
- The above list may grow over time, and may depend on other installed modules.
- =back
- =head1 Copyright (C) 2007, The LedgerSMB core team.
- This file is licensed under the Gnu General Public License version 2, or at your
- option any later version. A copy of the license should have been included with
- your software.
- =cut
- package LedgerSMB::Contact;
- use base LedgerSMB::DBObject;
- #use LedgerSMB::Error;
- sub save {
-
- my $self = shift @_;
-
- # check for the various fields being appropriately set..
-
- if ($self->{person_id} && $self->{contact} && $self->{contact_class}) {
-
- my $id = shift @ {$self->exec_method( procname => "save_contact" ) };
- $self->merge($id);
- return $self->{id};
- }
- else {
-
- # raise an exception
- my $err = LedgerSMB::Error->new();
- $err->text("Unable to save contact information");
- $err->throw();
- }
- }
- sub get {
-
- my $self = shift @_;
- my $id = shift @_;
-
- my $result = shift @{ $self->exec_method(
- procname => 'get',
- args=>[$id]
- ) };
- }
- sub search {
-
- my $self = shift @_;
- my ($pattern, $offset, $limit) = @_;
-
- my $results = $self->exec_method(
- procname => 'search',
- args=>[$pattern, $offset, $limit]
- );
-
- return $results;
- }
- 1;
|