Bug 12224

Summary: Allow easy printing of patron check-in slip
Product: Koha Reporter: paxed <pasi.kallinen>
Component: CirculationAssignee: Aleisha Amohia <aleisha>
Status: CLOSED FIXED QA Contact: Martin Renvoize (ashimema) <martin.renvoize>
Severity: enhancement    
Priority: P5 - low CC: aleisha, amalalib09, caroline.cyr-la-rose, christian.stelzenmueller, emmi.takkinen, f.demians, fridolin.somers, gmcharlt, guillaume.paquet, johanna.raisa, jonathan.druart, joonas.kylmala, joonas.kylmala, josef.moravec, kyle.m.hall, martin.renvoize, pjamorim91, rcoert, sandboxes, veron
Version: MainKeywords: Manual-updated
Hardware: All   
OS: All   
See Also: https://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=18404
https://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=9251
Change sponsored?: Sponsored Patch complexity: Small patch
Documentation contact: Documentation submission:
Text to go in the release notes:
This allows to print a checkin slip with information about all of the items a patron has checked in that day from the checkin page in the staff client. It uses a new notice template with the letter code CHECKINSLIP.
Version(s) released in:
21.05.00
Circulation function:
Bug Depends on:    
Bug Blocks: 27772, 28896, 27851, 29062    
Attachments: Allow easy printing of patron check-ins for today
Bug 12224: Allow easy printing of patron check-ins for today
Rebased to master version of the previous patch
Bug 12224: (follow-up) Allow easy printing of patron check-ins for today
Bug 12224: Allow easy printing of patron check-ins for today
Bug 12224: Allow easy printing of patron check-ins for today
Bug 12224: Allow easy printing of patron check-ins for today
Bug 12224: (follow-up) Allow easy printing of patron check-ins for today
Bug 12224: Allow easy printing of patron check-ins for today
Bug 12224: (follow-up) Allow easy printing of patron check-ins for today
Bug 12224: (follow-up) Allow easy printing of patron check-ins for today
Bug 12224: (follow-up) Allow easy printing of patron check-ins for today
Bug 12224: (follow-up) Allow easy printing of patron check-ins for today
Bug 12224: Print a slip of borrower's checkins for today
Bug 12224: Print a slip of borrower's checkins for today
Bug 12224: (follow-up) Move button to patron column in checkins table
Bug 12224: Print a slip of borrower's checkins for today
Bug 12224: (follow-up) Move button to patron column in checkins table
Bug 12224: (follow-up) Access old_issues table when editing notice
Bug 12224: Print a slip of borrower's checkins for today
Bug 12224: (follow-up) Move button to patron column in checkins table
Bug 12224: (follow-up) Access old_issues table when editing notice
Bug 12224: Print a slip of borrower's checkins for today
Bug 12224: (follow-up) Move button to patron column in checkins table
Bug 12224: (follow-up) Access old_issues table when editing notice
Bug 12224: Print a slip of borrower's checkins for today
Bug 12224: (follow-up) Move button to patron column in checkins table
Bug 12224: (follow-up) Access old_issues table when editing notice
Bug 12224: (follow-up) Switching to TT notice
Bug 12224: (follow-up) Loop old_issues with itemnumber
Bug 12224: (follow-up) Loop old_issues with itemnumber
Bug 12224: Print a slip of borrower's checkins for today
Bug 12224: (follow-up) Move button to patron column in checkins table
Bug 12224: (follow-up) Access old_issues table when editing notice
Bug 12224: (follow-up) Switching to TT notice
Bug 12224: (follow-up) Loop old_issues with itemnumber
Bug 12224: Print a slip of borrower's checkins for today
Bug 12224: (follow-up) Move button to patron column in checkins table
Bug 12224: (follow-up) Access old_issues table when editing notice
Bug 12224: (follow-up) Switching to TT notice
Bug 12224: (follow-up) Loop old_issues with itemnumber
Bug 12224: (QA follow-up) Ensure patron language is respected
Bug 12224: Some code improvements
Bug 12224: Print a slip of borrower's checkins for today
Bug 12224: (follow-up) Move button to patron column in checkins table
Bug 12224: (follow-up) Access old_issues table when editing notice
Bug 12224: (follow-up) Switching to TT notice
Bug 12224: (follow-up) Loop old_issues with itemnumber
Bug 12224: (QA follow-up) Ensure patron language is respected
Bug 12224: Some code improvements
Bug 12224: (follow-up) Format today with KohaDates

Description paxed 2014-05-09 08:53:09 UTC
Staff should be able to print a list of patron's returns from the Check In UI.

Some of our patrons want a physical slip when they've returned the books at the counter. The Check-IN UI does not offer any way to print such a slip. Going to the patron's  modification log

The slip should list all the checked-in items for the patron for today.
Comment 1 paxed 2014-05-13 06:24:03 UTC
After talking with our staff, it's enough that the slip can be printed from the patron detail page - changed bug description accordingly. Patch to follow.
Comment 2 paxed 2014-05-13 06:40:26 UTC Comment hidden (obsolete)
Comment 3 Biblibre Sandboxes 2014-07-15 02:03:38 UTC
Patch tested with a sandbox, by Aleisha <aleishaamohia@hotmail.com>
Comment 4 Biblibre Sandboxes 2014-07-15 02:03:59 UTC Comment hidden (obsolete)
Comment 5 Katrin Fischer 2014-07-20 17:35:09 UTC
I really like this new feature and it works pretty well already. I have some small things for a follow-up:

