popup view for collapsed packages, #25130, #27305
authorMark Wells <mark@freeside.biz>
Tue, 12 Aug 2014 23:52:09 +0000 (16:52 -0700)
committerMark Wells <mark@freeside.biz>
Tue, 12 Aug 2014 23:52:19 +0000 (16:52 -0700)
httemplate/view/cust_main/packages/contact.html
httemplate/view/cust_main/packages/hidden.html
httemplate/view/cust_main/packages/section.html
httemplate/view/cust_pkg-popup.html [new file with mode: 0644]

index 0f0cde7..10c584c 100644 (file)
           (&nbsp;<%pkg_detach_link($cust_pkg)%>&nbsp;)
         </FONT>
 %    }
+    <BR>
 % } elsif ( $show_contact_link && ! $opt{no_links} ) {
     <FONT SIZE=-1>
       (&nbsp;<%pkg_add_contact_link($cust_pkg)%>&nbsp;)
     </FONT>
+    <BR>
 % }
 <%init>
 
index e3bd0fa..35eda8c 100644 (file)
       <B><% time2str('%b %o, %Y', $cust_pkg->get('cancel')) %></B>
     </TD><TD>
 %     if ( $pkgpart_change ) {
-      from <B><% $part_pkg->pkg |h %></B></A> - <% $part_pkg->custom_comment |h %>
+      from <% $popup_link |n %><B><% $part_pkg->pkg |h %></B> - <% $part_pkg->custom_comment |h %></A>
 %     }
 %     if ( $pkgpart_change and $location_change ) {
       <BR>
 %     }
 %     if ( $location_change ) {
-      from <I><% $cust_pkg->location_label %></I>
+      from <I><% $popup_link |n %><% $cust_pkg->location_label %></A></I>
 %     }
     </TD>
   </TR>
@@ -52,4 +52,14 @@ my $pkgpart_change = ($next->pkgpart != $cust_pkg->pkgpart);
 my $location_change = ($next->locationnum != $cust_pkg->locationnum);
 my $both_change = $pkgpart_change && $location_change;
 
+my $onclick =
+  include('/elements/popup_link_onclick.html',
+    'action'      => $fsurl.'view/cust_pkg-popup.html?' . $cust_pkg->pkgnum,
+    'actionlabel' => 'Package #'.$cust_pkg->pkgnum,
+    'width'       => '1000',
+    'height'      => '310',
+    'color'       => $cust_pkg->statuscolor,
+  );
+my $popup_link = qq(<A HREF="#" onclick="$onclick">);
+
 </%init>
index 4980fee..217e8c5 100755 (executable)
@@ -4,17 +4,22 @@
   <TH CLASS="grid" BGCOLOR="#cccccc"><% mt('Package') |h %></TH>
   <TH CLASS="grid" BGCOLOR="#cccccc"><% mt('Status') |h %></TH>
   <TH CLASS="grid" BGCOLOR="#cccccc"><% mt('Contact/Location') |h %></TH>
+% if (!$opt{no_services}) {
   <TH CLASS="grid" BGCOLOR="#cccccc"><% mt('Services') |h %></TH>
+% }
 </TR>
 
 % #$FS::cust_pkg::DEBUG = 2;
 %   foreach my $cust_pkg (@$packages) {
+%    # if requested, this can override cust_pkg-group_by_location
     <& .packagerow, $cust_pkg,
+        %conf_opt,
         ( map { $_ => $opt{$_} } qw(
             cust_main bgcolor no_links cust_location_cache
             before_pkg_callback before_svc_callback after_svc_callback
+            cust_pkg-group_by_location
+            no_services
         )),
-        %conf_opt
     &>
 %   }
 % } else { # there are no packages
     <& package.html, %iopt &>
     <& status.html,  %iopt &>
     <TD CLASS="inv" BGCOLOR="<% $iopt{bgcolor} %>" WIDTH="20%" VALIGN="top">
-      <& contact.html, %iopt &><BR>
+      <& contact.html, %iopt &>
       <& location.html, %iopt &>
     </TD>
+%   if (!$iopt{no_services}) {
     <& services.html, %iopt &>
+%   }
   </TR>
 % # insert hidden predecessors to this package, if any
 % # and a rolldown button to show them
diff --git a/httemplate/view/cust_pkg-popup.html b/httemplate/view/cust_pkg-popup.html
new file mode 100644 (file)
index 0000000..96956c7
--- /dev/null
@@ -0,0 +1,27 @@
+<& /elements/header-popup.html &>
+<TABLE STYLE="width: 100%">
+<& cust_main/packages/section.html,
+  'cust_main' => $cust_main,
+  'packages'  => [ $cust_pkg ],
+  'cust_pkg-group_by_location' => 0,
+  'no_services' => 1,
+&>
+</TABLE>
+</BODY>
+</HTML>
+<%init>
+my $curuser = $FS::CurrentUser::CurrentUser;
+my ($pkgnum) = $cgi->keywords;
+$pkgnum =~ /^\d+$/ or die "bad pkgnum $pkgnum";
+
+my $cust_pkg = qsearchs({
+  'table'     => 'cust_pkg',
+  'addl_from' => 'JOIN cust_main USING (custnum)',
+  'hashref'   => { 'pkgnum' => $pkgnum },
+  'extra_sql' => ' AND '.$curuser->agentnums_sql,
+});
+die "Package not found" unless $cust_pkg;
+my $cust_main = $cust_pkg->cust_main;
+
+my $title = mt('Package [_1]', $pkgnum);
+</%init>