Bug 41513 - Add a system preference to control which staff main page notifications appear
Summary: Add a system preference to control which staff main page notifications appear
Status: Failed QA
Alias: None
Product: Koha
Classification: Unclassified
Component: Staff interface (show other bugs)
Version: Main
Hardware: All All
: P5 - low enhancement
Assignee: Lucas Gass (lukeg)
QA Contact: Testopia
URL:
Keywords:
Depends on: 36063 36073
Blocks:
  Show dependency treegraph
 
Reported: 2026-01-02 20:04 UTC by Lucas Gass (lukeg)
Modified: 2026-01-03 01:12 UTC (History)
2 users (show)

See Also:
GIT URL:
Initiative type: ---
Sponsorship status: ---
Comma delimited list of Sponsors:
Crowdfunding goal: 0
Patch complexity: Small patch
Documentation contact:
Documentation submission:
Text to go in the release notes:
Version(s) released in:
Circulation function:


Attachments
Bug 41513: Add StaffMainPageNotifications sys pref (5.05 KB, patch)
2026-01-02 20:26 UTC, Lucas Gass (lukeg)
Details | Diff | Splinter Review
Bug 41513: Adjust mainpage.pl (12.07 KB, patch)
2026-01-02 20:26 UTC, Lucas Gass (lukeg)
Details | Diff | Splinter Review

Note You need to log in before you can comment on or make changes to this bug.
Description Lucas Gass (lukeg) 2026-01-02 20:04:48 UTC
There are now quite a few notifications that can show up on staff main page. It would be nice if libraries could choose which of these appear on the page.

This will help clear unwanted notifications and make it so we don't run unnecessary querys from mainpage.pl
Comment 1 Lucas Gass (lukeg) 2026-01-02 20:26:00 UTC
Created attachment 190850 [details] [review]
Bug 41513: Add StaffMainPageNotifications sys pref
Comment 2 Lucas Gass (lukeg) 2026-01-02 20:26:03 UTC
Created attachment 190851 [details] [review]
Bug 41513: Adjust mainpage.pl

To test:
1. APPLY PATCH, updatedatabase, restart_all
2. Find the new system preference 'StaffMainPageNotifications'
3. All options should be checked except 'Holds to pull' and 'Holds queue'. Since these options are new I would like them to be unchecked while all other options will show, preserving current behavior.
4. You should see these options for main page notifications:

ArticleRequests
Suggestions
Comments
Tags
PatronModifications
DischargeRequests
BiblioTickets
CheckoutNotes
ProblemReports
HoldsToPull
HoldsQueue
Jobs
CurbsidePickups
HoldCancellations
SelfRegistrations

5. Make some notifications in each of these areas and making sure toggling the option in StaffMainPageNotifications works.
Comment 3 David Nind 2026-01-03 01:12:30 UTC
I really like this!

I've tested (hopefully, reasonably thoroughly), but there are three possible things that need fixing:

1. Checkout notes pending (Checkout notes):
   - This is still showing on the home page if it is not selected in
     StaffMainPageNotifications.
   - See testing note 5 about getting it to show on the home page.
   - It is currently showing notes added by a patron from their 
     OPAC account > Summary > Checked out tab > Add a note
     (in the 'Report a problem' column).

2. Terminology in the dropdown list options:
   - Biblio tickets: should be 'Catalog concerns' (as that is what it
     is everywhere else)
   - Self registrations: should be 'Self-registrations' (see the terminology list)

3. This change would remove the need for the PatronSelfRegistrationAlert
   system preference.

Testing notes (using KTD):

1. To test some of the notifications you need to do things as a patron on the 
   OPAC, rather than as the koha user on the OPAC.
   . Edit a patron's record so that you can log in as them on the OPAC 
     (Patrons > [selected patron] > Edit > OPAC/Staff interface login > 
     update username and password).
   . To test 'Access your background jobs' you need to log in as a staff patron
     with more limited permissions, so will need to edit a staff patron's account
     so you can log in as well.

2. Article requests (Article requests):
   - Set ArticleRequests to 'Enable'
   - Go to a record in the staff interface, and 'Request article'

