Sync v5.6.6 with mahis#829
Draft
andie23 wants to merge 3 commits into
Draft
Conversation
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.
This pull request introduces a new concern,
Locatable, and integrates it across multiple models to ensure consistent handling of location-scoped data. The main goal is to automatically assign and scope records bylocation_id, improving multi-site support and data isolation. Additional changes ensure that the current location is properly set for the authenticated user and that queries for location or global properties are correctly unscoped where necessary.Core Location Scoping and Model Updates:
Locatableconcern (app/models/concerns/Locatable.rb) that automatically assigns and scopes records bylocation_idfor models that have this column, using the current user's location or the globally set location.Locatableinto numerous models, includingDrugOrder,Encounter,Observation,Order,Patient,Person,PersonAddress,PersonAttribute,PersonName,PatientIdentifier,PatientProgram,PatientState,Pharmacy,PharmacyBatch, andGlobalProperty, ensuring location scoping and validation across these records. [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12] [13] [14] [15] [16]Authentication and Current Location Handling:
Location.currentbased on the authenticated user's location, ensuring that location-aware queries use the correct context.Location and Facility Retrieval Adjustments:
locations#showto use theLocationmodel instead ofFacility, aligning with the new location-centric approach.These changes collectively enhance the application's support for multi-location environments, ensuring records are consistently associated with and scoped to the correct location.