https://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=43127

            Bug ID: 43127
           Summary: Vue holds module: scaffolding and Express bib-level
                    hold workflow
   Initiative type: ---
        Sponsorship ---
            status:
           Product: Koha
           Version: Main
          Hardware: All
                OS: All
            Status: NEW
          Severity: enhancement
          Priority: P5 - low
         Component: Hold requests
          Assignee: [email protected]
          Reporter: [email protected]
        QA Contact: [email protected]
                CC: [email protected], [email protected],
                    [email protected]
        Depends on: 43126
            Blocks: 43123
  Target Milestone: ---

Add a new Vue 3 module for hold placement, following the existing ERM /
Preservation / Acquisitions pattern:

- modules/holds.ts entry point, registered in rspack.config.js.
- Pinia store (stores/holds.js) with session scoped holdability and pickup
location caches.
- Vue Router routes for the hold placement workflow.
- A HoldsAPIClient wrapping the endpoints added in bug 43126.
- Shared components: HoldabilityShield, HoldabilityBadge, PickupBranchPicker,
HoldDateRange, HoldFeeNotice, OverrideWarning.
- The Express Bib-Level Hold workflow: a single API call to GET
/biblios/{id}/holdability drives a form covering pickup location, hold dates
and notes, covering the common case of placing a bib level hold for a known
patron and title.

Add a new system preference, UseNewHoldsInterface (Yes/No, default No). When
enabled, Place hold links in the staff interface point at the new Vue module
instead of reserve/request.pl. reserve/request.pl and its existing behaviour
are unchanged regardless of the preference value.

Test plan
1. With UseNewHoldsInterface disabled (default), confirm reserve/request.pl
works exactly as before.
2. Enable UseNewHoldsInterface and confirm Place hold links route to the new
Vue interface.
3. Place a bib level hold through the Express workflow for a holdable title and
confirm it appears correctly in the patron's account and the holds queue.
4. Confirm an ineligible patron (for example over their hold limit) is shown
the correct blocker, with an override option when AllowHoldPolicyOverride is
enabled.
5. Run axe-core (or equivalent) against the new components and confirm no
critical or serious accessibility violations.


Referenced Bugs:

https://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=43123
[Bug 43123] Hold placement workflow: Vue modernisation (epic)
https://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=43126
[Bug 43126] REST API: add holdability endpoints for biblios, items and patrons
-- 
You are receiving this mail because:
You are watching all bug changes.
You are the assignee for the bug.
_______________________________________________
Koha-bugs mailing list -- [email protected]
To unsubscribe send an email to [email protected]
website : http://www.koha-community.org/
git : http://git.koha-community.org/
bugs : http://bugs.koha-community.org/

Reply via email to