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

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

use lib '/app/tools/rps/lib';
use RPS::LabelPayee::LabelPayeeAccount;
use RPS::LabelPayee::LabelPayee;
use RPS::Payor::Payor;
use RPS::RoyaltyRun::RoyaltyRunStatusList;

use Common::FormObject;
use base 'Common::FormObject';

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

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

    my $payeeID = $args{labelPayeeID};
    my $payorID = $args{payorID};

    unless ( $payeeID && $payorID ) {
        assert( 0, 'payee and payor are required' );
    }

    $self->{Account} = RPS::LabelPayee::LabelPayeeAccount->new( labelPayeeID => $payeeID, payorID => $payorID );

    $self->{LabelPayee} = RPS::LabelPayee::LabelPayee->new(
        labelPayeeID => $payeeID,
        loadSubs     => 0,
        readOnly     => 1,
    );

    $self->{Payor} = RPS::Payor::Payor->new(
        payorID  => $payorID,
        loadSubs => 0,
        readOnly => 1,
    );

    $self->{RoyaltyRunStatus} = RPS::RoyaltyRun::RoyaltyRunStatusList->new( label => 1 );
    return $self;
}

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

sub payeeID {
    my ($self) = @_;
    return $self->{LabelPayee}->LabelPayeeID();
}

###
1;    #
###
