diff options
author | einhverfr <einhverfr@4979c152-3d1c-0410-bac9-87ea11338e46> | 2007-11-25 08:12:12 +0000 |
---|---|---|
committer | einhverfr <einhverfr@4979c152-3d1c-0410-bac9-87ea11338e46> | 2007-11-25 08:12:12 +0000 |
commit | afc48e01665120367736ffdbe33ca52252a42704 (patch) | |
tree | e241d4ef077065fe92d3258dfe606659b9ad81da /LedgerSMB | |
parent | 7c9b5fcafe0769499fc7fc3b9bea1365ed82d8d4 (diff) |
Contact management postfactoring
git-svn-id: https://ledger-smb.svn.sourceforge.net/svnroot/ledger-smb/trunk@1899 4979c152-3d1c-0410-bac9-87ea11338e46
Diffstat (limited to 'LedgerSMB')
-rw-r--r-- | LedgerSMB/DBObject/Company.pm | 55 | ||||
-rw-r--r-- | LedgerSMB/DBObject/Customer.pm | 50 | ||||
-rw-r--r-- | LedgerSMB/Entity.pm | 2 |
3 files changed, 62 insertions, 45 deletions
diff --git a/LedgerSMB/DBObject/Company.pm b/LedgerSMB/DBObject/Company.pm new file mode 100644 index 00000000..30023c92 --- /dev/null +++ b/LedgerSMB/DBObject/Company.pm @@ -0,0 +1,55 @@ + +package LedgerSMB::DBObject::Company; + +use base qw(LedgerSMB::DBObject); +use strict; + +sub save_credit { + my $self = shift @_; + + my ($ref) = $self->exec_method(funcname => 'entity_credit_save'); + $self->{entity_id} = $ref->{entity_credit_save}; + $self->{dbh}->commit; +} + +sub get_metadata { + my $self = shift @_; + + @{$self->{location_class_list}} = + $self->exec_method(funcname => 'location_list_class'); + + @{$self->{country_list}} = + $self->exec_method(funcname => 'location_list_country'); + + @{$self->{contact_class_list}} = + $self->exec_method(funcname => 'entity_list_contact_class'); +} + +sub save_contact { + my ($self) = @_; + $self->exec_method(funcname => 'company__save_contact'); + $self->{dbh}->commit; +} + +sub save_bank_account { + my $self = shift @_; + $self->exec_method(funcname => 'entity__save_bank_account'); + $self->{dbh}->commit; +} + +sub get_company{ + my $self = shift @_; + @{$self->{locations}} = $self->exec_method( + funcname => 'company__list_locations'); + + @{$self->{contacts}} = $self->exec_method( + funcname => 'company__list_contacts'); + + @{$self->{bank_account}} = $self->exec_method( + funcname => 'company__list_bank_account'); + + @{$self->{notes}} = $self->exec_method( + funcname => 'company__list_notes'); +}; + +1; diff --git a/LedgerSMB/DBObject/Customer.pm b/LedgerSMB/DBObject/Customer.pm index 3805762f..a9bcffc7 100644 --- a/LedgerSMB/DBObject/Customer.pm +++ b/LedgerSMB/DBObject/Customer.pm @@ -1,8 +1,6 @@ package LedgerSMB::DBObject::Customer; -use base qw(LedgerSMB::DBObject); -use LedgerSMB::DBObject; -use LedgerSMB::Entity; +use base qw(LedgerSMB::DBObject::Company); use strict; my $CUSTOMER_ENTITY_CLASS = 2; @@ -10,66 +8,30 @@ my $CUSTOMER_ENTITY_CLASS = 2; sub save { my $self = shift @_; - # This saves both the entity and the credit account. -- CT $self->{entity_class} = $CUSTOMER_ENTITY_CLASS; - - my ($ref) = $self->exec_method(funcname => 'entity_credit_save'); - $self->{entity_id} = $ref->{entity_credit_save}; - $self->{dbh}->commit; + $self->save_credit(); # inherited from Company } -sub get_metadata { - my $self = shift @_; - - @{$self->{location_class_list}} = - $self->exec_method(funcname => 'location_list_class'); - - @{$self->{country_list}} = - $self->exec_method(funcname => 'location_list_country'); - - @{$self->{contact_class_list}} = - $self->exec_method(funcname => 'entity_list_contact_class'); -} sub save_location { my $self = shift @_; $self->{entity_class} = $CUSTOMER_ENTITY_CLASS; $self->{country_id} = $self->{country}; - $self->exec_method(funcname => 'customer_location_save'); + $self->exec_method(funcname => 'company__location_save'); $self->{dbh}->commit; } -sub save_contact { - my ($self) = @_; - $self->exec_method(funcname => 'company__save_contact'); - $self->{dbh}->commit; -} -sub save_bank_account { - my $self = shift @_; - $self->exec_method(funcname => 'entity__save_bank_account'); - $self->{dbh}->commit; -} sub get { my $self = shift @_; - my ($ref) = $self->exec_method(funcname => 'customer__retrieve'); + $self->{entity_class} = $CUSTOMER_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'); - - @{$self->{contacts}} = $self->exec_method( - funcname => 'company__list_contacts'); - - @{$self->{bank_account}} = $self->exec_method( - funcname => 'company__list_bank_account'); - - @{$self->{notes}} = $self->exec_method( - funcname => 'company__list_notes'); + $self->get_company(); } diff --git a/LedgerSMB/Entity.pm b/LedgerSMB/Entity.pm index 4c01b804..07b84a62 100644 --- a/LedgerSMB/Entity.pm +++ b/LedgerSMB/Entity.pm @@ -40,4 +40,4 @@ sub search { ] ) }; } -1;
\ No newline at end of file +1; |