<%
-my( $cust_main ) = @_;
+my( $cust_main, %options ) = @_;
+my @invoicing_list = @{ $options{'invoicing_list'} };
my $conf = new FS::Conf;
my $payby_default = $conf->config('payby-default');
+my @payby = grep /\w/, $conf->config('payby');
+#@payby = (qw( CARD DCRD CHEK DCHK LECB BILL CASH WEST COMP ))
+@payby = (qw( CARD DCRD CHEK DCHK LECB BILL CASH COMP ))
+ unless @payby;
+
if ( $payby_default eq 'HIDE' ) {
$cust_main->payby('BILL') unless $cust_main->payby;
<INPUT TYPE="hidden" NAME="tax" VALUE="<%= $cust_main->tax %>">
- <INPUT TYPE="hidden" NAME="invoicing_list" VALUE="<%= join(', ', $cust_main->invoicing_list) %>">
+ <INPUT TYPE="hidden" NAME="invoicing_list" VALUE="<%= join(', ', @invoicing_list) %>">
</FORM>
<% } else {
- my @invoicing_list = $cust_main->invoicing_list;
-
my $r = qq!<font color="#ff0000">*</font> !;
%>
'</TABLE>',
+ 'CASH' =>
+
+ '<TABLE BGCOLOR="#cccccc" BORDER=0 CELLSPACING=0 HEIGHT=192>'.
+
+ qq!<TR><TD ALIGN="right" WIDTH="200">${r}Amount </TD>!.
+ qq!<TD WIDTH="408"><INPUT TYPE="text" NAME="paid" VALUE="!. ( $payby eq 'CASH' ? $cust_main->paid : '' ). qq!"></TD></TR>!.
+
+ '<TR><TD> </TD></TR>'.
+ '<TR><TD> </TD></TR>'.
+ '<TR><TD> </TD></TR>'.
+ '<TR><TD> </TD></TR>'.
+ '<TR><TD> </TD></TR>'.
+ '<TR><TD> </TD></TR>'.
+
+ '</TABLE>',
+
+ 'WEST' =>
+
+ '<TABLE BGCOLOR="#cccccc" BORDER=0 CELLSPACING=0 HEIGHT=192>'.
+
+ qq!<TR><TD ALIGN="right" WIDTH="200">${r}Amount </TD>!.
+ qq!<TD WIDTH="408"><INPUT TYPE="text" NAME="paid" VALUE="!. ( $payby eq 'WEST' ? $cust_main->paid : '' ). qq!"></TD></TR>!.
+
+ '<TR><TD> </TD></TR>'.
+ '<TR><TD> </TD></TR>'.
+ '<TR><TD> </TD></TR>'.
+ '<TR><TD> </TD></TR>'.
+ '<TR><TD> </TD></TR>'.
+ '<TR><TD> </TD></TR>'.
+
+ '</TABLE>',
+
+ 'MCRD' =>
+
+ '<TABLE BGCOLOR="#cccccc" BORDER=0 CELLSPACING=0 HEIGHT=192>'.
+
+ qq!<TR><TD ALIGN="right" WIDTH="200">${r}Amount </TD>!.
+ qq!<TD WIDTH="408"><INPUT TYPE="text" NAME="paid" VALUE="!. ( $payby eq 'MCRD' ? $cust_main->paid : '' ). qq!"></TD></TR>!.
+
+ '<TR><TD> </TD></TR>'.
+ '<TR><TD> </TD></TR>'.
+ '<TR><TD> </TD></TR>'.
+ '<TR><TD> </TD></TR>'.
+ '<TR><TD> </TD></TR>'.
+ '<TR><TD> </TD></TR>'.
+
+ '</TABLE>',
+
);
- tie my %options, 'Tie::IxHash',
+ #this should use FS::payby
+ my %allopt = (
'CARD' => 'Credit card',
'CHEK' => 'Electronic check',
'LECB' => 'Phone bill billing',
'BILL' => 'Billing',
+ 'CASH' => 'Cash', # initial payment, then billing',
+ 'WEST' => 'Western Union', # initial payment, then billing',
+ 'MCRD' => 'Manual credit card', # initial payment, then billing',
'COMP' => 'Complimentary',
- ;
+ );
+ if ( $cust_main->custnum ) { #don't offer CASH/WEST/MCRD initial payment types
+ # when editing customer
+ delete $allopt{$_} for qw(CASH WEST MCRD);
+ }
+
+ tie my %options, 'Tie::IxHash',
+ map { $_ => $allopt{$_} }
+ grep { exists $allopt{$_} }
+ @payby;
+
my %payby2option = (
( map { $_ => $_ } keys %options ),
'DCRD' => 'CARD',
#'form_action' => 'nothingyet',
#chops bottom of page in IE# 'under_position' => 'absolute',
'html_between' => '</TD></TR></TABLE>',
- 'selected_layer' => $payby2option{$payby} || 'CARD',
+ 'selected_layer' => $payby2option{$payby || $payby_default || $payby[0] },
'layer_callback' => sub { my $layer = shift; $payby{$layer}; },
);
<TR>
<TD WIDTH="608" COLSPAN="2"><INPUT TYPE="checkbox" NAME="invoicing_list_POST" VALUE="POST" <%=
- ( ( ! @invoicing_list && ! $conf->exists('disablepostalinvoicedefault') )
+ ( ( ! @invoicing_list
+ && ! $conf->exists('disablepostalinvoicedefault')
+ && ! $cust_main->custnum
+ )
|| grep { $_ eq 'POST' } @invoicing_list )
? 'CHECKED'
<TD WIDTH="408"><INPUT TYPE="text" NAME="invoicing_list" VALUE="<%= join(', ', grep { $_ !~ /^(POST|FAX)$/ } @invoicing_list ) %>"></TD>
</TR>
+ <% if ( $conf->exists('voip-cust_cdr_spools') ) { %>
+ <TR>
+ <TD COLSPAN="2"><INPUT TYPE="checkbox" NAME="spool_cdr" VALUE="Y" <%= $cust_main->spool_cdr eq "Y" ? 'CHECKED' : '' %>> Spool CDRs</TD>
+ </TR>
+ <% } else { %>
+ <INPUT TYPE="hidden" NAME="spool_cdr" VALUE="<%= $cust_main->spool_cdr %>">
+ <% } %>
+
</TABLE>
</FORM>