#------------------------------------------------------------
# Copyright (C) 2006 RoyaltyShare, Inc.   All Rights Reserved
# $Id$
#------------------------------------------------------------
package RPS::License::Command::BasePreEdit;
use strict;
use warnings;

use lib '/app/tools/rps/lib';
use RPS::Catalog::AlbumSimple;
use RPS::DB::Item::AlbumContract;
use RPS::Track::TrackSimple;

use lib '/app/tools/common/lib';
use RSApache::Response::XSLT;
use RSApache::Response::Redirect;
use Common::FormObject;

use RPS::Command;
use base 'RPS::Command';

sub cmd  { return "preedit"; }

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

	my $response = $self->SUPER::execute();
	return $response if $response;

	my $trackID = $self->getParam('TrackID');
	my $trackObj = RPS::Track::TrackSimple->new(trackID => $trackID, loadSubs => 0);

	if(defined $trackObj)
	{
		$self->{xml}{Track} = $trackObj;

		my $albumID = $trackObj->AlbumID();
		my $albumObj = RPS::Catalog::AlbumSimple->new(albumID => $albumID, loadSubs => 0);
		$self->{xml}{Album} = $albumObj;

		my $coll = RPS::DB::Item::AlbumContract->GetByAlbumID($albumID);
		my $ccompCount = 0;
		while($coll->hasNext())
		{
			my $dbItem = $coll->next();
			my $dbField = $self->_ccDBtest();
			if($dbItem->$dbField())
			{
				$ccompCount++;

				# we need to get the controlled comp id
				#
				my $ccomp = RPS::DB::Item::ControlledComposition->GetByContractID($dbItem->artist_contract_id);
				$self->{xml}{ControlledCompositionID} = $ccomp->controlled_composition_id;

				last;
			}
		}
		$self->{xml}{HasControlledComposition} = $ccompCount;
	}

	$response = RSApache::Response::XSLT->new($self->{xml}, $self->_template());
	return $response;
}


1;
