summaryrefslogtreecommitdiff
path: root/fs_selfservice/FS-SelfService/cgi/selfservice.cgi
diff options
context:
space:
mode:
authorlevinse <levinse>2010-12-21 06:26:12 +0000
committerlevinse <levinse>2010-12-21 06:26:12 +0000
commit46e04077cc22ff9d31e8e9896cbf97e31f1b0e7d (patch)
tree24fd7eb75360d3bda1cc8fc535f71ef013b87782 /fs_selfservice/FS-SelfService/cgi/selfservice.cgi
parent1eff7a1cd742bab7a0084d55f74b2f53c1f84e64 (diff)
self-service improvements: DIDs, RT10885
Diffstat (limited to 'fs_selfservice/FS-SelfService/cgi/selfservice.cgi')
-rw-r--r--fs_selfservice/FS-SelfService/cgi/selfservice.cgi37
1 files changed, 33 insertions, 4 deletions
diff --git a/fs_selfservice/FS-SelfService/cgi/selfservice.cgi b/fs_selfservice/FS-SelfService/cgi/selfservice.cgi
index 72e49b47c..1f8e55025 100644
--- a/fs_selfservice/FS-SelfService/cgi/selfservice.cgi
+++ b/fs_selfservice/FS-SelfService/cgi/selfservice.cgi
@@ -13,7 +13,7 @@ use FS::SelfService qw(
access_info login_info login customer_info edit_info invoice
payment_info process_payment realtime_collect process_prepay
list_pkgs order_pkg signup_info order_recharge
- part_svc_info provision_acct provision_external
+ 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 did_report
@@ -73,7 +73,7 @@ $session_id = $cgi->param('session');
#order|pw_list XXX ???
$cgi->param('action') =~
- /^(myaccount|tktcreate|tktview|didreport|invoices|view_invoice|make_payment|make_ach_payment|make_term_payment|make_thirdparty_payment|payment_results|ach_payment_results|recharge_prepay|recharge_results|logout|change_bill|change_ship|change_pay|process_change_bill|process_change_ship|process_change_pay|customer_order_pkg|process_order_pkg|customer_change_pkg|process_change_pkg|process_order_recharge|provision|provision_svc|process_svc_acct|process_svc_external|delete_svc|view_usage|view_usage_details|view_cdr_details|view_support_details|change_password|process_change_password|customer_suspend_pkg|process_suspend_pkg)$/
+ /^(myaccount|tktcreate|tktview|didreport|invoices|view_invoice|make_payment|make_ach_payment|make_term_payment|make_thirdparty_payment|payment_results|ach_payment_results|recharge_prepay|recharge_results|logout|change_bill|change_ship|change_pay|process_change_bill|process_change_ship|process_change_pay|customer_order_pkg|process_order_pkg|customer_change_pkg|process_change_pkg|process_order_recharge|provision|provision_svc|process_svc_acct|process_svc_phone|process_svc_external|delete_svc|view_usage|view_usage_details|view_cdr_details|view_support_details|change_password|process_change_password|customer_suspend_pkg|process_suspend_pkg)$/
or die "unknown action ". $cgi->param('action');
my $action = $1;
@@ -649,6 +649,34 @@ sub provision_svc {
or die 'Unknown svcdb '. $result->{'svcdb'};
$action .= "_$1";
+ $result->{'numavail'} = $cgi->param('numavail');
+
+ $result;
+}
+
+sub process_svc_phone {
+ my @bulkdid = $cgi->param('bulkdid');
+ my $phonenum = $cgi->param('phonenum');
+
+ 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 )
+ )
+ },
+ 'error' => $result->{'error'},
+ };
+ }
+
$result;
}
@@ -818,9 +846,10 @@ sub do_template {
package FS::SelfService::_selfservicecgi;
-#use FS::SelfService qw(regionselector expselect popselector);
use HTML::Entities;
-use FS::SelfService qw(regionselector popselector domainselector location_form);
+use FS::SelfService qw(
+ regionselector popselector domainselector location_form didselector
+);
#false laziness w/agent.cgi
use vars qw(@INCLUDE_ARGS);