summaryrefslogtreecommitdiff
path: root/httemplate/edit
diff options
context:
space:
mode:
authorivan <ivan>2007-11-29 23:51:38 +0000
committerivan <ivan>2007-11-29 23:51:38 +0000
commit3a8c9bfb112a266c4d81743275704ca6dbb9266f (patch)
treeb9bcc2ee36fe473f863a7da262be8a77842d22f8 /httemplate/edit
parenta66ee54033ec9495dad3db6d1ecaaa03d071363d (diff)
fix dates going all wacky on errors, when you're asked to confirm a date move into the past
Diffstat (limited to 'httemplate/edit')
-rwxr-xr-xhttemplate/edit/REAL_cust_pkg.cgi284
-rwxr-xr-xhttemplate/edit/process/REAL_cust_pkg.cgi5
2 files changed, 126 insertions, 163 deletions
diff --git a/httemplate/edit/REAL_cust_pkg.cgi b/httemplate/edit/REAL_cust_pkg.cgi
index 99a3f3098..fe6984673 100755
--- a/httemplate/edit/REAL_cust_pkg.cgi
+++ b/httemplate/edit/REAL_cust_pkg.cgi
@@ -1,77 +1,9 @@
-%
-%
-%my $error ='';
-%my $pkgnum = '';
-%my($susp,$adjourn,$cancel,$expire, $pkg, $comment, $setup, $bill, $otaker);
-%
-%my( $cust_pkg, $part_pkg );
-%
-%if ( $cgi->param('error') ) {
-% $error = $cgi->param('error');
-% $pkgnum = $cgi->param('pkgnum');
-% if ( $error eq '_bill_areyousure' ) {
-% my $bill = $cgi->param('bill');
-% $error = "You are attempting to set the next bill date to $bill, which is
-% in the past. This will charge the customer for the interval
-% from $bill until now. Are you sure you want to do this? ".
-% '<INPUT TYPE="checkbox" NAME="bill_areyousure" VALUE="1">';
-% }
-%
-% $susp = $cgi->param('susp');
-% $adjourn = $cgi->param('adjourn');
-% $cancel = $cgi->param('cancel');
-% $expire = $cgi->param('expire');
-% $pkg = $cgi->param('pkg');
-% $comment = $cgi->param('comment');
-% $setup = $cgi->param('setup');
-% $bill = $cgi->param('bill');
-% $otaker = $cgi->param('otaker');
-%
-% #get package record
-% $cust_pkg = qsearchs('cust_pkg',{'pkgnum'=>$pkgnum});
-% die "No package!" unless $cust_pkg;
-% $part_pkg = qsearchs('part_pkg',{'pkgpart'=>$cust_pkg->getfield('pkgpart')});
-%
-%} else {
-% my($query) = $cgi->keywords;
-% $query =~ /^(\d+)$/ or die "no pkgnum";
-% $pkgnum = $1;
-%
-% #get package record
-% $cust_pkg = qsearchs('cust_pkg',{'pkgnum'=>$pkgnum});
-% die "No package!" unless $cust_pkg;
-% $part_pkg = qsearchs('part_pkg',{'pkgpart'=>$cust_pkg->getfield('pkgpart')});
-%
-% ($susp,$adjourn,$cancel,$expire)=(
-% $cust_pkg->getfield('susp'),
-% $cust_pkg->getfield('adjourn'),
-% $cust_pkg->getfield('cancel'),
-% $cust_pkg->getfield('expire'),
-% );
-% ($pkg,$comment)=($part_pkg->getfield('pkg'),$part_pkg->getfield('comment'));
-% ($setup,$bill)=($cust_pkg->getfield('setup'),$cust_pkg->getfield('bill'));
-% $otaker = $cust_pkg->getfield('otaker');
-%}
-%
-%if ( $error ) {
-% #$cust_pkg->$_(str2time($cgi->param($_)) foreach qw(setup bill);
-% $cust_pkg->setup(str2time($cgi->param('setup')));
-% $cust_pkg->bill(str2time($cgi->param('bill')));
-% $cust_pkg->last_bill(str2time($cgi->param('last_bill')));
-%}
-%
-%#my $custnum = $cust_pkg->getfield('custnum');
-%
-
-
<% include("/elements/header.html",'Customer package - Edit dates') %>
-%
+
%#, menubar(
%# "View this customer (#$custnum)" => popurl(2). "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>
@@ -80,130 +12,166 @@
<FORM NAME="formname" ACTION="process/REAL_cust_pkg.cgi" METHOD="POST">
<INPUT TYPE="hidden" NAME="pkgnum" VALUE="<% $pkgnum %>">
-% if ( $error ) {
+% if ( $error ) {
<FONT SIZE="+1" COLOR="#ff0000">Error: <% $error %></FONT>
% }
-%
-%
-%#my $format = "%c %z (%Z)";
-%my $format = "%m/%d/%Y %T %z (%Z)";
-%
-%#false laziness w/view/cust_main/packages.html
-%#my( $billed_or_prepaid,
-%my( $last_bill_or_renewed, $next_bill_or_prepaid_until );
-%unless ( $part_pkg->is_prepaid ) {
-% #$billed_or_prepaid = 'billed';
-% $last_bill_or_renewed = 'Last bill';
-% $next_bill_or_prepaid_until = 'Next bill';
-%} else {
-% #$billed_or_prepaid = 'prepaid';
-% $last_bill_or_renewed = 'Renewed';
-% $next_bill_or_prepaid_until = 'Prepaid until';
-%}
-%
-%
-
<% ntable("#cccccc",2) %>
<TR>
<TD ALIGN="right">Package number</TD>
- <TD BGCOLOR="#ffffff"><% $pkgnum %></TD>
+ <TD BGCOLOR="#ffffff"><% $cust_pkg->pkgnum %></TD>
</TR>
<TR>
<TD ALIGN="right">Package</TD>
- <TD BGCOLOR="#ffffff"><% $pkg %></TD>
+ <TD BGCOLOR="#ffffff"><% $cust_pkg->pkg %></TD>
</TR>
<TR>
<TD ALIGN="right">Comment</TD>
- <TD BGCOLOR="#ffffff"><% $comment %></TD>
+ <TD BGCOLOR="#ffffff"><% $cust_pkg->comment %></TD>
</TR>
<TR>
<TD ALIGN="right">Order taker</TD>
- <TD BGCOLOR="#ffffff"><% $otaker %></TD>
+ <TD BGCOLOR="#ffffff"><% $cust_pkg->otaker %></TD>
</TR>
- <TR>
- <TD ALIGN="right">Setup date</TD>
- <TD>
- <INPUT TYPE="text" NAME="setup" SIZE=32 ID="setup_text" VALUE="<% ( $setup ? time2str($format, $setup) : "" ) %>">
- <IMG SRC="../images/calendar.png" ID="setup_button" STYLE="cursor: pointer" TITLE="Select date">
- </TD>
- </TR>
+ <& .row_edit, cust_pkg=>$cust_pkg, column=>'setup', label=>'Setup' &>
+ <& .row_edit, cust_pkg=>$cust_pkg, column=>'last_bill', label=>$last_bill_or_renewed &>
+ <& .row_edit, cust_pkg=>$cust_pkg, column=>'bill', label=>$next_bill_or_prepaid_until &>
+ <& .row_edit, cust_pkg=>$cust_pkg, column=>'adjourn', label=>'Adjournment', note=>'(will <b>suspend</b> this package when the date is reached)' &>
+ <& .row_display, cust_pkg=>$cust_pkg, column=>'susp', label=>'Suspension' &>
+
+ <& .row_edit, cust_pkg=>$cust_pkg, column=>'expire', label=>'Expiration', note=>'(will <b>cancel</b> this package when the date is reached)' &>
+ <& .row_display, cust_pkg=>$cust_pkg, column=>'cancel', label=>'Cancellation' &>
+
+<%def .row_edit>
+<%args>
+ $cust_pkg
+ $column
+ $label
+ $note => ''
+</%args>
+% my $value = $cust_pkg->get($column);
+% $value = $value ? time2str($format, $value) : "";
<TR>
- <TD ALIGN="right"><% $last_bill_or_renewed %> date</TD>
+ <TD ALIGN="right"><% $label %> date</TD>
<TD>
- <INPUT TYPE="text" NAME="last_bill" SIZE=32 ID="last_bill_text" VALUE="<% ( $cust_pkg->last_bill ? time2str($format, $cust_pkg->last_bill) : "" ) %>">
- <IMG SRC="../images/calendar.png" ID="last_bill_button" STYLE="cursor: pointer" TITLE="Select date">
+ <INPUT TYPE = "text"
+ NAME = "<% $column %>"
+ SIZE = 32
+ ID = "<% $column %>_text"
+ VALUE = "<% $value %>"
+ >
+ <IMG SRC = "../images/calendar.png"
+ ID = "<% $column %>_button"
+ STYLE = "cursor: pointer"
+ TITLE = "Select date"
+ >
+% if ( $note ) {
+ <BR><FONT SIZE=-1><% $note %></FONT>
+% }
</TD>
</TR>
- <TR>
- <TD ALIGN="right"><% $next_bill_or_prepaid_until %> date</TD>
- <TD>
- <INPUT TYPE="text" NAME="bill" SIZE=32 ID="bill_text" VALUE="<% ( $bill ? time2str($format, $bill) : "" ) %>">
- <IMG SRC="../images/calendar.png" ID="bill_button" STYLE="cursor: pointer" TITLE="Select date">
- </TD>
- </TR>
- <TR>
- <TD ALIGN="right">Adjournment date</TD>
- <TD>
- <INPUT TYPE="text" NAME="adjourn" SIZE=32 ID="adjourn_text" VALUE="<% ( $adjourn ? time2str($format, $adjourn) : "" ) %>">
- <IMG SRC="../images/calendar.png" ID="adjourn_button" STYLE="cursor: pointer" TITLE="Select date">
- <BR><FONT SIZE=-1>(will <b>suspend</b> this package when the date is reached)</FONT>
- </TD>
- </TR>
-% if ( $susp ) {
-
+ <SCRIPT TYPE="text/javascript">
+ Calendar.setup({
+ inputField: "<% $column %>_text",
+ ifFormat: "%m/%d/%Y",
+ button: "<% $column %>_button",
+ align: "BR"
+ });
+ </SCRIPT>
+
+</%def>
+
+<%def .row_display>
+<%args>
+ $cust_pkg
+ $column
+ $label
+</%args>
+% if ( $cust_pkg->get($column) ) {
<TR>
- <TD ALIGN="right">Suspension date</TD>
- <TD BGCOLOR="#ffffff"><% time2str($format, $susp) %></TD>
+ <TD ALIGN="right"><% $label %> date</TD>
+ <TD BGCOLOR="#ffffff"><% time2str($format,$cust_pkg->get($column)) %></TD>
</TR>
% }
+</%def>
+</TABLE>
- <TR>
- <TD ALIGN="right">Expiration date</TD>
- <TD>
- <INPUT TYPE="text" NAME="expire" SIZE=32 ID="expire_text" VALUE="<% ( $expire ? time2str($format, $expire) : "" ) %>">
- <IMG SRC="../images/calendar.png" ID="expire_button" STYLE="cursor: pointer" TITLE="Select date">
- <BR><FONT SIZE=-1>(will <b>cancel</b> this package when the date is reached)</FONT>
- </TD>
- </TR>
-% if ( $cancel ) {
+<BR>
+<INPUT TYPE="submit" VALUE="Apply Changes">
+</FORM>
- <TR>
- <TD ALIGN="right">Cancellation date</TD>
- <TD BGCOLOR="#ffffff"><% time2str($format, $cancel) %></TD>
- </TR>
-% }
+<% include('/elements/footer.html') %>
+<%once>
-</TABLE>
+#my $format = "%c %z (%Z)";
+my $format = "%m/%d/%Y %T %z (%Z)";
-<SCRIPT TYPE="text/javascript">
-%
-% my @cal = qw( setup bill expire );
-% push @cal, 'last_bill'
-% if $cust_pkg->dbdef_table->column('last_bill');
-% foreach my $cal (@cal) {
-%
-
- Calendar.setup({
- inputField: "<% $cal %>_text",
- ifFormat: "%m/%d/%Y",
- button: "<% $cal %>_button",
- align: "BR"
- });
-% }
+#false laziness w/view/cust_main/packages.html
+#my( $billed_or_prepaid,
+
+</%once>
+<%init>
+
+my $error = '';
+my( $pkgnum, $cust_pkg );
+
+if ( $cgi->param('error') ) {
+
+ $error = $cgi->param('error');
+ $pkgnum = $cgi->param('pkgnum');
+ if ( $error eq '_bill_areyousure' ) {
+ if ( $cgi->param('bill') =~ /^([\s\d\/\:\-\(\w\)]*)$/ ) {
+ my $bill = $1;
+ $error = "You are attempting to set the next bill date to $bill, which is
+ in the past. This will charge the customer for the interval
+ from $bill until now. Are you sure you want to do this? ".
+ '<INPUT TYPE="checkbox" NAME="bill_areyousure" VALUE="1">';
+ }
+ }
+
+ #get package record
+ $cust_pkg = qsearchs('cust_pkg',{'pkgnum'=>$pkgnum});
+ die "No package!" unless $cust_pkg;
+
+ foreach my $col (qw( setup last_bill bill adjourn expire )) {
+ my $value = $cgi->param($col);
+ $cust_pkg->set( $col, $value ? str2time($value) : '' );
+ }
+
+} else {
+
+ my($query) = $cgi->keywords;
+ $query =~ /^(\d+)$/ or die "no pkgnum";
+ $pkgnum = $1;
+
+ #get package record
+ $cust_pkg = qsearchs('cust_pkg',{'pkgnum'=>$pkgnum});
+ die "No package!" unless $cust_pkg;
+
+}
+
+my $part_pkg = qsearchs( 'part_pkg', { 'pkgpart' => $cust_pkg->pkgpart } );
+
+my( $last_bill_or_renewed, $next_bill_or_prepaid_until );
+unless ( $part_pkg->is_prepaid ) {
+ #$billed_or_prepaid = 'billed';
+ $last_bill_or_renewed = 'Last bill';
+ $next_bill_or_prepaid_until = 'Next bill';
+} else {
+ #$billed_or_prepaid = 'prepaid';
+ $last_bill_or_renewed = 'Renewed';
+ $next_bill_or_prepaid_until = 'Prepaid until';
+}
+
+</%init>
-</SCRIPT>
-<BR><INPUT TYPE="submit" VALUE="Apply Changes">
-</FORM>
-</BODY>
-</HTML>
diff --git a/httemplate/edit/process/REAL_cust_pkg.cgi b/httemplate/edit/process/REAL_cust_pkg.cgi
index 9255672c0..ec951c86c 100755
--- a/httemplate/edit/process/REAL_cust_pkg.cgi
+++ b/httemplate/edit/process/REAL_cust_pkg.cgi
@@ -1,5 +1,3 @@
-%
-%
%my $pkgnum = $cgi->param('pkgnum') or die;
%my $old = qsearchs('cust_pkg',{'pkgnum'=>$pkgnum});
%my %hash = $old->hash;
@@ -31,6 +29,3 @@
% print $cgi->redirect(popurl(3). "view/cust_main.cgi?$custnum".
% "#cust_pkg$pkgnum" );
%}
-%
-%
-