#------------------------------------------------------------
# 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;

