Uploaded image for project: 'mod-circulation'
  1. mod-circulation
  2. CIRC-591

(1-OD-A) When item is checked out, save effective Overdue Fine Policy and Lost Item Policy to loan record

    XMLWordPrintable

Details

    • EPAM-Veg Sprint 31, EPAM-Veg Sprint 32, EPAM-Veg Sprint 33
    • 5
    • Vega

    Description

      To see how this JIRA issue integrates with the other overdue fine JIRA issues please see the diagram at https://drive.google.com/file/d/1uzezgYpgZ8XiSmSdqC2fntda1HomjbP-/view?usp=sharing

      Purpose: The Overdue Fine Policy must be saved with the loan record to facilitate the quick determination of overdue fines at the time the item is check-in or renewed. The Lost Item Policy must be saved with the loan record to allow for the quick determination of when the item ages to lost and the associated fees or the associated fees if the patron declares the item lost. The Loan Policy is already saved with the loan record.

      Circulation Rules Overview: When the correct Loan Policy ("l") is located in the Circulation Rule (this code already exists in the checkout process) also access the Overdue Fine Policy ("o") and Lost Item Fee Policy ("i") for the Circulation Rule. The is only one per Circulation Rule and one is required by the Circulation Editor when the Circulation Rule is created. This means that you should never have a case where you do not fine an Overdue Fine Policy ("o") and Lost Item Fee Policy ("i") entry. The attached image titled Circulation-Rules-Editor.jpg should be helpful in understanding how the Circulation Rules are established. The example is very simplistic.

      Scenarios

      Scenario 1

      • Given Loan Policy "l" found with a matching rule for an Overdue Fine Policy "o"
      • When Loan Policy in effect saved to loan record
      • Then also save Overdue Fine Policy in effect to loan record

      Scenario 2

      • Given Loan Policy "l" found with a matching rule for a Lost Item Fee Policy "i"
      • When Loan Policy in effect saved to loan record
      • Then also save Lost Item Fee Policy in effect to loan record

      IMPORTANT NOTE: Scenarios 3 and 4 should never happen given that the Circulation Rules Editor is supposed to require that one Overdue Fine Policy "o" and one Lost Item Fee Policy "i" be present for each Circulation Rule. As a safeguard, we will follow the actions of the other policies and use the fallback policy if one isn't found.

      Scenario 3

      • Given Loan Policy "l" found with NO matching rule for an Overdue Fine Policy "o"
      • And a fallback policy that includes Overdue Fine Policy "o"
      • When Loan Policy in effect saved to loan record
      • Then also save fallback policy Overdue Fine Policy in effect to loan record

      Scenario 4

      • Given Loan Policy "l" found with NO matching rule for an Lost Item Fee Policy "i"
      • And a fallback policy that includes Lost Item Fee Policy "i"
      • When Loan Policy in effect saved to loan record
      • Then also save fallback policy Lost Item Fee Policy in effect to loan record

      IMPORTANT NOTE: Scenarios 5 and 6 should never happen given that the Circulation Rules Editor is supposed to require that one Overdue Fine Policy "o" and one Lost Item Fee Policy "i" be present. Holly has been led to believe that there is currently logic present to deal with a missing policy. Please let Holly know what the logic is so she can determine if it is appropriate.

      Scenario 5

      • Given Loan Policy "l" found with NO matching rule for an Overdue Fine Policy "o"
      • And NO fallback policy that includes Overdue Fine Policy "o"
      • When Loan Policy is applied
      • Please do the same thing that happens currently for a missing policy

      Scenario 6

      • Given Loan Policy "l" found with NO matching rule for an Lost Item Fee Policy "i"
      • And NO fallback policy that includes Lost Item Fee Policy "i"
      • When Loan Policy is applied
      • Please do the same thing that happens currently for a missing policy

      ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
      DESCRIPTION

      Purpose: The Overdue Fine Policy must be saved with the loan record to facilitate the quick determination of overdue fines at the time the item is check-in or renewed. The Lost Item Policy must be saved with the loan record to allow for the quick determination of when the item ages to lost and the associated fees or the associated fees if the patron declares the item lost. The Loan Policy is already saved with the loan record.

      Circulation Rules Overview: When the correct Loan Policy ("l") is located in the Circulation Rule (this code already exists in the checkout process) also access the Overdue Fine Policy ("o") and Lost Item Fee Policy ("i") for the Circulation Rule. The is only one per Circulation Rule and one is required by the Circulation Editor when the Circulation Rule is created. This means that you should never have a case where you do not fine an Overdue Fine Policy ("o") and Lost Item Fee Policy ("i") entry. The attached image titled Circulation-Rules-Editor.jpg should be helpful in understanding how the Circulation Rules are established. The example is very simplistic.

      Logic:
      At the point in the current logic when the Loan Policy ("l") in effect is found, also access the corresponding Overdue Fine Policy "o" and Lost Item Fee Policy "i" for the item being checked out.

      Circulation Rules Editor: Example with all policies available for each Circulation Rule

      fallback policy: l general-loan-policy n no-notices r holds-only o def-overdues i def-lost-fees x no-loan-max
      m book + u undergrad : l ugrad-loan-policy n all-notices r holds-only o gen-overdues i gen-lost-fees x loan-max-50
      m book + g graduate s staff : l grad-loan-policy n all-notices r all-requests o grad-overdues i grad-lost-fees x loan-max-100
      m book + f faculty : l fac-loan-policy n all-notices r all-requests o no-overdues i fac-lost-fees x no-loan-max*


      If an undergraduate student is checking out a book, we can see that the Loan Policy ("l") that is in effect is ugrad-loan-policy.
      Continuing on, we can see that the Overdue Fine Policy ("o") in effect is gen-overdues and the Lost Item Fee Policy ("i") that is in effect is gen-lost-fees.
      When "ugrad-loan-policy" is saved to the existing loan record Loan Policy field, also save "gen-overdues" to the new loan record field Overdue Fine Policy field and "*gen-lost-fees" to the new loan record field Lost Item Fee Policy field.

      Circulation Rules Editor: Example of missing policies for a Circulation Rule

      fallback policy: l general-loan-policy n no-notices r holds-only o def-overdues i def-lost-fees x no-loan-max
      m book + u undergrad : l ugrad-loan-policy n all-notices r holds-only o gen-overdues i gen-lost-fees x loan-max-50
      m book + g graduate s staff : l grad-loan-policy n all-notices r all-requests x loan-max-100
      m book + f faculty : l fac-loan-policy n all-notices r all-requests o no-overdues i fac-lost-fees x no-loan-max*


      If a staff member is checking out a book, we can see that the Loan Policy ("l") that is in effect is grad-loan-policy.
      Continuing on, we can see that the Overdue Fine Policy ("o") and the Lost Item Fee Policy ("i") are missing for this Circulation Rule. This should never happen, but we must be prepared, just in case.
      The next step is for the process to access the fallback policy. We will ignore the Loan Policy ("l") value because we already have that, but we will access the Overdue Fine Policy "o" of def-overdues and Lost Item Fee Policy "i" of def-lost-fees.
      When "grad-loan-policy" is saved to the existing loan record Loan Policy field, also save "def-overdues" to the new loan record field Overdue Fine Policy field and "*def-lost-fees" to the new loan record field Lost Item Fee Policy field.

      Circulation Rules Editor: Example of missing policies for a Circulation Rule and the fallback policy

      fallback policy: l general-loan-policy n no-notices r holds-only x no-loan-max
      m book + u undergrad : l ugrad-loan-policy n all-notices r holds-only o gen-overdues i gen-lost-fees x loan-max-50
      m book + g graduate s staff : l grad-loan-policy n all-notices r all-requests x loan-max-100
      m book + f faculty : l fac-loan-policy n all-notices r all-requests o no-overdues i fac-lost-fees x no-loan-max*


      If a staff member is checking out a book, we can see that the Loan Policy ("l") that is in effect is grad-loan-policy.
      Continuing on, we can see that the Overdue Fine Policy ("o") and the Lost Item Fee Policy ("i") are missing for this Circulation Rule. This should never happen, but we must be prepared, just in case.
      The next step is for the process to access the fallback policy. We will ignore the Loan Policy ("l") value because we already have that, but we quickly note that the Overdue Fine Policy "o" and Lost Item Fee Policy "i" are not provided for the fallback policy. This means we don't have an Overdue Fine Policy or Lost Item Fee Policy. Holly has been led to believe that there is currently logic present to deal with a missing policy. Please let Holly know what the logic is so she can determine if it is appropriate.

      Please see Holly with questions and comments! Thanks!

      TestRail: Results

        Attachments

          Issue Links

            Activity

              People

                Zmiivska Svitlana Zmiivska
                hollyolepm Holly Mistlebauer
                Holly Mistlebauer Holly Mistlebauer
                Votes:
                0 Vote for this issue
                Watchers:
                2 Start watching this issue

                Dates

                  Created:
                  Updated:
                  Resolved:

                  TestRail: Runs

                    TestRail: Cases