#------------------------------------------------------------
# Copyright (C) 2006 RoyaltyShare, Inc.   All Rights Reserved
#------------------------------------------------------------
package RPS::Report::TracksWithoutLicenses;
use strict;
use warnings;

use lib '/app/tools/common/lib';
use Common::FormObject;
use Common::Assert;
use Common::Client;
use Common::Locale;

use lib '/app/tools/rps/lib';
use RPS::DB::Item::ReportQueries;
use RPS::DB::Item::ReportQueries::US::TrackWithoutLicenses;

use base 'RPS::Report';

sub _baseXMLName { 'Track' }

sub _getDBItem() {
    my $self = shift;
    return RPS::DB::Item::ReportQueries::US::TrackWithoutLicenses->GetTracksWithoutLicenses();
}

sub _reportColumns {
    my $self = shift;

    return (
        "LabelName"       => "Label",
        "CatalogNumber"   => "Catalog #",
        "AlbumTitle"      => "Album Title",
        "TrackArtistName" => "Artist",
        "TrackNumber"     => "Track #",
        "TrackTitle"      => "Track Name",
        "ProductType"     => "Product Type",
        "RegionName"      => "Region",
        "ShareUnlicensed" => "% Unlicensed"
    );
}

sub _fillInHash {
    my ( $self, $track ) = @_;

    my %trackData;

    $trackData{LabelName}       = $track->label_name;
    $trackData{CatalogNumber}   = $track->catalog_number;
    $trackData{AlbumTitle}      = $track->album_title;
    $trackData{TrackTitle}      = $track->track_title;
    $trackData{TrackArtistName} = $track->artist_name;
    $trackData{TrackNumber}     = $track->track_order;
    $trackData{TrackID}         = $track->track_id;
    $trackData{AlbumID}         = $track->album_id;
    $trackData{ProductTypeID}   = $track->product_type_id;
    $trackData{RegionName}      = $track->region_name;
    $trackData{ShareUnlicensed} = Common::Client::Current()->Locale()->formatNumber( 100 - $track->share );

    return \%trackData;
}

###
1;    #
###
