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

use lib '/app/tools/support/lib';
use Support::Reports::FailedDistribution;

use base 'Support::Command::Submit';

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

use lib '/app/tools/distribution/lib';
use Support::Service::DistributionServiceList;

sub cmd  { return 'search_delivery_failures'; }
sub area { return 'reports'; }

use constant kTemplate => "/app/tools/support/templates/reports/delivery_failures.xsl";

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

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

    my $client  = $self->getParam('client');
    my $service = $self->getParam('service');
    my $page    = $self->getParam('page');
    my $limit   = $self->getParam('limit') || 25;
    my $query   = $self->getParam('query');

    my $report = new Support::Reports::FailedDistribution(
        clientID => $client,
        limit    => $limit,
        page     => $page
    );

    $report->run( query => $query, service_id => $service ) if ( $self->isSubmit() );

    $self->{xml}{Services}   = new Support::Service::DistributionServiceList;
    $self->{xml}{Collection} = $report;

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

1;
