ho ho ho, merry XSSmas
[freeside.git] / httemplate / edit / cust_pkg.cgi
1 %
2 %
3 %my %pkg = ();
4 %my %comment = ();
5 %my %all_pkg = ();
6 %my %all_comment = ();
7 %#foreach (qsearch('part_pkg', { 'disabled' => '' })) {
8 %#  $pkg{ $_ -> getfield('pkgpart') } = $_->getfield('pkg');
9 %#  $comment{ $_ -> getfield('pkgpart') } = $_->getfield('comment');
10 %#}
11 %foreach (qsearch('part_pkg', {} )) {
12 %  $all_pkg{ $_ -> getfield('pkgpart') } = $_->getfield('pkg');
13 %  $all_comment{ $_ -> getfield('pkgpart') } = $_->getfield('comment');
14 %  next if $_->disabled;
15 %  $pkg{ $_ -> getfield('pkgpart') } = $_->getfield('pkg');
16 %  $comment{ $_ -> getfield('pkgpart') } = $_->getfield('comment');
17 %}
18 %
19 %my($custnum, %remove_pkg);
20 %if ( $cgi->param('error') ) {
21 %  $custnum = $cgi->param('custnum');
22 %  %remove_pkg = map { $_ => 1 } $cgi->param('remove_pkg');
23 %} else {
24 %  my($query) = $cgi->keywords;
25 %  $query =~ /^(\d+)$/;
26 %  $custnum = $1;
27 %  %remove_pkg = ();
28 %}
29 %
30 %my $p1 = popurl(1);
31 %
32 %
33 <% include('/elements/header.html', "Add/Edit Packages", '') %>
34
35 <% include('/elements/error.html') %>
36
37 <FORM ACTION="<% $p1 %>process/cust_pkg.cgi" METHOD=POST>
38
39 <INPUT TYPE="hidden" NAME="custnum" VALUE="<% $custnum %>">
40 %
41 %#current packages
42 %my @cust_pkg = qsearch('cust_pkg', { 'custnum' => $custnum, 'cancel' => '' } );
43 %
44 %if (@cust_pkg) {
45 %
46
47
48   Current packages - select to remove (services are moved to a new package below)
49   <TABLE>
50     <TR STYLE="background-color: #cccccc;">
51       <TH COLSPAN="2">Pkg #</TH>
52       <TH>Package description</TH>
53     </TR>
54   <BR><BR>
55 %
56 %
57 %  foreach ( sort {     $all_pkg{ $a->getfield('pkgpart') }
58 %                   cmp $all_pkg{ $b->getfield('pkgpart') }
59 %                 }
60 %                 @cust_pkg
61 %          )
62 %  {
63 %    my($pkgnum,$pkgpart)=( $_->getfield('pkgnum'), $_->getfield('pkgpart') );
64 %    my $checked = $remove_pkg{$pkgnum} ? ' CHECKED' : '';
65 %
66 %  
67
68
69     <TR>
70       <TD><INPUT TYPE="checkbox" NAME="remove_pkg" VALUE="<% $pkgnum %>"<% $checked %>></TD>
71       <TD ALIGN="right"><% $pkgnum %>:</TD>
72       <TD><% $all_pkg{$pkgpart} %> - <% $all_comment{$pkgpart} %></TD>
73     </TR>
74 % } 
75
76
77   </TABLE>
78   <BR><BR>
79 % } 
80
81
82 Order new packages
83 <BR><BR>
84 %
85 %my $cust_main = qsearchs('cust_main',{'custnum'=>$custnum});
86 %my $agent = qsearchs('agent',{'agentnum'=> $cust_main->agentnum });
87 %
88 %my %agent_pkgs = map { ( $_->pkgpart , $all_pkg{$_->pkgpart} ) }
89 %                     qsearch('type_pkgs',{'typenum'=> $agent->typenum });
90 %
91 %my $count = 0;
92 %my $pkgparts = 0;
93 %
94
95
96 <TABLE>
97   <TR STYLE="background-color: #cccccc;">
98     <TH>Qty.</TH>
99     <TH COLSPAN="2">Package Description</TH>
100   </TR>
101 %
102 %#foreach my $type_pkgs ( qsearch('type_pkgs',{'typenum'=> $agent->typenum }) ) {
103 %foreach my $pkgpart ( sort { $agent_pkgs{$a} cmp $agent_pkgs{$b} }
104 %                             keys(%agent_pkgs) ) {
105 %  $pkgparts++;
106 %  next unless exists $pkg{$pkgpart}; #skip disabled ones
107 %  #print qq!<TR>! if ( $count == 0 );
108 %  my $value = $cgi->param("pkg$pkgpart") || 0;
109 %
110
111
112   <TR>
113     <TD>
114       <INPUT TYPE="text" NAME="<% "pkg$pkgpart" %>" VALUE="<% $value %>" SIZE="2" MAXLENGTH="2">
115     </TD>
116     <TD ALIGN="right"><% $pkgpart %>:</TD>
117     <TD><% $pkg{$pkgpart} %> - <% $comment{$pkgpart}%></TD>
118   </TR>
119 %
120 %  $count ++ ;
121 %  #if ( $count == 2 ) {
122 %  #  print qq!</TR>\n! ;
123 %  #  $count = 0;
124 %  #}
125 %}
126 %
127
128
129 </TABLE>
130 % unless ( $pkgparts ) {
131 %     my $p2 = popurl(2);
132 %     my $typenum = $agent->typenum;
133 %     my $agent_type = qsearchs( 'agent_type', { 'typenum' => $typenum } );
134 %     my $atype = $agent_type->atype;
135 %
136
137
138      (No <A HREF="<% $p2 %>browse/part_pkg.cgi">package definitions</A>,
139      or agent type
140      <A HREF="<% $p2 %>edit/agent_type.cgi?<% $typenum %>"><% $atype %></a>
141      is not allowed to purchase any packages.)
142 % } 
143
144
145 <P><INPUT TYPE="submit" VALUE="Order">
146
147 </FORM>
148
149 <% include('/elements/footer.html') %>