From b17e2239fbef876e7fce767caba020b768fccb53 Mon Sep 17 00:00:00 2001
From: erickson <erickson@dcc99617-32d9-48b4-a31d-7c20da2025e4>
Date: Thu, 18 Feb 2010 14:21:04 +0000
Subject: [PATCH] Added ACQ validator module, starting with user request status
 validation.  seed data to follow

git-svn-id: svn://svn.open-ils.org/ILS/trunk@15572 dcc99617-32d9-48b4-a31d-7c20da2025e4
---
 .../OpenILS/Application/Trigger/Validator/Acq.pm   | 30 ++++++++++++++++++++++
 1 file changed, 30 insertions(+)
 create mode 100644 Open-ILS/src/perlmods/OpenILS/Application/Trigger/Validator/Acq.pm

diff --git a/Open-ILS/src/perlmods/OpenILS/Application/Trigger/Validator/Acq.pm b/Open-ILS/src/perlmods/OpenILS/Application/Trigger/Validator/Acq.pm
new file mode 100644
index 0000000000..97de38a82a
--- /dev/null
+++ b/Open-ILS/src/perlmods/OpenILS/Application/Trigger/Validator/Acq.pm
@@ -0,0 +1,30 @@
+package OpenILS::Application::Trigger::Validator::Acq;
+use strict; use warnings;
+use OpenSRF::Utils::Logger qw/:logger/;
+
+sub UserRequestOrdered {
+    my $self = shift;
+    my $env = shift;
+    return get_lineitem_from_req($self, $env)->state eq 'on-order';
+}
+
+sub UserRequestReceived {
+    my $self = shift;
+    my $env = shift;
+    return get_lineitem_from_req($self, $env)->state eq 'received';
+}
+
+sub UserRequestCancelled {
+    my $self = shift;
+    my $env = shift;
+    return get_lineitem_from_req($self, $env)->state eq 'cancelled';
+}
+
+sub get_lineitem_from_req {
+    my($self, $env) = @_;
+    my $req = $env->{target};
+    return (ref $env->{target}->lineitem) ? 
+        $env->{target}->lineitem : 
+        $self->editor->retrieve_acq_lineitem($$env->{target}->lineitem);
+}
+
-- 
2.11.0