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

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

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

use lib '/app/tools/rps/lib';
use RPS::LabelContract::LabelContract;
use RPS::LabelList;
use RPS::Payor::PayorList;
use RPS::RoyaltyRun::RoyaltyRunStatusList;
use RPS::CountryList;
use RPS::ServiceList;

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

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

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

	my $loadSubs = 1;
	if (defined $args{loadSubs}) {
	    $loadSubs = $args{loadSubs};
	}

	if($args{labelContractID})
	{
		$self->{LabelContract}
			= RPS::LabelContract::LabelContract->new(
				labelContractID => $args{labelContractID},
				loadSubs        => $loadSubs
			);

	}
	else
	{
		$self->{LabelContract} = RPS::LabelContract::LabelContract->new();
	}

	$self->{LabelList} = RPS::LabelList->new();
	$self->{PayorList} = RPS::Payor::PayorList->new();
	$self->{CountryList} = RPS::CountryList->new();
	$self->{ServiceList} = RPS::ServiceList->new(fileOnly => 1);
	

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

	return $self;
}

sub _propertyIsEditable
{
	my ($self, $propertyName) = @_;

	# The Product (and contained objects) can be edited.
	#
	# if ($propertyName eq 'Album')
	# {
		# return 1;
	# }
	if ($propertyName eq 'LabelContract')
	{
		return 1;
	}
	return 0;
}

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

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

	return $valid;
}

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

	# my $userID = Common::RSApp::GetActiveUserID();

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

sub labelContractID
{
	my ($self) = @_;
	return $self->{LabelContract}->LabelContractID();
}


###
1;#
###
