part_svc_info provision_acct provision_external provision_phone
unprovision_svc change_pkg suspend_pkg domainselector
list_svcs list_svc_usage list_cdr_usage list_support_usage
- myaccount_passwd list_invoices create_ticket get_ticket
+ myaccount_passwd list_invoices create_ticket get_ticket did_report
mason_comp
);
warn Dumper($result) if $DEBUG;
-if ( $result->{error} eq "Can't resume session"
- || $result->{error} eq "Expired session" ) { #ick
+if ( $result->{error} && ( $result->{error} eq "Can't resume session"
+ || $result->{error} eq "Expired session") ) { #ick
my $login_info = login_info();
do_template('login', $login_info);
FS::SelfService::logout( 'session_id' => $session_id );
}
+sub didreport {
+ my $result = did_report( 'session_id' => $session_id,
+ 'format' => $cgi->param('type'),
+ 'recentonly' => $cgi->param('recentonly'),
+ );
+ die $result->{'error'} if exists $result->{'error'} && $result->{'error'};
+ $result;
+}
+
sub provision {
my $result = list_pkgs( 'session_id' => $session_id );
die $result->{'error'} if exists $result->{'error'} && $result->{'error'};
my $result = part_svc_info(
'session_id' => $session_id,
- map { $_ => $cgi->param($_) } qw( pkgnum svcpart ),
+ map { $_ => $cgi->param($_) } qw( pkgnum svcpart svcnum ),
);
die $result->{'error'} if exists $result->{'error'} && $result->{'error'};
$action .= "_$1";
$result->{'numavail'} = $cgi->param('numavail');
+ $result->{'lnp'} = $cgi->param('lnp');
$result;
}
sub process_svc_phone {
my @bulkdid = $cgi->param('bulkdid');
my $phonenum = $cgi->param('phonenum');
+ my $lnp = $cgi->param('lnp');
+
+ my $result;
+ if($lnp) {
+ $result = provision_phone (
+ 'session_id' => $session_id,
+ 'countrycode' => '1',
+ map { $_ => $cgi->param($_) } qw( pkgnum svcpart phonenum
+ lnp_desired_due_date lnp_other_provider
+ lnp_other_provider_account )
+ );
+ } else {
+ $result = provision_phone (
+ 'session_id' => $session_id,
+ 'bulkdid' => [ @bulkdid ],
+ 'countrycode' => '1',
+ map { $_ => $cgi->param($_) } qw( pkgnum svcpart phonenum svcnum email forwarddst )
+ );
+ }
- my $result = provision_phone (
- 'session_id' => $session_id,
- 'bulkdid' => [ @bulkdid ],
- 'countrycode' => '1',
- map { $_ => $cgi->param($_) } qw( pkgnum svcpart phonenum )
- );
-
if ( exists $result->{'error'} && $result->{'error'} ) {
$action = 'provision_svc_phone';
return {
$cgi->Vars,
%{ part_svc_info( 'session_id' => $session_id,
- map { $_ => $cgi->param($_) } qw( pkgnum svcpart )
+ map { $_ => $cgi->param($_) } qw( pkgnum svcpart svcnum )
)
},
'error' => $result->{'error'},
)
or die $Text::Template::ERROR;
- #warn "filling in $template with $fill_in\n";
- my $data = $template->fill_in(
- PACKAGE => 'FS::SelfService::_selfservicecgi',
- HASH => $fill_in,
- ) || "Error processing template $source"; # at least print _something_
- print $cgi->header( '-expires' => 'now' );
- print $data;
-}
+ if($result && ref($result) && $result->{'format'} && $result->{'content'}
+ && $result->{'format'} eq 'csv') {
+ print $cgi->header('-expires' => 'now',
+ '-Content-Type' => 'text/csv',
+ '-Content-Disposition' => "attachment;filename=output.csv",
+ ),
+ $result->{'content'};
+ }
+ elsif($result && ref($result) && $result->{'format'} && $result->{'content'}
+ && $result->{'format'} eq 'xls') {
+ print $cgi->header('-expires' => 'now',
+ '-Content-Type' => 'application/vnd.ms-excel',
+ '-Content-Disposition' => "attachment;filename=output.xls",
+ '-Content-Length' => length($result->{'content'}),
+ ),
+ $result->{'content'};
+ }
+ else {
+ my $data = $template->fill_in(
+ PACKAGE => 'FS::SelfService::_selfservicecgi',
+ HASH => $fill_in,
+ ) || "Error processing template $source"; # at least print _something_
+ print $cgi->header( '-expires' => 'now' );
+ print $data;
+ }
+ }
#*FS::SelfService::_selfservicecgi::include = \&Text::Template::fill_in_file;