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

use strict;
use warnings;

use lib '/app/tools/rps/lib';
use RPS::ArtistContract::ArtistContract;
use RPS::LabelContract::LabelContract;

use Common::FormObject;
use RPS::CommandLog;
#use base 'Common::XMLObject';
use base 'RPS::CommandLog';

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

    # First call the inherited method to get the log item
    #
    my $logItem = $self->SUPER::_createLogItemFromDBItem($dbItem);

    # Now we can put stuff inside the log item
    #
    if ('RPS::ArtistContract::Command::Show' eq $logItem->CommandName())
    {
			my $obj = RPS::ArtistContract::ArtistContract->new(artistContractID=> $logItem->CommandID(), loadSubs => 0);
    	$logItem->{ArtistContract} = $obj;
    }
    elsif('RPS::LabelContract::Command::Show' eq $logItem->CommandName())
    {
			my $obj = RPS::LabelContract::LabelContract->new(labelContractID=> $logItem->CommandID(), loadSubs => 1);
    	$logItem->{LabelContract} = $obj;
    }
    else
    {
        assert(0, "Unexpected log item encountered: " . Dumper($logItem));
    }

    return $logItem;
}


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


    $args{command} = [ 'RPS::ArtistContract::Command::Show', 'RPS::LabelContract::Command::Show' ];
    $args{most_recent} = 1;

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

}


1;

