diff options
author | ivan <ivan> | 2005-03-12 14:31:50 +0000 |
---|---|---|
committer | ivan <ivan> | 2005-03-12 14:31:50 +0000 |
commit | b5fbaadb1cb2893660e460a1d4a3cabe02774de7 (patch) | |
tree | 0f574d67fffe967f98d0bdcac1e69e1fc1fd78c0 /httemplate/edit | |
parent | 40c89f3fd0933be14693b918e045bc21d39d6f01 (diff) |
- bring prepaid support into this century (close: Bug#1124)
- finally get rid of fs_signup (everything is in fs_selfservice now) (Bug#413)
- organize main menu sysadmin section so it is slightly less confusing
Diffstat (limited to 'httemplate/edit')
-rw-r--r-- | httemplate/edit/prepay_credit.cgi | 56 | ||||
-rw-r--r-- | httemplate/edit/process/prepay_credit.cgi | 51 | ||||
-rw-r--r-- | httemplate/edit/process/reg_code.cgi | 5 |
3 files changed, 111 insertions, 1 deletions
diff --git a/httemplate/edit/prepay_credit.cgi b/httemplate/edit/prepay_credit.cgi new file mode 100644 index 000000000..9cf0fc6e1 --- /dev/null +++ b/httemplate/edit/prepay_credit.cgi @@ -0,0 +1,56 @@ +<% +my $agent = ''; +my $agentnum = ''; +if ( $cgi->param('agentnum') =~ /^(\d+)$/ ) { + $agent = qsearchs('agent', { 'agentnum' => $agentnum=$1 } ); +} + +tie my %multiplier, 'Tie::IxHash', + 1 => 'seconds', + 60 => 'minutes', + 3600 => 'hours', +; + +$cgi->param('multiplier', '60') unless $cgi->param('multiplier'); + +%> + +<%= header('Generate prepaid cards'. ($agent ? ' for '. $agent->agent : ''), + menubar( 'Main Menu' => $p, )) +%> + +<% if ( $cgi->param('error') ) { %> + <FONT SIZE="+1" COLOR="#FF0000">Error: <%= $cgi->param('error') %></FONT> +<% } %> + +<FORM ACTION="<%=popurl(1)%>process/prepay_credit.cgi" METHOD="POST" NAME="OneTrueForm" onSubmit="document.OneTrueForm.submit.disabled=true"> + +Generate +<INPUT TYPE="text" NAME="num" VALUE="<%= $cgi->param('num') || '(quantity)' %>" SIZE=10 MAXLENGTH=10 onFocus="if ( this.value == '(quantity)' ) { this.value = ''; }"> +<SELECT NAME="type"> +<% foreach (qw(alpha alphanumeric numeric)) { %> + <OPTION<%= $cgi->param('type') eq $_ ? ' SELECTED' : '' %>><%= $_ %> +<% } %> +</SELECT> + prepaid cards + +<BR>for <SELECT NAME="agentnum"><OPTION>(any agent) +<% foreach my $opt_agent ( qsearch('agent', { 'disabled' => '' } ) ) { %> + <OPTION VALUE="<%= $opt_agent->agentnum %>"<%= $opt_agent->agentnum == $agentnum ? ' SELECTED' : '' %>><%= $opt_agent->agent %> +<% } %> +</SELECT> + +<BR>Value: +$<INPUT TYPE="text" NAME="amount" SIZE=8 MAXLENGTH=7 VALUE="<%= $cgi->param('amount') %>"> +and/or +<INPUT TYPE="text" NAME="seconds" SIZE=6 MAXLENGTH=5 VALUE="<%= $cgi->param('seconds') %>"> +<SELECT NAME="multiplier"> +<% foreach my $multiplier ( keys %multiplier ) { %> + <OPTION VALUE="<%= $multiplier %>"<%= $cgi->param('multiplier') eq $multiplier ? ' SELECTED' : '' %>><%= $multiplier{$multiplier} %> +<% } %> +</SELECT> +<BR><BR> +<INPUT TYPE="submit" NAME="submit" VALUE="Generate" onSubmit="this.disabled = true"> + +</FORM></BODY></HTML> + diff --git a/httemplate/edit/process/prepay_credit.cgi b/httemplate/edit/process/prepay_credit.cgi new file mode 100644 index 000000000..25ecbe079 --- /dev/null +++ b/httemplate/edit/process/prepay_credit.cgi @@ -0,0 +1,51 @@ +<% +my $hashref = {}; + +my $agent = ''; +if ( $cgi->param('agentnum') =~ /^(\d+)$/ ) { + $agent = qsearchs('agent', { 'agentnum' => $hashref->{agentnum}=$1 } ); +} + +my $error = ''; + +my $num = 0; +if ( $cgi->param('num') =~ /^\s*(\d+)\s*$/ ) { + $num = $1; +} else { + $error = 'Illegal number of prepaid cards: '. $cgi->param('num'); +} + +$hashref->{amount} = $cgi->param('amount'); +$hashref->{seconds} = $cgi->param('seconds') * $cgi->param('multiplier'); + +$error ||= FS::prepay_credit::generate( $num, + scalar($cgi->param('type')), + $hashref + ); + +unless ( ref($error) ) { + $cgi->param('error', $error ); +%><%= + $cgi->redirect(popurl(3). "edit/prepay_credit.cgi?". $cgi->query_string ) +%><% } else { %> + +<%= header( "$num prepaid cards generated". + ( $agent ? ' for '.$agent->agent : '' ), + menubar( 'Main menu' => popurl(3) ) + ) +%> + +<FONT SIZE="+1"> +<% foreach my $card ( @$error ) { %> + <code><%= $card %></code> + - + <%= $hashref->{amount} ? sprintf('$%.2f', $hashref->{amount} ) : '' %> + <%= $hashref->{amount} && $hashref->{seconds} ? 'and' : '' %> + <%= $hashref->{seconds} ? duration_exact($hashref->{seconds}) : '' %> + <br> +<% } %> + +</FONT> + +</BODY></HTML> +<% } %> diff --git a/httemplate/edit/process/reg_code.cgi b/httemplate/edit/process/reg_code.cgi index 581ede893..4658257f3 100644 --- a/httemplate/edit/process/reg_code.cgi +++ b/httemplate/edit/process/reg_code.cgi @@ -22,11 +22,14 @@ my @pkgparts = $error ||= $agent->generate_reg_codes($num, \@pkgparts); -unless ( ref($error) ) { %><%= +unless ( ref($error) ) { + $cgi->param('error'. $error ); +%><%= $cgi->redirect(popurl(3). "edit/reg_code.cgi?". $cgi->query_string ) %><% } else { %> <%= header("$num registration codes generated for ". $agent->agent, menubar( + 'Main menu' => popurl(3), 'View all agents' => popurl(3). 'browse/agent.cgi', ) ) %> |