RT# 82949 - changes section name from fees to pricing, better opiton
[freeside.git] / httemplate / edit / process / svc_phone.html
index 9dd1226..09398fd 100644 (file)
@@ -1,13 +1,36 @@
-<% include( 'elements/svc_Common.html',
-               'table'    => 'svc_phone',
-               'args_callback' => $args_callback,
+<& elements/svc_Common.html,
+               'table'          => 'svc_phone',
+               'args_callback'  => $args_callback,
               'value_callback' => $value_callback,
-           )
-%>
+               'edit_callback'  => $edit_callback,
+               %opt,
+&>
 <%init>
 
+my %opt = ();
+if ( $cgi->param('bulk') ) {
+  $opt{'bulk'}     = 'phonenum';
+
+  my $cust_pkg = qsearchs('cust_pkg', { pkgnum=>scalar($cgi->param('pkgnum')) })
+    or die "unknown pkgnum";
+  my $custnum = $cust_pkg->custnum;
+
+  my $show =
+    $FS::CurrentUser::CurrentUser->default_customer_view =~ /^(jumbo|packages)$/
+      ? ''
+      : ';show=packages';
+  #my $frag = "cust_pkg$pkgnum"; #hack for IE ignoring real #fragment
+  $opt{'redirect'}= popurl(3)."view/cust_main.cgi?custnum=$custnum$show;dummy=";
+}
+
+my $right = $opt{'bulk'} ? 'Bulk provision customer service'
+                         :      'Provision customer service';
+
 die "access denied"
-  unless $FS::CurrentUser::CurrentUser->access_right('Provision customer service'); #something else more specific?
+  unless $FS::CurrentUser::CurrentUser->access_right($right);
+
+$cgi->param('phonenum', $cgi->param('phonenum_manual') )
+  if $cgi->param('phonenum_which') eq 'phonenum_manual';
 
 my $tollfreephonenum = $cgi->param('tollfreephonenum');
 $cgi->param('phonenum',$tollfreephonenum) if $tollfreephonenum =~ /^\d+$/;
@@ -17,10 +40,10 @@ my $args_callback = sub {
 
   my %opt = ();
   if ( $cgi->param('locationnum') == -1 ) {
-    my $cust_location = new FS::cust_location {
+    my $cust_location = FS::cust_location->new({
       map { $_ => scalar($cgi->param($_)) }
           qw( custnum address1 address2 city county state zip country )
-    };
+    });
     $opt{'cust_location'} = $cust_location;
   }
 
@@ -29,8 +52,13 @@ my $args_callback = sub {
 };
 
 my $value_callback = sub {
-     my ($field, $value) = @_;
-     ($field =~ /_date$/) ? parse_datetime($value) : $value;
+  my ($field, $value) = @_;
+  ($field =~ /_date$/) ? parse_datetime($value) : $value;
+};
+
+my $edit_callback = sub {
+  my( $new, $old ) = @_;
+  $new->sip_password( $old->sip_password ) if $new->sip_password eq '*HIDDEN*';
 };
 
 </%init>