1) Entry in the print pull down in circ
After checking with a native speaker (I didn't want to suggest something wrong) I think "Print check-in slip" or "Print today's check-in slip" would be better than "Print checked-in today -slip".

2) The new notice template formats the title information quite differently to the "check-out" slip, here for comparison:

ISSUESLIP:
<checkedout>
<p>
<<biblio.title>> <br />
Barcode: <<items.barcode>><br />
Date due: <<issues.date_due>><br />
</p>
</checkedout>

New CHECKINSLIP:

<checkedin>
<li><<biblio.author>>: <<biblio.title>><br>
Barcode: <<items.barcode>><br>
</checkedin>

Not going to argue about <p> vs. <li>, although I personally prefer the first, but I think the <<biblio.author>>: is problematic. Lots of records don't have a first author in 100 and then the printed information is a bit ugly. If you want t include the author. Maybe just having the title and no : is a bit safer here.
But this is not a blocker, just noticing as my example record didn't have an author.

3) Please include the new sample template in the installers for the other languages. Without the template the print will fail and people won't know the code to use for the new notice. Better to have an English template that can be easily modified.

4) Misses unit tests for the new routines...
Comment 6 Katrin Fischer 2015-04-07 13:17:42 UTC
Would be great to see this moving.
Comment 7 Joonas Kylmälä 2015-08-21 14:28:39 UTC
(In reply to Katrin Fischer from comment #6)
> Would be great to see this moving.

It's starting to move. Follow-up coming soon! :)
Comment 8 Joonas Kylmälä 2015-08-24 09:22:46 UTC Comment hidden (obsolete)
Comment 9 Joonas Kylmälä 2015-08-24 09:24:23 UTC Comment hidden (obsolete)
Comment 10 Joonas Kylmälä 2015-08-24 09:33:24 UTC
With the follow-up version of the patch the unit test might fail if the test is run at 12 +- 0.0001s AM/PM. What shall we do with this? It would be great to keep those unit tests. Maybe we could change the function GetTodaysReturnsForBorrower to accept a day from which the returns should be retrieved, and also function CheckInSlip to accept a day from which to retrieve the slip. Then in the unit test we could specify the day.. And I think in this way the code would be more generalized. 

Btw, i'm thinking of integrating the function CheckInSlip with IssueSlip, so another follow-up maybe coming soon!
Comment 11 Jonathan Druart 2015-11-06 10:34:29 UTC
(In reply to Joonas Kylmälä from comment #10)
> With the follow-up version of the patch the unit test might fail if the test
> is run at 12 +- 0.0001s AM/PM. What shall we do with this? It would be great
> to keep those unit tests. Maybe we could change the function
> GetTodaysReturnsForBorrower to accept a day from which the returns should be
> retrieved, and also function CheckInSlip to accept a day from which to
> retrieve the slip. Then in the unit test we could specify the day.. And I
> think in this way the code would be more generalized. 

I have fixed the same kind of problem on bug 15029.
Comment 12 Jonathan Druart 2015-11-06 10:35:19 UTC
Actually it's the same script :)
You should provide a patch on top of it.
Comment 13 Jonathan Druart 2015-11-06 10:36:18 UTC
(In reply to Jonathan Druart from comment #12)
> Actually it's the same script :)
> You should provide a patch on top of it.

Or just rebase since it's pushed to master.
Comment 14 Joonas Kylmälä 2015-11-06 15:00:03 UTC Comment hidden (obsolete)
Comment 15 Joonas Kylmälä 2015-11-06 15:13:03 UTC Comment hidden (obsolete)
Comment 16 Joonas Kylmälä 2015-11-06 15:42:32 UTC
Created attachment 44582 [details] [review]
Bug 12224: Allow easy printing of patron check-ins for today

Let's try rebasing for the third time ! :)

This adds a printing option to the staff client patron details page
to print a list of items the patron returned today at this branch.

To test:

1) Apply patch.
2) Check in tools > Notices & Slips that you have CHECKINSLIP slip,
   and have print message there. If not, run updatedatabase.pl
3) Check-in items for a patron.
4) Go to that patron's detail page, and from the Print-menu in
   the toolbar, select "Print checked-in today -slip"
5) You should get a slip of the patron's checked-in items.
6) Optionally, test Check-ins for the same patron, but in different
   branches - should only print items for the current branch.
7) Optionally, test Check-ins for the same patron, but returned
   in different day - should only print items for today.

Signed-off-by: Aleisha <aleishaamohia@hotmail.com>
Comment 17 Joonas Kylmälä 2015-11-06 15:54:11 UTC
Created attachment 44584 [details] [review]
Bug 12224: (follow-up) Allow easy printing of patron check-ins for today

Rebased version

This adds a printing option to the staff client patron details page
to print a list of items the patron returned today at this branch.

To test:

1) Apply patch.
2) Check in tools > Notices & Slips that you have CHECKINSLIP slip,
   and have print message there. If not, run updatedatabase.pl
3) Check-in items for a patron.
4) Go to that patron's detail page, and from the Print-menu in
   the toolbar, select "Print check-in slip"
5) You should get a slip of the patron's checked-in items.
6) Optionally, test Check-ins for the same patron, but in different
   branches - should only print items for the current branch.
7) Optionally, test Check-ins for the same patron, but returned
   in different day - should only print items for today.
