yay! remove package view entirely (closes: Bug#569)
authorivan <ivan>
Mon, 22 Mar 2004 10:16:43 +0000 (10:16 +0000)
committerivan <ivan>
Mon, 22 Mar 2004 10:16:43 +0000 (10:16 +0000)
httemplate/misc/expire_pkg.cgi
httemplate/misc/process/expire_pkg.cgi [new file with mode: 0755]
httemplate/view/cust_main.cgi

index 9e4ce8b..b59674a 100755 (executable)
@@ -1,25 +1,55 @@
+<!-- mason kludge -->
 <%
 
-#untaint date & pkgnum
-
-my $date;
-if ( $cgi->param('date') ) {
-  str2time($cgi->param('date')) =~ /^(\d+)$/ or die "Illegal date";
-  $date=$1;
-} else {
-  $date='';
-}
-
-$cgi->param('pkgnum') =~ /^(\d+)$/ or die "Illegal pkgnum";
+my($query) = $cgi->keywords;
+$query =~ /^(\d+)$/;
 my $pkgnum = $1;
 
+#get package record
 my $cust_pkg = qsearchs('cust_pkg',{'pkgnum'=>$pkgnum});
-my %hash = $cust_pkg->hash;
-$hash{expire}=$date;
-my $new = new FS::cust_pkg ( \%hash );
-my $error = $new->replace($cust_pkg);
-&eidiot($error) if $error;
+die "Unknown pkgnum $pkgnum" unless $cust_pkg;
+my $part_pkg = $cust_pkg->part_pkg;
+
+my $custnum = $cust_pkg->getfield('custnum');
 
-print $cgi->redirect(popurl(2). "view/cust_main.cgi?".$cust_pkg->getfield('custnum'));
+my $date = $cust_pkg->expire ? time2str('%D', $cust_pkg->expire) : '';
 
 %>
+
+<%= header('Expire package', menubar(
+  "View this customer (#$custnum)" => "${p}view/cust_main.cgi?$custnum",
+  'Main Menu' => popurl(2)
+)) %>
+
+<LINK REL="stylesheet" TYPE="text/css" HREF="../elements/calendar-win2k-2.css" TITLE="win2k-2">
+<SCRIPT TYPE="text/javascript" SRC="../elements/calendar_stripped.js"></SCRIPT>
+<SCRIPT TYPE="text/javascript" SRC="../elements/calendar-en.js"></SCRIPT>
+<SCRIPT TYPE="text/javascript" SRC="../elements/calendar-setup.js"></SCRIPT>
+
+<%= $pkgnum %>: <%= $part_pkg->pkg. ' - '. $part_pkg->comment %>
+
+<FORM NAME="formname" ACTION="process/expire_pkg.cgi" METHOD="post">
+<INPUT TYPE="hidden" NAME="pkgnum" VALUE="<%= $pkgnum %>">
+<TABLE>
+  <TR>
+    <TD>Cancel package on </TD>
+    <TD><INPUT TYPE="text" NAME="date" ID="expire_date" VALUE="<%= $date %>">
+        <IMG SRC="<%= $p %>images/calendar.png" ID="expire_button" STYLE="cursor:pointer" TITLE="Select date">
+        <BR><I>m/d/y</I>
+    </TD>
+  </TR>
+</TABLE>
+
+<SCRIPT TYPE="text/javascript">
+  Calendar.setup({
+    inputField: "expire_date",
+    ifFormat:   "%m/%d/%Y",
+    button:     "expire_button",
+    align:      "BR"
+  });
+</SCRIPT>
+
+<INPUT TYPE="submit" VALUE="Cancel later">
+</FORM>
+</BODY>
+</HTML>
diff --git a/httemplate/misc/process/expire_pkg.cgi b/httemplate/misc/process/expire_pkg.cgi
new file mode 100755 (executable)
index 0000000..dc35592
--- /dev/null
@@ -0,0 +1,25 @@
+<%
+
+#untaint date & pkgnum
+
+my $date;
+if ( $cgi->param('date') ) {
+  str2time($cgi->param('date')) =~ /^(\d+)$/ or die "Illegal date";
+  $date=$1;
+} else {
+  $date='';
+}
+
+$cgi->param('pkgnum') =~ /^(\d+)$/ or die "Illegal pkgnum";
+my $pkgnum = $1;
+
+my $cust_pkg = qsearchs('cust_pkg',{'pkgnum'=>$pkgnum});
+my %hash = $cust_pkg->hash;
+$hash{expire}=$date;
+my $new = new FS::cust_pkg ( \%hash );
+my $error = $new->replace($cust_pkg);
+&eidiot($error) if $error;
+
+print $cgi->redirect(popurl(3). "view/cust_main.cgi?".$cust_pkg->getfield('custnum'));
+
+%>
index 229362e..8d8af63 100755 (executable)
@@ -20,7 +20,6 @@ print header("Customer View", menubar(
 <STYLE TYPE="text/css">
 .package TH { font-size: medium }
 .package TR { font-size: smaller }
-.package .pkgnum { font-size: medium }
 .package .provision { font-weight: bold }
 </STYLE>
 
@@ -382,7 +381,7 @@ if ( @$packages ) {
 %>
 <TABLE CLASS="package" BORDER=1 CELLSPACING=0 CELLPADDING=2 BORDERCOLOR="#999999">
 <TR>
-  <TH COLSPAN=2>Package</TH>
+  <TH>Package</TH>
   <TH>Status</TH>
   <TH COLSPAN=2>Services</TH>
 </TR>
@@ -402,9 +401,9 @@ foreach my $pkg (sort pkgsort_pkgnum_cancel @$packages) {
 %>
 <!--pkgnum: <%=$pkg->{pkgnum}%>-->
 <TR>
-  <TD ROWSPAN=<%=$rowspan%> CLASS="pkgnum"><%=$pkg->{pkgnum}%></TD>
   <TD ROWSPAN=<%=$rowspan%>>
-    <%=$pkg->{pkg}%> - <%=$pkg->{comment}%> (&nbsp;<%=pkg_details_link($pkg)%>&nbsp;)<BR>
+    <%=$pkg->{pkgnum}%>:
+    <%=$pkg->{pkg}%> - <%=$pkg->{comment}%><BR>
 <% unless ($pkg->{cancel}) { %>
     (&nbsp;<%=pkg_change_link($pkg)%>&nbsp;)
     (&nbsp;<%=pkg_dates_link($pkg)%>&nbsp;|&nbsp;<%=pkg_customize_link($pkg,$custnum)%>&nbsp;)
@@ -538,7 +537,7 @@ foreach my $pkg (sort pkgsort_pkgnum_cancel @$packages) {
     }
     if ($svcpart->{count} < $svcpart->{quantity}) {
       print qq!<TR>\n! if ($cnt > 0);
-      print qq!  <TD COLSPAN=2>!.svc_provision_link($pkg,$svcpart).qq!</TD>\n</TR>\n!;
+      print qq!  <TD COLSPAN=2>!.svc_provision_link($pkg, $svcpart, $conf).qq!</TD>\n</TR>\n!;
     }
   }
 }
@@ -946,13 +945,21 @@ sub svc_label_link {
 }
 
 sub svc_provision_link {
-  my ($pkg, $svcpart) = (shift,shift) or return '';
+  my ($pkg, $svcpart, $conf) = @_;
   ( my $svc_nbsp = $svcpart->{svc} ) =~ s/\s+/&nbsp;/g;
-  return qq!<A CLASS="provision" HREF="${p}edit/$svcpart->{svcdb}.cgi?! .
-         qq!pkgnum$pkg->{pkgnum}-svcpart$svcpart->{svcpart}">! .
-         "Provision&nbsp;$svc_nbsp&nbsp;(".
-         ($svcpart->{quantity} - $svcpart->{count}).
-         ')</A>';
+  my $pkgnum_svcpart = "pkgnum$pkg->{pkgnum}-svcpart$svcpart->{svcpart}";
+  my $num_left = $svcpart->{quantity} - $svcpart->{count};
+
+  my $link = qq!<A CLASS="provision" HREF="${p}edit/$svcpart->{svcdb}.cgi?!.
+             qq!$pkgnum_svcpart">!.
+             "Provision&nbsp;$svc_nbsp&nbsp;($num_left)</A>";
+  if ( $conf->exists('legacy_link') ) {
+    $link .= '<BR>'.
+             qq!<A CLASS="provision" HREF="${p}misc/link.cgi?!.
+             qq!$pkgnum_svcpart">!.
+            "Link&nbsp;to&nbsp;legacy&nbsp;$svc_nbsp&nbsp;($num_left)</A>";
+  }
+  $link;
 }
 
 sub svc_unprovision_link {
@@ -983,10 +990,10 @@ sub pkg_datestr {
   $strip;
 }
 
-sub pkg_details_link {
-  my $pkg = shift or return '';
-  return qq!<a href="${p}view/cust_pkg.cgi?$pkg->{pkgnum}">Details</a>!;
-}
+#sub pkg_details_link {
+#  my $pkg = shift or return '';
+#  return qq!<a href="${p}view/cust_pkg.cgi?$pkg->{pkgnum}">Details</a>!;
+#}
 
 sub pkg_change_link {
   my $pkg = shift or return '';
@@ -1005,7 +1012,8 @@ sub pkg_unsuspend_link {
 
 sub pkg_cancel_link {
   my $pkg = shift or return '';
-  return qq!<A HREF="javascript:cust_pkg_areyousure('${p}misc/cancel_pkg.cgi?$pkg->{pkgnum}')">Cancel</A>!;
+  qq!<A HREF="javascript:cust_pkg_areyousure('${p}misc/cancel_pkg.cgi?$pkg->{pkgnum}')">Cancel now</A> | !.
+  qq!<A HREF="${p}misc/expire_pkg.cgi?$pkg->{pkgnum}">Cancel later</A>!;
 }
 
 sub pkg_dates_link {