stub for mark-item-lost reactor
authorerickson <erickson@dcc99617-32d9-48b4-a31d-7c20da2025e4>
Wed, 4 Mar 2009 21:17:37 +0000 (21:17 +0000)
committererickson <erickson@dcc99617-32d9-48b4-a31d-7c20da2025e4>
Wed, 4 Mar 2009 21:17:37 +0000 (21:17 +0000)
git-svn-id: svn://svn.open-ils.org/ILS/trunk@12403 dcc99617-32d9-48b4-a31d-7c20da2025e4

Open-ILS/src/perlmods/OpenILS/Application/Trigger/Reactor/MarkItemLost.pm [new file with mode: 0644]
Open-ILS/src/sql/Pg/400.schema.action_trigger.sql

diff --git a/Open-ILS/src/perlmods/OpenILS/Application/Trigger/Reactor/MarkItemLost.pm b/Open-ILS/src/perlmods/OpenILS/Application/Trigger/Reactor/MarkItemLost.pm
new file mode 100644 (file)
index 0000000..0afad17
--- /dev/null
@@ -0,0 +1,33 @@
+package OpenILS::Application::Trigger::Reactor::MarkItemLost;
+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/;
+$Data::Dumper::Indent = 0;
+
+
+sub ABOUT {
+    return <<ABOUT;
+    
+    Marks circulation and corresponding item as lost.  This uses
+    the standard mark-lost functionality, creating billings where appropriate.
+
+    Required event parameters:
+        "editor" which points to a user ID.  This is the user that effectively
+        performs the action.  For example, when the copy status is updated,
+        this user is entered as the last editor of the copy.
+
+ABOUT
+}
+
+sub handler {
+    my $self = shift;
+    my $env = shift;
+    my $e = new_editor(xact => 1);
+    $e->commit;
+    return 1;
+}
+
+1;
index e3ee31c..54d5069 100644 (file)
@@ -74,6 +74,7 @@ INSERT INTO action_trigger.reactor (module,description) VALUES ('NOOP_True','Alw
 INSERT INTO action_trigger.reactor (module,description) VALUES ('NOOP_False','Always returns false -- reaction always fails');
 INSERT INTO action_trigger.reactor (module,description) VALUES ('SendEmail','Send an email based on a user-defined template');
 INSERT INTO action_trigger.reactor (module,description) VALUES ('GenerateBatchOverduePDF','Output a batch PDF of overdue notices for printing');
+INSERT INTO action_trigger.reactor (module,description) VALUES ('MarkItemLost','Marks a circulation and associated item as lost');
 
 -- After an event is reacted to (either succes or failure) a cleanup module is run against the resulting environment
 CREATE TABLE action_trigger.cleanup (