[OPEN-ILS-GENERAL] Action Trigger Event Parameters

David Busby david.busby at edoceo.com
Wed Jan 4 17:41:49 EST 2012


Thanks! I've updated with Wiki
http://open-ils.org/dokuwiki/doku.php?id=evergreen-user:action_trigger&#event_definitions

--
David Busby
Managing Director
Edoceo, Inc.
http://edoceo.com/
206.282.6500



On Wed, Jan 4, 2012 at 1:53 PM, Bill Erickson <erickson at esilibrary.com> wrote:
> On Wed, Jan 04, 2012 at 11:57:17AM -0800, David Busby wrote:
>> Howdy,
>>
>>   I've constructed a custom Action Trigger Validator
>> (Actor::StatCatMatch) it's working pretty OK, but I've got some hard
>> coded values in there that I want to remove.
>>   I was thinking that I would use the Action Trigger Event Parameters
>> to configure the way this validator works.
>>   In my mind I would set to parameters there, eg: StatCatEntry which
>> would be the name (or ID) of the stat-cat to match; and StatCatMatch
>> which would be a regular expression.
>>   In this fashion, my Validator module could use those, when running
>> this little snip...
>>
>>   my $circ = $env->{target};
>>   my $u = $circ->usr;
>>   foreach my $sce (@{$u->stat_cat_entries}) {
>>     # Logic here
>>   }
>>
>>   The issue I'm having is that the data is not getting into this
>> module as I expected.  That is.
>>   What I set in the UI, does not get into the validator verbatim; it's mangled.
>> Vis:
>> ---
>> (postgres@[local]:5432) [evergreen] > select * from action_trigger.event_params;
>>  id | event_def |     param     |         value
>> ----+-----------+---------------+------------------------
>>   3 |       101 | Stat-Cat.ID   | 3,5
>>   1 |       101 | StatCat+Name  | email_reciept_due_date
>>   2 |       101 | Stat_CatMatch | Yes!
>> ---
>>
>>   My event is 101, when I am in the perl code for this, my values are
>> mangled to things like: "5", "email_reciept_due_date" and "Yes".  As
>> if it only matches \w+.  What's odd is that the param value comes
>> through un-mangled, with spaces and all.  I basically was logging with
>> Dumper() to see this.
>>
>>   Thoughts?  This related to a LP I created too,
>> https://bugs.launchpad.net/evergreen/+bug/911904
>
> Hi David,
>
> Event parameter values are eval'd on the server, so they have to be
> stored as valid Perl values.  For Perl strings, of course, they need to
> be wrapped in quotes.
>
> E.g.
>
> id | event_def |     param     | value
> ---+-----------+---------------+----------
>  2 |       101 | Stat_CatMatch | 'Yes!'
>
> -b
>
> --
> Bill Erickson
> | Senior Software Developer
> | phone: 877-OPEN-ILS (673-6457)
> | email: erickson at esilibrary.com
> | web: http://esilibrary.com
> | Equinox Software, Inc. / Your Library's Guide to Open Source


More information about the Open-ils-general mailing list