8) Run unit test t/db_dependent/Members/IssueSlip.t
Comment 18 Joonas Kylmälä 2015-11-06 16:05:03 UTC
These patches should be now ready to push to master. But maybe one more sign-off would be in place!
Comment 19 Frédéric Demians 2015-11-12 07:31:49 UTC
You add the new CHECKINSLIP to : installer/data/mysql/en/mandatory/sample_notices.sql

As suggested by Katrin in comment 5, you should add this also in other languages samples notices: a cut-and-paste of the English version is enough.

t/db_dependent/Members/IssueSlip.t raises warning about masking variables earlier declaration, and the test fails (for me).
Comment 20 Marc Véron 2016-02-10 10:14:16 UTC
CONFLICT (content): Merge conflict in installer/data/mysql/updatedatabase.pl
Auto-merging installer/data/mysql/en/mandatory/sample_notices.sql
CONFLICT (content): Merge conflict in installer/data/mysql/en/mandatory/sample_notices.sql
Comment 21 Pedro Amorim 2016-09-30 12:22:47 UTC
Hello guys,

Any follow-up on this?
It seems it has not been sucessfully added to master branch.

Thanks,

Pedro Amorim
Comment 22 Katrin Fischer 2016-09-30 12:46:31 UTC
Hi Prdro,
this has the status Failed QA - it means that it needs more work to get into the mastr branch. Until someone invests some time here - it won't get there.
Comment 23 Katrin Fischer 2017-05-10 23:02:06 UTC
*** Bug 18404 has been marked as a duplicate of this bug. ***
Comment 24 Johanna Räisä 2019-07-12 07:42:15 UTC
Created attachment 91476 [details] [review]
Bug 12224: Allow easy printing of patron check-ins for today

Fixed patch to apply master version.
Comment 25 Johanna Räisä 2019-07-12 07:42:59 UTC
Created attachment 91477 [details] [review]
Bug 12224: (follow-up) Allow easy printing of patron check-ins for today

Fixed patch to apply master version.
Comment 26 Johanna Räisä 2019-07-12 07:50:06 UTC
Created attachment 91478 [details] [review]
Bug 12224: (follow-up) Allow easy printing of patron check-ins for today

This is adds sample notice for other languages.

Sponsored-by: Koha-Suomi Oy
Comment 27 Guillaume Paquet 2020-01-07 19:51:34 UTC
Tested and works properly.
Comment 28 Guillaume Paquet 2020-01-07 21:58:43 UTC
Created attachment 96970 [details] [review]
Bug 12224: (follow-up) Allow easy printing of patron check-ins for today

This is adds sample notice for other languages.

Sponsored-by: Koha-Suomi Oy
Signed-off-by: Guillaume Paquet <guillaume@inlibro.com>
Comment 29 Gabriel DeCarufel 2020-01-07 22:01:12 UTC
Created attachment 96972 [details] [review]
Bug 12224: (follow-up) Allow easy printing of patron check-ins for today

This is adds sample notice for other languages.

Sponsored-by: Koha-Suomi Oy
Signed-off-by: Guillaume Paquet <guillaume@inlibro.com>
Comment 30 Katrin Fischer 2020-02-19 21:41:07 UTC
Hi Johanna,

can you please rebase?

Small thing:
<li><a id="printcheckinslip" href="#">Print checked-in today -slip</a></li>

I think I'd just label that as 'Print checkin slip'
Comment 31 Aleisha Amohia 2020-09-18 00:02:22 UTC
Created attachment 110308 [details] [review]
Bug 12224: Print a slip of borrower's checkins for today

To test:

1) Apply patch and run installer
2) Check out two items (or more) to a borrower
3) Check in two items (or more) for this borrower (you should end up on
    circ/returns.pl)
4) Notice the checked-in items table has started building. There should
be a new column with the button 'Print checkin slip' in each row.
5) Click the button and confirm the checkin slip opens for printing in a
new window.
6) Go to the patron's account
7) Click the Print dropdown. Confirm there is a 'Print checkin slip'
option. Click this and confirm the checkin slip opens for printing in a
new window.

Sponsored-by: Bibliotheksservice-Zentrum Baden-Württemberg (BSZ)
Comment 32 Owen Leonard 2020-09-18 14:03:25 UTC
Created attachment 110395 [details] [review]
Bug 12224: Print a slip of borrower's checkins for today

To test:

1) Apply patch and run installer
2) Check out two items (or more) to a borrower
3) Check in two items (or more) for this borrower (you should end up on
    circ/returns.pl)
4) Notice the checked-in items table has started building. There should
be a new column with the button 'Print checkin slip' in each row.
5) Click the button and confirm the checkin slip opens for printing in a
new window.
6) Go to the patron's account
7) Click the Print dropdown. Confirm there is a 'Print checkin slip'
option. Click this and confirm the checkin slip opens for printing in a
new window.

Sponsored-by: Bibliotheksservice-Zentrum Baden-Württemberg (BSZ)

Signed-off-by: Owen Leonard <oleonard@myacpl.org>
Comment 33 Owen Leonard 2020-09-18 14:03:30 UTC
Created attachment 110396 [details] [review]
Bug 12224: (follow-up) Move button to patron column in checkins table

This patch moves the "Print checkin slip" out of its own column and into
the colum containing patron information. I think this makes more sense
because the slip is specific to a patron, not the individual item which
has been checked in.

Also changed: printcheckinslip function should be triggered via a class,
not a non-unique ID. The function should handle the click using
"preventDefault" rather than "return false."

To test, apply the patch and check in some items checked out to various
patrons.

