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

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

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

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

sub cmd  { return 'mark_distribute'; }
sub area { return 'cm'; }

use constant kTemplate => "/app/tools/support/templates/cm/mark_for_distribution.xsl";

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

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

    my $form = new Support::Service::DistributionServiceList();
    $self->{xml}{Form}{Services} = $form;

    if ( $self->isSubmit() ) {
        $self->markForDelivery($form);
    }

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

sub markForDelivery {
    my $self = shift;
    my $form = $self->{xml}{Form};
    my $service_id;
    my @redeliver;
    my @deliver;

    my @services = $self->{xml}{Form}->{Services}->Services;

    foreach my $service (@services) {
        $service_id = $service->ServiceID();

        push( @deliver, $service_id )
          if ( $self->getParam("Deliver_Service_$service_id") );

        push( @redeliver, $service_id )
          if ( $self->getParam("Redeliver_Service_$service_id") );
    }

    $form->{Deliver}->{ServiceID}   = \@deliver;
    $form->{Redeliver}->{ServiceID} = \@redeliver;
}

1;
