Bug 24625: Store showLastPatron information using localStorage
authorOwen Leonard <oleonard@myacpl.org>
Wed, 1 Apr 2020 16:06:33 +0000 (16:06 +0000)
committerLucas Gass <lucas@bywatersolutions.com>
Mon, 27 Jul 2020 16:51:39 +0000 (16:51 +0000)
commite4d15dff4f0cbc6d67082b8e287ea0f5ecfa3e88
treed0283efeb35f3ca758fff1275c2bc7c1e89e742c
parent867b19c7df5c8a837e8c9ce631a3e9d95f31060f
Bug 24625: Store showLastPatron information using localStorage

This patch removes the use of jquery.cookie to store "last patron"
information, using localStorage instead. jquery.cookie.js is obsolete.
See Bug 24624.

localStorage has been chosen as an alternative in this situation because
it does not require transmission between the client and the server. See
Bug 12410.

Because there is no "session only" option with localStorage, additional
handling of the showLastPatron data is added to the login page. That
takes care of "stale" last patron information if user didn't log out but
the session expired for some reason.

To test apply the patch and enable the showLastPatron system preference.

 1. Load a patron's account for checkout
 2. Navigate away from patron-related pages: Perform a catalog search
    from the search header form and open the detail page from the search
    results. Confirm that the correct last patron information still
    shows.
 3. Load another patron's account for checkout
    - There should now be a "Last patron" link in the breadcrumbs bar
      which links to the patron in step 1. Hovering your mouse over the
      link should display a tooltip containing the patron's name and
      card number.
    - Click the "X" to clear the last patron information. The last
      patron link should go away.
 4. Log out and log back in. The last patron information should be gone.

Signed-off-by: David Nind <david@davidnind.com>
Signed-off-by: Julian Maurice <julian.maurice@biblibre.com>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
(cherry picked from commit a512ae01fc7e17385e2d2dd42f53f79ae1f55d3a)

Signed-off-by: Lucas Gass <lucas@bywatersolutions.com>
koha-tmpl/intranet-tmpl/prog/en/modules/auth.tt
koha-tmpl/intranet-tmpl/prog/js/staff-global.js