diff options
Diffstat (limited to 'LedgerSMB/DBObject/Company.pm')
-rw-r--r-- | LedgerSMB/DBObject/Company.pm | 26 |
1 files changed, 24 insertions, 2 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'); |