From 7615c7464084c53c566f241a759673816011314e Mon Sep 17 00:00:00 2001 From: kados Date: Tue, 8 Aug 2006 13:46:38 +0000 Subject: [PATCH] A barcode plugin for a library that uses the following formula to generate barcodes yyyy-nnnnn where yyyy is the current year and nnnnn is the count+1 of the number of items acquired that year. --- value_builder/wipo_barcode.pl | 119 ++++++++++++++++++++++++++++++++++ 1 file changed, 119 insertions(+) create mode 100755 value_builder/wipo_barcode.pl diff --git a/value_builder/wipo_barcode.pl b/value_builder/wipo_barcode.pl new file mode 100755 index 0000000000..afd59bdec3 --- /dev/null +++ b/value_builder/wipo_barcode.pl @@ -0,0 +1,119 @@ +#!/usr/bin/perl + +# $Id$ + +# Copyright 2000-2002 Katipo Communications +# +# This file is part of Koha. +# +# Koha is free software; you can redistribute it and/or modify it under the +# terms of the GNU General Public License as published by the Free Software +# Foundation; either version 2 of the License, or (at your option) any later +# version. +# +# Koha is distributed in the hope that it will be useful, but WITHOUT ANY +# WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR +# A PARTICULAR PURPOSE. See the GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License along with +# Koha; if not, write to the Free Software Foundation, Inc., 59 Temple Place, +# Suite 330, Boston, MA 02111-1307 USA + +require Exporter; +use C4::Context; + +=head1 + +plugin_parameters : other parameters added when the plugin is called by the dopop function + +=cut +sub plugin_parameters { +my ($dbh,$record,$tagslib,$i,$tabloop) = @_; +return ""; +} + +=head1 + +plugin_javascript : the javascript function called when the user enters the subfield. +contain 3 javascript functions : +* one called when the field is entered (OnFocus). Named FocusXXX +* one called when the field is leaved (onBlur). Named BlurXXX +* one called when the ... link is clicked () named ClicXXX + +returns : +* XXX +* a variable containing the 3 scripts. +the 3 scripts are inserted after the in the html code + +=cut +sub plugin_javascript { +my ($dbh,$record,$tagslib,$field_number,$tabloop) = @_; +my $function_name= "wipobarcode".(int(rand(100000))+1); + +# find today's date +my ($sec,$min,$hour,$mday,$mon,$year,$wday,$yday,$isdst) = + localtime(time); +$year +=1900; +$mon +=1; +if (length($mon)==1) { + $mon = "0".$mon; +} +if (length($mday)==1) { + $mday = "0".$mday; +} +if (length($hour)==1) { + $hour = "0".$hour; +} +if (length($min)==1) { + $min = "0".$min; +} +if (length($sec)==1) { + $hour = "0".$sec; +} + +my $dbh = C4::Context->dbh; +my $date = "$year"; + +my $query = "select max(substr(barcode,6)) from items where barcode like ?"; +my $sth=$dbh->prepare($query); +$sth->execute("$date%"); +my $nextnum; +while (my ($count)= $sth->fetchrow_array) { + warn "HERE".$count; + $nextnum = $count; +} +$nextnum++; +my $res = " + +"; +return ($function_name,$res); +} + +=head1 + +plugin : the true value_builded. The screen that is open in the popup window. + +=cut + +sub plugin { +my ($input) = @_; +return ""; +} + +1; -- 2.39.5