summaryrefslogtreecommitdiff
path: root/LedgerSMB/DBObject/Company.pm
diff options
context:
space:
mode:
Diffstat (limited to 'LedgerSMB/DBObject/Company.pm')
-rw-r--r--LedgerSMB/DBObject/Company.pm26
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');