summaryrefslogtreecommitdiff
path: root/FS
diff options
context:
space:
mode:
authorlevinse <levinse>2010-12-21 23:44:54 +0000
committerlevinse <levinse>2010-12-21 23:44:54 +0000
commitfda372ea3d82601724eb4fd064ba95fbfdd68bdb (patch)
tree702009c1b4567c93a6647859092b13b07ac2e14c /FS
parentd6741df87df9e3352d7ae47a02d0e3f46154fef9 (diff)
self-service improvements: DIDs, RT10885; re-do all of my changes which were undone by Mark
Diffstat (limited to 'FS')
-rw-r--r--FS/FS/ClientAPI/MyAccount.pm20
1 files changed, 19 insertions, 1 deletions
diff --git a/FS/FS/ClientAPI/MyAccount.pm b/FS/FS/ClientAPI/MyAccount.pm
index ecabe31c7..fb445e555 100644
--- a/FS/FS/ClientAPI/MyAccount.pm
+++ b/FS/FS/ClientAPI/MyAccount.pm
@@ -1577,7 +1577,25 @@ sub provision_phone {
@_
);
}
-#XXX: finish bulk orders
+
+# bulk case
+ my $error;
+ foreach my $did ( @bulkdid ) {
+ $did =~ s/[^0-9]//g;
+ $error = _provision( 'FS::svc_phone',
+ [qw(phonenum countrycode)],
+ [qw(phonenum countrycode)],
+ {
+ 'pkgnum' => $p->{'pkgnum'},
+ 'svcpart' => $p->{'svcpart'},
+ 'phonenum' => $did,
+ 'countrycode' => $p->{'countrycode'},
+ 'session_id' => $p->{'session_id'},
+ }
+ );
+ return $error if ($error->{'error'} && length($error->{'error'}) > 1);
+ }
+ { 'bulkdid' => [ @bulkdid ], 'svc' => $error->{'svc'} }
}
sub provision_acct {