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

use lib '/app/tools/common/lib';
use Common::FormObject;

use lib '/app/tools/rps/lib';
use RPS::RoyaltyRun::Status;
use RPS::LabelRoyalty::LabelRoyaltyRun;
use RPS::Statement::Label::StatementListWithPayments;
use RPS::Payor::Payor;

use base 'Common::FormObject';


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

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

    $self->{LabelRoyaltyStatementList} = RPS::Statement::Label::StatementListWithPayments->new
    (
        labelRoyaltyRunID  => $args{runID},
        payorID             => $args{payorID},
        filterBy            => $args{filterBy},
    );

    $self->{Payor} = RPS::Payor::Payor->new(payorID => $args{payorID});
    $self->{LabelRoyaltyRun} = RPS::LabelRoyalty::LabelRoyaltyRun->new
    (
        labelRoyaltyRunID => $args{runID},
        loadSubs => 0,
    );
    
    $self->{RoyaltyRunStatus} = new RPS::RoyaltyRun::RoyaltyRunStatusList( label => 1, payorID => $args{payorID} );    

    die "ERROR - cannot edit payments for uncommitted runs" 
     unless (RPS::RoyaltyRun::Status::kCommitted == $self->{LabelRoyaltyRun}->Status());

    return $self;
}


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

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


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

    $self->{LabelRoyaltyStatementList}->clearPayments();
}


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

    $self->{LabelRoyaltyStatementList}->setPaymentsToMinPayment();
}

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

    $self->{LabelRoyaltyStatementList}->setPaymentsToFullPayment();
}


###
1;#
###

