Open
Conversation
Removed the extra "\n" that is added when both the comments and reason fields are empty.
Added support for export user profile form records as well.
order, container, shipment related specimens tab.
…t to the new UI app.
1) Scheduled job runs 2) Orders
… API interaction object. These variables can be used to specify the field on which the list should be sorted and sort direction - asc or desc
… selected or not, display CP custom fields when the "Collection Protocol" form is selected for adding filter.
Used when one or more specimens are used to create a pooled specimen.
Users can ... 1) configure the list of services offered by the biobank/lab for the collection protocol/study. 2) Configure the rates (service charges) for each offered service along with the period of its applicability. This means a service can have different rates at different times. 3) Configure a list of services offered, by default, for each anticipated specimen. 4) Add/edit/remove/list (a.k.a track) the services performed on individual specimens. 5) Query and generate the CSV for services offered in a given time period and charges.
It appears Oracle doesn't like it. MySQL has no problems with it.
…ion session... This ensures the auth token is refreshed and the app is re-initialised...
Convenience function to navigate to the required view and reload the UI app.
…cify the floating-point based range for all number filters...
…lts view to navigate to the relevant CP overview page.
The problem was - the form designer was a separate standalone VueJS based UI module. It had its own set of reusable components like toasts among others. When it was merged with the new VueJS based OpenSpecimen UI, the toasts hook was not removed. As a result, the same error message appeared twice.
…dating forms via JSON based input payment or XML based file import. This ensures the same access control rules are applied in both the cases.
until a deletion confirmation is received from the backend / API.
…ecked out from a dimensionless container.
1) When no files are selected or validation fails and 2) the file is uploaded asynchronously to the server
time of unarchive to the container API.
when the message is processed successfully.
listing of containers based on the restrictions on the leaf node containers. Used virtual columns to auto compute free spaces in the container.
500 storage container objects in-memory irrespective of the depth and width of the container tree/hierarchy.
…m both container and specimen perspective. Earlier the API was clearing the position only from the container perspective. This was causing the position to be resaved by the specimen resulting in stale update error.
Supports 2 OAuth workflows: 1. Client Credentials Flow: The client obtains JWT by authenticating itself with the OAuth provider (without involving OpenSpecimen) and then uses the JWT as a Bearer token for subsequent communication with OpenSpecimen (invoking APIs). 2. Authorization Code Flow using PKCE: In this case, OpenSpecimen redirects (human) users to the respective OAuth providers in order to get consents for sharing their account details (openid) for accessing OpenSpecimen resources and APIs. 3. JWT Validation: OpenSpecimen validates and resolves the JWT to a valid user. The validation involves ensuring the token is: 3.1: Issued by an OAuth provider registered with OpenSpecimen 3.2: Not expired 3.3: Intended for accessing OpenSpecimen The public keys required for verification of the JWT signature are fetched from the respective OAuth providers at periodic intervals and cached in-memory. The resolution includes mapping the received subject claims to the user record in OpenSpecimen database by performing lookup on the login_name attribute. Tested the implementations using Auth0 and Google OAuth providers. TODO: Okta and Azure AD.
…r logout or session timeout/expiry.
commit 88a6881 Author: Vinayak Pawar <vinayakapawar@gmail.com> Date: Sat Jan 24 17:12:10 2026 +0530 Invalidate any active (servlet) session and delete all cookies on user logout or session timeout/expiry.
to facilitate faster cancellation of the reservations. A side effect of this is only the required positions are locked, which helps in performing concurrent actions on other positions.
to facilitate faster cancellation of the reservations. A side effect of this is only the required positions are locked, which helps in performing concurrent actions on other positions.
of CPR visits instead of using the session cached CPR object's visits list. The visits list is required to find the relevant visit to use for updating and creating specimens underneath it.
…r a given session) in cache. This ensures last API call time is used to determine whether the session is active or not.
… are deleted at regular intervals.
… not appear in the dropdown of other rows of the sub-form. DP add/edit UI fixes 1. Institute is made mandatory 2. Selected institute does not appear in institute dropdown of other distributing sites row 3. Filter the distributing sites by the selected institute. Participant add/edit UI fixes 1. Selected MRN site does not appear in site dropdown of other MRNs To use this filtering capability, the field configuration should include the following attribute "unique": "cpr.participant.pmis.siteName"
update the token access time without a token will result in NPE. Fixed the API filter to by pass updating the token access time when no token is present.
1) Participant, Visit, and Specimen overview/detail, edit page header - left and right titles 2) Specimen description
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