#------------------------------------------------------------
# Copyright (C) 2006 RoyaltyShare, Inc.   All Rights Reserved
# $Id$
#------------------------------------------------------------
package RPS::ArtistContract::ContractTermSource;

use strict;
use warnings;
use Carp;
use Data::Dumper;

use lib '/app/tools/rps/lib';
use RPS::DB::Item::ContractTermSource;

use Common::FormObject;
#use base 'Common::FormObject';
use base 'Common::XMLObject';


sub _init
{
    my ($self, %args) = @_;

    $self->SUPER::_init(%args);

    my %properties;

    if ($args{_dbItem})
    {
        $self->_propertiesFromDBItem(\%properties, $args{_dbItem});
    }
    elsif ($args{contractTermSourceID})
    {
        $self->_propertiesFromDB(\%properties, $args{contractTermSourceID});
    }
    else
    {
        $self->_propertiesFromDefaults(\%properties);
    }


    $self->_initProperties(\%properties);
    $self->_initSubs(\%properties);

    return $self;
}


sub _propertiesFromDB
{
    my ($self, $hrProperties, $id) = @_;

    my $dbItem = RPS::DB::Item::ContractTermSource->Lookup(contract_term_source_id => $id);
    return $self->_propertiesFromDBItem($hrProperties, $dbItem);
}


sub _propertiesFromDBItem
{
	my ($self, $hrProperties, $dbItem) = @_;

    $hrProperties->{contract_term_source_id}	= $dbItem->contract_term_source_id;
    $hrProperties->{name}				= $dbItem->name;
    $hrProperties->{parent_contract_term_source_id}	= $dbItem->parent_contract_term_source_id;
}


sub _initProperties
{
    my ($self, $props) = @_;

    $self->{ContractTermSourceID}	= $props->{contract_term_source_id};
    $self->{Name}		    = $props->{name};
    $self->{ParentContractTermSourceID}	= $props->{parent_contract_term_source_id};
}


sub _initSubs
{
    my ($self, $hrProperties) = @_;
}

sub _propertiesFromDefaults
{
    my ($self, $hrProperties) = @_;
}

sub validate
{
    my ($self) = @_;
}

sub save
{
    my ($self) = @_;
}

sub delete
{
	my $self = shift;
}


###
1;#
###
