Skip to content

Support custom identifiers for items added to Interactions#7644

Merged
grantfitzsimmons merged 18 commits intomainfrom
issue-1157
Jan 15, 2026
Merged

Support custom identifiers for items added to Interactions#7644
grantfitzsimmons merged 18 commits intomainfrom
issue-1157

Conversation

@grantfitzsimmons
Copy link
Copy Markdown
Member

@grantfitzsimmons grantfitzsimmons commented Jan 13, 2026

Fixes #1157

This PR adds support for creating new interactions using other fields in Collection Object and newly fields in Preparation. This is controlled in User Preferences, and defaults can be set at any level (User, Collection, Discipline, Institution) just as with any other preference.

Preferences

Two new preference items have been added under 'Creating an interaction' in User Preferences:

  • Collection Object identifier
  • Preparation identifier
image

Users can choose from any of the following fields (and they will be shown the schema caption rather than the data model name):

image image

Preparation-based Interactions

You can now add new items to a Preparation-based interaction based on a field of your choosing from the Preparation table (e.g. barcode by default, but others are supported as well).

image

Localization Improvements

The dialog is now responsive to the schema as it has been customized for both table names and field names:

image

It will display the caption for the table and identifier selected in User Preferences.

If the name of the table has been renamed, it will also now be respected (see RBGE uses "Destructive Sampling" instead of "Gift", this will now display appropriately):

image

Checklist

  • Self-review the PR after opening it to make sure the changes look good and
    self-explanatory (or properly documented)
  • Add relevant issue to release milestone
  • Add pr to documentation list
  • Add automated tests
  • Add a reverse migration if a migration is present in the PR

Testing instructions

Repeat the following steps using various fields from both the Collection Object (CO) and Preparation (configured in User Preferences). The behavior should align with the current functionality observed when searching for catalog numbers or using record sets. However, if you match a specific preparation, it should only return that preparation (by ID) instead of returning all preparations associated with the parent CO.

Test various scenarios (e.g. use identifiers to find records that have no available preps for loan, and verify that is communicated).

  • Build a query and return a list of existing records with identifiers in a given field
  • Create new interactions
    • Create a Loan
    • Create a Disposal
    • Create an Exchange Out
    • Create a Gift
  • Add items to existing interactions
    • Add items to a Loan
    • Add items to a Disposal
    • Add items to an Exchange Out
    • Add items to a Gift
  • Verify the system works as expected
  • Customize table and field captions for Collection Object, Preparation, and associated fields and verify they are reflected
  • Create a new Loan Return from both a record set and verify loan number searching works as expected

@github-project-automation github-project-automation bot moved this to 📋Back Log in General Tester Board Jan 13, 2026
@grantfitzsimmons grantfitzsimmons changed the title Add support for custom identifiers when adding items to interactions Support custom identifiers for items added to Interactions Jan 13, 2026
@grantfitzsimmons grantfitzsimmons added this to the 7.15.0 milestone Jan 13, 2026
segment the loan return dialog more robustly
@grantfitzsimmons grantfitzsimmons requested a review from a team January 14, 2026 14:10
@grantfitzsimmons grantfitzsimmons modified the milestones: 7.15.0, 7.12.0 Jan 14, 2026
@grantfitzsimmons grantfitzsimmons marked this pull request as ready for review January 14, 2026 14:18
Copy link
Copy Markdown
Collaborator

@emenslin emenslin left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

  • Build a query and return a list of existing records with identifiers in a given field
  • Create new interactions
    • Create a Loan
    • Create a Disposal
    • Create an Exchange Out
    • Create a Gift
  • Add items to existing interactions
    • Add items to a Loan
    • Add items to a Disposal
    • Add items to an Exchange Out
    • Add items to a Gift
  • Verify the system works as expected
  • Customize table and field captions for Collection Object, Preparation, and associated fields and verify they are reflected
  • Create a new Loan Return from both a record set and verify loan number searching works as expected

Looks good, I didn't run into any issues! The only thought I have is that #7642 should be implemented in order for this to truly be effective. Right now if you are searching for multiple different preparation/collection objects there is no way to tell which one is which in the selection dialog which could be confusing.

@emenslin emenslin requested a review from a team January 14, 2026 17:11
Copy link
Copy Markdown
Contributor

@Iwantexpresso Iwantexpresso left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

  • Build a query and return a list of existing records with identifiers in a given field
  • Create new interactions
    • Create a Loan
    • Create a Disposal
    • Create an Exchange Out
    • Create a Gift
  • Add items to existing interactions
    • Add items to a Loan
    • Add items to a Disposal
    • Add items to an Exchange Out
    • Add items to a Gift
  • Verify the system works as expected
  • Customize table and field captions for Collection Object, Preparation, and associated fields and verify they are reflected
  • Create a new Loan Return from both a record set and verify loan number searching works as expected

I have not ran into any issues while testing, nice work!

Copy link
Copy Markdown
Contributor

@kwhuber kwhuber left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

  • Build a query and return a list of existing records with identifiers in a given field
  • Create new interactions
    • Create a Loan
    • Create a Disposal
    • Create an Exchange Out
    • Create a Gift
  • Add items to existing interactions
    • Add items to a Loan
    • Add items to a Disposal
    • Add items to an Exchange Out
    • Add items to a Gift
  • Verify the system works as expected
  • Customize table and field captions for Collection Object, Preparation, and associated fields and verify they are reflected
  • Create a new Loan Return from both a record set and verify loan number searching works as expected

Works as expected!

@grantfitzsimmons grantfitzsimmons merged commit c60bb12 into main Jan 15, 2026
14 checks passed
@grantfitzsimmons grantfitzsimmons deleted the issue-1157 branch January 15, 2026 20:33
@github-project-automation github-project-automation bot moved this from 📋Back Log to ✅Done in General Tester Board Jan 15, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

Status: ✅Done

Development

Successfully merging this pull request may close these issues.

Add ability to use other fields in Collection Object or Preparation for interactions

5 participants