summaryrefslogtreecommitdiff
path: root/httemplate/edit
diff options
context:
space:
mode:
authorivan <ivan>2005-03-12 14:31:50 +0000
committerivan <ivan>2005-03-12 14:31:50 +0000
commitb5fbaadb1cb2893660e460a1d4a3cabe02774de7 (patch)
tree0f574d67fffe967f98d0bdcac1e69e1fc1fd78c0 /httemplate/edit
parent40c89f3fd0933be14693b918e045bc21d39d6f01 (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.cgi56
-rw-r--r--httemplate/edit/process/prepay_credit.cgi51
-rw-r--r--httemplate/edit/process/reg_code.cgi5
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',
) ) %>