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

use strict;
use warnings;
use Carp;

use lib '/app/tools/common/lib';
use Common::Assert;


use lib '/app/tools/rps/lib';
use Common::FormObject;
use RPS::DB::Item::ProductStatus;


use base 'Common::FormObject';

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

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

    my %properties;
	if ($args{_dbItem})
	{
		$self->_propertiesFromDBItem(\%properties, $args{_dbItem});
	}
	elsif ($args{productStatusID})
	{
		$self->_propertiesFromDB(\%properties, $args{productStatusID});
	}
	else
	{
		$self->_propertiesFromDefaults(\%properties);
	}

    $self->_initProperties(\%properties);
    return $self;
}


sub _propertiesFromDB
{
	my ($self, $hrProperties, $id) = @_;

	my $dbItem = RPS::DB::Item::ProductStatus->Lookup(product_status_id => $id);
	$self->_propertiesFromDBItem($hrProperties, $dbItem);
}


sub _propertiesFromDBItem
{
	my ($self, $hrProperties, $dbItem) = @_;

    $hrProperties->{product_status_id}  = $dbItem->product_status_id;
    $hrProperties->{description}        = $dbItem->description;
}


sub _initProperties
{
	my ($self, $props) = @_;

    $self->{ProductStatusID} = Common::FormObject::Scalar->new(value => $props->{product_status_id}, readOnly => 1);
    $self->{Description} = Common::FormObject::Scalar::String->new(value => $props->{description}, readOnly => 1);

	return $self;
}


sub _initWithDefaults
{
	my ($self, $hrProperties) = @_;
}




###
1;#
###


