From 6b3fbd9affff6c0876a59a7e8266900143814b25 Mon Sep 17 00:00:00 2001 From: Colin Kuskie Date: Fri, 24 Sep 2010 11:22:10 -0700 Subject: [PATCH] Convert PayDriver definition to Moose. --- lib/WebGUI/Shop/PayDriver.pm | 71 ++++++++++++++---------------------- 1 file changed, 27 insertions(+), 44 deletions(-) diff --git a/lib/WebGUI/Shop/PayDriver.pm b/lib/WebGUI/Shop/PayDriver.pm index 7754a4993..b1cf61d96 100644 --- a/lib/WebGUI/Shop/PayDriver.pm +++ b/lib/WebGUI/Shop/PayDriver.pm @@ -31,7 +31,7 @@ use Clone qw/clone/; use Scalar::Util qw/blessed/; use Moose; -use WebGUI::Definition; +use WebGUI::Definition::Shop; =head1 NAME @@ -53,10 +53,32 @@ These subroutines are available from this package: =cut -readonly session => my %session; -readonly className => my %className; -readonly paymentGatewayId => my %paymentGatewayId; -readonly options => my %options; +define tableName => 'paymentGateway'; +define pluginName => 'Payment Driver'; + +property label => ( + fieldType => 'text', + label => ['label', 'PayDriver'], + hoverHelp => ['label help', 'PayDriver'], + default => "Credit Card", + ); +property enabled => ( + fieldType => 'yesNo', + label => ['enabled', 'PayDriver'], + hoverHelp => ['enabled help', 'PayDriver'], + default => 1, + ); +property groupToUse => ( + fieldType => 'group', + label => ['who can use', 'PayDriver'], + hoverHelp => ['who can use help', 'PayDriver'], + default => 7, + ); + +has [ qw/session paymentGatewayId/ ] => ( + is => ro, + required => 1, +); #------------------------------------------------------------------- @@ -239,45 +261,6 @@ the user. =cut -sub definition { - my $class = shift; - my $session = shift; - WebGUI::Error::InvalidParam->throw(error => q{Must provide a session variable}) - unless ref $session eq 'WebGUI::Session'; - my $definition = shift || []; - my $i18n = WebGUI::International->new($session, 'PayDriver'); - - tie my %fields, 'Tie::IxHash'; - %fields = ( - label => { - fieldType => 'text', - label => $i18n->get('label'), - hoverHelp => $i18n->get('label help'), - defaultValue => "Credit Card", - }, - enabled => { - fieldType => 'yesNo', - label => $i18n->get('enabled'), - hoverHelp => $i18n->get('enabled help'), - defaultValue => 1, - }, - groupToUse => { - fieldType => 'group', - label => $i18n->get('who can use'), - hoverHelp => $i18n->get('who can use help'), - defaultValue => 7, - }, - ); - - my %properties = ( - name => 'Payment Driver', - properties => \%fields, - ); - push @{ $definition }, \%properties; - - return $definition; -} - #------------------------------------------------------------------- =head2 delete ( )