- In the table of checked-in items, confirm that the "Print checkin
  slip" appears correctly in the column of patron information.
- Confirm that the button works correctly to print the correct slip for
  the associated patron.
Comment 34 David Nind 2020-09-18 15:18:21 UTC
Created attachment 110403 [details] [review]
Bug 12224: Print a slip of borrower's checkins for today

To test:

1) Apply patch and run installer
2) Check out two items (or more) to a borrower
3) Check in two items (or more) for this borrower (you should end up on
    circ/returns.pl)
4) Notice the checked-in items table has started building. There should
be a new column with the button 'Print checkin slip' in each row.
5) Click the button and confirm the checkin slip opens for printing in a
new window.
6) Go to the patron's account
7) Click the Print dropdown. Confirm there is a 'Print checkin slip'
option. Click this and confirm the checkin slip opens for printing in a
new window.

Sponsored-by: Bibliotheksservice-Zentrum Baden-Württemberg (BSZ)

Signed-off-by: Owen Leonard <oleonard@myacpl.org>

Signed-off-by: David Nind <david@davidnind.com>
Comment 35 David Nind 2020-09-18 15:18:26 UTC
Created attachment 110404 [details] [review]
Bug 12224: (follow-up) Move button to patron column in checkins table

This patch moves the "Print checkin slip" out of its own column and into
the colum containing patron information. I think this makes more sense
because the slip is specific to a patron, not the individual item which
has been checked in.

Also changed: printcheckinslip function should be triggered via a class,
not a non-unique ID. The function should handle the click using
"preventDefault" rather than "return false."

To test, apply the patch and check in some items checked out to various
patrons.

- In the table of checked-in items, confirm that the "Print checkin
  slip" appears correctly in the column of patron information.
- Confirm that the button works correctly to print the correct slip for
  the associated patron.

Signed-off-by: David Nind <david@davidnind.com>
Comment 36 Katrin Fischer 2020-09-21 08:35:06 UTC
Hi Aleisha,

this already works great - thx for thinking about all the installers too. Only one small glitch: When editing the notice in tools, you can add fields from issues, but we need old_issues here as the line has alredy been removed from the issues table (this already works for CHECKOUT and CHECKIN notices). 

Can you pleas provide a small follow-up?
Comment 37 Aleisha Amohia 2020-09-21 21:39:08 UTC
Created attachment 110516 [details] [review]
Bug 12224: (follow-up) Access old_issues table when editing notice

This QA follow-up allows access to the old_issues table when editing the
notice in Tools.
Comment 38 PTFS Europe Sandboxes 2020-09-22 09:13:07 UTC
Created attachment 110529 [details] [review]
Bug 12224: Print a slip of borrower's checkins for today

To test:

1) Apply patch and run installer
2) Check out two items (or more) to a borrower
3) Check in two items (or more) for this borrower (you should end up on
    circ/returns.pl)
4) Notice the checked-in items table has started building. There should
be a new column with the button 'Print checkin slip' in each row.
5) Click the button and confirm the checkin slip opens for printing in a
new window.
6) Go to the patron's account
7) Click the Print dropdown. Confirm there is a 'Print checkin slip'
option. Click this and confirm the checkin slip opens for printing in a
new window.

Sponsored-by: Bibliotheksservice-Zentrum Baden-Württemberg (BSZ)

Signed-off-by: Owen Leonard <oleonard@myacpl.org>

Signed-off-by: David Nind <david@davidnind.com>

Signed-off-by: Alexandra Speer <alexandra.speer@bsz-bw.de>
Comment 39 PTFS Europe Sandboxes 2020-09-22 09:13:12 UTC
Created attachment 110530 [details] [review]
Bug 12224: (follow-up) Move button to patron column in checkins table

This patch moves the "Print checkin slip" out of its own column and into
the colum containing patron information. I think this makes more sense
because the slip is specific to a patron, not the individual item which
has been checked in.

Also changed: printcheckinslip function should be triggered via a class,
not a non-unique ID. The function should handle the click using
"preventDefault" rather than "return false."

To test, apply the patch and check in some items checked out to various
patrons.

- In the table of checked-in items, confirm that the "Print checkin
  slip" appears correctly in the column of patron information.
- Confirm that the button works correctly to print the correct slip for
  the associated patron.

Signed-off-by: David Nind <david@davidnind.com>

Signed-off-by: Alexandra Speer <alexandra.speer@bsz-bw.de>
Comment 40 PTFS Europe Sandboxes 2020-09-22 09:13:17 UTC
Created attachment 110531 [details] [review]
Bug 12224: (follow-up) Access old_issues table when editing notice

This QA follow-up allows access to the old_issues table when editing the
notice in Tools.

Signed-off-by: Alexandra Speer <alexandra.speer@bsz-bw.de>
Comment 41 Katrin Fischer 2020-09-23 07:10:58 UTC
Created attachment 110576 [details] [review]
Bug 12224: Print a slip of borrower's checkins for today

To test:

1) Apply patch and run installer
2) Check out two items (or more) to a borrower
3) Check in two items (or more) for this borrower (you should end up on
    circ/returns.pl)
4) Notice the checked-in items table has started building. There should
be a new column with the button 'Print checkin slip' in each row.
5) Click the button and confirm the checkin slip opens for printing in a
new window.
6) Go to the patron's account
7) Click the Print dropdown. Confirm there is a 'Print checkin slip'
option. Click this and confirm the checkin slip opens for printing in a
new window.

Sponsored-by: Bibliotheksservice-Zentrum Baden-Württemberg (BSZ)

