X-Git-Url: http://git.freeside.biz/gitweb/?p=freeside.git;a=blobdiff_plain;f=httemplate%2Felements%2Fselect-month_year.html;h=406c13b2156b50627e5731b232730a7e963ca5be;hp=34476bc9453a3ce0db6167a1e21be762f3bfe128;hb=7a177f82917a57bc1a0a8ef4a4608aca24773624;hpb=c8cccb4a92adceb943c635fe62dad0d034462ce0 diff --git a/httemplate/elements/select-month_year.html b/httemplate/elements/select-month_year.html index 34476bc94..406c13b21 100644 --- a/httemplate/elements/select-month_year.html +++ b/httemplate/elements/select-month_year.html @@ -1,62 +1,59 @@ -% -% -% my %opt = @_; -% -% my $prefix = $opt{'prefix'} || ''; -% my $disabled = $opt{'disabled'} || ''; -% my $empty = $opt{'empty_option'} || ''; -% my $start_year = $opt{'start_year'}; -% my $end_year = $opt{'end_year'} || '2037'; -% -% my @mon; -% if ( $opt{'show_month_abbr'} ) { -% @mon = qw(Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec); -% } else { -% @mon = ( 1 .. 12 ); -% } -% -% my $date = $opt{'selected_date'} || ''; -% $date = '' if $date eq '-'; -% #$date ||= '01-2000' unless $empty; -% -% my $mon = $opt{'selected_mon'} || 0; -% my $year = $opt{'selected_year'} || 0; -% if ( $date ) { -% if ( $date =~ /^(\d{4})-(\d{1,2})-\d{1,2}$/ ) { #PostgreSQL date format -% ( $mon, $year ) = ( $2, $1 ); -% } elsif ( $date =~ /^(\d{1,2})-(\d{1,2}-)?(\d{4}$)/ ) { -% ( $mon, $year ) = ( $1, $3 ); -% } else { -% die "unrecognized expiration date format: $date"; -% } -% } -% -% unless ( $start_year ) { -% my @t = localtime; -% $start_year = $t[5] + 1900; -% } -% $start_year = $year if $start_year > $year && $year > 0; -% -% - - / +<%init> + my %opt = @_; + + my $prefix = $opt{'prefix'} || ''; + my $disabled = $opt{'disabled'} || ''; + my $empty = $opt{'empty_option'} || ''; + my $start_year = $opt{'start_year'}; + my $end_year = $opt{'end_year'} || '2037'; + + my @mon; + if ( $opt{'show_month_abbr'} ) { + @mon = qw(Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec); + # XXX: localization + } else { + @mon = ( ( map "0$_", 1 .. 9 ), 10 .. 12 ), + } + + my $date = $opt{'selected_date'} || ''; + $date = '' if $date eq '-'; + + my $mon = $opt{'selected_mon'} || 0; + my $year = $opt{'selected_year'} || 0; + + #false laziness w/cust_payby->paydate_mon_year + if ( $date ) { + if ( $date =~ /^(\d{4})-(\d{1,2})-\d{1,2}$/ ) { #PostgreSQL date format + ( $mon, $year ) = ( $2, $1 ); + } elsif ( $date =~ /^(\d{1,2})-(\d{1,2}-)?(\d{4}$)/ ) { + ( $mon, $year ) = ( $1, $3 ); + } else { + die "unrecognized expiration date format: $date"; + } + } + + unless ( $start_year ) { + my @t = localtime; + $start_year = $t[5] + 1900; + } + $start_year = $year if $start_year > $year && $year > 0; + +