- bring prepaid support into this century (close: Bug#1124)
[freeside.git] / httemplate / edit / process / reg_code.cgi
1 <%
2
3 $cgi->param('agentnum') =~ /^(\d+)$/
4   or eidiot 'illegal agentnum '. $cgi->param('agentnum');
5 my $agentnum = $1;
6 my $agent = qsearchs('agent', { 'agentnum' => $agentnum } );
7
8 my $error = '';
9
10 my $num = 0;
11 if ( $cgi->param('num') =~ /^\s*(\d+)\s*$/ ) {
12   $num = $1;
13 } else {
14   $error = 'Illegal number of codes: '. $cgi->param('num');
15 }
16
17 my @pkgparts = 
18   map  { /^pkgpart(.*)$/; $1 }
19   grep { $cgi->param($_) }
20   grep { /^pkgpart/ }
21   $cgi->param;
22
23 $error ||= $agent->generate_reg_codes($num, \@pkgparts);
24
25 unless ( ref($error) ) {
26   $cgi->param('error'. $error );
27 %><%=
28   $cgi->redirect(popurl(3). "edit/reg_code.cgi?". $cgi->query_string )
29 %><% } else { %>
30
31 <%= header("$num registration codes generated for ". $agent->agent, menubar(
32   'Main menu'       => popurl(3),
33   'View all agents' => popurl(3). 'browse/agent.cgi',
34 ) ) %>
35
36 <PRE><FONT SIZE="+1">
37 <% foreach my $code ( @$error ) { %>
38   <%= $code %>
39 <% } %>
40
41 </FONT></PRE>
42
43 </BODY></HTML>
44 <% } %>