From 747c00b6abfb4ba8a687a338ac37448d5595cf87 Mon Sep 17 00:00:00 2001 From: aurynn_cmd Date: Fri, 11 Jul 2008 20:20:58 +0000 Subject: Re-adding my admin-specific stuff. git-svn-id: https://ledger-smb.svn.sourceforge.net/svnroot/ledger-smb/trunk@2213 4979c152-3d1c-0410-bac9-87ea11338e46 --- LedgerSMB/Employee.pm | 91 +++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 91 insertions(+) create mode 100644 LedgerSMB/Employee.pm (limited to 'LedgerSMB/Employee.pm') diff --git a/LedgerSMB/Employee.pm b/LedgerSMB/Employee.pm new file mode 100644 index 00000000..e792aa84 --- /dev/null +++ b/LedgerSMB/Employee.pm @@ -0,0 +1,91 @@ + +=head1 NAME + +LedgerSMB::Employee - LedgerSMB class for managing Employees + +=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); + +=back + +The following methods are passed through to stored procedures via Autoload. + +=over + +=item save + +=item get + +=item search + +=item list_managers + +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::Employee; +use base qw(LedgerSMB::DBObject); +use strict; +our $VERSION = '1.0.0'; + +sub save { + my $self = shift; + + my $hashref = shift @{ $self->exec_method( procname => "employee_save" ) }; + $self->merge( $hashref, 'id' ); +} + +sub get { + my $self = shift; + my $hashref = shift @{ $self->exec_method( procname => "employee_get" ) }; + $self->merge( $hashref, keys %{$hashref} ); +} + +sub list_managers { + my $self = shift; + $self->{manager_list} = + $self->exec_method( procname => "employee_list_managers" ); +} + +sub search { + my $self = shift; + $self->{search_results} = + $self->exec_method( procname => "employee_search" ); +} + +sub set_location { + + my $self = shift @_; + my $location = shift @_; + + my $code = $self->exec_method ( procname => 'employee_set_location', + args=>[ $self->{id}, $location->{id} ] ); + + if ($code) { + + # good, it worked. + + return 1; + } + return 0; +} + +1; -- cgit v1.2.3