aboutsummaryrefslogtreecommitdiff
path: root/qc_app
AgeCommit message (Collapse)Author
2024-07-25Rename module: qc_app --> uploaderFrederick Muriuki Muriithi
2024-07-22Handle generic errors for chunked uploads better.Frederick Muriuki Muriithi
2024-07-02Add URL information to debug informationFrederick Muriuki Muriithi
To help with error reporting, as the user to also provide the URL of the error page to help with debugging issues that the user encounters.
2024-07-01Respond with JSON. Handle error messages on UI.Frederick Muriuki Muriithi
2024-07-01Display error better.test-resumablejsFrederick Muriuki Muriithi
2024-07-01Check for genotype samples in the databaseFrederick Muriuki Muriithi
Check for genotype samples in both the R/qtl2 file and in the database.
2024-06-27Handle chunks on backend and update UI with progressFrederick Muriuki Muriithi
Handle the uploaded chunks, enabling resumption of the upload if incomplete. Update the UI with the progress of the upload.
2024-06-27Fix bugs in error-reporting.Frederick Muriuki Muriithi
2024-06-27Upload chunking: Provide UI and code for drag&drop and chunkingFrederick Muriuki Muriithi
* Use resumable.js to handle the drag-and-drop feature, and chunking. * Add styling for the drag-and-drop area, and provide visual indication when a file is successfully dropped and added to the upload list.
2024-06-25Add route to fetch node-js modules.Frederick Muriuki Muriithi
2024-06-14Add banner similar to GeneNetwork2Frederick Muriuki Muriithi
2024-06-14Fix minor UI bugsFrederick Muriuki Muriithi
2024-06-14Update page headingsFrederick Muriuki Muriithi
2024-06-14Remove unused template importsFrederick Muriuki Muriithi
2024-06-14Use bootstrap for displaying progress widgetFrederick Muriuki Muriithi
This commit converts the progress indication widget into a bootstrap modal dialog, and updates the javascript to prevent the code from interacting with bootstrap in unpredictable ways.
2024-06-14jquery, bootstrap: update page dependenciesFrederick Muriuki Muriithi
* Add jquery which is needed for bootstrap plugins. * Add the default bootstrap theme. * Provide route to serve up jquery libraries.
2024-06-14Move the modal to top of page to avoid display issuesFrederick Muriuki Muriithi
According to https://getbootstrap.com/docs/3.3/javascript/#callout-modal-markup-placement the bootstrap modal dialogs should be placed at the top of the page to avoid other components affecting their display and/or functionality.
2024-06-13Fix tests and issues caught by tests.update-templates-for-bootstrapFrederick Muriuki Muriithi
2024-06-13Handle HTTP errors gracefully.Frederick Muriuki Muriithi
2024-06-13Update the help text.Frederick Muriuki Muriithi
2024-06-13Clean up landing pageFrederick Muriuki Muriithi
Leave only data upload type selection on landing page.
2024-06-13Update html templates to use bootstrap for stylingFrederick Muriuki Muriithi
2024-06-12Update templates to use bootstrap classes.Frederick Muriuki Muriithi
2024-06-12Use bundled bootstrap for styling the UIFrederick Muriuki Muriithi
Use bootstrap to eliminate a myriad of UI styling headaches.
2024-06-12Make URI and UI correspond to each other.Frederick Muriuki Muriithi
Formerly, the URI and UI were not corresponding to each other, e.g. the URI /upload/samples/select_species would display the UI for selecting/creating the population. This was very confusing. This commit fixes that. The commit also adds in user input validation to catch input errors.
2024-06-12Bug: Provide missing argument. Remove unused verr variable.Frederick Muriuki Muriithi
2024-06-12Validate input before attempting to use it.Frederick Muriuki Muriithi
2024-06-12Provide an input validation module.Frederick Muriuki Muriithi
2024-05-05Fix indentation.Frederick Muriuki Muriithi
2024-05-05Provide default for InbredSetIdFrederick Muriuki Muriithi
The `InbredSetId` field in the `InbredSet` table in MariaDB is in some instances a required field, so we need to provide a value. This value should be the same as that for the `Id` field, that we do not previously know. This commit provides a value of zero (0) as the default. This value is subsequently updated to be same as that of the `Id` field.
2024-04-17Use `cursor.lastrowid` to get row identifierFrederick Muriuki Muriithi
Use the more robust `cursor.lastrowid` to get the row identifier value, rather than using the `SELECT MAX(Id) …` form. With the `cursor.lastrowid` form, we do not have to remember to add 1 to the value to avoid conflict.
2024-04-16Set InbredSet.InbredSetId value in a more robust way.Frederick Muriuki Muriithi
2024-04-16bug: Set ProbeFreezeId for only new row!Frederick Muriuki Muriithi
Previously the extra ProbeFreezeId column was being updated for *ALL* rows, rather than just the newly inserted row, which is a bug. This commit fixes that.
2024-04-12Provide more relevant error message.Frederick Muriuki Muriithi
2024-04-12Provide defaults for required field.Frederick Muriuki Muriithi
2024-04-12Add missing return.Frederick Muriuki Muriithi
2024-04-12Consistently check for possibly non-existent dataFrederick Muriuki Muriithi
The "geno-dataset", "tissue", "pheno-study" and "pheno-dataset" data "objects" might not exist for a particular uploaded bundle, so we check in a consistent manner to ensure they are provided when needed.
2024-04-12Provide tissue-id details to probeset dataset templatesFrederick Muriuki Muriithi
2024-04-10linting: Fix linting errors.Frederick Muriuki Muriithi
2024-04-10logging: Set up logging in wsgi.pyFrederick Muriuki Muriithi
Make flask use the gunicorn loggers when run under gunicorn, otherwise, use our custom logging. Putting the logging setup inside `create_app(…)` would cause each worker to override the gunicorn loggers, meaning we were not receiving the logs, especially for `debug(…)` calls.
2024-04-10Gracefully handle all `werkzeug.exceptions` errors.Frederick Muriuki Muriithi
2024-04-10Use application logger, not root logger.Frederick Muriuki Muriithi
2024-04-08Add logging for IntegrityErrorFrederick Muriuki Muriithi
2024-04-08Refactor: Make error-checking more robustFrederick Muriuki Muriithi
Rather than maintaining a dictionary of possible error-checking functions, this commit allows passing in the error-checking functions necessary for each point. This makes the code easier to extend by simply defining a new error-checking function and passing it in to the error-checking "driver".
2024-04-08Fix issues caught by integration tests.Frederick Muriuki Muriithi
2024-04-08Fix pylint and mypy errors.Frederick Muriuki Muriithi
2024-04-08bug: UI: Provide better error messaging.Frederick Muriuki Muriithi
2024-04-08bug: Handle IntegrityError: Studies cannot have same name.Frederick Muriuki Muriithi
2024-04-08bug: Check that Genotype dataset name is not duplicated.Frederick Muriuki Muriithi
2024-04-05Handle exceptions creating ProbeSet datasets.Frederick Muriuki Muriithi