LP#1879983: A/T components of Curbside
authorMike Rylander <mrylander@gmail.com>
Tue, 19 May 2020 19:13:57 +0000 (15:13 -0400)
committerMichele Morgan <mmorgan@noblenet.org>
Tue, 15 Sep 2020 18:27:55 +0000 (14:27 -0400)
commitf87045e74ccebf347cc35ae76a4d5c77a730d743
tree8eb9a6d749dada04728dd4daa5a6db1ac070402d
parentda71ac1277416cfd17b5dd322ca981c2f8321707
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>
Signed-off-by: Michele Morgan <mmorgan@noblenet.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]