#------------------------------------------------------------
# Copyright (C) 2006 RoyaltyShare, Inc.   All Rights Reserved
#------------------------------------------------------------
package Support::DTMV::Command::WaitingFiles;
use strict;
use warnings;

use lib '/app/tools/support/lib';
use base 'Support::Command::Submit';

use lib '/app/tools/bookpub/lib';
use lib '/app/tools/common/lib';
use RSApache::Response::XSLT;
use Support::DTMV::ClientCIStatusList;
use BookPub::Catalog::Import::Process::Fetcher::Factory;
use BookPub::Catalog::Import::Status;
use BookPub::DB::Item::CatalogImport;
use Common::Client;
use Common::RSApp;

sub cmd  { return 'waiting'; }
sub area { return 'dtmv'; }

use constant kTemplate => "/app/tools/support/templates/dtmv/waiting_files.xsl";

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

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

    my $clientID = $self->getParam('client');

    #    my $page = $self->getParam('page');
    #    $page = 1 unless $page;

    if ($clientID) {
        my $tempContext = Common::RSApp->new_temporary( clientID => $clientID );
        $self->{xml}{SelectedClient} = Common::Client::Current();

        # This is a bit of a hack... We need to instantiate a 'Fetcher' object to get the
        # list of files from the FTP site.
        # The Fetcher constructor _requires_ a CatalogImport record...  So we'll create a fake one.
        #
        my $fetchProcess = BookPub::Catalog::Import::Process::Fetcher::Factory::NewFetcher( importRecord => {} );
        my @waitingFiles = $fetchProcess->waitingFiles();
        $self->{xml}{WaitingFileList}{File} = \@waitingFiles;
        $self->{xml}{FileCount} = scalar @waitingFiles;

        # Display the status of the last import.
        #
        my $lastImportID = BookPub::DB::Item::CatalogImport->LastCatalogImportID();
        if ($lastImportID) {
            $self->{xml}{ImportStatus} = BookPub::Catalog::Import::Status->new( catalogImportID => $lastImportID );
        }
    }

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

    return $response;
}

1;