3. Access your background jobs (Background jobs):
   - This doesn't show up for a superlibrarian such as koha, as they have 
     the 'manage_background_jobs' permission.
   - Some library staff may not have this permission and can't access manage
     jobs area in administration
   - But they can run jobs, such as batch item modifications
   - For a staff patron, such as Henry, give 'Staff access' (catalogue) and 
     'Edit catalog' (editcatalogue) permissions
   - Edit the staff patron's record so that you can log in as them to the staff
     interface (Patrons > [selected patron > Edit > OPAC/Staff interface 
     login > update username and password).
   - Do something that runs a background job. I did a batch item update:
     . Go to Search > Item search
     . Click Search
     . Click 'Select visible rows'
     . From 'Batch operations' select batch item modification
     . Add a public note 'This is a test'
     . Save
   - On the home page you can now see the "Access your background jobs" link

4. Catalog concerns pending (Biblio tickets):
  - Set CatalogConcerns and OpacCatalogConcerns to 'Allow'
  - Add a concern in the staff interface: 
    - Go to any record > New > New catalog concern
  - Add a concern in the OPAC: 
    . Log in to the OPAC as a patron
    . Go to any record > Report a concern

5. Checkout notes pending (Checkout notes):
   - Check out an item to a patron
   - Log in to the OPAC as that patron
   - Go to Summary > Checked out tab
   - Click 'Add note' and add a note
   - Note 1: This doesn't show for Henry, so I assume this is
     permissions-related
   - Note 2: I also tried this way, but it doesn't add items to this list,
     so I think it is an unrelated feature:  
     . Set OpacHoldNotes to 'Allow'
     . Log in to the OPAC as a patron
     . Go to a record and place a hold
     . Expand "Show more options"
     . Put some text in the hold notes field
     . Click 'Confirm hold'

6. Comments pending approval (Comments):
   - Set OPACComments to 'Allow' if it isn't already (on by default in KTD)
   - Log in to the OPAC as a patron
   - Add a comment to a record (in the comments tab next to the 
     holdings information)

7. New curbside pickups (Curbside pickups):
   - Set CurbsidePickup to 'Enable'
   - Go Administration > Patron and circulation > Curbside pickups
   - Set up curbside pickup for Centerville
     . Enable: selected
     . Pickup interval: 10
     . Maximum patrons per interval: 2
     . Curbside pickup hours: add some time slots
     . Save
   - Place and fill a hold for a patron so that is waiting for 
     pickup at Centerville
   - Go to Circulation > Holds > Curbside pickups > Schedule pickup tab
   - Enter the patron name
   - For the items ready for pickup, enter a pickup date and select a time slot
   - Click submit

8. Discharge requests pending (Discharge requests):
   - Set useDischarge to 'Allow'
   - Log in to the OPAC as a patron
   - Go to Your account > Ask for discharge

9. Holds with cancellation requests (Hold cancellations):
   - Change the "Default waiting hold cancellation policy" under 
     Administration > Circulation and fine rules:
     . Set Cancellation allowed = "Yes" for All, All and then click 'Add'
   - Place a hold on an item for a patron
   - Check the item in to confirm the hold
   - Log in to the OPAC as that patron
   - Go to Summary > Holds tab
   - Click 'Request to cancel' for the waiting hold

10. Holds queue (Holds queue):
    - Place a hold on an item for a patron
    - Check the item in and confirm the hold
    - Run: misc/cronjobs/holds/build_holds_queue.pl

11. Holds to pull (Holds to pull):
    - Place some holds 

12. Patrons requesting modifications (Patron modifications):
    - Log in to the OPAC as a patron
    - Go to Your account > Personal details
    - Change something
    - Click 'Submit update request'

13. OPAC problem reports pending (Problem reports):
    - Set OPACReportProblem to 'Allow'
    - Log in to the OPAC as a patron
    - Click "Report a problem" in the footer of the page

14. Self-registrations from (Self registration):
    - Set PatronSelfRegistrationAlert to 'Show'
    - Go to the OPAC, and log out any account logged in.
    - Click 'Create an account' under the log in form
    - Complete the required details and submit

15. Suggestions pending approval (Suggestions):
    - Go to Acquisitions > Suggestions > New purchase suggestion

16. Tags pending approval (Tags):
    - Set TagsModeration to 'require'
    - Log in to the OPAC as a patron
    - Add some tags to a record