Skip to content
  • Alex Sassmannshausen's avatar
    Bug 6906 - show 'Borrower has previously issued... · 6a493842
    Alex Sassmannshausen authored
    
    
    New feature: provide granular means to configure warnings about items
    that have been issued to a particular borrower before, according to
    their checkout history.
    
    - Global syspref ('CheckPrevCheckout'), set to 'hardno' by default,
      allows users to enable this feature library wide.
    - Per patron category pref allows libraries to create overrides per
      category, falling back on the global setting by default.
    - Per patron pref allows switching the functionality on at the level
      of patron. Fall-back to category settings by default.
    
    * Koha/Patron (wantsCheckPrevCheckout, doCheckPrevCheckout): New
      methods.
    * C4/Circulation.pm (CanBookBeIssued): Introduce CheckPrevCheckout
      check.
    * admin/categories.pl: Pass along checkprevcheckout.
    * koha-tmpl/intranet-tmpl/prog/en/modules/admin/categories.tt: Expose
      CheckPrevCheckout per category setting.
    * koha-tmpl/intranet-tmpl/prog/en/modules/preferences/patrons.pref:
      Expose CheckPrevCheckout syspref.
    * koha-tmpl/intranet-tmpl/prog/en/modules/members/memberentrygen.tt:
      Expose per patron CheckPrevCheckout preference.
    * koha-tmpl/intranet-tmpl/prog/en/modules/members/moremember.tt: Expose
      per patron CheckPrevCheckout preference.
    * koha-tmpl/intranet-tmpl/prog/en/modules/circ/circulation.tt: Add
      'CHECKPREVCHECKOUT' confirmation message.
    * installer/data/mysql/kohastructure.sql: Modify structure of
      'categories', 'borrowers', 'oldborrowers'.
    * installer/data/mysql/sysprefs.sql: Add 'CheckPrevCheckout'.
    * installer/data/mysql/atomicupdate/checkPrevCheckout.sql: New file.
    * t/db_dependent/Patron/CheckPrevCheckout.t: New file with unit tests.
    
    Test plan:
    - Apply patch.
    - Run updatedatabase.
    - Regenerate Koha Schema files.
    - Run the unit tests.
    - Verify 'CheckPrevCheckout' is visible in Patrons sysprefs and can be
      switched to 'hardyes', 'softyes', 'softno' and 'hardno'.
      + Check out previously checked out items to a patron, checking the
        message appears as expected.
    - Verify no 'Check previous checkouts' setting appears on the borrower
      category pages if the syspref is set to a 'hard' option.
    - Verify 'Check previous checkouts' setting appears on the borrower
      category pages and can be modified per borrower category.
      + Issue previously issued items to a borrower, checking the message
        appears as expected (This setting should override the default
        setting if that is set to a 'soft' option).
    - Verify no 'Check previous checkouts' setting appears on the individual
      borrower pages if the syspref is set to a 'hard' option.
    - Verify 'Check previous checkouts' setting appears on individual
      borrower pages and can be modified.
      + Issue previously issued items to a borrower, checking the message
        appears as expected (This setting should override the category
        setting and the default setting if the latter is set to a 'soft'
        option).
    
    Followed test plan, works as expected.
    Signed-off-by: default avatarMarc Véron <veron@veron.ch>
    
    Signed-off-by: default avatarJonathan Druart <jonathan.druart@bugs.koha-community.org>
    
    Signed-off-by: default avatarKyle M Hall <kyle@bywatersolutions.com>
    6a493842