From a7032d2ca4f79c69e98b2a2ab8c4fe01acfb6e5b Mon Sep 17 00:00:00 2001 From: Bill Erickson Date: Tue, 16 Apr 2013 09:28:46 -0400 Subject: [PATCH] long-overdue : ML; marking LOD Signed-off-by: Bill Erickson --- .../Trigger/Reactor/MarkItemLongOverdue.pm | 60 ++++++++++++++++++++++ 1 file changed, 60 insertions(+) create mode 100644 Open-ILS/src/perlmods/lib/OpenILS/Application/Trigger/Reactor/MarkItemLongOverdue.pm diff --git a/Open-ILS/src/perlmods/lib/OpenILS/Application/Trigger/Reactor/MarkItemLongOverdue.pm b/Open-ILS/src/perlmods/lib/OpenILS/Application/Trigger/Reactor/MarkItemLongOverdue.pm new file mode 100644 index 0000000000..26e6aae58b --- /dev/null +++ b/Open-ILS/src/perlmods/lib/OpenILS/Application/Trigger/Reactor/MarkItemLongOverdue.pm @@ -0,0 +1,60 @@ +package OpenILS::Application::Trigger::Reactor::MarkItemLongOverdue; +use base 'OpenILS::Application::Trigger::Reactor'; +use strict; use warnings; +use Error qw/:try/; +use Data::Dumper; +use OpenSRF::Utils::Logger qw/:logger/; +use OpenILS::Utils::CStoreEditor q/:funcs/; +use OpenILS::Application::Cat::AssetCommon; +$Data::Dumper::Indent = 0; + + +sub ABOUT { + return < 1); + + my $requestor = $e->retrieve_actor_user($$env{params}{editor}); + + if (!$requestor) { + $logger->error("trigger: MarkItemLongOverdue require 'editor' param"); + return 0; + } + + $e->requestor($requestor); + + my $circ = $$env{target}; + my $evt = OpenILS::Application::Cat::AssetCommon-> + set_item_long_overdue($e, $circ->target_copy); + + if ($evt) { + $logger->error("trigger: MarkItemLongOverdue ". + "failed with event $evt->{textcode}"); + return 0; + } + + $e->commit; + + my $ses = OpenSRF::AppSession->create('open-ils.trigger'); + $ses->request('open-ils.trigger.event.autocreate', + 'longoverdue.auto', $circ, $circ->circ_lib); + + return 1; +} + +1; -- 2.11.0