Signed-off-by: Owen Leonard <oleonard@myacpl.org>

Signed-off-by: David Nind <david@davidnind.com>

Signed-off-by: Alexandra Speer <alexandra.speer@bsz-bw.de>

Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Comment 42 Katrin Fischer 2020-09-23 07:11:03 UTC
Created attachment 110577 [details] [review]
Bug 12224: (follow-up) Move button to patron column in checkins table

This patch moves the "Print checkin slip" out of its own column and into
the colum containing patron information. I think this makes more sense
because the slip is specific to a patron, not the individual item which
has been checked in.

Also changed: printcheckinslip function should be triggered via a class,
not a non-unique ID. The function should handle the click using
"preventDefault" rather than "return false."

To test, apply the patch and check in some items checked out to various
patrons.

- In the table of checked-in items, confirm that the "Print checkin
  slip" appears correctly in the column of patron information.
- Confirm that the button works correctly to print the correct slip for
  the associated patron.

Signed-off-by: David Nind <david@davidnind.com>

Signed-off-by: Alexandra Speer <alexandra.speer@bsz-bw.de>

Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Comment 43 Katrin Fischer 2020-09-23 07:11:12 UTC
Created attachment 110578 [details] [review]
Bug 12224: (follow-up) Access old_issues table when editing notice

This QA follow-up allows access to the old_issues table when editing the
notice in Tools.

Signed-off-by: Alexandra Speer <alexandra.speer@bsz-bw.de>

Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Comment 44 Jonathan Druart 2020-09-30 13:55:52 UTC
Should not we use TT syntax for new notice templates?
Comment 45 Jonathan Druart 2020-09-30 14:01:53 UTC
IMO we should mimic (completely) what is done for ISSUEQSLIP in C4::Members::IssueSlip but remove the historical syntax part to only keep the TT syntax.
Comment 46 Aleisha Amohia 2020-12-02 22:31:42 UTC
Created attachment 114121 [details] [review]
Bug 12224: Print a slip of borrower's checkins for today

To test:

1) Apply patch and run installer
2) Check out two items (or more) to a borrower
3) Check in two items (or more) for this borrower (you should end up on
    circ/returns.pl)
4) Notice the checked-in items table has started building. There should
be a new column with the button 'Print checkin slip' in each row.
5) Click the button and confirm the checkin slip opens for printing in a
new window.
6) Go to the patron's account
7) Click the Print dropdown. Confirm there is a 'Print checkin slip'
option. Click this and confirm the checkin slip opens for printing in a
new window.

Sponsored-by: Bibliotheksservice-Zentrum Baden-Württemberg (BSZ)

Signed-off-by: Owen Leonard <oleonard@myacpl.org>

Signed-off-by: David Nind <david@davidnind.com>

Signed-off-by: Alexandra Speer <alexandra.speer@bsz-bw.de>

Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Comment 47 Aleisha Amohia 2020-12-02 22:31:47 UTC
Created attachment 114122 [details] [review]
Bug 12224: (follow-up) Move button to patron column in checkins table

This patch moves the "Print checkin slip" out of its own column and into
the colum containing patron information. I think this makes more sense
because the slip is specific to a patron, not the individual item which
has been checked in.

Also changed: printcheckinslip function should be triggered via a class,
not a non-unique ID. The function should handle the click using
"preventDefault" rather than "return false."

To test, apply the patch and check in some items checked out to various
patrons.

- In the table of checked-in items, confirm that the "Print checkin
  slip" appears correctly in the column of patron information.
- Confirm that the button works correctly to print the correct slip for
  the associated patron.

Signed-off-by: David Nind <david@davidnind.com>

Signed-off-by: Alexandra Speer <alexandra.speer@bsz-bw.de>

Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Comment 48 Aleisha Amohia 2020-12-02 22:31:51 UTC
Created attachment 114123 [details] [review]
Bug 12224: (follow-up) Access old_issues table when editing notice

This QA follow-up allows access to the old_issues table when editing the
notice in Tools.

Signed-off-by: Alexandra Speer <alexandra.speer@bsz-bw.de>

Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Comment 49 Aleisha Amohia 2020-12-02 22:31:56 UTC
Created attachment 114124 [details] [review]
Bug 12224: (follow-up) Switching to TT notice
Comment 50 Emmi Takkinen 2020-12-04 14:24:00 UTC
Followed test plan(s), "Print checkin slip" buttons work and new window is opened for printing. However list of checked in items isn't printed.
Comment 51 Aleisha Amohia 2020-12-15 22:25:36 UTC
(In reply to Emmi Takkinen from comment #50)
> Followed test plan(s), "Print checkin slip" buttons work and new window is
> opened for printing. However list of checked in items isn't printed.

Hi Emmi, the list of checked in items does print for me, can you please let me know what steps you're taking?
Comment 52 Emmi Takkinen 2020-12-16 12:58:04 UTC
(In reply to Aleisha Amohia from comment #51)
> (In reply to Emmi Takkinen from comment #50)
> > Followed test plan(s), "Print checkin slip" buttons work and new window is
> > opened for printing. However list of checked in items isn't printed.
> 
> Hi Emmi, the list of checked in items does print for me, can you please let
> me know what steps you're taking?

Tested again, first three patches work fine. After applying "Bug 12224: (follow-up) Switching to TT notice" and repeating test plan from first patch, just this is printed:

Library
Checked in items for Patron(123)
12/16/2020 14:20
Checked in today
 
Did some checking and it seems problem comes from this:

my %loops = (
 old_issues => [ map { $_->issue_id } @todays_checkins ],
);

This ends up to _get_tt_params where old_issues uses fk => itemnumber to search and fill TT params not issue_id which it receives.
Comment 53 Aleisha Amohia 2021-01-31 22:12:21 UTC
Created attachment 116135 [details] [review]
Bug 12224: (follow-up) Loop old_issues with itemnumber
Comment 54 Aleisha Amohia 2021-01-31 22:13:26 UTC
Thank you for the helpful comment Emmi, hopefully the latest follow-up solves the problem.

Aleisha
Comment 55 PTFS Europe Sandboxes 2021-02-08 08:06:48 UTC
Created attachment 116482 [details] [review]
Bug 12224: (follow-up) Loop old_issues with itemnumber

Signed-off-by: Christian <christian.stelzenmueller@bsz-bw.de>
Comment 56 Katrin Fischer 2021-02-08 10:09:34 UTC
Created attachment 116485 [details] [review]
Bug 12224: Print a slip of borrower's checkins for today

To test:

1) Apply patch and run installer
2) Check out two items (or more) to a borrower
3) Check in two items (or more) for this borrower (you should end up on
    circ/returns.pl)
