Bugzilla – Attachment 9868 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: Specific plugin stocknumberam123 improvements
Bug-7992-Specific-plugin-stocknumberam123-improvem.patch (text/plain), 4.32 KB, created by
Jonathan Druart
on 2012-06-01 08:48:45 UTC
(
hide
)
Description:
Bug 7992: Specific plugin stocknumberam123 improvements
Filename:
MIME Type:
Creator:
Jonathan Druart
Created:
2012-06-01 08:48:45 UTC
Size:
4.32 KB
patch
obsolete
>From a80d315cc1abf64554719e268d9420c1a401c56d Mon Sep 17 00:00:00 2001 >From: Jonathan Druart <jonathan.druart@biblibre.com> >Date: Thu, 3 May 2012 15:22:17 +0200 >Subject: [PATCH] Bug 7992: Specific plugin stocknumberam123 improvements > >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/stocknumberam123.pl | 61 +++++++++++-------------- > 1 files changed, 27 insertions(+), 34 deletions(-) > >diff --git a/cataloguing/value_builder/stocknumberam123.pl b/cataloguing/value_builder/stocknumberam123.pl >index ab88f61..dc589b8 100755 >--- a/cataloguing/value_builder/stocknumberam123.pl >+++ b/cataloguing/value_builder/stocknumberam123.pl >@@ -49,6 +49,10 @@ sub plugin_javascript { > } > > function Blur$field_number() { >+ return 1; >+ } >+ >+ function Clic$field_number() { > var code = document.getElementById('$field_number'); > var url = '../cataloguing/plugin_launcher.pl?plugin_name=stocknumberam123.pl&code=' + code.value; > var blurcallbackstocknumber = { >@@ -61,10 +65,6 @@ sub plugin_javascript { > var transaction = YAHOO.util.Connect.asyncRequest('GET',url, blurcallbackstocknumber, null); > return 1; > } >- >- function Clic$field_number() { >- return 1; >- } > </script> > "; > >@@ -75,42 +75,35 @@ 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 ( $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 the textbox is empty, we return a simple incremented stocknumber >- if ( $code eq "" ) { >- my $sth = $dbh->prepare("SELECT MAX(CAST(stocknumber AS SIGNED)) FROM items"); >- $sth->execute; >- >- if ( my $max = $sth->fetchrow ) { >- $template->param( >- return => $max+1, >- ); >- } >+ > # If a prefix is submited, we look for the highest stocknumber with this prefix, and return it incremented >- } elsif ( $code =~ m/^[A-Z]+$/ ) { >- my $sth = $dbh->prepare("SELECT MAX(CAST(SUBSTRING_INDEX(stocknumber,' ',-1) AS SIGNED)) FROM items WHERE stocknumber LIKE ?"); >- $sth->execute($code.' %'); >- >- if ( my $max = $sth->fetchrow ) { >- $template->param( >- return => $code.' '.sprintf('%010s',($max+1)), >- ); >+ 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 >+ # The user entered a custom value, we don't touch it, this could be handled in js > } else { >- $template->param( >- return => $code, >- ); >+ $template->param( return => $code, ); > } >+ > output_html_with_http_headers $input, $cookie, $template->output; > } > >-- >1.7.7.3
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