#------------------------------------------------------------
# Copyright (C) 2006 RoyaltyShare, Inc.   All Rights Reserved
#------------------------------------------------------------
package Support::JobQueue::Command::QueueAjax;

use lib '/app/tools/common/lib';
use RSApache::Response::XSLT;
use RSApache::Command::XMLCommand;
use RSApache::Message;
use Common::Client::ClientList;
use Common::Preference;

use lib '/app/tools/job/lib';
use Job::Queue;

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

use constant kTemplate => '/app/tools/support/templates/job_queue/getqueue.xsl';

sub cmd  { return "getqueue"; }
sub area { return "job_queue"; }

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

    my $hideChildren = $self->getParam('hideChildren');
    my $maxJobAge    = $self->getParam('age');
    my $host         = $self->getParam('host');
    my $class        = $self->getParam('jobclass');
    my $subclass     = $self->getParam('jobsubclass');
    my $client       = $self->getParam('client');

    $maxJobAge = 24 unless $maxJobAge;

    # Give any inherited methods the first crack at this.
    # (This checks for login and basic access permissions).
    #
    my $response = $self->SUPER::execute();
    return $response if $response;

    $self->{xml}{JobQueue} = Job::Queue->new(
        maxAge       => $maxJobAge,
        hostname     => $host,
        class        => $class,
        subclass     => $subclass,
        clientID     => $client,
        hideChildren => $hideChildren,
    );

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

    return $response;
}

1;
