Show Provider Detail Record: Display list of Agreements

Priority

Environment

None

Template

None

Description

As a librarian
I want to see all the agreements tied to any package or title+package for a provider
So that I have easy access to those agreements

Requirements

  • Display on Show Provider Detail Record View only

  • Display Agreements accordion below Provider Settings section

  • Display only a list of agreements tied to any package or title+package for a provider

  • If no agreement has been attached to any package or title+package for that provider then display the message [No agreements found]

  • If an agreement has been attached to any package or title+package for that provider then display a list with the following headings: Start Date| Status | Name under Agreements section.

    • Default sort: Date descending order

  • List of agreements: Each row is clickable and takes user to Agreement in Agreements app.

Rough Screenshot

Acceptance Criteria
Given I am on the Taylor & Francis' provider detail record
When no agreements are attached to any of its packages and titles+packages
Then display the following message in the Agreements section [No agreements found]

Given I am on ProQuest's provider detail record
When an agreement(s) is attached to any of its packages and titles+packages
Then display a list of agreements in the agreements section with the following list headings: Start Date| Status | Name under Agreements section.
AND Default sort is Date descending order

Given I am on the ProQuest provider detail record
AND an agreement(s) displays under the Agreements section
When I click an Agreement row
Then display the Agreement record in the Agreements app

Development Team

Spitfire

Release

None

Story Points

Sprint

Attachments

1

Checklist

hide

TestRail: Results

Activity

Show:

Carole Godfrey March 20, 2019 at 12:30 PM
Edited

Thanks - in our case though we would not have organizations setup/defined for each of our providers. The functionality that you describe is the ability to lookup an agreement based on it's organization (as defined in organizations module) – is my understanding correct? Or is there a way to set this up without having an organization defined in the organization module (mod-vendor/mod-organization)? Could the sourceUri for the org be a reference to an ekb provider record? Sample requests on how to do this would be helpful

Ian Ibbotson (Use this one) March 20, 2019 at 11:43 AM

I'm free-forming as I don't have a console in front of me —

filters=orgs.org.reference%3D%REFERENCE

will query by reference. Fuller explanation - the whole domain model is exposed to the filter endpoint. If you go to the domain class definition, eg - go to

https://github.com/folio-org/mod-agreements/blob/master/service/grails-app/domain/org/olf/erm/SubscriptionAgreement.groovy

And you will see a hasMany orgs:SubscriptionAgreementOrg (currently around line 86) this tells you that a SubscriptionAgreement has many SubscriptionAgreementOrgs and the colleciton is called orgs - so the first part of your filter path is orgs.

Look up subscriptionAgreementOrg and you'll see it has 2 properties - the subscripton agreement and and Org property named "org" - So the next part of the path is ".org" - So far "orgs.org". Look up Org and you'll see there is a string property called reference... Giving us "orgs.org.reference"

https://github.com/folio-org/mod-agreements/blob/master/service/grails-app/domain/org/olf/general/Org.groovy

Of course the Org has to have been created using { reference:'REF-YOU-WANT-TO-Use' } - And this might get tricky once we have multiple KB vendors all wanting us to track the reference they use for provider. At that point, we will need to add the full namespaced identifier functionality to Org (Tho this will eventually belong on the refactored Vendors app anyway) .

Makes sense?

Carole Godfrey March 15, 2019 at 5:25 PM
Edited

cg - 03/15/2019 – This ticket is blocked as eHoldings currently does not have a way to make a request to Agreements application to find all agreements that have been linked to a specific Provider Id.

Below ticket shows investigation of Agreements method calls to that are available
https://folio-org.atlassian.net/browse/MODKBEKBJ-151

We can associate packages or title+package to an agreement (indicating reference with unique id - such as the following)

We can look up agreements associated with the above referenced package (such as below)

As noted, we do not have a method to lookup agreements by provider id. (ie get any agreements tied to packages or title+packages for that provider).

One potential solution would be to supply Provider Id when associating a package or title+package to an agreement.

Won't Do

Details

Assignee

Reporter

Fix versions

TestRail: Cases

Open TestRail: Cases

TestRail: Runs

Open TestRail: Runs

Created February 13, 2019 at 8:35 PM
Updated June 12, 2020 at 10:46 AM
Resolved June 12, 2020 at 10:46 AM
TestRail: Cases
TestRail: Runs