forked from aces/Loris
-
Notifications
You must be signed in to change notification settings - Fork 0
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
2024 0612 candidate parameters #401
Open
kongtiaowang
wants to merge
61
commits into
main
Choose a base branch
from
2024-0612-candidate_parameters
base: main
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Open
Conversation
This file contains 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
Display the name of the user instead of their ID in the notification emails. Fixes aces#9202
In the uploadForm.js file is modified to increase / decrease the numFiles value according to whether a file was actually selected or not. If a file is selected, the numFiles increases. If a file is not selected, the numFiles decreases. This prevents the bug where "File to Upload" field is added indefinitely if the file is browsed and then cancelled. Fixes aces#9136
The recruitment graphs on the dashboard provided by the statistics module are not efficient. They run one SQL query per month per year per site for each graph that is displayed. This is highly inefficient for large projects. This replaces the single queries in the inner loops with a single group-by query which it processes into the same format. The result should be significantly faster load times on the dashboard when the statistics module is loaded.
The value expected by the field is the number id, but the fetch statement was returning the name - so I modified the sql statement to fetch the project ID. Fixes aces#9134
Display correct error message for files that are too large Resolves aces#9163
…tion function (aces#9208) An error regarding the non-existence of a notification_module with module: publication and operation: download prevented the downloading of files. The notification function was overridden for this module to bypass the LorisException thrown by the non-existence of entries. It appeared by far to be a simpler solution than checking for and adding extra logic when the entries do not exist. Resolves aces#9133.
-The loris baseURL is now sent from the react pages to the ajax scripts on submit for both editing and uploading a new publication, and then is sent in the email. - I did it this way as \NDB_Factory::singleton()->settings()->getBaseURL() does not work in ajax files, and since it is deprecated it made more sense to do a hotfix rather than investigating the issue with ajax. - This was noticed and fixed for files in php folders in PR#7807, however that same fix does not work for ajax. Thankfully publication is the only module with ajax still that uses getBaseUrl(). Resolves aces#9132
Fix display of long help text or help text when scrolled past the start of the page. Resolves aces#9180
This updates the candidate_list module to use format=binary format instead of format=json. For large projects with many candidates the encoding of the data to JSON can use up all the server's memory and then crash with an out-of-memory error. Since the format=binary format is a line-based streamable format, it does not require loading the entire result set into memory before transmitting it to the client and larger data sets can be loaded into LORIS.
Document required configurations for spm Fixes aces#9153
Add missing import Fixes aces#9152
Use a batch insert instead of a prepared statement loop to populate temporary table in new DQT for SQLQueryEngine. This makes the SQLQueryEngine use the same logic as modules/dataquery/php/query.class.inc, which is much more efficient for large data sets.
Fix insert statement when too many roles are added by converting the fields from varchar(255) to text. Fixes aces#9173
…ils (aces#9214) Remove unnecessary newline in dicom archive display.
Only re-build instrument data dictionaries, not all data dictionaries, to ensure all names are unique.
This modifies the test plan for the genomic browser module. The changes are mostly cosmetics but also include corrections of the permission names and table headers mentioned in the plan. Resolves aces#9151
…9188) Permissions are check now before allowing to add examiner to site. Before this, a user with only the permission Examiner: Add and Certify Examiners - Own Sites was able to add examiners to sites it don't belongs to. Now this feature is only granted to users with the corresponding level of permission. Fixes aces#9149
There are a number of settings that we use frequently in LORIS such as "base" to get the base path. When accessed multiple times in a request at different places in LORIS, each one currently requires a query against the database. This caches any settings that are used in NDB_Config so that future calls to getSetting() can return the cached value and not make another round trip to the DB.
The Query class in the dataquery module includes an IsAccessibleBy function to check accessibility of a query by checking if the user has access to all fields used in the query (for both fields and filters). It currently caches the data dictionary of a module the first time it's used to avoid having to re-retrieve the dictionary for every field. However, each Query object instance has its own cache. This changes the dictionary cache to be a static variable so that it can be shared across different instantiations of the object. This significantly speeds up the /dataquery/queries/ endpoint which applies an AccessibleResource filter to every query returned by a provisioner.
Fix errors unused-vars warnings that are easily fixed errors. I'm not sure of the impact of changing the remaining two since they're used in a destructuring context. Someone familiar with the EEG browser should fix (and test) them. Upgrade rule from "warning" to "error" for javascript, while leaving it for typescript since there are two that are still unresolved.
Fixes bug where when emailing a survey, if you enter mismatch emails the Email button is disabled but the form is not sent out, but no error message displayed. Resolves aces#9086
Improve the webpack configuration to make building LORIS more memory and time efficient. The changes of this PR are described in aces#9218 (comment) Resolves aces#9218
The "Sex" data type is incorrectly returning an object instead of an array for the field options of the dictionary because \Utility::getSexList returns an associative array, not an array.
getCandID in the instrument class was incorrectly returning a string instead of a CandID object. (Since the function was recently added, we still have time to fix it before the release with little chance of it having been used elsewhere.)
This seems to fix the issue found during the testing meeting, where there was a problem in the compilation of JS modules (found in the dataquery but probably in other places too).
… field in dataquery module (aces#9224) The dataquery module was showing the backend enum value, rather than the frontend label, which isn't very useful to most users. This adds an option for the user to select how they want to display enums. It also updates the menu label from "alpha" to "beta" since the module has now been tested with large data sets. Fixes aces#9221
This updates the test plan of next_stage module because there is no longer a "scan done" option (aces#8955). This step is removed from the testing instructions.
Upgrade GitAction checkout version from v2 to v3.
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.
Brief summary of changes
Testing instructions (if applicable)
Link(s) to related issue(s)