Bug 14011 - Triggering slip print with enter key collides with 'barcode submitted' message
Summary: Triggering slip print with enter key collides with 'barcode submitted' message
Status: CLOSED FIXED
Alias: None
Product: Koha
Classification: Unclassified
Component: Circulation (show other bugs)
Version: master
Hardware: All All
: P5 - low major (vote)
Assignee: Bugs List
QA Contact: Testopia
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2015-04-17 21:20 UTC by Katrin Fischer
Modified: 2015-12-03 22:11 UTC (History)
6 users (show)

See Also:
Change sponsored?: ---
Patch complexity: Trivial patch
Bot Control: ---
When did the bot last check this:
Who signed the patch off:
Text to go in the release notes:


Attachments
Bug 14011 - Triggering slip print with enter key collides with 'barcode submitted' (1.64 KB, patch)
2015-04-19 18:31 UTC, Marc Véron
Details | Diff | Splinter Review
Bug 14011 - Triggering slip print with enter key collides with 'barcode submitted' (1.72 KB, patch)
2015-04-20 01:05 UTC, M. Tompsett
Details | Diff | Splinter Review
Bug 14011 - Triggering slip print with enter key collides with 'barcode submitted' (1.78 KB, patch)
2015-04-20 13:14 UTC, Jonathan Druart
Details | Diff | Splinter Review
Bug 14011: Make the jQuery selector explicit (1.07 KB, patch)
2015-04-20 13:14 UTC, Jonathan Druart
Details | Diff | Splinter Review

Note You need to log in before you can comment on or make changes to this bug.
Description Katrin Fischer 2015-04-17 21:20:05 UTC
To test:

- submit empty checkout for triggering a slip print
- print the slip or cancel
- notice you can't read a new barcode into the field now,
  instead, the 'barcode submitted' message will be triggered each time
  you try
Comment 1 Marc Véron 2015-04-19 18:31:19 UTC Comment hidden (obsolete)
Comment 2 M. Tompsett 2015-04-20 01:05:12 UTC Comment hidden (obsolete)
Comment 3 Jonathan Druart 2015-04-20 10:28:25 UTC
Comment on attachment 38148 [details] [review]
Bug 14011 - Triggering slip print with enter key collides with 'barcode submitted'

Review of attachment 38148 [details] [review]:
-----------------------------------------------------------------

::: koha-tmpl/intranet-tmpl/prog/en/modules/circ/circulation.tt
@@ +64,4 @@
>  
>  $(document).ready(function() {
>      $('#mainform').on('submit',function() {
> +        if (barcode && barcode.value) {

What is the barcode variable?
This variable is never defined, and you will never pass this condition.
Comment 4 Marc Véron 2015-04-20 12:51:30 UTC
Hi Jonathan,

Add following alerts after line 66 in circulation.tt:

$(document).ready(function() {
    $('#mainform').on('submit',function() {
alert(barcode);
alert(barcode.value);
        $('#barcode').on('keypress',function(event) {
            $('#barcodeSubmittedModal').modal();
            event.preventDefault(); }
        );
    });
(...)

...and then do checkout with a barcode e.g. 123456789 

Result: With the first alert you will get [object HTMLInputELement] and with the second the barcode 123456789

While testing I detected errors because there seem to be cases where the object barcode does not (yet?) exist. That's why I test first for the existence of barcode and then for it's value.
Comment 5 Jonathan Druart 2015-04-20 13:14:19 UTC
Created attachment 38185 [details] [review]
Bug 14011 - Triggering slip print with enter key collides with 'barcode submitted'

To reproduce:

- Log into staff client
- Find a client with 0 checkouts
- Print a slip (or cancel printing it)
- Attempt to type in a barcode to checkout
  -- annoying modal screen pops up
     'barcode submitted' message will be triggered each time
     you try

To test:
- apply patch
- try to reproduce issue

Signed-off-by: Mark Tompsett <mtompset@hotmail.com>

Signed-off-by: Jonathan Druart <jonathan.druart@biblibre.com>
Comment 6 Jonathan Druart 2015-04-20 13:14:29 UTC
Created attachment 38186 [details] [review]
Bug 14011: Make the jQuery selector explicit

Signed-off-by: Jonathan Druart <jonathan.druart@biblibre.com>
Comment 7 Jonathan Druart 2015-04-20 13:15:34 UTC
(In reply to Marc Véron from comment #4)
> Hi Jonathan,
> 
> Add following alerts after line 66 in circulation.tt:
> 
> $(document).ready(function() {
>     $('#mainform').on('submit',function() {
> alert(barcode);
> alert(barcode.value);
>         $('#barcode').on('keypress',function(event) {
>             $('#barcodeSubmittedModal').modal();
>             event.preventDefault(); }
>         );
>     });
> (...)

It's seem that barcode and $("#barcode") is the same, I was not aware of that.
Comment 8 Marc Véron 2015-04-20 13:31:13 UTC
Thanks Jonathan for passing QA.

BTW: 
I did some tests with $('#barcode') instead of barcode (see #4).
The first alert showed [object Object] instead of [object HTMLInputELement] and the second 'undefined' instead of the value (and the patch did not work).
Comment 9 Marc Véron 2015-04-20 14:02:56 UTC
Re-tested with second patch, works as expected.
Comment 10 Tomás Cohen Arazi 2015-05-04 14:48:52 UTC
Patches pushed to master.

Thanks Marc!