Merge remote branch 'kc/master'
[koha.git] / cataloguing / value_builder / stocknumber.pl
1 #!/usr/bin/perl
2
3 # Copyright 2000-2002 Katipo Communications
4 #
5 # This file is part of Koha.
6 #
7 # Koha is free software; you can redistribute it and/or modify it under the
8 # terms of the GNU General Public License as published by the Free Software
9 # Foundation; either version 2 of the License, or (at your option) any later
10 # version.
11 #
12 # Koha is distributed in the hope that it will be useful, but WITHOUT ANY
13 # WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
14 # A PARTICULAR PURPOSE.  See the GNU General Public License for more details.
15 #
16 # You should have received a copy of the GNU General Public License along
17 # with Koha; if not, write to the Free Software Foundation, Inc.,
18 # 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
19
20 #use strict;
21 #use warnings; FIXME - Bug 2505
22 use C4::Context;
23
24 =head1
25
26 plugin_parameters : other parameters added when the plugin is called by the dopop function
27
28 =cut
29 sub plugin_parameters {
30 #   my ($dbh,$record,$tagslib,$i,$tabloop) = @_;
31     return "";
32 }
33
34 =head1
35
36 plugin_javascript : the javascript function called when the user enters the subfield.
37 contain 3 javascript functions :
38 * one called when the field is entered (OnFocus). Named FocusXXX
39 * one called when the field is leaved (onBlur). Named BlurXXX
40 * one called when the ... link is clicked (<a href="javascript:function">) named ClicXXX
41
42 returns :
43 * XXX
44 * a variable containing the 3 scripts.
45 the 3 scripts are inserted after the <input> in the html code
46
47 =cut
48 sub plugin_javascript {
49         my ($dbh,$record,$tagslib,$field_number,$tabloop) = @_;
50         my $function_name= "inventory".(int(rand(100000))+1);
51
52         my $branchcode = C4::Context->userenv->{'branch'};
53
54         $query = "SELECT MAX(CAST(SUBSTRING_INDEX(stocknumber,'_',-1) AS SIGNED)) FROM items WHERE homebranch = ?";
55         my $sth=$dbh->prepare($query);
56         $sth->execute($branchcode);
57         while (my ($count)= $sth->fetchrow_array) {
58                 $nextnum = $count;
59         }
60         $nextnum++;
61
62         my $nextnum = $branchcode.'_'.$nextnum;
63
64     my $scr = <<END_OF_JS;
65 if (\$('#' + id).val() == '' || force) {
66     \$('#' + id).val('$nextnum');
67 }
68 END_OF_JS
69
70     my $js  = <<END_OF_JS;
71 <script type="text/javascript">
72 //<![CDATA[
73
74 function Blur$function_name(index) {
75     //barcode validation might go here
76 }
77
78 function Focus$function_name(subfield_managed, id, force) {
79 $scr
80     return 0;
81 }
82
83 function Clic$function_name(id) {
84     return Focus$function_name('not_relavent', id, 1);
85 }
86 //]]>
87 </script>
88 END_OF_JS
89     return ($function_name, $js);
90 }
91
92 =head1
93
94 plugin: useless here
95
96 =cut
97
98 sub plugin {
99     # my ($input) = @_;
100     return "";
101 }
102
103 1;