Open
Conversation
… the picked list. Useful for users whose specimens are not barcoded or deprived of scanners.
2) The cart association allows users to create / manage request based pick lists
…like specimen request.
…ser experience (Refactoring / redoing of the workflow)
… avoid costly DB lookups.
Eliminates full table scans when generating unique IDs such as PPIDs, visit names, specimen labels, container names etc
…le limit (default 100) specimens, the add/edit UI no longer displays the specimen list. Instead, users can download the shipment as a CSV, make updates, and re-import the file.
Added the missing i18n translation for order and shipment specimens limit.
…based on the screen sizes. For bigger screens (>= 1200px): Use 80% of the viewport width and 10% margin on either side For small and medium screens (< 1200px): Use 90% of the viewport width and 5% margin on either side
…g off-peak hours. 1. Added a configuration parameter - Online Import Records Limit, which defines the maximum number of records that can be imported instantly by online jobs. Any job exceeding this limit will be queued for off-peak execution. 2. Implemented a scheduled job that runs during off-peak hours to process and execute queued jobs.
…utton This allows the host view to place the refresh button where it fits best and invoke the component method directly.
Truncating with ellipsis and showing a tooltip on hover works on desktops, but fails on handheld devices that lack a mouse. Wrapping ensures the text remains accessible across all devices.
…nual pages instead of via help.openspecimen.org Earlier users were navigated to help.openspecimen.org, which redirected them further to the relevant confluence pages
…r optimisations... (Optimisations will be enabled later... For now getting the platform ready to jump to ...)
which URL placeholders map to the function arguments/parameters.
Replaced row-based field alignment with a column-based layout. Fields populate the first column, then move to the second and third, ensuring better organisation for dense data sets. (A.k.a - newspaper layout for improved readability)
inserts after Hibernate 7 migration. Positions are persisted via the container side of the relationship.
…lity Updated permitAll() endpoints to use explicit, absolute paths. Spring 7.x has removed support for lenient path matching (That is, suffix matching and certain Ant-style wildcards). Updated - /forgot-password to /users/forgot-password - /reset-password to /users/reset-password - /sign-up to /users/sign-up
… management Problem: AbstractDao.saveOrUpdate is restricted to Identifiable types. The Lock entity (used by Audit Service) lacks this interface, causing a type mismatch error inspite of being a valid persistent entity. Solution: - Added save and update methods in Dao/AbstractDao to allow persistence of non-Identifiable entities. - Updated AuditService to use save() to acquire locks and update() for releasing locks after retrieval. This helps resolve the audit API crash while maintaining the legacy saveOrUpdate logic for other existing service flows.
Binding between URL placeholders and method parameters is now explicit. This addresses issues where Spring no longer discovers parameter names via reflection/debug symbols, a common requirement in Spring 7.x and Java 17+ envs.
…in Raise Query dialog Problem: The fields dropdown was appearing empty because the collection & received events are removed. This resulted in breaking of the data source for rendering the UI dropdown component. Solution: Updated the plugin hook properties to pass the collection & received event dictionaries. This allows the Raise Query dialog to correctly resolve and render the available fields.
…tion of positions and enforced slot uniqueness 1) Reduced memory footprint by avoiding eager materialisation of occupiedPositions using cached ordinals. 2) Switched add/remove position ops to direct DB writes and also keeping ordinals cache in sync. 3) Added queries for occupied ordinals, specific position lookup, reservation lookup, and capacity checks. 4) Reworked block/unblock APIs to operate on in‑memory positions for correct bulk location updates. 5) Updated empty‑positions report to use cached ordinals instead of full position entities. 6) Enforced unique slot occupancy with DB constraints. 7) Refined assignPositions API to use two‑pass vacate/assign with flush, while ensuring a single transfer event per specimen by reusing SpecimenTransferEvent.
…eived events as well!
…session to ensure the database does not see multiple entries for the same position.
…re insert to avoid unique constraint conflicts checkout -> vacate the container from its current position and then add a position blocked for the container. checkin -> vacate the blocked position and then add a position that the container occupies.
…imaging. The following config properties are disabled: 1) query / default_result_view 2) biospecimen / imaging 3) biospecimen / image_url_tmpl
…imaging. The following config properties are disabled: 1) query / default_result_view 2) biospecimen / imaging 3) biospecimen / image_url_tmpl
Scenarios handled: 1) For unauthenticated users opening a copy-pasted deep UI link, redirect to login first, then back to the requested view after successful login (including SAML flows). 2) For unauthenticated users opening the app root/regular login page, redirect to Home after successful login. 3) For users logged out due to session timeout, always redirect to Home page after successful login (do not restore the previous route). Previously, users were often redirected to the view they had before logout, which caused confusion and appeared inconsistent.
Scenarios handled: 1) For unauthenticated users opening a copy-pasted deep UI link, redirect to login first, then back to the requested view after successful login (including SAML flows). 2) For unauthenticated users opening the app root/regular login page, redirect to Home after successful login. 3) For users logged out due to session timeout, always redirect to Home page after successful login (do not restore the previous route). Previously, users were often redirected to the view they had before logout, which caused confusion and appeared inconsistent.
Convert the current date selected via the Today link to yyyy-MM-dd when the dateOnly flag is enabled. Normalise both regular date selection and Today selection to use the same conversion path.
Binding between URL placeholders and method parameters is now explicit.
…s in bulk import Problem: The bulk import form (in context of all CPs) was not rendering the record type dropdown for regular users. This was because the UI failed to construct the accessible entityTypes parameter to the forms API, causing the request to fail. Solution: Updated the bulk import UI to correctly construct the accessible entityTypes list and include it in the backend API call.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Getting the newest branch from openspecimen