msgcat error for credit card expiration (closes: Bug#407)
authorivan <ivan>
Wed, 24 Apr 2002 09:03:37 +0000 (09:03 +0000)
committerivan <ivan>
Wed, 24 Apr 2002 09:03:37 +0000 (09:03 +0000)
FS/FS/cust_main.pm
bin/populate-msgcat

index 6fefe0d..4a6a952 100644 (file)
@@ -683,11 +683,10 @@ sub check {
   } else {
     $self->paydate =~ /^(\d{1,2})[\/\-](\d{2}(\d{2})?)$/
       or return "Illegal expiration date: ". $self->paydate;
-    if ( length($2) == 4 ) {
-      $self->paydate("$2-$1-01");
-    } else {
-      $self->paydate("20$2-$1-01");
-    }
+    my $y = length($2) == 4 ? $2 : "20$2";
+    $self->paydate("$y-$1-01");
+    my($nowm,$nowy)=(localtime(time))[4,5]; $nowm++; $nowy+=1900;
+    return gettext('expired_card') if $y<$nowy || ( $y==$nowy && $1<$nowm );
   }
 
   if ( $self->payname eq '' ) {
index 64fa59a..506cf5f 100755 (executable)
@@ -102,6 +102,10 @@ sub messages {
       #'en_US' => '',
     },
 
+    'expired_card' => {
+      'en_US' => 'Expired card',
+    },
+
   );
 }