X-Git-Url: http://git.freeside.biz/gitweb/?a=blobdiff_plain;f=FS%2FFS%2Fpart_export%2Facct_http.pm;h=b84e008b9df167b1bff5666c41d91d5e58ff86c7;hb=38e34bbc53a4222c7507e95914e1364a5a74623f;hp=d6b7d38a09dc153ff582ebf84000a70433061f70;hpb=1db88f014fc9206bf00ce74d04d9692bdae29abc;p=freeside.git diff --git a/FS/FS/part_export/acct_http.pm b/FS/FS/part_export/acct_http.pm index d6b7d38a0..b84e008b9 100644 --- a/FS/FS/part_export/acct_http.pm +++ b/FS/FS/part_export/acct_http.pm @@ -6,35 +6,79 @@ use Tie::IxHash; @ISA = qw( FS::part_export::http ); -tie my %options, 'Tie::IxHash', %FS::part_export::http::options; - -$options{'insert_data'}->{'default'} = join("\n", - "action 'add'", - "username \$svc_x->username", - "password \$svc_x->_password", - "prismid \$cust_main->agent_custid ? \$cust_main->agent_custid : \$cust_main->custnum ", - "name \$cust_main->first.' '.\$cust_main->last", -); -$options{'delete_data'}->{'default'} = join("\n", - "action 'remove'", - "username \$svc_x->username", -); -$options{'replace_data'}->{'default'} = join("\n", - "action 'update'", - "username \$old->username", - "password \$new->_password", -); +tie %options, 'Tie::IxHash', + 'method' => { label =>'Method', + type =>'select', + #options =>[qw(POST GET)], + options =>[qw(POST)], + default =>'POST' }, + 'url' => { label => 'URL', default => 'http://', }, + 'ssl_no_verify' => { label => 'Skip SSL certificate validation', + type => 'checkbox', + }, + 'insert_data' => { + label => 'Insert data', + type => 'textarea', + default => join("\n", + "action 'add'", + "username \$svc_x->username", + "password \$svc_x->_password", + "prismid \$cust_main->agent_custid ? \$cust_main->agent_custid : \$cust_main->custnum ", + "name \$cust_main->first.' '.\$cust_main->last", + ), + }, + 'delete_data' => { + label => 'Delete data', + type => 'textarea', + default => join("\n", + "action 'remove'", + "username \$svc_x->username", + ), + }, + 'replace_data' => { + label => 'Replace data', + type => 'textarea', + default => join("\n", + "action 'update'", + "username \$old->username", + "password \$new->_password", + ), + }, + 'suspend_data' => { + label => 'Suspend data', + type => 'textarea', + default => join("\n", + ), + }, + 'unsuspend_data' => { + label => 'Unsuspend data', + type => 'textarea', + default => join("\n", + ), + }, + 'success_regexp' => { + label => 'Success Regexp', + default => '', + }, +; %info = ( 'svc' => 'svc_acct', 'desc' => 'Send an HTTP or HTTPS GET or POST request, for accounts.', 'options' => \%options, + 'no_machine' => 1, 'notes' => <<'END' Send an HTTP or HTTPS GET or POST to the specified URL on account addition, -modification and deletion. For HTTPS support, -Crypt::SSLeay -or IO::Socket::SSL -is required. +modification and deletion. +

Each "Data" option takes a list of name value pairs on successive +lines. +

+If "Success Regexp" is specified, the response from the server will be +tested against it to determine if the export succeeded.

END );