4) Notice the checked-in items table has started building. There should
be a new column with the button 'Print checkin slip' in each row.
5) Click the button and confirm the checkin slip opens for printing in a
new window.
6) Go to the patron's account
7) Click the Print dropdown. Confirm there is a 'Print checkin slip'
option. Click this and confirm the checkin slip opens for printing in a
new window.

Sponsored-by: Bibliotheksservice-Zentrum Baden-Württemberg (BSZ)

Signed-off-by: Owen Leonard <oleonard@myacpl.org>

Signed-off-by: David Nind <david@davidnind.com>

Signed-off-by: Alexandra Speer <alexandra.speer@bsz-bw.de>

Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>

Signed-off-by: Christian Stelzenmüller <christian.stelzenmueller@bsz-bw.de>
Comment 57 Katrin Fischer 2021-02-08 10:09:39 UTC
Created attachment 116486 [details] [review]
Bug 12224: (follow-up) Move button to patron column in checkins table

This patch moves the "Print checkin slip" out of its own column and into
the colum containing patron information. I think this makes more sense
because the slip is specific to a patron, not the individual item which
has been checked in.

Also changed: printcheckinslip function should be triggered via a class,
not a non-unique ID. The function should handle the click using
"preventDefault" rather than "return false."

To test, apply the patch and check in some items checked out to various
patrons.

- In the table of checked-in items, confirm that the "Print checkin
  slip" appears correctly in the column of patron information.
- Confirm that the button works correctly to print the correct slip for
  the associated patron.

Signed-off-by: David Nind <david@davidnind.com>

Signed-off-by: Alexandra Speer <alexandra.speer@bsz-bw.de>

Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>

Signed-off-by: Christian Stelzenmüller <christian.stelzenmueller@bsz-bw.de>
Comment 58 Katrin Fischer 2021-02-08 10:09:43 UTC
Created attachment 116487 [details] [review]
Bug 12224: (follow-up) Access old_issues table when editing notice

This QA follow-up allows access to the old_issues table when editing the
notice in Tools.

Signed-off-by: Alexandra Speer <alexandra.speer@bsz-bw.de>

Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>

Signed-off-by: Christian Stelzenmüller <christian.stelzenmueller@bsz-bw.de>
Comment 59 Katrin Fischer 2021-02-08 10:09:47 UTC
Created attachment 116488 [details] [review]
Bug 12224: (follow-up) Switching to TT notice

Signed-off-by: Christian Stelzenmüller <christian.stelzenmueller@bsz-bw.de>
Comment 60 Katrin Fischer 2021-02-08 10:09:52 UTC
Created attachment 116489 [details] [review]
Bug 12224: (follow-up) Loop old_issues with itemnumber

Signed-off-by: Christian Stelzenmüller <christian.stelzenmueller@bsz-bw.de>
Comment 61 Katrin Fischer 2021-02-08 10:11:02 UTC
Fixed the sign-off lines from the sandboxes.
Comment 62 Martin Renvoize (ashimema) 2021-02-24 12:25:21 UTC
Created attachment 117245 [details] [review]
Bug 12224: Print a slip of borrower's checkins for today

To test:

1) Apply patch and run installer
2) Check out two items (or more) to a borrower
3) Check in two items (or more) for this borrower (you should end up on
    circ/returns.pl)
4) Notice the checked-in items table has started building. There should
be a new column with the button 'Print checkin slip' in each row.
5) Click the button and confirm the checkin slip opens for printing in a
new window.
6) Go to the patron's account
7) Click the Print dropdown. Confirm there is a 'Print checkin slip'
option. Click this and confirm the checkin slip opens for printing in a
new window.

Sponsored-by: Bibliotheksservice-Zentrum Baden-Württemberg (BSZ)
Signed-off-by: Owen Leonard <oleonard@myacpl.org>
Signed-off-by: David Nind <david@davidnind.com>
Signed-off-by: Alexandra Speer <alexandra.speer@bsz-bw.de>
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Christian Stelzenmüller <christian.stelzenmueller@bsz-bw.de>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Comment 63 Martin Renvoize (ashimema) 2021-02-24 12:25:25 UTC
Created attachment 117246 [details] [review]
Bug 12224: (follow-up) Move button to patron column in checkins table

