LP#1879983: AngularJS staff interface for curbside pickup
authorGalen Charlton <gmc@equinoxinitiative.org>
Tue, 26 May 2020 21:17:48 +0000 (17:17 -0400)
committerJason Stephenson <jason@sigio.com>
Wed, 28 Apr 2021 12:34:31 +0000 (08:34 -0400)
commitb2e6b6e708856e91f367ce4a5cd7af338a2c9348
treec6c9280470d36c2aa0451a79a34132824d244563
parent480f1cf1059f69da37d03e14c551bc6203e30df1
LP#1879983: AngularJS staff interface for curbside pickup

This adds a new AngularJS page for curbside appointment management. The
page has several tabs:

* To Be Staged appointments. This displays upcoming appointments; from
  here, staff can mark appointments as "staged". Depending on the
  library's curbside workflow, that may mean that the staff member
  places the items in a bag or on a delivery table.

  This tab also allows a staff member to claim (or unclaim)
  responsibility for staging items for an appointment.

* Staged and Ready. This displays staged appointments; from here, staff
  can mark that the patron has arrived, check out the items and mark
  the appointment delivered, or un-stage the appointment.
* Patron Is Outside: from here, staff can check out the items and
  mark the appointment delivered.
* Delivered Today: This displays appointments that were marked as
  delivered.
* Schedule Pickup: This allows staff members to create and modify
  curbside appointments on behalf of a patron.

AngularJS was chosen for this interface to permit backporting the
feature to older versions of Evergreen without having to deal with
variations in the version of Angular that is supported in past
releases. It also better meshes with the patron and circulation staff
interfaces that have not yet been rewritten in Angular.

The curbside pickup page only handles appointments at the workstation
library of the current staff user, as it assumes that the curbside
process is not centralized.

In addition to Galen Charlton, significant contributions to this
patch were made by Mike Rylander.

Sponsored-by: PaILS
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
Signed-off-by: Mike Rylander <mrylander@gmail.com>
17 files changed:
Open-ILS/src/templates/staff/circ/curbside/index.tt2 [new file with mode: 0644]
Open-ILS/src/templates/staff/circ/curbside/t_arrived_manager.tt2 [new file with mode: 0644]
Open-ILS/src/templates/staff/circ/curbside/t_delivered_manager.tt2 [new file with mode: 0644]
Open-ILS/src/templates/staff/circ/curbside/t_holds_list.tt2 [new file with mode: 0644]
Open-ILS/src/templates/staff/circ/curbside/t_main.tt2 [new file with mode: 0644]
Open-ILS/src/templates/staff/circ/curbside/t_schedule_pickup.tt2 [new file with mode: 0644]
Open-ILS/src/templates/staff/circ/curbside/t_staged_manager.tt2 [new file with mode: 0644]
Open-ILS/src/templates/staff/circ/curbside/t_to_be_staged_manager.tt2 [new file with mode: 0644]
Open-ILS/src/templates/staff/navbar.tt2
Open-ILS/web/js/ui/default/staff/circ/curbside/app.js [new file with mode: 0644]
Open-ILS/web/js/ui/default/staff/circ/curbside/directives/arrived_manager.js [new file with mode: 0644]
Open-ILS/web/js/ui/default/staff/circ/curbside/directives/delivered_manager.js [new file with mode: 0644]
Open-ILS/web/js/ui/default/staff/circ/curbside/directives/schedule_pickup.js [new file with mode: 0644]
Open-ILS/web/js/ui/default/staff/circ/curbside/directives/staged_manager.js [new file with mode: 0644]
Open-ILS/web/js/ui/default/staff/circ/curbside/directives/to_be_staged_manager.js [new file with mode: 0644]
Open-ILS/web/js/ui/default/staff/circ/curbside/services/core.js [new file with mode: 0644]
Open-ILS/web/js/ui/default/staff/services/navbar.js