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

use strict;
use warnings;
use lib '/app/tools/common/lib';
use Common::Assert;


use lib '/app/tools/rps/lib';
use Common::FormObject;
use RPS::Publisher::AffiliateList;
use RPS::Publisher::StatementTypeList;
use RPS::CountryList;
use RPS::StateList;


use base 'Common::FormObject';


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

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


    my $publisherID = $args{publisherID};

    $self->{Publisher} = $self->_publisherObj()->new(publisherID => $publisherID);
    $self->{AffiliateList} = RPS::Publisher::AffiliateList->new();
    $self->{CountryList} = RPS::AddressCountryList->new();
    $self->{StateList} = RPS::StateList->new();
    $self->{AgentList} = $self->_agentList()->new();
    $self->{AdminList} = $self->_adminList()->new();
    $self->{StatementTypeList} = RPS::Publisher::StatementTypeList->new();

	$self->{RoyaltyRunStatus} = $self->_getRoyaltyRunStatusList()
	    if( $publisherID );
	
	return $self;
}

sub getPublisherID
{
    my ($self) = @_;

    return $self->{Publisher}->PublisherID();
}


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


	$self->{Publisher}->save();
}

sub saveAsDefault
{
    my ($self) = @_;


	$self->{Publisher}->saveAsDefault();
}


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

	my $valid = $self->{Publisher}->validate();
	return $valid;
}



###
1;#
###
