X-Git-Url: http://git.freeside.biz/gitweb/?a=blobdiff_plain;f=FS%2FFS%2Fpart_export%2Fshellcommands.pm;h=0b9e475dbd8a2a961ee65622ae72e36814ab9614;hb=8a0204b4a129a3c26dcca18ba401b2de26d22d2b;hp=7baf2dabe39f0a3a1f570c096d95ab32bfd28ae4;hpb=46c05dd754895d3d9511763998f9ef505c8d2bd7;p=freeside.git diff --git a/FS/FS/part_export/shellcommands.pm b/FS/FS/part_export/shellcommands.pm index 7baf2dabe..0b9e475db 100644 --- a/FS/FS/part_export/shellcommands.pm +++ b/FS/FS/part_export/shellcommands.pm @@ -192,7 +192,8 @@ old_ for replace operations):
  • $reasontypetext (when suspending)
  • $pkgnum
  • $custnum -
  • All other fields in svc_acct are also available. +
  • All other fields in svc_acct are also available. +
  • The following fields from cust_main are also available (except during replace): company, address1, address2, city, state, zip, county, daytime, night, fax, otaker. When used on the command line (rather than STDIN), they will be quoted for the shell already (do not add additional quotes). END ); @@ -258,6 +259,16 @@ sub _export_command { my $cust_pkg = $svc_acct->cust_svc->cust_pkg; if ( $cust_pkg ) { + no strict 'vars'; + { + no strict 'refs'; + foreach my $custf (qw( company address1 address2 city state zip country + daytime night fax otaker + )) + { + ${$custf} = $cust_pkg->cust_main->$custf(); + } + } $email = ( grep { $_ !~ /^(POST|FAX)$/ } $cust_pkg->cust_main->invoicing_list )[0]; } else { $email = ''; @@ -309,6 +320,9 @@ sub _export_command { $reasonnum = $reasontext = $reasontypenum = $reasontypetext = ''; } + $pkgnum = $cust_pkg ? $cust_pkg->pkgnum : ''; + $custnum = $cust_pkg ? $cust_pkg->custnum : ''; + my $stdin_string = eval(qq("$stdin")); $first = shell_quote $first; @@ -316,8 +330,18 @@ sub _export_command { $finger = shell_quote $finger; $crypt_password = shell_quote $crypt_password; $ldap_password = shell_quote $ldap_password; - $pkgnum = $cust_pkg ? $cust_pkg->pkgnum : ''; - $custnum = $cust_pkg ? $cust_pkg->custnum : ''; + + $company = shell_quote $company; + $address1 = shell_quote $address1; + $address2 = shell_quote $address2; + $city = shell_quote $city; + $state = shell_quote $state; + $zip = shell_quote $zip; + $country = shell_quote $country; + $daytime = shell_quote $daytime; + $night = shell_quote $night; + $fax = shell_quote $fax; + $otaker = shell_quote $otaker; my $command_string = eval(qq("$command")); my @ssh_cmd_args = (