diff options
Diffstat (limited to 'LedgerSMB')
-rw-r--r-- | LedgerSMB/DBObject/Company.pm | 26 | ||||
-rw-r--r-- | LedgerSMB/DBObject/Customer.pm | 30 | ||||
-rw-r--r-- | LedgerSMB/DBObject/Employee.pm | 13 | ||||
-rw-r--r-- | LedgerSMB/DBObject/Vendor.pm | 31 |
4 files changed, 42 insertions, 58 deletions
diff --git a/LedgerSMB/DBObject/Company.pm b/LedgerSMB/DBObject/Company.pm index 30023c92..0ce2f6ee 100644 --- a/LedgerSMB/DBObject/Company.pm +++ b/LedgerSMB/DBObject/Company.pm @@ -4,14 +4,29 @@ package LedgerSMB::DBObject::Company; use base qw(LedgerSMB::DBObject); use strict; -sub save_credit { +sub set_entity_class { my $self = shift @_; + if (!defined $self->{entity_class}){ + $self->error("Entity ID Not Set and No Entity Class Defined!"); + } +} +sub save { + my $self = shift @_; + $self->set_entity_class(); my ($ref) = $self->exec_method(funcname => 'entity_credit_save'); $self->{entity_id} = $ref->{entity_credit_save}; $self->{dbh}->commit; } +sub save_location { + my $self = shift @_; + $self->{country_id} = $self->{country}; + $self->exec_method(funcname => 'company__location_save'); + + $self->{dbh}->commit; +} + sub get_metadata { my $self = shift @_; @@ -37,8 +52,15 @@ sub save_bank_account { $self->{dbh}->commit; } -sub get_company{ +sub get { my $self = shift @_; + + $self->set_entity_class() + my ($ref) = $self->exec_method(funcname => 'entity__retrieve_credit'); + $self->merge($ref); + + $self->{name} = $self->{legal_name}; + @{$self->{locations}} = $self->exec_method( funcname => 'company__list_locations'); diff --git a/LedgerSMB/DBObject/Customer.pm b/LedgerSMB/DBObject/Customer.pm index a9bcffc7..6c52a2d9 100644 --- a/LedgerSMB/DBObject/Customer.pm +++ b/LedgerSMB/DBObject/Customer.pm @@ -3,38 +3,16 @@ package LedgerSMB::DBObject::Customer; use base qw(LedgerSMB::DBObject::Company); use strict; -my $CUSTOMER_ENTITY_CLASS = 2; +my $ENTITY_CLASS = 2; -sub save { +sub set_entity_class { my $self = shift @_; - - $self->{entity_class} = $CUSTOMER_ENTITY_CLASS; - $self->save_credit(); # inherited from Company -} - - -sub save_location { - my $self = shift @_; - $self->{entity_class} = $CUSTOMER_ENTITY_CLASS; - $self->{country_id} = $self->{country}; - $self->exec_method(funcname => 'company__location_save'); - - $self->{dbh}->commit; + $self->{entity_class} = $ENTITY_CLASS; } + -sub get { - my $self = shift @_; - $self->{entity_class} = $CUSTOMER_ENTITY_CLASS; - my ($ref) = $self->exec_method(funcname => 'entity__retrieve_credit'); - $self->merge($ref); - - $self->{name} = $self->{legal_name}; - $self->get_company(); -} - - sub search { diff --git a/LedgerSMB/DBObject/Employee.pm b/LedgerSMB/DBObject/Employee.pm new file mode 100644 index 00000000..ddc453a6 --- /dev/null +++ b/LedgerSMB/DBObject/Employee.pm @@ -0,0 +1,13 @@ +package LedgerSMB::DBObject::Employee; + +use base qw(LedgerSMB::DBObject::Company); +use strict; + +my $ENTITY_CLASS = 3; + +sub set_entity_class { + my $self = shift @_; + $self->{entity_class} = $ENTITY_CLASS; +} + +1; diff --git a/LedgerSMB/DBObject/Vendor.pm b/LedgerSMB/DBObject/Vendor.pm index e2fa26d8..d6bb7bf1 100644 --- a/LedgerSMB/DBObject/Vendor.pm +++ b/LedgerSMB/DBObject/Vendor.pm @@ -5,38 +5,9 @@ use strict; my $ENTITY_CLASS = 1; -sub save { - my $self = shift @_; - - $self->{entity_class} = $ENTITY_CLASS; - $self->save_credit(); # inherited from Company -} - - -sub save_location { - my $self = shift @_; - $self->{entity_class} = $ENTITY_CLASS; - $self->{country_id} = $self->{country}; - $self->exec_method(funcname => 'company__location_save'); - - $self->{dbh}->commit; -} - - - -sub get { +sub set_entity_class { my $self = shift @_; $self->{entity_class} = $ENTITY_CLASS; - my ($ref) = $self->exec_method(funcname => 'entity__retrieve_credit'); - $self->merge($ref); - - $self->{name} = $self->{legal_name}; - $self->get_company(); } - - -sub search { - -} 1; |