From c0e6e93dfa3fa43f93a1e75ef4a79d1a54e68a8e Mon Sep 17 00:00:00 2001 From: =?utf8?q?Jean-Andr=C3=A9=20Santoni?= Date: Fri, 14 Aug 2009 15:41:23 +0200 Subject: [PATCH] Auto incremental inventory number plugin Renamed it stocknumber.pl to avoid confusion with the already existing inventory.pl Signed-off-by: Henri-Damien LAURENT --- cataloguing/value_builder/stocknumber.pl | 102 +++++++++++++++++++++++ 1 file changed, 102 insertions(+) create mode 100755 cataloguing/value_builder/stocknumber.pl diff --git a/cataloguing/value_builder/stocknumber.pl b/cataloguing/value_builder/stocknumber.pl new file mode 100755 index 0000000000..a289cd3f06 --- /dev/null +++ b/cataloguing/value_builder/stocknumber.pl @@ -0,0 +1,102 @@ +#!/usr/bin/perl + +# 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 + + +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= "inventory".(int(rand(100000))+1); + + my $branchcode = C4::Context->userenv->{'branch'}; + + $query = "SELECT MAX(CAST(SUBSTRING_INDEX(copynumber,'_',-1) AS SIGNED)) FROM items WHERE homebranch = ?"; + my $sth=$dbh->prepare($query); + $sth->execute($branchcode); + while (my ($count)= $sth->fetchrow_array) { + $nextnum = $count; + } + $nextnum++; + + my $nextnum = $branchcode.'_'.$nextnum; + + my $scr = < +// + +END_OF_JS + return ($function_name, $js); +} + +=head1 + +plugin: useless here + +=cut + +sub plugin { + # my ($input) = @_; + return ""; +} + +1; -- 2.39.5