Bugzilla – Attachment 11896 Details for
Bug 7992
new plugin about Automatic Number incrementing inventory. Prefix management from a authorised values list
Home
|
New
|
Browse
|
Search
|
[?]
|
Reports
|
Help
|
New Account
|
Log In
[x]
|
Forgot Password
Login:
[x]
[patch]
Bug 7992: New plugin stocknumberAV
Bug-7992-New-plugin-stocknumberAV.patch (text/plain), 4.79 KB, created by
Jonathan Druart
on 2012-08-30 13:33:04 UTC
(
hide
)
Description:
Bug 7992: New plugin stocknumberAV
Filename:
MIME Type:
Creator:
Jonathan Druart
Created:
2012-08-30 13:33:04 UTC
Size:
4.79 KB
patch
obsolete
>From 503ea1ad2ac555bdfd4a0fbd0f4d54e050967336 Mon Sep 17 00:00:00 2001 >From: Jonathan Druart <jonathan.druart@biblibre.com> >Date: Thu, 30 Aug 2012 15:31:14 +0200 >Subject: [PATCH] Bug 7992: New plugin stocknumberAV > >Bugzilla description (from delaye): >1 / Create a list of authorised values(INVENTORY_NUMBER). In which the >code is the prefix and the description the last number assigned. > >2/A space between the prefix and number. > >3 / From a holding record, after indicate the prefix when you click on >the plugin -> koha search the last number from authorised values >assigned in the list and increment n +1 level meter >--- > cataloguing/value_builder/stocknumberAV.pl | 113 ++++++++++++++++++++++++++++ > 1 file changed, 113 insertions(+) > create mode 100755 cataloguing/value_builder/stocknumberAV.pl > >diff --git a/cataloguing/value_builder/stocknumberAV.pl b/cataloguing/value_builder/stocknumberAV.pl >new file mode 100755 >index 0000000..0578d44 >--- /dev/null >+++ b/cataloguing/value_builder/stocknumberAV.pl >@@ -0,0 +1,113 @@ >+#!/usr/bin/perl >+ >+# Copyright 2012 BibLibre SARL >+# >+# 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., >+# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. >+ >+use Modern::Perl; >+use C4::Auth; >+use CGI; >+use C4::Context; >+ >+=head1 DESCRIPTION >+ >+This plugin is based on authorised values INVENTORY. >+It is used for stocknumber computation. >+ >+If the user send an empty string, we return a simple incremented stocknumber. >+If a prefix is submited, we look for the highest stocknumber with this prefix, and return it incremented. >+In this case, a stocknumber has this form : "PREFIX 0009678570". >+ - PREFIX is an upercase word >+ - a space separator >+ - 10 digits, with leading 0s if needed >+ >+=cut >+ >+sub plugin_parameters { >+} >+ >+sub plugin_javascript { >+ my ($dbh,$record,$tagslib,$field_number,$tabloop) = @_; >+ my $res = qq{ >+ <script type='text/javascript'> >+ function Focus$field_number() { >+ return 1; >+ } >+ >+ function Blur$field_number() { >+ return 1; >+ } >+ >+ function Clic$field_number() { >+ var code = document.getElementById('$field_number'); >+ \$.ajax({ >+ url: '/cgi-bin/koha/cataloguing/plugin_launcher.pl', >+ type: 'POST', >+ data: { >+ 'plugin_name': 'stocknumberAV.pl', >+ 'code' : code.value, >+ }, >+ success: function(data){ >+ var field = document.getElementById('$field_number'); >+ field.value = data; >+ return 1; >+ } >+ }); >+ } >+ </script> >+ }; >+ >+ return ($field_number,$res); >+} >+ >+sub plugin { >+ my ($input) = @_; >+ my $code = $input->param('code'); >+ >+ my ( $template, $loggedinuser, $cookie ) = get_template_and_user( >+ { template_name => "cataloguing/value_builder/ajax.tmpl", >+ query => $input, >+ type => "intranet", >+ authnotrequired => 0, >+ flagsrequired => { editcatalogue => '*' }, >+ debug => 1, >+ } >+ ); >+ >+ my $dbh = C4::Context->dbh; >+ >+ # If a prefix is submited, we look for the highest stocknumber with this prefix, and return it incremented >+ $code =~ s/ *$//g; >+ if ( $code =~ m/^[A-Z]+$/ ) { >+ my $sth = $dbh->prepare("SELECT lib FROM authorised_values WHERE category='INVENTORY' AND authorised_value=?"); >+ $sth->execute( $code); >+ >+ if ( my $valeur = $sth->fetchrow ) { >+ $template->param( return => $code . ' ' . sprintf( '%010s', ( $valeur + 1 ) ), ); >+ my $sth2 = $dbh->prepare("UPDATE authorised_values SET lib=? WHERE category='INVENTORY' AND authorised_value=?"); >+ $sth2->execute($valeur+1,$code); >+ } else { >+ $template->param( return => "There is no defined value for $code"); >+ } >+ # The user entered a custom value, we don't touch it, this could be handled in js >+ } else { >+ $template->param( return => $code, ); >+ } >+ >+ output_html_with_http_headers $input, $cookie, $template->output; >+} >+ >+1; >-- >1.7.10.4
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Diff
View Attachment As Raw
Actions:
View
|
Diff
|
Splinter Review
Attachments on
bug 7992
:
9402
|
9868
|
11600
|
11893
|
11895
|
11896
|
11897