LP#1879983: A/T components of Curbside
authorMike Rylander <mrylander@gmail.com>
Tue, 19 May 2020 19:13:57 +0000 (15:13 -0400)
committerMike Rylander <mrylander@gmail.com>
Mon, 22 Jun 2020 19:57:03 +0000 (15:57 -0400)
commitf1a19d0b3125bb21f2fa3c0e83c52a9c83a3a406
treed3a1816e4d7fabf0255792a8639843a76814e3bf
parentf31219036a047df7ca46e492874c0f1757a0b384
LP#1879983: A/T components of Curbside

This commit adds a reactor and validator for automating parts of the
basic Curbside workflows:

* Curbside validator: check whether curbside is enabled at the org unit
  applicable an A/T event's target, which could be a user, org unit,
  curbside appointment, or hold request.
* CurbsideSlot reactor: Creates a curbside appointment slot at the hold
  pickup library when a hold becomes ready for pickup, if one does not
  exist. This is meant to be triggered by the hold.available hook.
  Appointments created by this reactor do not have an appointment time
  set, as that is meant to be supplied by the patron or a staff member
  acting on behalf of the patron.

In addition to Mike Rylander, significant contributions to this
patch were made by Jason Boyer.

Sponsored-by: PaILS
Signed-off-by: Mike Rylander <mrylander@gmail.com>
Signed-off-by: Jason Boyer <jboyer@equinoxinitiative.org>
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
Open-ILS/src/perlmods/lib/OpenILS/Application/Trigger/Reactor/CurbsideSlot.pm [new file with mode: 0644]
Open-ILS/src/perlmods/lib/OpenILS/Application/Trigger/Validator/Curbside.pm [new file with mode: 0644]