LP#1879983: A/T components of Curbside
authorMike Rylander <mrylander@gmail.com>
Tue, 19 May 2020 19:13:57 +0000 (15:13 -0400)
committerJason Stephenson <jason@sigio.com>
Wed, 28 Apr 2021 12:34:31 +0000 (08:34 -0400)
commit480f1cf1059f69da37d03e14c551bc6203e30df1
treebf8f784dd0dea5f4f15b82943f0246f3f4b2f617
parent51022c3c44fb02c885da1855369718461150a37c
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]