Age | Commit message (Collapse) | Author | |
---|---|---|---|
2024-06-12 | Update templates to use bootstrap classes. | Frederick Muriuki Muriithi | |
2024-06-12 | Use bundled bootstrap for styling the UI | Frederick Muriuki Muriithi | |
Use bootstrap to eliminate a myriad of UI styling headaches. | |||
2024-06-12 | Make 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-12 | Bug: Provide missing argument. Remove unused verr variable. | Frederick Muriuki Muriithi | |
2024-06-12 | Validate input before attempting to use it. | Frederick Muriuki Muriithi | |
2024-06-12 | Provide an input validation module. | Frederick Muriuki Muriithi | |
2024-05-05 | Fix indentation. | Frederick Muriuki Muriithi | |
2024-05-05 | Provide default for InbredSetId | Frederick 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-17 | Use `cursor.lastrowid` to get row identifier | Frederick 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-16 | Set InbredSet.InbredSetId value in a more robust way. | Frederick Muriuki Muriithi | |
2024-04-16 | bug: 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-12 | Provide more relevant error message. | Frederick Muriuki Muriithi | |
2024-04-12 | Provide defaults for required field. | Frederick Muriuki Muriithi | |
2024-04-12 | Add missing return. | Frederick Muriuki Muriithi | |
2024-04-12 | Consistently check for possibly non-existent data | Frederick 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-12 | Provide tissue-id details to probeset dataset templates | Frederick Muriuki Muriithi | |
2024-04-10 | linting: Fix linting errors. | Frederick Muriuki Muriithi | |
2024-04-10 | logging: Set up logging in wsgi.py | Frederick 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-10 | Gracefully handle all `werkzeug.exceptions` errors. | Frederick Muriuki Muriithi | |
2024-04-10 | Use application logger, not root logger. | Frederick Muriuki Muriithi | |
2024-04-08 | Add logging for IntegrityError | Frederick Muriuki Muriithi | |
2024-04-08 | Refactor: Make error-checking more robust | Frederick 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-08 | Fix issues caught by integration tests. | Frederick Muriuki Muriithi | |
2024-04-08 | Fix pylint and mypy errors. | Frederick Muriuki Muriithi | |
2024-04-08 | bug: UI: Provide better error messaging. | Frederick Muriuki Muriithi | |
2024-04-08 | bug: Handle IntegrityError: Studies cannot have same name. | Frederick Muriuki Muriithi | |
2024-04-08 | bug: Check that Genotype dataset name is not duplicated. | Frederick Muriuki Muriithi | |
2024-04-05 | Handle exceptions creating ProbeSet datasets. | Frederick Muriuki Muriithi | |
2024-04-05 | Add explicit route for favicon to reduce noise in the logs. | Frederick Muriuki Muriithi | |
2024-03-29 | Add UI to select/create tissue. | Frederick Muriuki Muriithi | |
2024-03-20 | Use `url_for` to get icon. | Frederick Muriuki Muriithi | |
2024-03-19 | Set up application logging. | Frederick Muriuki Muriithi | |
2024-03-19 | Add debugging statements to track upload of R/qtl2 bundle. | Frederick Muriuki Muriithi | |
2024-03-19 | Query by `Id` rather than `ProbeFreezeId` | Frederick Muriuki Muriithi | |
Previously `ProbeFreezeId` was set as 1 more than the largest `Id` value found, which might not end up being the same as the incremented Id. This commit, thus, queries by `Id` which is more robust, and does an actual update for the `ProbeFreezeId` column to make it same value as `Id`. | |||
2024-03-15 | Move defaults settings into qc_app module. | Frederick Muriuki Muriithi | |
2024-03-12 | Build up correct path to default settings | Frederick Muriuki Muriithi | |
The assumption has been that the application will be started in the root of the repository, and uses that to source the default settings. It is, however, possible that the application is started in a totally different working directory, which leads to an error during startup. This commit sources the default settings relative to a know file, in this case the module __init__.py file for qc_app module. | |||
2024-03-04 | Use `Id` rather than `ProbeFreezeId`. | Frederick Muriuki Muriithi | |
2024-03-04 | Display flash messages correctly. | Frederick Muriuki Muriithi | |
2024-02-28 | Remove last vestiges of flask's "instance path" configurations. | Frederick Muriuki Muriithi | |
2024-02-27 | Remove use of instance path in configurations. | Frederick Muriuki Muriithi | |
2024-02-15 | Refactor checking for user input errors. | Frederick Muriuki Muriithi | |
2024-02-15 | Verify that the file actually exist | Frederick Muriuki Muriithi | |
In case a filename is provided, verify that the file actually exists in the upload directory. | |||
2024-02-15 | Provide only the file name, not full path. | Frederick Muriuki Muriithi | |
There are 2 reasons to provide only the filename and not the full path: * Security: We do not want to inadvertently expose the paths to the outside world, or allow users to enter file system paths for this system. * The code does not assume a complete path, rather, it builds the path to the upload directory using the filename received from the user. | |||
2024-02-15 | Provide the log messages to the status page. | Frederick Muriuki Muriithi | |
2024-02-14 | Provide endpoint to send data to. | Frederick Muriuki Muriithi | |
2024-02-14 | Extract upload progress indication code | Frederick Muriuki Muriithi | |
* Extract the UI elements and code for indicating upload progress into separate, reusable "modules". * Fix bugs arising from changes. | |||
2024-02-13 | Provide nice UI progress indicators. | Frederick Muriuki Muriithi | |
2024-02-12 | Check for errors in the 'phenose' file. | Frederick Muriuki Muriithi | |
2024-02-12 | Check for errors in the 'pheno' file. | Frederick Muriuki Muriithi | |
2024-02-12 | Improve error display for generic errors | Frederick Muriuki Muriithi | |