+++ /dev/null
-[%
-
- rule = "2wk_default";
- loan_duration = copy.loan_duration;
-
-
-
-
-
- # ------------------------------------------------------------------
- # Default policy
- # ------------------------------------------------------------------
- ret(rule, loan_duration);
-
-%]
+++ /dev/null
-[%
-
-# ------------------------------------------------------------------
-# Default policy
-# ------------------------------------------------------------------
-ret('books', NORMAL);
-
-
-%]
+++ /dev/null
-[%
-
-# ------------------------------------------------------------------
-# Default policy
-# ------------------------------------------------------------------
-ret('books', NORMAL);
-
-
-
-%]
+++ /dev/null
-[%
-
-
- # ------------------------------------------------------------------
- # Macros for simpler syntax
- # ------------------------------------------------------------------
- MACRO jump(n) PROCESS "$n";
-
- MACRO ret(status,text) PROCESS ret_block s=status t=text;
-
- BLOCK ret_block;
- result.0 = s;
- result.1 = t;
- "Template Result: "; result.0; " "; result.1;
- STOP;
- END;
-
-
- # ------------------------------------------------------------------
- # These are passed in to every script
- # ------------------------------------------------------------------
- # Objects : Methods
- # -------------------
- # patron :
- # copy :
- # circlib :
- # standings :
- # title :
- # ------------------------------------------------------------------
-
- # ------------------------------------------------------------------
- # Constants
- # ------------------------------------------------------------------
- OK = 0;
- COPY_ISREF = 2;
- COPY_NOCIRC = 3;
- COPY_UNAVAIL = 4;
- COPY_LOCATION = 5;
- NOT_HOLD_USER = 6;
- NO_COPY = 100; # used by container code
-
-
- PATRON_STANDING = 10;
- PATRON_FINE = 11;
- PATRON_CHECKOUT_COUNT = 12;
-
- LOW = 1;
- NORMAL = 2;
- HIGH = 3;
-
- SHORT = 1;
- NORMAL = 2;
- EXTENDED = 3;
-
-
-
- # ------------------------------------------------------------------
- # Run the rules files
- # ------------------------------------------------------------------
- PROCESS "$run_block"
- patron = circ_objects.patron
- copy = circ_objects.copy
- circlib = circ_objects.copy.circ_lib()
- title = circ_objects.title
- standings = circ_objects.standings
- patron_copies = circ_objects.patron_copies
- patron_fines = circ_objects.patron_fines;
-
-%]
-
-
+++ /dev/null
-[%
-
-# ------------------------------------------------------------------
-# Circ Matrix
-#
-# Objects:
-# patron
-# copy
-# loan_duration
-# circlib
-# shortname
-#
-# Constants:
-# copy_types.*
-#
-# ------------------------------------------------------------------
-
-# ------------------------------------------------------------------
-# Macros for simpler syntax
-
-MACRO jump(n) PROCESS $n;
-MACRO policy(p) PROCESS policy_block val=p;
-BLOCK policy_block; val; STOP; END;
-
-# ------------------------------------------------------------------
-
-
-
-IF circlib.shortname == 'ARL-ATH'; jump('ARL_ATH'); END;
-policy('pines_global_duration_policy_default');
-
-
-BLOCK ARL_ATH;
- IF copy.type == copy_types.book AND copy.loan_duration == 1; policy('my_ath_policy'); END;
- IF copy.type == copy_types.audio AND copy.loan_duration == 2; policy('my_other_ath_policy'); END;
-END;
-
-
-BLOCK BTRL;
- IF copy.type == copy_types.dvd; policy('my_btrl_audio_policy'); END;
-END;
-
-
-
-%]
+++ /dev/null
-[%
-
-# ------------------------------------------------------------------
-# Permissibility script.
-# ------------------------------------------------------------------
-
-
-
-# ------------------------------------------------------------------
-# Patron checks
-# ------------------------------------------------------------------
-
-IF patron.standing != "Good";
- ret(PATRON_STANDING, "Patron not in good standing: ${patron.standing}"); END;
-
-IF patron.profile == "Staff" && patron_copies > 50;
- ret(PATRON_CHECKOUT_COUNT, "Patron checkout count exceeds limit"); END;
-
-IF patron.profile == "Patrons" && patron_copies > 10;
- ret(PATRON_CHECKOUT_COUNT, "Patron checkout count exceeds limit"); END;
-
-IF patron.profile == "Users" && patron_copies > 5;
- ret(PATRON_CHECKOUT_COUNT, "Patron checkout count exceeds limit"); END;
-
-
-# ------------------------------------------------------------------
-# Copy checks
-# ------------------------------------------------------------------
-
-IF ! copy.circulate;
- ret(COPY_NOCIRC, "Copy is not allowed to circulate"); END;
-
-IF copy.status != "Available" && copy.status != "On holds shelf";
- ret(COPY_UNAVAIL, "Copy is unavailable: ${copy.status}"); END;
-
-IF !copy.location.circulate;
- ret(COPY_LOCATION, "Copy location not allowed to curculate"); END;
-
-IF copy.ref;
- ret(COPY_ISREF, "Copy is reference material"); END;
-
-
-
-
-ret(OK,"Allowed");
-
-%]
+++ /dev/null
-[%
-
-# ------------------------------------------------------------------
-# Permissibility script.
-# ------------------------------------------------------------------
-
-
-
-# ------------------------------------------------------------------
-# Patron checks
-# ------------------------------------------------------------------
-
-IF patron.standing != "Good";
- ret(PATRON_STANDING, "Patron not in good standing: ${patron.standing}"); END;
-
-IF patron.profile == "STAFF" && patron_copies > 50;
- ret(PATRON_CHECKOUT_COUNT, "Patron checkout count exceeds limit"); END;
-
-IF patron.profile == "ADULT" && patron_copies > 10;
- ret(PATRON_CHECKOUT_COUNT, "Patron checkout count exceeds limit"); END;
-
-IF patron.profile == "JUVENILE" && patron_copies > 5;
- ret(PATRON_CHECKOUT_COUNT, "Patron checkout count exceeds limit"); END;
-
-
-# ------------------------------------------------------------------
-# Copy checks
-# ------------------------------------------------------------------
-
-IF ! copy.circulate;
- ret(COPY_NOCIRC, "Copy is not allowed to circulate"); END;
-
-IF !copy.location.circulate;
- ret(COPY_LOCATION, "Copy location not allowed to curculate"); END;
-
-IF copy.ref;
- ret(COPY_ISREF, "Copy is reference material"); END;
-
-
-
-
-ret(OK,"Allowed");
-
-%]