This patch moves the "Print checkin slip" out of its own column and into
the colum containing patron information. I think this makes more sense
because the slip is specific to a patron, not the individual item which
has been checked in.

Also changed: printcheckinslip function should be triggered via a class,
not a non-unique ID. The function should handle the click using
"preventDefault" rather than "return false."

To test, apply the patch and check in some items checked out to various
patrons.

- In the table of checked-in items, confirm that the "Print checkin
  slip" appears correctly in the column of patron information.
- Confirm that the button works correctly to print the correct slip for
  the associated patron.

Signed-off-by: David Nind <david@davidnind.com>
Signed-off-by: Alexandra Speer <alexandra.speer@bsz-bw.de>
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Christian Stelzenmüller <christian.stelzenmueller@bsz-bw.de>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Comment 64 Martin Renvoize (ashimema) 2021-02-24 12:25:29 UTC
Created attachment 117247 [details] [review]
Bug 12224: (follow-up) Access old_issues table when editing notice

This QA follow-up allows access to the old_issues table when editing the
notice in Tools.

Signed-off-by: Alexandra Speer <alexandra.speer@bsz-bw.de>
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Christian Stelzenmüller <christian.stelzenmueller@bsz-bw.de>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Comment 65 Martin Renvoize (ashimema) 2021-02-24 12:25:33 UTC
Created attachment 117248 [details] [review]
Bug 12224: (follow-up) Switching to TT notice

Signed-off-by: Christian Stelzenmüller <christian.stelzenmueller@bsz-bw.de>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Comment 66 Martin Renvoize (ashimema) 2021-02-24 12:25:38 UTC
Created attachment 117249 [details] [review]
Bug 12224: (follow-up) Loop old_issues with itemnumber

Signed-off-by: Christian Stelzenmüller <christian.stelzenmueller@bsz-bw.de>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Comment 67 Martin Renvoize (ashimema) 2021-02-24 12:25:42 UTC
Created attachment 117250 [details] [review]
Bug 12224: (QA follow-up) Ensure patron language is respected

Things have moved on a bit since this code was first written, we now
expect a 'lang' parameter passed into GetPrepparedLetter to allow for
translated notices.

Simple fix, so a quick QA follow-up will suffice :)

Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Comment 68 Martin Renvoize (ashimema) 2021-02-24 12:28:54 UTC
I've added a minor QA follow-up to pass patron language into GetPreparedLetter as expected.

This is a long overdue enhancement and is great to see making it's way into Koha.

I would love to see the database call moved into Koha::Patron as a method (->todays_checkins perhaps) and as such have a unit test associated with it.. but we can handle that in another bug.

QA script is happy, no regressions found.

Passing QA :)
Comment 69 Jonathan Druart 2021-03-03 15:38:48 UTC
(In reply to Martin Renvoize from comment #68)
> I would love to see the database call moved into Koha::Patron as a method
> (->todays_checkins perhaps) and as such have a unit test associated with
> it.. but we can handle that in another bug.

That's (almost) exactly what I was coming to write.

There is already kind of the same code in members/readingrec.pl (op=export_barcodes).

We should provide a Koha::Old::Checkouts->filter_by_todays_checkins method and use it in both places.
Comment 70 Jonathan Druart 2021-03-03 15:40:32 UTC
I opened bug 27851. Please help testing it when patches will be attached!
Comment 71 Jonathan Druart 2021-03-03 15:46:07 UTC
Created attachment 117620 [details] [review]
Bug 12224: Some code improvements

* Use Koha::Patrons->old_checkouts
* perltidy
* Make sure $today_start and $today_end will always be on the same day
(we never know!)
Comment 72 Jonathan Druart 2021-03-03 15:46:46 UTC
Should not we format the date (today) using the $KohaDates TT filter?
Comment 73 Katrin Fischer 2021-03-05 11:35:03 UTC
Created attachment 117812 [details] [review]
Bug 12224: Print a slip of borrower's checkins for today

To test:

1) Apply patch and run installer
2) Check out two items (or more) to a borrower
3) Check in two items (or more) for this borrower (you should end up on
    circ/returns.pl)
4) Notice the checked-in items table has started building. There should
be a new column with the button 'Print checkin slip' in each row.
5) Click the button and confirm the checkin slip opens for printing in a
new window.
6) Go to the patron's account
7) Click the Print dropdown. Confirm there is a 'Print checkin slip'
option. Click this and confirm the checkin slip opens for printing in a
new window.

Sponsored-by: Bibliotheksservice-Zentrum Baden-Württemberg (BSZ)
Signed-off-by: Owen Leonard <oleonard@myacpl.org>
Signed-off-by: David Nind <david@davidnind.com>
Signed-off-by: Alexandra Speer <alexandra.speer@bsz-bw.de>
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Christian Stelzenmüller <christian.stelzenmueller@bsz-bw.de>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>

Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Comment 74 Katrin Fischer 2021-03-05 11:35:08 UTC
Created attachment 117813 [details] [review]
Bug 12224: (follow-up) Move button to patron column in checkins table

This patch moves the "Print checkin slip" out of its own column and into
the colum containing patron information. I think this makes more sense
because the slip is specific to a patron, not the individual item which
has been checked in.

Also changed: printcheckinslip function should be triggered via a class,
not a non-unique ID. The function should handle the click using
"preventDefault" rather than "return false."

To test, apply the patch and check in some items checked out to various
patrons.

- In the table of checked-in items, confirm that the "Print checkin
  slip" appears correctly in the column of patron information.
