Comment 21 for bug 1676608

Revision history for this message
Mike Rylander (mrylander) wrote :

Background:

OK, so the idea with the "at" restrictions is that if either or both of the "At blah" flags is set, it will only allow the alert to get back to the client if the context org (say, the circulation's circ lib) is equal to or a descendent of copy circ or owning lib (per the flag), as Dan's comment and suggestion implies.

If both are TRUE, but the owning lib is outside the scope, then it will /not/ send the alert to the client. Likewise, if both are TRUE and the circulation's circ lib is equal to or a descendent of the copy owning lib but is not for the copy's circ lib, it will not send the alert to the client. IOW, /all/ conditions defined on the alert must be met, and so these flags are more about denying the alert than allowing the alert at given locations. That was the thinking behind the label "Do not care" -- that means "we'll accept it" rather than "we DO (or DO NOT) want to see it".

I'm fine with the changes as they stand if they seem clear enough to everyone else, though I'll offer one (very late) option to consider:

  Event location matches restriction locations? [invert=Cannot match|Must match, default=Must match]
  Event can only occur {invert ? 'outside' : 'at'} copy circulation library or descendent: [at_circ=Yes|Not required, default=Not required]
  And event can only occur {invert ? 'outside' : 'at'} copy owning library or descendent: [at_owning=Yes|Not required, default=Not required]

Note: "Must match" for the first (invert) flag is FALSE. "Not required" for the other two means NULL. This is all just UI, and at_circ and at_owning would still be either TRUE or NULL.

Thoughts?

And, finally, apologies if all of this is already crystal clear to everyone, in which case, just ignore the noise. :)