X-Git-Url: http://git.freeside.biz/gitweb/?p=freeside.git;a=blobdiff_plain;f=httemplate%2Fview%2Fcust_main%2Fpackages%2Fservices.html;h=a23a4c2fefd9d1ad3a0d7c8ae6691a2129df323a;hp=7dfc0049efa5f79dedae856a47522140c6f3d0fb;hb=bb174fcb28d7df1673a9c55edc7d953017b5288f;hpb=5c6ae08373b08615c7ab9ffbb98eada0cfd2878f diff --git a/httemplate/view/cust_main/packages/services.html b/httemplate/view/cust_main/packages/services.html index 7dfc0049e..a23a4c2fe 100644 --- a/httemplate/view/cust_main/packages/services.html +++ b/httemplate/view/cust_main/packages/services.html @@ -10,13 +10,16 @@ function clearhint_search_cust_svc(obj, str) { } -% foreach my $part_svc ( $cust_pkg->part_svc( -% 'summarize_size' => $opt{'cust_pkg-large_pkg_size'} -% ) ) -% { - +% my $showdidlink = browse_received_did_inventory($cust_pkg->custnum); +% foreach my $part_svc ( +% $cust_pkg->part_svc( +% 'summarize_size' => $opt{'cust_pkg-large_pkg_size'}, +% 'hide_discontinued' => $opt{'cust_pkg-hide_discontinued-part_svc'}, +% ) +% ) { +% % my $num_cust_svc = $cust_pkg->num_cust_svc( $part_svc->svcpart ); - +% % if ( $opt{'cust_pkg-large_pkg_size'} > 0 and % $opt{'cust_pkg-large_pkg_size'} <= $num_cust_svc ) { # summarize % @@ -91,18 +94,36 @@ function clearhint_search_cust_svc(obj, str) { % { % if ( $part_svc->num_avail > 5 ) { % local $opt{'bulk'} = 1; +% local $opt{'svc_phone_bulk_provision_simple'} = $svc_phone_bulk_provision_simple; +% local $opt{'num_avail'} = $part_svc->num_avail;
<% svc_provision_link($cust_pkg, $part_svc, \%opt, $curuser) %> % } -% #XXX if there's orders for this customer { +% if ($showdidlink) {
<% mt('Browse Received DID Inventory') |h %> -% #} +% } % } -% } +% } + +% } #foreach part_svc + +% if ($cust_pkg->get('cancel')) { +% foreach my $svc ( +% $cust_pkg->uncancel_svc_summary('summarize_size' => $opt{'cust_pkg-large_pkg_size'}, 'no_test_reprovision' => 1) +% ) { + + <% $svc->{'svc'} |h %> + + <% $svc->{'num_cust_svc'} + ? $svc->{'num_cust_svc'} . ' ' . emt('services in history') + : (defined($svc->{'label'}) ? $svc->{'label'} : emt('(cannot load svc label)')) |h %> + + +% } +% } -% } @@ -114,9 +135,9 @@ my %opt = @_; my $bgcolor = $opt{'bgcolor'}; my $cust_pkg = $opt{'cust_pkg'}; my $part_pkg = $opt{'part_pkg'}; -my $curuser = $FS::CurrentUser::CurrentUser; +my $svc_phone_bulk_provision_simple = $opt{'svc_phone-bulk_provision_simple'}; -my $conf = new FS::Conf; +my $curuser = $FS::CurrentUser::CurrentUser; sub svc_provision_link { my ($cust_pkg, $part_svc, $opt, $curuser) = @_; @@ -133,6 +154,12 @@ sub svc_provision_link { && $opt->{'svc_external-skip_manual'} ) { $url = "${p}edit/process/". $part_svc->svcdb. ".cgi?$query"; + } elsif ( $part_svc->svcdb eq 'svc_phone' && $opt->{bulk} + && $opt->{svc_phone_bulk_provision_simple} + ) + { + $query .= ';num_avail='. $opt->{num_avail}; + $url = "${p}edit/bulk-svc_phone.html?$query"; } else { $url = svc_url( 'm' => $m, @@ -146,17 +173,35 @@ sub svc_provision_link { my $link = qq!!. emt("$action [_1] ([_2])",$svc_nbsp,$num_avail).''; + if ( $opt->{'legacy_link'} && $curuser->access_right('View/link unlinked services') + && ! $opt{bulk} ) { $link .= '
'. qq!!. emt("Link to legacy [_1] ([_2])",$svc_nbsp,$num_avail).''; } + $link; } +sub browse_received_did_inventory { + local($FS::Record::qsearch_qualify_columns) = 1; + qsearch({ + 'table' => 'did_order', + 'hashref' => { 'custnum' => $_[0] }, + 'extra_sql' => ' LIMIT 1' + }) || + qsearch({ + 'table' => 'did_order_item', + 'hashref' => { 'custnum' => $_[0] }, + 'addl_from' => ' INNER JOIN did_order ON did_order_item.ordernum = did_order.ordernum', + 'extra_sql' => ' LIMIT 1' + }); +} + my %hints = ( svc_acct => emt('(user or email)'), svc_domain => emt('(domain)'),