X-Git-Url: http://git.freeside.biz/gitweb/?a=blobdiff_plain;f=httemplate%2Fedit%2Fpayment_gateway.html;h=dfe52f109b49fa490b5a1c0b424f6a8c433a8bf9;hb=a72a10f754f7465121d6137bb3dcee0a21ea6443;hp=837d0c408183f149d2aec9c15b46bf247e3c6d66;hpb=673b9a458d9138523026963df6fa3b4683e09bae;p=freeside.git diff --git a/httemplate/edit/payment_gateway.html b/httemplate/edit/payment_gateway.html index 837d0c408..dfe52f109 100644 --- a/httemplate/edit/payment_gateway.html +++ b/httemplate/edit/payment_gateway.html @@ -1,108 +1,162 @@ -<% - -my $payment_gateway; -if ( $cgi->param('error') ) { - $payment_gateway = new FS::payment_gateway ( { - map { $_, scalar($cgi->param($_)) } fields('payment_gateway') - } ); -} elsif ( $cgi->keywords ) { - my($query) = $cgi->keywords; - $query =~ /^(\d+)$/; - $payment_gateway = qsearchs( 'payment_gateway', { 'gatewaynum' => $1 } ); -} else { #adding - $payment_gateway = new FS::payment_gateway {}; -} -my $action = $payment_gateway->gatewaynum ? 'Edit' : 'Add'; -#my $hashref = $payment_gateway->hashref; - +<% include( 'elements/edit.html', + 'table' => 'payment_gateway', + 'name_singular' => 'Payment gateway', + 'viewall_dir' => 'browse', + 'fields' => $fields, + 'field_callback' => $field_callback, + 'labels' => { + 'gatewaynum' => 'Gateway', + 'gateway_namespace' => 'Gateway type', + 'gateway_module' => 'Gateway', + 'gateway_username' => 'Username', + 'gateway_password' => 'Password', + 'gateway_action' => 'Action', + 'gateway_options' => 'Options (Name/Value pairs,
one element per line)', + 'gateway_callback_url' => 'Callback URL', + }, + ) %> -<%= header("$action Payment gateway", menubar( - 'Main Menu' => $p, - 'View all payment gateways' => $p. 'browse/payment_gateway.html', -)) %> -<% if ( $cgi->param('error') ) { %> -Error: <%= $cgi->param('error') %> -<% } %> + -
- -Gateway #<%= $payment_gateway->gatewaynum || "(NEW)" %> +<%init> -<%= ntable('#cccccc', 2, '') %> +die "access denied" + unless $FS::CurrentUser::CurrentUser->access_right('Configuration'); - - Gateway: - - - +my %modules = ( + '2CheckOut' => 'Business::OnlinePayment', + 'AuthorizeNet' => 'Business::OnlinePayment', + 'BankOfAmerica' => 'Business::OnlinePayment', #deprecated? + 'Beanstream' => 'Business::OnlinePayment', + 'Capstone' => 'Business::OnlinePayment', + 'Cardstream' => 'Business::OnlinePayment', + 'CashCow' => 'Business::OnlinePayment', + 'CyberSource' => 'Business::OnlinePayment', + 'eSec' => 'Business::OnlinePayment', + 'eSelectPlus' => 'Business::OnlinePayment', + 'eWayShared' => 'Business::OnlineThirdPartyPayment', + 'ElavonVirtualMerchant' => 'Business::OnlinePayment', + 'Exact' => 'Business::OnlinePayment', + 'iAuthorizer' => 'Business::OnlinePayment', + 'Ingotz' => 'Business::OnlinePayment', + 'InternetSecure' => 'Business::OnlinePayment', + 'Interswitchng' => 'Business::OnlineThirdPartyPayment', + 'IPaymentTPG' => 'Business::OnlinePayment', + 'IPPay' => 'Business::OnlinePayment', + 'Iridium' => 'Business::OnlinePayment', + 'Jettis' => 'Business::OnlinePayment', + 'Jety' => 'Business::OnlinePayment', + 'LinkPoint' => 'Business::OnlinePayment', + 'MerchantCommerce' => 'Business::OnlinePayment', + 'Network1Financial' => 'Business::OnlinePayment', + 'OCV' => 'Business::OnlinePayment', + 'OpenECHO' => 'Business::OnlinePayment', + 'PayConnect' => 'Business::OnlinePayment', + 'PayflowPro' => 'Business::OnlinePayment', + 'PaymenTech' => 'Business::OnlinePayment', + 'PaymentsGateway' => 'Business::OnlinePayment', + 'PayPal' => 'Business::OnlinePayment', + #'PaySystems' => 'Business::OnlinePayment', + 'PlugnPay' => 'Business::OnlinePayment', + 'PPIPayMover' => 'Business::OnlinePayment', + 'Protx' => 'Business::OnlinePayment', #now SagePay + 'PXPost' => 'Business::OnlinePayment', + 'SagePay' => 'Business::OnlinePayment', + 'SecureHostingUPG' => 'Business::OnlinePayment', + 'Skipjack' => 'Business::OnlinePayment', + 'StGeorge' => 'Business::OnlinePayment', + 'SurePay' => 'Business::OnlinePayment', + 'TCLink' => 'Business::OnlinePayment', + 'TransactionCentral' => 'Business::OnlinePayment', + 'TransFirsteLink' => 'Business::OnlinePayment', + 'Vanco' => 'Business::OnlinePayment', + 'viaKLIX' => 'Business::OnlinePayment', + 'VirtualNet' => 'Business::OnlinePayment', + 'WesternACH' => 'Business::OnlinePayment', + 'WorldPay' => 'Business::OnlinePayment', - - Username: - - + 'KeyBank' => 'Business::BatchPayment', + 'Paymentech' => 'Business::BatchPayment', + 'TD_EFT' => 'Business::BatchPayment', +); - - Password: - - - - - Action: - - - - +my %modules_for_namespace; +for (keys %modules) { + $modules_for_namespace{$modules{$_}} ||= []; + push @{ $modules_for_namespace{$modules{$_}} }, $_; +} - - Options: - - +my @actions = ( + 'Normal Authorization', + 'Authorization Only', + 'Authorization Only,Post Authorization', + ); - +my $fields = [ + { + field => 'gateway_namespace', + type => 'select', + options => [ qw( + Business::OnlinePayment + Business::BatchPayment + Business::OnlineThirdPartyPayment + ) ], + labels => { + 'Business::OnlinePayment' => 'Direct', + 'Business::BatchPayment' => 'Batch', + 'Business::OnlineThirdPartyPayment' => 'Hosted', + }, + onchange => 'changeNamespace', + }, + { + field => 'gateway_module', + type => 'select', + options => [ sort { lc($a) cmp lc ($b) } keys %modules ], + }, + 'gateway_username', + 'gateway_password', + { + field => 'gateway_action', + type => 'select', + options => \@actions, + }, + { + field => 'gateway_callback_url', + type => 'text', + size => 40, + }, + { + field => 'gateway_options', + type => 'textarea', + rows => '12', + cols => '40', + curr_value_callback => sub { my($cgi, $object, $fref) = @_; + join("\r", $object->options ); + }, + }, + ]; -
"> -
- - +my $field_callback = sub { + my ($cgi, $object, $field_hashref ) = @_; + if ($object->gatewaynum) { + if ( $field_hashref->{field} =~ /gateway_(module|namespace)/ ) { + $field_hashref->{type} = 'fixed'; + } + } +}; +