Bug 5336: (follow-up) remove unused new parameter to NewOrder() that slipped in
[koha.git] / C4 / Barcodes.pm
index 4a5fa19..b08d660 100644 (file)
@@ -28,6 +28,7 @@ use C4::Dates;
 use C4::Barcodes::hbyymmincr;
 use C4::Barcodes::annual;
 use C4::Barcodes::incremental;
+use C4::Barcodes::EAN13;
 
 use vars qw($VERSION @ISA @EXPORT @EXPORT_OK %EXPORT_TAGS);
 use vars qw($debug $cgi_debug);        # from C4::Debug, of course
@@ -54,7 +55,7 @@ sub initial {
        return '0000001';
 }
 sub width {
-       return undef;
+       return;
 }
 sub process_head {     # (self,head,whole,specific)
        my $self = shift;
@@ -128,7 +129,7 @@ sub next_value {
        my ($head,$incr,$tail) = $self->parse($max);    # for incremental, you'd get ('',the_whole_barcode,'')
        unless (defined $incr) {
                warn "No incrementing part of barcode ($max) returned by parse.";
-               return undef;
+               return;
        }
        my $x = length($incr);          # number of digits
        $incr =~ /^9+$/ and $x++;       # if they're all 9's, we need an extra.
@@ -138,23 +139,23 @@ sub next_value {
 
        $debug and warn "$incr";
        $head = $self->process_head($head,$max,$specific);
-       $tail = $self->process_tail($tail,$max,$specific);
+    $tail = $self->process_tail($tail,$incr,$specific); # XXX use $incr and not $max!
        my $next_value = $head . $incr . $tail;
        $debug and print STDERR "(  next ) max barcode found: $next_value\n";
        return $next_value;
 }
 sub next {
-       my $self = shift or return undef;
+       my $self = shift or return;
        (@_) and $self->{next} = shift;
        return $self->{next};
 }
 sub previous {
-       my $self = shift or return undef;
+       my $self = shift or return;
        (@_) and $self->{previous} = shift;
        return $self->{previous};
 }
 sub serial {
-       my $self = shift or return undef;
+       my $self = shift or return;
        (@_) and $self->{serial} = shift;
        return $self->{serial};
 }
@@ -177,6 +178,7 @@ our $types = {
        incremental => sub {C4::Barcodes::incremental->new_object(@_);},
        hbyymmincr  => sub {C4::Barcodes::hbyymmincr->new_object(@_); },
        OFF         => sub {C4::Barcodes::OFF->new_object(@_);        },
+    EAN13       => sub {C4::Barcodes::EAN13->new_object(@_);      },
 };
 
 sub new {
@@ -190,11 +192,11 @@ sub new {
        $autoBarcodeType =~ s/^.*:://;  # in case we get C4::Barcodes::incremental, we just want 'incremental'
        unless ($autoBarcodeType) {
                carp "No autoBarcode format found.";
-               return undef;
+               return;
        }
        unless (defined $types->{$autoBarcodeType}) {
                carp "The autoBarcode format '$autoBarcodeType' is unrecognized.";
-               return undef;
+               return;
        }
        carp "autoBarcode format = $autoBarcodeType" if $debug;
        my $self;
@@ -225,7 +227,7 @@ sub new {
                return $self;
        }
        carp "Failed new C4::Barcodes::$autoBarcodeType";
-       return undef;
+       return;
 }
 
 sub new_object {