#------------------------------------------------------------
# Copyright (C) 2006 RoyaltyShare, Inc.   All Rights Reserved
# $Id$
#------------------------------------------------------------
package RPS::DB::Item::FormDefaults;
use strict;
use warnings;
use lib '/app/tools/common/lib';
use Common::DB::Item;
use Common::DB::ItemCollection;

use base 'Common::DB::Item';

use constant kTable => 'form_defaults';
use constant kDB    => Common::DB::Item::kClientDB();

sub GetFormPropertyValues {
    my ( $class, $formName ) = @_;

    my $dbo = Common::RSApp::GetClientDB();

    my $sql = "SELECT * FROM form_defaults where form_name=" . $dbo->DBQuote($formName);

    return $class->GetAll($sql);
}

sub ReplaceFormPropertyValues {
    my ( $class, $formName, $newValues ) = @_;

    # First, delete the old values from the table.
    #
    my $dbo = Common::RSApp::GetClientDB();
    my $sql = "delete FROM form_defaults where form_name=" . $dbo->DBQuote($formName);
    $dbo->DoCmd($sql);

    # Now, insert the new values.
    foreach my $propName ( keys %$newValues ) {
        my $propValue = $newValues->{$propName};
        next unless defined $propValue;
        my $newItem = RPS::DB::Item::FormDefaults->Create(
            form_name      => $formName,
            property_name  => $propName,
            property_value => $propValue,
        );

        $newItem->save();
    }

}

###
1;    #
###

