Bugzilla – Attachment 8857 Details for
Bug 7178
Improve order item creation
Home
|
New
|
Browse
|
Search
|
[?]
|
Reports
|
Help
|
New Account
|
Log In
[x]
|
Forgot Password
Login:
[x]
[patch]
Follow-up Improve order item creation
0001-Bug-7178-Follow-up-Improve-order-item-creation.patch (text/plain), 5.94 KB, created by
Julian Maurice
on 2012-04-04 07:13:07 UTC
(
hide
)
Description:
Follow-up Improve order item creation
Filename:
MIME Type:
Creator:
Julian Maurice
Created:
2012-04-04 07:13:07 UTC
Size:
5.94 KB
patch
obsolete
>From 3fadd03bfc661ff187f4c8f1fbb48806d57e4e1a Mon Sep 17 00:00:00 2001 >From: Julian Maurice <julian.maurice@biblibre.com> >Date: Wed, 28 Mar 2012 17:01:07 +0200 >Subject: [PATCH] Bug 7178: Follow-up Improve order item creation > >Move SQL code from Perl script to Perl module >Replace SHOW COLUMNS by $dbh->column_info() >Update total on neworderempty.pl when adding or deleting items >--- > C4/Items.pm | 38 ++++++++++++++++++++ > acqui/check_uniqueness.pl | 27 +++----------- > koha-tmpl/intranet-tmpl/prog/en/js/additem.js | 4 +- > .../prog/en/modules/acqui/neworderempty.tt | 9 ++++- > 4 files changed, 53 insertions(+), 25 deletions(-) > >diff --git a/C4/Items.pm b/C4/Items.pm >index 0b2f99b..effe449 100644 >--- a/C4/Items.pm >+++ b/C4/Items.pm >@@ -80,6 +80,7 @@ BEGIN { > GetAnalyticsCount > GetItemHolds > >+ SearchItems > > PrepareItemrecordDisplay > >@@ -2496,6 +2497,43 @@ sub GetItemHolds { > $holds = $sth->fetchrow; > return $holds; > } >+ >+# Return the list of the column names of items table >+sub _get_items_columns { >+ my $dbh = C4::Context->dbh; >+ my $sth = $dbh->column_info(undef, undef, 'items', '%'); >+ $sth->execute; >+ my $results = $sth->fetchall_hashref('COLUMN_NAME'); >+ return keys %$results; >+} >+ >+=head2 SearchItems >+ >+ my $items = SearchItems($field, $value); >+ >+SearchItems will search for items on a specific given field. >+For instance you can search all items with a specific stocknumber like this: >+ >+ my $items = SearchItems('stocknumber', $stocknumber); >+ >+=cut >+ >+sub SearchItems { >+ my ($field, $value) = @_; >+ >+ my $dbh = C4::Context->dbh; >+ my @columns = _get_items_columns; >+ my $results = []; >+ if(0 < grep /^$field$/, @columns) { >+ my $query = "SELECT $field FROM items WHERE $field = ?"; >+ my $sth = $dbh->prepare( $query ); >+ $sth->execute( $value ); >+ $results = $sth->fetchall_arrayref({}); >+ } >+ return $results; >+} >+ >+ > =head1 OTHER FUNCTIONS > > =head2 _find_value >diff --git a/acqui/check_uniqueness.pl b/acqui/check_uniqueness.pl >index 95b1992..6260048 100755 >--- a/acqui/check_uniqueness.pl >+++ b/acqui/check_uniqueness.pl >@@ -33,36 +33,21 @@ use Modern::Perl; > > use CGI; > use JSON; >-use C4::Context; > use C4::Output; >-use C4::Auth; >+use C4::Items; > > my $input = new CGI; > my @field = $input->param('field'); > my @value = $input->param('value'); > >-my $dbh = C4::Context->dbh; >- >-my $query = "SHOW COLUMNS FROM items"; >-my $sth = $dbh->prepare($query); >-$sth->execute; >-my $results = $sth->fetchall_hashref('Field'); >-my @columns = keys %$results; >- > my $r = {}; >-my $index = 0; >-for my $f ( @field ) { >- if(0 < grep /^$f$/, @columns) { >- $query = "SELECT $f FROM items WHERE $f = ?"; >- $sth = $dbh->prepare( $query ); >- $sth->execute( $value[$index] ); >- my @values = $sth->fetchrow_array; >+my $i = 0; >+for ( my $i=0; $i<@field; $i++ ) { >+ my $items = C4::Items::SearchItems($field[$i], $value[$i]); > >- if ( @values ) { >- push @{ $r->{$f} }, $values[0]; >- } >+ if ( @$items ) { >+ push @{ $r->{$field[$i]} }, $value[$i]; > } >- $index++; > } > > output_with_http_headers $input, undef, to_json($r), 'json'; >diff --git a/koha-tmpl/intranet-tmpl/prog/en/js/additem.js b/koha-tmpl/intranet-tmpl/prog/en/js/additem.js >index 859fe02..2d72de7 100644 >--- a/koha-tmpl/intranet-tmpl/prog/en/js/additem.js >+++ b/koha-tmpl/intranet-tmpl/prog/en/js/additem.js >@@ -13,7 +13,7 @@ function addItem( node, unique_item_fields ) { > cloneItemBlock(index, unique_item_fields); > addItemInList(index, unique_item_fields); > $("#" + index).find("a[name='buttonPlus']").text("Update"); >- $("#quantity").val(current_qty + 1); >+ $("#quantity").val(current_qty + 1).change(); > } else if ( current_qty >= max_qty ) { > alert(window.MSG_ADDITEM_JS_CANT_RECEIVE_MORE_ITEMS > || "You can't receive any more items."); >@@ -87,7 +87,7 @@ function deleteItemBlock(node_a, index, unique_item_fields) { > } else { > max_qty = 99999; > } >- $("#quantity").val(current_qty - 1); >+ $("#quantity").val(current_qty - 1).change(); > $(node_a).parents('tr').remove(); > if(current_qty - 1 == 0) > $("#items_list").hide(); >diff --git a/koha-tmpl/intranet-tmpl/prog/en/modules/acqui/neworderempty.tt b/koha-tmpl/intranet-tmpl/prog/en/modules/acqui/neworderempty.tt >index 8aec465..4cd6b49 100644 >--- a/koha-tmpl/intranet-tmpl/prog/en/modules/acqui/neworderempty.tt >+++ b/koha-tmpl/intranet-tmpl/prog/en/modules/acqui/neworderempty.tt >@@ -104,6 +104,11 @@ $(document).ready(function() > [% IF (AcqCreateItemOrdering) %] > cloneItemBlock(0, '[% UniqueItemFields %]'); > [% END %] >+ >+ $("#quantity").change(function() { >+ calcNeworderTotal(); >+ }); >+ > //We apply the fonction only for modify option > [% IF ( quantityrec ) %] > $('#quantity').blur(function() >@@ -376,9 +381,9 @@ $(document).ready(function() > [% ELSE %] > <label class="required" for="quantity">Quantity: </label> > [% IF (AcqCreateItemOrdering) %] >- <input type="text" readonly="readonly" size="20" id="quantity" name="quantity" value="0" onchange="updateCosts();" /> >+ <input type="text" readonly="readonly" size="20" id="quantity" name="quantity" value="0" /> > [% ELSE %] >- <input type="text" size="20" id="quantity" name="quantity" value="[% quantityrec %]" onchange="calcNeworderTotal();" /> >+ <input type="text" size="20" id="quantity" name="quantity" value="[% quantityrec %]" /> > [% END %] > [% END %] > <!-- origquantityrec only here for javascript compatibility (additem.js needs it, useless here, usefull when receiveing an order --> >-- >1.7.9.1 >
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 7178
:
6233
|
7249
|
7279
|
7450
|
7806
|
7807
|
7892
|
7963
|
8558
|
8672
|
8715
|
8857
|
8886
|
9511
|
9518
|
9690