#------------------------------------------------------------
# Copyright (C) 2006 RoyaltyShare, Inc.   All Rights Reserved
#------------------------------------------------------------
package RPS::Catalog::AlbumContractList;

use strict;
use warnings;

use lib '/app/tools/rps/lib';
use RPS::Catalog::AlbumContract;
use RPS::Catalog::AlbumContractWithAlbum;
use RPS::Catalog::AlbumContractWithArtistContract;

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


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

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

	my $albumID = $args{albumID};
	my $contractID = $args{artistContractID};

	my $collection;
    $self->{AlbumContract} = [];

	if($albumID)
	{
		$collection = RPS::DB::Item::AlbumContract->GetByAlbumID($albumID);
#		$extraArgs{showContract} = 1;
	}
	elsif($contractID)
	{
		$collection = RPS::DB::Item::AlbumContract->GetByContractID($contractID);
#		$extraArgs{showAlbum} = 1;
	}

	while ($collection->hasNext())
	{
		my $obj = $collection->next();

		push @{$self->{AlbumContract}}, $self->_createObject($obj);
	}
    return $self;
}


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

    return RPS::Catalog::AlbumContract->new(_dbItem => $dbItem);
}

sub _listProperties
{
    return
    {
        AlbumContract => 1
    };
}


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

	return $self->{AlbumContract};
}


1;

