LP#1879983: AngularJS staff interface for curbside pickup
authorGalen Charlton <gmc@equinoxinitiative.org>
Tue, 26 May 2020 21:17:48 +0000 (17:17 -0400)
committerGalen Charlton <gmc@equinoxinitiative.org>
Wed, 10 Jun 2020 17:28:21 +0000 (13:28 -0400)
commitabe305bf954a30295a732331ec3cbd7e3f7cbe4b
tree5d5565eddd713383f28d91826f3da9901f5d82f0
parente45e9de85b6e32685d24613817015cded6647b24
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.
* 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.

Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
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