- Confirm that the button works correctly to print the correct slip for
  the associated patron.

Signed-off-by: David Nind <david@davidnind.com>
Signed-off-by: Alexandra Speer <alexandra.speer@bsz-bw.de>
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Christian Stelzenmüller <christian.stelzenmueller@bsz-bw.de>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>

Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Comment 75 Katrin Fischer 2021-03-05 11:35:13 UTC
Created attachment 117814 [details] [review]
Bug 12224: (follow-up) Access old_issues table when editing notice

This QA follow-up allows access to the old_issues table when editing the
notice in Tools.

Signed-off-by: Alexandra Speer <alexandra.speer@bsz-bw.de>
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Christian Stelzenmüller <christian.stelzenmueller@bsz-bw.de>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>

Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Comment 76 Katrin Fischer 2021-03-05 11:35:18 UTC
Created attachment 117815 [details] [review]
Bug 12224: (follow-up) Switching to TT notice

Signed-off-by: Christian Stelzenmüller <christian.stelzenmueller@bsz-bw.de>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>

Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Comment 77 Katrin Fischer 2021-03-05 11:35:23 UTC
Created attachment 117816 [details] [review]
Bug 12224: (follow-up) Loop old_issues with itemnumber

Signed-off-by: Christian Stelzenmüller <christian.stelzenmueller@bsz-bw.de>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>

Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Comment 78 Katrin Fischer 2021-03-05 11:35:28 UTC
Created attachment 117817 [details] [review]
Bug 12224: (QA follow-up) Ensure patron language is respected

Things have moved on a bit since this code was first written, we now
expect a 'lang' parameter passed into GetPrepparedLetter to allow for
translated notices.

Simple fix, so a quick QA follow-up will suffice :)

Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>

Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Comment 79 Katrin Fischer 2021-03-05 11:35:33 UTC
Created attachment 117818 [details] [review]
Bug 12224: Some code improvements

* Use Koha::Patrons->old_checkouts
* perltidy
* Make sure $today_start and $today_end will always be on the same day
(we never know!)

Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Comment 80 Katrin Fischer 2021-03-05 11:35:39 UTC
Created attachment 117819 [details] [review]
Bug 12224: (follow-up) Format today with KohaDates

Updates the slip templates to use [% today | $KohaDates %].
Adding an explicit USE statement is not necessary in this case.

To test:
- When testing the feature according to the test plan, make sure
  that the date for today shows up formatted to the DateFormat
  system preference.

Note: As we are printing today's checkins, I have intentionally left
oft the time. But it could be easily added if a library wanted it.

Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Comment 81 Jonathan Druart 2021-03-05 12:51:33 UTC
Pushed to master for 21.05, thanks to everybody involved!
Comment 82 Jonathan Druart 2021-03-05 12:52:37 UTC
> Signed-off-by: Alexandra Speer <alexandra.speer@bsz-bw.de>

Congrats Alexandra for your first signoff!
Comment 83 Fridolin Somers 2021-03-12 07:59:58 UTC
I think this could be backported to 20.11.x.
What do you think ?
Comment 84 Aleisha Amohia 2021-03-14 20:08:27 UTC
(In reply to Fridolin Somers from comment #83)
> I think this could be backported to 20.11.x.
> What do you think ?

I think it would probably be okay but usually want to avoid backporting enhancements in case they introduce new bugs to a stable version.
Comment 85 Fridolin Somers 2021-03-15 13:20:45 UTC
Ok for me, no backport.

Not pushed to 20.11.x
Comment 86 Joonas Kylmälä 2021-04-19 12:05:14 UTC
This leaves the existing updates after upgrade with broken check-in receipt printing because the existing template is not updated automatically to the new syntax. I think we need to add a big warning here during upgrade similarly to the patch attached in this patch of bug 26734 https://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=26734#c97 The release note text here should be also updated with a warning about this. Also maybe we should get the action log backup mechanism of the old template from bug 26734 here as well, now the user doesn't know what the new syntax is without delving into the Koha code.
Comment 87 Katrin Fischer 2021-04-21 11:10:02 UTC
(In reply to Joonas Kylmälä from comment #86)
> This leaves the existing updates after upgrade with broken check-in receipt
> printing because the existing template is not updated automatically to the
> new syntax. I think we need to add a big warning here during upgrade
> similarly to the patch attached in this patch of bug 26734
> https://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=26734#c97 The
> release note text here should be also updated with a warning about this.
> Also maybe we should get the action log backup mechanism of the old template
> from bug 26734 here as well, now the user doesn't know what the new syntax
> is without delving into the Koha code.

Hi Joonas,

there is no existing template for slip printing? Could it be a customization?

The CHECKINSLIP slip is brand new. Can you verify which notice you are talking about? Do you mean the CHECKIN email notice?
Comment 88 Joonas Kylmälä 2021-04-21 11:13:11 UTC
(In reply to Katrin Fischer from comment #87)
> there is no existing template for slip printing? Could it be a customization?
> 
> The CHECKINSLIP slip is brand new. Can you verify which notice you are
> talking about? Do you mean the CHECKIN email notice?

Your right so sorry about that, this patch was already applied in my testing and the follow-ups here changed the syntax, sorry about the false alarm!
Comment 89 Katrin Fischer 2021-04-21 11:14:10 UTC
> Your right so sorry about that, this patch was already applied in my testing
> and the follow-ups here changed the syntax, sorry about the false alarm!

If just all bugs turned out to be false alarms that easily... :)