#------------------------------------------------------------
# Copyright (C) 2006 RoyaltyShare, Inc.   All Rights Reserved
# $Id$
#------------------------------------------------------------
package RPS::Statement::Mechanical::StatementDisplay;

use strict;
use warnings;
use lib '/app/tools/common/lib';
use Common::Assert;
use Data::Dumper;

use lib '/app/tools/rps/lib';
use RPS::Product::TypeList;
use RPS::Region::RegionList;

use Common::FormObject;

use base 'Common::FormObject';

sub _init {
    my ( $self, %args ) = @_;

    $self->SUPER::_init(%args);

    $self->{MechanicalStatement} = $self->_getStatement(%args);
    my $royaltyRunID = $self->{MechanicalStatement}->MechanicalRunID();
    $self->{MechanicalRun} = $self->_getRun($royaltyRunID);

    $self->{TypeList} = RPS::Product::TypeList->new( includeTrackProducts => 1 );
    $self->{RegionList} = RPS::Region::RegionList->new();

    return $self;
}

sub _getStatement {
    my ( $self, %args ) = @_;
    assert( 0, "You MUST override _getStatement" );
}

sub _getRun {
    my ( $self, $royaltyRunID ) = @_;
    assert( 0, "You MUST override _getStatement" );
}

sub _propertyIsEditable {
    my ( $self, $propertyName ) = @_;

    # Nothing on this form is editable.
    #
    return 0;
}

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

    # Don't call this!
    #
    assert(0);
    return 0;
}

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

    # Don't call this!
    #
    assert(0);

}

###
1;    #
###

