so Search.tsf and Search.rdf work
[freeside.git] / httemplate / edit / REAL_cust_pkg.cgi
1 <!-- mason kludge -->
2 <%
3 # <!-- $Id: REAL_cust_pkg.cgi,v 1.9 2005-02-27 11:05:35 ivan Exp $ -->
4
5 my $error ='';
6 my $pkgnum = '';
7 if ( $cgi->param('error') ) {
8   $error = $cgi->param('error');
9   $pkgnum = $cgi->param('pkgnum');
10   if ( $error eq '_bill_areyousure' ) {
11     my $bill = $cgi->param('bill');
12     $error = "You are attempting to set the next bill date to $bill, which is
13               in the past.  This will charge the customer for the interval
14               from $bill until now.  Are you sure you want to do this? ".
15            '<INPUT TYPE="checkbox" NAME="bill_areyousure" VALUE="1">';
16   }
17 } else {
18   my($query) = $cgi->keywords;
19   $query =~ /^(\d+)$/ or die "no pkgnum";
20   $pkgnum = $1;
21 }
22
23 #get package record
24 my $cust_pkg = qsearchs('cust_pkg',{'pkgnum'=>$pkgnum});
25 die "No package!" unless $cust_pkg;
26 my $part_pkg = qsearchs('part_pkg',{'pkgpart'=>$cust_pkg->getfield('pkgpart')});
27
28 if ( $error ) {
29   #$cust_pkg->$_(str2time($cgi->param($_)) foreach qw(setup bill);
30   $cust_pkg->setup(str2time($cgi->param('setup')));
31   $cust_pkg->bill(str2time($cgi->param('bill')));
32   $cust_pkg->last_bill(str2time($cgi->param('last_bill')));
33 }
34
35 #my $custnum = $cust_pkg->getfield('custnum');
36 print header('Package Edit'); #, menubar(
37 #  "View this customer (#$custnum)" => popurl(2). "view/cust_main.cgi?$custnum",
38 #  'Main Menu' => popurl(2)
39 #));
40
41 %>
42
43     <LINK REL="stylesheet" TYPE="text/css" HREF="../elements/calendar-win2k-2.css" TITLE="win2k-2">
44     <SCRIPT TYPE="text/javascript" SRC="../elements/calendar_stripped.js"></SCRIPT>
45     <SCRIPT TYPE="text/javascript" SRC="../elements/calendar-en.js"></SCRIPT>
46     <SCRIPT TYPE="text/javascript" SRC="../elements/calendar-setup.js"></SCRIPT>
47
48 <%
49
50 #print info
51 my($susp,$cancel,$expire)=(
52   $cust_pkg->getfield('susp'),
53   $cust_pkg->getfield('cancel'),
54   $cust_pkg->getfield('expire'),
55 );
56 my($pkg,$comment)=($part_pkg->getfield('pkg'),$part_pkg->getfield('comment'));
57 my($setup,$bill)=($cust_pkg->getfield('setup'),$cust_pkg->getfield('bill'));
58 my $otaker = $cust_pkg->getfield('otaker');
59
60 print '<FORM NAME="formname" ACTION="process/REAL_cust_pkg.cgi" METHOD="POST">',      qq!<INPUT TYPE="hidden" NAME="pkgnum" VALUE="$pkgnum">!;
61
62 print qq!<FONT SIZE="+1" COLOR="#ff0000">Error: $error</FONT>!
63   if $error;
64
65 #my $format = "%c %z (%Z)";
66 my $format = "%m/%d/%Y %T %z (%Z)";
67
68 print ntable("#cccccc",2),
69       '<TR><TD ALIGN="right">Package number</TD><TD BGCOLOR="#ffffff">',
70       $pkgnum, '</TD></TR>',
71       '<TR><TD ALIGN="right">Package</TD><TD BGCOLOR="#ffffff">',
72       $pkg,  '</TD></TR>',
73       '<TR><TD ALIGN="right">Comment</TD><TD BGCOLOR="#ffffff">',
74       $comment,  '</TD></TR>',
75       '<TR><TD ALIGN="right">Order taker</TD><TD BGCOLOR="#ffffff">',
76       $otaker,  '</TD></TR>',
77       '<TR><TD ALIGN="right">Setup date</TD><TD>'.
78       '<INPUT TYPE="text" NAME="setup" SIZE=32 ID="setup_text" VALUE="',
79       ( $setup ? time2str($format, $setup) : "" ), '">'.
80       ' <IMG SRC="../images/calendar.png" ID="setup_button" STYLE="cursor: pointer" TITLE="Select date">'.
81       '</TD></TR>';
82
83 print '<TR><TD ALIGN="right">Last bill date</TD><TD>',
84       '<INPUT TYPE="text" NAME="last_bill" SIZE=32 ID="last_bill_text" VALUE="',
85       ( $cust_pkg->last_bill
86         ? time2str($format, $cust_pkg->last_bill)
87         : ""                                          ),
88       '">'.
89       ' <IMG SRC="../images/calendar.png" ID="last_bill_button" STYLE="cursor: pointer" TITLE="Select date">'.
90       '</TD></TR>'
91   if $cust_pkg->dbdef_table->column('last_bill');
92
93 print '<TR><TD ALIGN="right">Next bill date</TD><TD>',
94       '<INPUT TYPE="text" NAME="bill" SIZE=32 ID="bill_text" VALUE="',
95       ( $bill ? time2str($format, $bill) : "" ), '">'.
96       ' <IMG SRC="../images/calendar.png" ID="bill_button" STYLE="cursor: pointer" TITLE="Select date">'.
97       '</TD></TR>';
98
99 print '<TR><TD ALIGN="right">Suspension date</TD><TD BGCOLOR="#ffffff">',
100        time2str($format, $susp), '</TD></TR>'
101   if $susp;
102
103 #print '<TR><TD ALIGN="right">Expiration date</TD><TD BGCOLOR="#ffffff">',
104 #       time2str("%D",$expire), '</TD></TR>'
105 #  if $expire;
106 print '<TR><TD ALIGN="right">Expiration date'.
107       '</TD><TD>',
108       '<INPUT TYPE="text" NAME="expire" SIZE=32 ID="expire_text" VALUE="',
109       ( $expire ? time2str($format, $expire) : "" ), '">'.
110       ' <IMG SRC="../images/calendar.png" ID="expire_button" STYLE="cursor: pointer" TITLE="Select date">'.
111       '<BR><FONT SIZE=-1>(will <b>cancel</b> this package'.
112       ' when the date is reached)</FONT>'.
113       '</TD></TR>';
114
115 print '<TR><TD ALIGN="right">Cancellation date</TD><TD BGCOLOR="#ffffff">',
116        time2str($format, $cancel), '</TD></TR>'
117   if $cancel;
118
119 %>
120 </TABLE>
121 <SCRIPT TYPE="text/javascript">
122 <%
123   my @cal = qw( setup bill expire );
124   push @cal, 'last_bill'
125     if $cust_pkg->dbdef_table->column('last_bill');
126   foreach my $cal (@cal) {
127 %>
128   Calendar.setup({
129     inputField: "<%= $cal %>_text",
130     ifFormat:   "%m/%d/%Y",
131     button:     "<%= $cal %>_button",
132     align:      "BR"
133   });
134 <% } %>
135 </SCRIPT>
136 <BR><INPUT TYPE="submit" VALUE="Apply Changes">
137 </FORM>
138 </BODY>
139 </HTML>